1
0
Fork 0
Commit Graph

5185 Commits

Author SHA1 Message Date
Max Neunhoeffer 0445b547be Fix a buffer overflow that did not have any effect. 2014-11-28 13:31:27 +01:00
Max Neunhoeffer a76e22f03a Only put non-toplevel vars into the INTO variable in a COLLECT.
This restores the behaviour of 2.2.
2014-11-28 13:05:15 +01:00
Max Neunhoeffer 676ec3694d Choose more sensible block sizes for fetch from dependency. 2014-11-28 11:43:09 +01:00
Max Neunhoeffer 4e48475a9f Fix a bug in list access for AqlValues. 2014-11-28 11:21:47 +01:00
James be95719179 fixed bug in logic of hash index use. 2014-11-28 08:24:56 +00:00
James fe356e2187 some partial fixes 2014-11-27 13:24:16 +00:00
James 8a8237a55e correct merge mistakes 2014-11-27 09:55:46 +00:00
James 40a67f47c7 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into aql-feature-index-or
Conflicts:
	arangod/Aql/ExecutionBlock.cpp
	arangod/Aql/OptimizerRules.cpp
2014-11-27 09:25:43 +00:00
Jan Steemann 8a715d7791 fixed `remove-redundant-or` rule
the rule was not producing correct conditions for queries such as

   FOR i IN collection FILTER i._key > 'a' && i._key > null RETURN i
2014-11-26 21:42:22 +01:00
Jan Steemann 292eaad273 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel 2014-11-26 19:49:38 +01:00
Jan Steemann 45ebdf7581 enable more indexes 2014-11-26 19:49:28 +01:00
Max Neunhoeffer b2f93a048a Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-11-26 16:47:55 +01:00
Max Neunhoeffer 27cff93a4e Two comment changes. 2014-11-26 16:47:32 +01:00
Jan Steemann 16b7c4a1a8 VS 2014-11-26 15:22:30 +01:00
Jan Steemann 57aefb988d fix optimization of subqueries 2014-11-26 15:01:55 +01:00
Jan Steemann c69fa0b0dc fixed invalid optimization, added test cases 2014-11-25 23:18:24 +01:00
James f96bc93512 proper difference of or conditions with dynamic bounds. 2014-11-25 12:25:10 +00:00
James 12eb461181 correct logic in dynamic bounds evaluation. 2014-11-25 11:55:50 +00:00
James ec21728ad2 fixed logic of optimizer rule use-index-range, if one of the OR conditions is not useable, then throw away plan. 2014-11-25 10:08:50 +00:00
James 80feac02e2 fixed areDisjointRangeInfos. 2014-11-25 09:54:57 +00:00
James 02538a1063 avoid inserting duplicate values in buildRangeInfo when they come from an IN. 2014-11-25 09:05:06 +00:00
Jan Steemann f464fe99cd removed unused function 2014-11-24 13:00:45 +01:00
Jan Steemann 8c2ca1ee48 include collection name in replication output 2014-11-24 12:55:35 +01:00
Max Neunhoeffer 085440d691 Fix compilation of new estimation function. 2014-11-24 09:39:05 +01:00
Max Neunhoeffer 16b69e8fd3 First version of fix for LIMIT cost estimation. 2014-11-23 21:53:25 +01:00
James 9df14a7200 fixed bugs in last 2014-11-23 14:33:26 +00:00
James 703cfa3a16 moving function 2014-11-23 14:16:40 +00:00
James 7e51c27b95 preventing overlap of dynamic ranges 2014-11-23 14:10:22 +00:00
James a0c53a5280 bug fix in containment function. 2014-11-23 13:03:06 +00:00
James ed2e0a555e proper or-combine of overlapping ranges 2014-11-23 12:52:10 +00:00
James bf5d76221e cleaning up 2014-11-22 17:05:51 +00:00
James 3e17882160 cleaning up 2014-11-22 16:47:44 +00:00
James 56aee80aa3 cleaning up and removing redundant code 2014-11-22 16:22:14 +00:00
James 908c14fc6a most tests green 2014-11-22 15:20:26 +00:00
James cc94e2413d same as last 2014-11-22 15:08:04 +00:00
James 2704921daf properly handle empty conditions 2014-11-22 14:58:34 +00:00
James 874792d0a8 fix isIdenticalToExisting 2014-11-22 14:39:40 +00:00
James 16540bbae4 cleaning up and avoid inserting duplicate conditions. 2014-11-22 14:26:48 +00:00
James c1c44ad64f bug fixes 2014-11-22 13:41:05 +00:00
James b9dc309bc2 more robust logic 2014-11-22 12:39:04 +00:00
Thomas Schmidts 403ab66198 Fixed some dead links in the documentation 2014-11-21 09:14:32 +01:00
Thomas Schmidts c6b8e1a569 Fixed some dead links in the documentation 2014-11-21 09:13:50 +01:00
James 02b8bd6b91 don't insert duplicate rangeinfos 2014-11-20 14:42:53 +00:00
Jan Steemann ed919090ea renamed function, updated documentation 2014-11-20 14:46:32 +01:00
James 2f80c76f69 fixed cloning of RangeInfos 2014-11-20 13:24:52 +00:00
Jan Steemann 620274047f Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql-functions
Conflicts:
	CHANGELOG
2014-11-20 14:23:01 +01:00
Jan Steemann 15d27af951 skip writing begin/abort/commit markers for transactions without write operations 2014-11-20 14:20:15 +01:00
Jan Steemann da007f5640 skip writing begin/abort/commit markers for transactions without write operations 2014-11-20 14:19:23 +01:00
James 1f69d82a8a working out bugs 2014-11-20 11:51:22 +00:00
James dd025f4a99 initial changes to IndexRangeBlock for OR and IN conditions. 2014-11-18 13:50:59 +00:00
James 202358b2af cleaning up 2014-11-18 13:26:57 +00:00
Jan Steemann da468b2f58 allow lazier querying of hash index 2014-11-18 14:16:36 +01:00
James d546aa99a8 adding support for OR 2014-11-18 12:30:27 +00:00
James b4d00ebbbf adding distribution of "and" into "or" 2014-11-18 12:25:08 +00:00
James 0613014826 extremely simple IN conditions working. 2014-11-18 10:46:44 +00:00
Jan Steemann f1f13a4284 added several AQL functions 2014-11-18 11:26:42 +01:00
James 2ee1198ba4 all the tests are green 2014-11-18 09:54:10 +00:00
James 7c1fe6e829 compiles 2014-11-18 09:17:06 +00:00
Jan Steemann 548f8137cc issue #1099: do not fail if general-graph.remove is used inside a transaction 2014-11-18 07:02:47 +01:00
Jan Steemann 336d456beb issue #1100: HAS() fails on doc[attribute_name] 2014-11-18 07:01:51 +01:00
Jan Steemann a71bf1819c issue #1099: do not fail if general-graph.remove is used inside a transaction 2014-11-17 15:47:39 +01:00
James 35380b03d1 compilation errors, still doesn't compile. 2014-11-17 13:09:57 +00:00
James 553c638cfe further snapshot 2014-11-17 12:58:33 +00:00
James 0dcffe898c snapshot 2014-11-17 11:11:38 +00:00
Jan Steemann 065a5ecef0 issue #1100: HAS() fails on doc[attribute_name] 2014-11-17 11:38:57 +01:00
James 9f99908315 snapshot 2014-11-17 09:53:44 +00:00
Max Neunhoeffer 0fdc73d5bc Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-11-14 18:58:47 -05:00
Max Neunhoeffer 7161a6b848 Reengineer cost estimation completely.
One test failing in single-server-AQL.
Cluster not yet tested.
2014-11-14 18:58:08 -05:00
Jan Steemann 21ef4579f5 updated documentation 2014-11-14 17:17:51 +01:00
Jan Steemann cf784816a8 hide function 2014-11-14 16:43:34 +01:00
Jan Steemann 5d1e77f3ea more log output 2014-11-14 15:30:43 +01:00
Jan Steemann 71c050d2fa renamed function 2014-11-14 13:06:44 +01:00
Jan Steemann 3696e3c7c1 fixed memleak 2014-11-13 18:04:05 +01:00
Jan Steemann cb1444804e added NODE_TYPE_ATTRIBUTE_ACCESS for CompareAstNodes 2014-11-13 15:55:34 +01:00
Jan Steemann f84f8efaa1 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql-feature-lazy-index 2014-11-13 14:26:28 +01:00
Jan Steemann 32013321c5 fixed compile warning 2014-11-13 14:25:10 +01:00
Jan Steemann 896e8daec5 removed unused variable 2014-11-13 14:24:59 +01:00
Jan Steemann c167024654 fixed compile error 2014-11-13 14:14:27 +01:00
James e09fc778ba Merge branch 'aql-feature-lazy-index' of ssh://github.com/triAGENS/ArangoDB into aql-feature-index-or 2014-11-13 12:19:12 +00:00
James 5fd0bd80be refactoring to avoid to calls to readIndex when fewer than DefaultBatchSize docs are requested. 2014-11-13 11:49:25 +00:00
James fb1fe3e8b1 reset the defaultbatchsize to 1000 2014-11-13 11:21:07 +00:00
James 6822f80129 updating the skipSome for index range block 2014-11-13 11:19:11 +00:00
James 49352cb8c2 removing redundant code, and updated comments. 2014-11-13 11:08:14 +00:00
James aba5567b0e cleaning up 2014-11-13 10:51:04 +00:00
Jan Steemann bb86006926 initialize variable 2014-11-13 10:36:35 +01:00
James a5006b7617 hash indexes working. 2014-11-13 08:37:52 +00:00
James f797afe0d5 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into aql-feature-lazy-index 2014-11-13 08:04:25 +00:00
Jan Steemann 7cd1eb5474 more warnings 2014-11-12 14:52:54 +01:00
Jan Steemann 8c08a3b24a make `CONCAT` and `CONCAT_SEPARATOR` more useful 2014-11-12 00:07:03 +01:00
Jan Steemann 435016abcd added functions `VALUES` and `ASSEMBLE` 2014-11-11 23:07:45 +01:00
Jan Steemann 3ba00ca653 added `SUBSTITUTE` AQL function 2014-11-11 22:35:15 +01:00
Jan Steemann 9ccf7b85f4 issue #1033: added SPLIT function 2014-11-11 16:35:40 +01:00
Jan Steemann 537ec80dc1 issue #1044: added LTRIM, RTRIM 2014-11-11 14:58:03 +01:00
James f55b252f1b snapshot working on IndexRangeBlock and hash indexes 2014-11-11 12:25:59 +00:00
James 1466813313 cleaning up 2014-11-11 11:32:48 +00:00
James d6e1971fd3 lazy index working for skiplists 2014-11-11 11:29:46 +00:00
James 7d8f2f03ed applying isConstant patch 2014-11-11 08:45:03 +00:00
James 23ea59d405 cleaning up, using ReverseOperator. 2014-11-11 08:43:30 +00:00
James 3e612acdda Merge branch 'aql-feature-lazy-index' of ssh://github.com/triAGENS/ArangoDB into aql-feature-lazy-index 2014-11-11 08:23:23 +00:00
James 08e8fd193e Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into aql-feature-lazy-index 2014-11-11 08:21:40 +00:00
Jan Steemann 4a8726ee35 added "split-filters" rule but did not activate it 2014-11-11 00:27:37 +01:00
Jan Steemann 0f3dc692ff fixed crash when accessing _from or _to of non-edges 2014-11-11 00:24:57 +01:00
Jan Steemann ed8e06b88e added PERCENTILE function, draft 2014-11-10 18:10:59 +01:00
Jan Steemann 12d326d62b updated documentation and operators behavior 2014-11-10 18:05:11 +01:00
Jan Steemann d05b47cdb6 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql-feature-lazy-index 2014-11-09 00:10:10 +01:00
Jan Steemann d1f4c6b5fe fixed optimization 2014-11-09 00:09:07 +01:00
Jan Steemann 97b5e906da Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql-feature-lazy-index 2014-11-08 23:26:38 +01:00
Jan Steemann 567860cf65 more aggresively optimizer filters 2014-11-08 23:26:04 +01:00
Jan Steemann 9c5d150866 use Ast::ReverseOperator 2014-11-08 22:31:31 +01:00
Jan Steemann 738636db2d whitespace 2014-11-08 21:26:54 +01:00
Jan Steemann e120bdec8c do not allocate too much space for hash index elements 2014-11-08 21:15:44 +01:00
Jan Steemann 7695223744 use emplace_back 2014-11-08 21:13:41 +01:00
James 14e6370c22 cleaning up. 2014-11-08 17:35:27 +00:00
James e2b8456395 tests and bugfixes. 2014-11-08 17:31:30 +00:00
James 103db8c8b5 more flexible remove-redundant-OR rule 2014-11-08 16:42:39 +00:00
James bc80940018 correct logic. 2014-11-08 13:52:24 +00:00
James 586cacc2ee replace-redundant-OR optimizer rule first version. 2014-11-08 13:45:14 +00:00
James 53782f5364 bug fix 2014-11-08 11:39:09 +00:00
James b849a6da72 some more cleaning up of replace-OR-with-IN 2014-11-08 11:36:56 +00:00
James 84e6881a44 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into aql-feature-lazy-index
Conflicts:
	arangod/Aql/ExecutionNode.h
2014-11-08 09:53:30 +00:00
Max Neunhoeffer 5f26789c95 Cleanup code after making dispatcher elastic. 2014-11-07 20:25:05 -05:00
Max Neunhoeffer 353b16805a Add thread local static variable for current DispatcherThread. 2014-11-07 20:12:58 -05:00
Max Neunhoeffer ab451d8d91 Choose place to tell dispatcher more sensibly. 2014-11-07 17:36:16 -05:00
Max Neunhoeffer fdb44f8c17 Tell ClusterComm about the dispatcher. 2014-11-07 16:54:22 -05:00
Willi Goesgens 3cb7a2016d Once we deleted a query from the registry we don't need to close it anymore. 2014-11-07 14:03:22 +01:00
Willi Goesgens 61412f78f3 Fix memleak: if we bail out, we need to free the json as we promised we would. 2014-11-07 13:05:10 +01:00
Jan Steemann beafbe6a5c fixed invalid reads 2014-11-07 11:57:26 +01:00
Jan Steemann 48ec4a3539 fixed number of parameters 2014-11-07 11:48:00 +01:00
Jan Steemann 0d01e6c7b6 less verbose error messages 2014-11-07 11:16:25 +01:00
Jan Steemann f96a3d3f98 forgot to commit 2014-11-07 11:04:21 +01:00
Jan Steemann b0de1bb226 leaner and meaner error messages 2014-11-07 10:53:00 +01:00
Jan Steemann c8c16767be added rule to remove filters if covered by index ranges - not yet activated 2014-11-06 23:18:18 +01:00
Jan Steemann 8e678c50da mini optimization: share frequently occuring values 2014-11-06 20:14:02 +01:00
Willi Goesgens fcc6a11a4b Add debugging code, which adds backtrace on http headers, so you can see in ngrep whats biting you. 2014-11-06 15:17:17 +01:00
James 6822594bff changed to number of blocks pulled by default by CalculationBlock and ExecutionBlock 2014-11-06 12:51:32 +00:00
Jan Steemann 7d036da648 fixed limit estimation 2014-11-06 13:44:55 +01:00
Jan Steemann e93a9a8ce2 fixed documentation 2014-11-06 13:39:35 +01:00
James c54b92c6e7 getting tests to work 2014-11-06 12:24:28 +00:00
Jan Steemann 22d2cfd876 fixed documentation 2014-11-06 13:14:47 +01:00
Jan Steemann cbe8150e97 fixed potential reason for segfault 2014-11-06 12:59:50 +01:00
James c063b85d29 working except for 1 test. 2014-11-06 11:42:31 +00:00
James 47810e76e1 quick hack 2014-11-06 10:10:40 +00:00
Jan Steemann 2fe79a65a4 speed up AQL queries with V8 expressions 2014-11-05 16:59:57 +01:00
Jan Steemann bf30927913 removed canThrow tag for various built-in functions 2014-11-05 14:40:00 +01:00
Jan Steemann e5abbe92e9 fixed broken cursors if cursor size > batchSize 2014-11-05 12:19:36 +01:00
Jan Steemann 987bfa1285 extended optimizer rule to detect more OR to IN transformation opportunities 2014-11-05 12:10:10 +01:00
Jan Steemann 7137647608 Merge branch 'aql-feature-optimize-or' of https://github.com/triAGENS/ArangoDB into devel 2014-11-05 11:37:10 +01:00
Willi Goesgens bab1762ee9 Directly route results to v8-objects instead of going via a json object when calling AQL from a V8 context 2014-11-05 10:56:10 +01:00
James 10220c3207 adding functions. 2014-11-04 22:01:36 +00:00
James 095cc8a9e3 removed incorrect assertion 2014-11-04 21:49:37 +00:00
James 37ab716edc cleaning up 2014-11-04 21:42:34 +00:00
James 3b49921a15 more cleaning up 2014-11-04 21:09:21 +00:00
James 61afce9d10 cleaning up 2014-11-04 21:04:56 +00:00
James 2e48bbb82b tests are green again 2014-11-04 13:16:39 +00:00
James 04770d3563 nearly working better version of previous 2014-11-04 13:01:51 +00:00
Jan Steemann 830da6dd51 issue #846: Add within_bounds function to AQL 2014-11-04 12:40:14 +01:00
Willi Goesgens f920a0f8d4 By Kasper: Fix possible uninitializen variable access. 2014-11-04 10:42:51 +01:00
James f6e8dcd6ca more general case working. Code needs cleaning up 2014-11-03 22:23:41 +00:00
James 0ceb51cbd7 compiler warning. 2014-11-03 20:24:59 +00:00
James 62cb8d3a93 bugfix 2014-11-03 11:10:18 +00:00
James 1ff7e8d252 cleaning up 2014-11-03 10:42:16 +00:00
James fa7668e1ce snapshot 2014-11-03 10:38:05 +00:00
James b301102655 Jan's patch 2014-11-03 09:32:12 +00:00
James 901c65559c Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into aql-feature-optimize-or 2014-11-02 18:05:35 +00:00
Jan Steemann 749a0aa408 fixed cloning of AST nodes 2014-11-01 21:54:02 +01:00
Jan Steemann 97206f8c30 fixed cloning of AST nodes 2014-11-01 21:52:28 +01:00
Jan Steemann 1ae150d90a control number of v8 contexts independently from number of server threads
added command-line option `--javascript.v8-contexts` to control the number of
V8 contexts created in arangod.

Previously, the number of V8 contexts was equal to the number of server threads
(as specified by option `--server.threads`). However, it may be sensible to
create different amounts of threads and V8 contexts. If the option is not
specified, the number of V8 contexts created will be equal to the number of
server threads. Thus no change in configuration is required to keep the old
behavior.
2014-11-01 21:02:00 +01:00
James 5f6964796e still not working 2014-11-01 19:06:59 +00:00
James 2c10e943b8 still doesn't work 2014-11-01 17:12:44 +00:00
Jan Steemann d1bf47a14a fixed issue when rolling back remove operations that could not remove from indexes 2014-11-01 18:03:57 +01:00
James cd710ed55d snapshot 2014-11-01 16:06:53 +00:00
Jan Steemann e2cfa056c0 pass query warnings around in cluster 2014-11-01 16:36:58 +01:00
James 6470669871 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into aql-feature-optimize-or 2014-11-01 14:35:26 +00:00
James d12b5baf12 first try at replace-OR-with-IN optimizer rule. 2014-11-01 14:30:18 +00:00
Jan Steemann d85dddfc7a be less verbose 2014-11-01 15:22:27 +01:00
Jan Steemann 025d73ae03 re-added support for fullCount 2014-11-01 15:20:05 +01:00
Jan Steemann 0bb7a6e349 nullptr 2014-11-01 03:36:44 +01:00
Jan Steemann 51d3871195 removed debug output 2014-11-01 02:25:17 +01:00
Jan Steemann a7af7eed31 fix double free issue 2014-11-01 02:20:13 +01:00
Jan Steemann 26c3b0174f fixed tests 2014-10-31 19:58:20 +01:00
Max Neunhoeffer 0044d7d1b0 Fix bug in AQL that abort() was called after commit() for trx. 2014-10-31 18:15:40 +01:00
Jan Steemann a5e7b26c81 added comment [skip ci] 2014-10-31 17:31:40 +01:00
Jan Steemann 4f68960ed7 removed Ahuacatl [skip ci] 2014-10-31 17:31:00 +01:00
Max Neunhoeffer ddf85982f0 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-10-31 11:50:54 +01:00
Max Neunhoeffer 8f854ec3b2 Fix a leak in cluster instanciation of queries. 2014-10-31 11:50:34 +01:00
Willi Goesgens 10bf137692 Move free logic into its own function, so we can call in in both places. 2014-10-31 11:28:27 +01:00
Jan Steemann 694d225c9d silence 2014-10-31 10:38:10 +01:00
Jan Steemann 83252851e6 report warnings in queries 2014-10-30 17:33:15 +01:00
Max Neunhoeffer c07bfb894d Fix a memleak in cluster. 2014-10-30 14:58:59 +01:00
Max Neunhoeffer e74e3ac8db Fix a use after free in RestAqlHandler. 2014-10-30 14:58:34 +01:00
Max Neunhoeffer 4503d7a982 Fix a memleak in instanciation. 2014-10-30 14:58:12 +01:00
Max Neunhoeffer 3960ff5667 Fix TRI_FreeBarrier by giving two variants. 2014-10-30 09:51:13 +01:00
Max Neunhoeffer 1d867643d5 Protect some flags in a barrier by the barrier lock. 2014-10-30 09:36:38 +01:00
Jan Steemann 31d875921f removed TODOs 2014-10-30 00:45:55 +01:00
Jan Steemann 09e0a4e3c4 nullptr 2014-10-29 23:17:56 +01:00
Jan Steemann 0903c1b9b6 use more precomputed values in expressions 2014-10-29 21:41:00 +01:00
Jan Steemann f0fc42645b Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
Conflicts:
	js/common/modules/jsunity.js
2014-10-29 21:34:55 +01:00
Jan Steemann 7c180b31fb hide experimental functions for now 2014-10-29 20:53:50 +01:00
Willi Goesgens 1376d44110 Clear the ClusterCommResult objects before re-assigning them; else we loose memory. 2014-10-29 19:16:34 +01:00
Willi Goesgens 26a0ce441c nullptr 2014-10-29 19:11:48 +01:00