1
0
Fork 0
Commit Graph

4923 Commits

Author SHA1 Message Date
James 5264fa2612 remove unnecessary and incorrect renewal of ourLessThan. 2014-09-27 14:32:34 +01:00
James 8c1f9f5095 fixed arithmetic in GatherBlock::skipSome 2014-09-27 14:27:56 +01:00
James 4d0b3360cb fixing arithmetic in available in GatherBlock. 2014-09-27 14:14:03 +01:00
James 75df1bff15 destructor for SubqueryBlock, deletes private data 2014-09-27 13:19:58 +01:00
James b0ff6d1712 destructor for CaluculationBlock, deletes local data. 2014-09-27 13:17:45 +01:00
James 0c98677b16 destructor fo EnumerateListBlock, deletes local data 2014-09-27 13:13:30 +01:00
James 144ee7a8f0 destructor for IndexRangeBlock, deletes private data 2014-09-27 13:10:14 +01:00
James ae5b96bc5d destructor for EnumCollBlock that deletes local data. 2014-09-27 13:04:59 +01:00
James 1c52127cc1 destructor for GatherBlock, deletes _gatherBlockBuffer 2014-09-27 12:53:27 +01:00
James 68f48d0cd4 proper initializeCursor method for GatherBlock. 2014-09-27 12:48:48 +01:00
James dd716301ab moving _sortRegisters from initCursor to initialize. 2014-09-27 12:41:59 +01:00
James f04b25f3ea correcting comment. 2014-09-27 12:37:27 +01:00
James bcebeb4dd0 comments for ScatterBlock and some reordering 2014-09-27 12:31:12 +01:00
James 69f2cfd5a5 cleaning up, and comments in .cpp for GatherBlock 2014-09-27 12:12:50 +01:00
James 14eaac044c comments before GatherBlock in header, renamed _buffer, _pos which are
non-standard
2014-09-27 12:03:55 +01:00
Max Neunhoeffer 45b900913c Some adjustments to code in GatherBlock.
Finish first version of RemoteBlock.
2014-09-27 01:45:05 +02:00
Jan Steemann f229253e24 fixed redundant if / else if 2014-09-26 21:26:26 +02:00
Jan Steemann 9e47f3ca27 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
Conflicts:
	arangod/Aql/ExecutionNode.h
2014-09-26 20:23:52 +02:00
Jan Steemann c3ce45e0dd added block instanciation for coordinator, v0.0.0 2014-09-26 20:17:42 +02:00
Max Neunhoeffer 5f5cf84641 Refactor getSome for RemoteBlock. 2014-09-26 16:49:26 +02:00
Max Neunhoeffer dbed62392f Implement skipSome method for RemoteBlock. 2014-09-26 16:30:30 +02:00
Max Neunhoeffer d2a9632710 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-09-26 16:20:17 +02:00
Max Neunhoeffer 046d4f524d Implement getSome for RemoteBlock. 2014-09-26 16:19:25 +02:00
Max Neunhoeffer 865d513dd0 Add skipSome to HTTP API and to ExecutionEngine. 2014-09-26 16:18:47 +02:00
Willi Goesgens d003eecac1 We need to pass a reference since we want to return values onto this; and return const references to not duplicate the memory. 2014-09-26 15:22:41 +02:00
Max Neunhoeffer 5f24e603fe Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-09-26 14:51:14 +02:00
Max Neunhoeffer 95264a82ab initializeCursor and shutdown methods for HTTP API for queries. 2014-09-26 14:50:52 +02:00
Max Neunhoeffer 25ee17c075 initializeCursor and shutdown methods for ExecutionEngine. 2014-09-26 14:50:28 +02:00
Jan Steemann 578d22c95b Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel 2014-09-26 13:58:16 +02:00
Jan Steemann f462c5f620 add database and collection info to gather nodes 2014-09-26 13:58:02 +02:00
Willi Goesgens 41fb15d462 Merge branch 'devel' of github.com:triAGENS/ArangoDB into devel 2014-09-26 13:44:16 +02:00
Willi Goesgens 14eda3e348 - create type for SortElements to be used instead of stacked templates
- abstract json parsing of SortElemnts into an own function
 - implement deserialisation of Scatter/GatherNode
2014-09-26 13:42:26 +02:00
Max Neunhoeffer 5c7d058043 Add stubs for RemoteBlock. 2014-09-26 13:34:08 +02:00
Max Neunhoeffer e9bac83e67 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-09-26 13:23:33 +02:00
Max Neunhoeffer c4fd3e7553 First steps towards RemoteBlock. 2014-09-26 13:23:21 +02:00
Jan Steemann cb3d138507 fixed compiler warning 2014-09-26 13:09:38 +02:00
Willi Goesgens 53ee658be0 Implement moving of sortnode into the clusterable part of the query; add elements to the json serialisation of the gather node 2014-09-26 12:35:58 +02:00
James 9ae0879ba4 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-09-26 11:34:18 +01:00
James 53b3abeee0 ScatterBlock uses shardId strings instead of clientId numbers. 2014-09-26 11:34:07 +01:00
Jan Steemann 3afadfdefa fixed compile warnings 2014-09-26 12:30:42 +02:00
Jan Steemann 8fa141e31b removed invalid sequence from file 2014-09-26 12:09:01 +02:00
Jan Steemann 6eca3d6cc4 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel 2014-09-26 12:07:20 +02:00
Jan Steemann 5c250d9ec7 fixed compile warning 2014-09-26 12:07:11 +02:00
Jan Steemann 046d2586ae added temporary function for @mchacki 2014-09-26 12:06:57 +02:00
Thomas Schmidts 2e151f7ab0 Added type definition to db._create documentation 2014-09-26 11:53:44 +02:00
James de19d4441b Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-09-26 10:40:43 +01:00
James e8dc7694e3 shutdown method for GatherBlock and initializeCursor for ScatterBlock 2014-09-26 10:40:05 +01:00
Max Neunhoeffer 8a6c2f22b5 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-09-26 11:18:31 +02:00
Max Neunhoeffer 06d039d3a0 Fix a deserialisation bug for AqlItemBlocks. 2014-09-26 11:18:17 +02:00
James 2070175a51 getOrSkipSomeForClient method for ScatterBlock. 2014-09-26 09:32:39 +01:00
James e9f8d5ac99 fixed bug in ScatterBlock::getSomeForClient. 2014-09-26 08:51:11 +01:00
Willi Goesgens 6c81f630a3 Add filter rule which moves Filters & Calculations into the parts of a Plan that is distributed to clusters. 2014-09-25 17:08:20 +02:00
Max Neunhoeffer b9f9a55fbf Move on with AqlItemBlock deserialisation. Not working yet. 2014-09-25 16:52:42 +02:00
James 3423db77e6 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-09-25 11:09:15 +01:00
James b9d27bee42 preliminary methods for ScatterBlock. 2014-09-25 11:08:47 +01:00
Max Neunhoeffer f80f67f18b Remove unused variable. 2014-09-25 12:06:09 +02:00
Max Neunhoeffer 85b2e7bfe3 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-09-25 11:57:06 +02:00
Max Neunhoeffer f1483a4ea0 Optimize/debug HTTP API for queries and AqlItemBlock serialisation. 2014-09-25 11:47:50 +02:00
James 3d6dc1eddc added missing hasMore method to GatherBlock, starting for ScatterBlock. 2014-09-25 09:41:27 +01:00
James a953ff8bcd skipSome method for GatherBlock. 2014-09-25 08:56:43 +01:00
Max Neunhoeffer 9079ba3971 Finish HTTP API. 2014-09-25 00:14:57 +02:00
Max Neunhoeffer f6b1e0060e Expose AQL_PARSE via HTTP API under /_api/aql/parse 2014-09-25 00:01:07 +02:00
Max Neunhoeffer bd02e70e41 Expose AQL_EXPLAIN via HTTP API under /_api/aql/explain. 2014-09-24 23:49:55 +02:00
Max Neunhoeffer 20f345ccdd Fix automatic expiry of queries. 2014-09-24 23:12:23 +02:00
Jan Steemann dd53bc295a Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel 2014-09-24 17:14:50 +02:00
Jan Steemann 9fe3fedb45 unique_ptr 2014-09-24 17:14:37 +02:00
Max Neunhoeffer bfc8b14a87 More HTTP methods for queries. Expire queries. 2014-09-24 16:51:35 +02:00
Max Neunhoeffer 85ce0f0674 Remove some empty comments. 2014-09-24 16:27:45 +02:00
Max Neunhoeffer 37894bc628 Fix expireQueries. 2014-09-24 16:27:02 +02:00
Max Neunhoeffer afc54a07a9 Implement expireQueries in QueryRegistry. 2014-09-24 16:26:31 +02:00
Max Neunhoeffer 784a299ab8 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel 2014-09-24 16:17:44 +02:00
Max Neunhoeffer cf5e1be91e Version version of HTTP API done. 2014-09-24 16:17:18 +02:00
Jan Steemann c8fba4c9be fixes for Visual Studio 2014-09-24 15:41:26 +02:00
Jan Steemann 0320366612 fixed compile warnings 2014-09-24 13:35:26 +02:00
Jan Steemann 72f5ce8ddc Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into devel 2014-09-24 13:34:06 +02:00
Jan Steemann d5fb057603 less locking 2014-09-24 13:32:39 +02:00
Jan Steemann 1e66c86d08 fixed invalid document access 2014-09-24 12:27:36 +02:00
James c1742a9949 GatherBlock non-simple case implemented. 2014-09-24 11:17:05 +01:00
Jan Steemann dbf964e204 small optimizations 2014-09-24 12:09:13 +02:00
James 37cfa73081 first attempt at GatherBlock::nextValue 2014-09-24 10:21:08 +01:00
Jan Steemann ddfb5c965d merged experimental features 2014-09-24 09:42:16 +02:00
James b4f0df3caf Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-24 08:31:01 +01:00
James 26e1f40b32 fixing count/remaining for GatherBlock. 2014-09-24 08:30:42 +01:00
Max Neunhoeffer e8e60106f3 Add quotes for id attribute and add closeTransaction. 2014-09-24 00:27:12 +02:00
Max Neunhoeffer 063665162e Add closing and reopening of transactions. 2014-09-24 00:26:56 +02:00
Max Neunhoeffer ce041b63d4 Add Json-serialisation of AqlItemBlocks. 2014-09-24 00:26:17 +02:00
James 5362ff3203 adding skipSome method for GatherBlock. 2014-09-23 18:06:08 +01:00
James 838290381b cleaning up. 2014-09-23 17:46:08 +01:00
James d9725b037b about to delete some junk 2014-09-23 17:35:41 +01:00
James b7a1247252 adding variables/sort direction in _elements to GatherNode. 2014-09-23 17:31:27 +01:00
James 6f8516e818 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-23 17:22:31 +01:00
Max Neunhoeffer 1f74a64b58 Implement POST for HTTP API for queries. 2014-09-23 16:51:03 +02:00
Max Neunhoeffer cd36c00712 Cleanup the cleanup of a failed query preparation execution. 2014-09-23 15:31:42 +02:00
Max Neunhoeffer 36e8ab4608 Fix handling of plans in explain() 2014-09-23 15:29:14 +02:00
Max Neunhoeffer 5238686ee3 Make Queries preparable and then executable separately. 2014-09-23 15:23:10 +02:00
Max Neunhoeffer 6732913e71 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-23 13:16:24 +02:00
Max Neunhoeffer 067dd690f9 More progress with HTTP API for queries. 2014-09-23 13:16:10 +02:00
Jan Steemann f8599b0f0f removed unused instance variable 2014-09-23 13:14:53 +02:00
James 54e8caba4d interim commit. 2014-09-23 11:27:25 +01:00
James 42ab416497 count, remaining, getBlock for GatherBlock. 2014-09-23 10:10:24 +01:00
James 6bf9c1d461 stub for GatherBlock. 2014-09-23 09:14:33 +01:00
Jan Steemann 009396f7b0 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/V8Server/v8-wrapshapedjson.cpp
2014-09-23 08:35:32 +02:00
Jan Steemann 80f18ad4b9 fixed copy-on-write for shaped json 2014-09-23 00:07:46 +02:00
Jan Steemann 92f87c19ce Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/V8Server/v8-vocbase.cpp
2014-09-22 23:51:16 +02:00
Max Neunhoeffer 591f7acb8b Fix problems with variable bounds. 2014-09-22 23:30:22 +02:00
Thomas Schmidts e99a12c339 Fixed error in Documentation and changed visualization of deprecated chapters 2014-09-22 17:44:52 +02:00
Jan Steemann b75af455e4 fixed property query 2014-09-22 17:22:01 +02:00
Jan Steemann 79c584d362 less memory usage for ShapedJson documents 2014-09-22 16:43:31 +02:00
Jan Steemann 067f253dd5 changed interface for locking
Conflicts:
	arangod/VocBase/transaction.cpp
2014-09-22 09:25:49 +02:00
Max Neunhoeffer 5e534261e2 Change _equality detection.
ATTENTION: This is still not right, yet.
Pondering about solution...
2014-09-22 08:40:21 +02:00
Jan Steemann 74c9653f6f fixed range-info equality flag after fusing 2014-09-19 22:07:06 +02:00
Jan Steemann 38fdaa4066 removed unused function parameter 2014-09-19 20:28:41 +02:00
Jan Steemann 50e17b8c4f disabled optimization due to failing tests 2014-09-19 19:30:57 +02:00
Jan Steemann a58c8661b5 added some query statistics 2014-09-19 18:47:33 +02:00
Jan Steemann 9699091466 optimize IN and NOT IN with one or no members 2014-09-19 18:22:01 +02:00
Jan Steemann ae5f454bfc added unary operator 2014-09-19 17:46:36 +02:00
Jan Steemann 9f08e441fd Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-19 17:41:13 +02:00
Jan Steemann 92e46b8191 use SimpleExpression for more types of expressions 2014-09-19 17:40:47 +02:00
Max Neunhoeffer 51aff683d9 Some more code for HTTP API for AQL. 2014-09-19 16:49:55 +02:00
Jan Steemann 3d686d4028 test 2014-09-19 16:07:22 +02:00
Jan Steemann 9a6dfa1db2 execute several types of expressions in C++ 2014-09-19 15:21:01 +02:00
Max Neunhoeffer 94bcd23070 Set up relevant HTTP methods for AQL. 2014-09-19 14:28:54 +02:00
Max Neunhoeffer c5f5cb322a Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-19 13:59:05 +02:00
Max Neunhoeffer 697dc64b58 Add a QueryRegistry in the ArangoServer and hand it on. 2014-09-19 13:56:46 +02:00
Max Neunhoeffer 0466873092 First step towards correct setup of HTTP API for AQL. 2014-09-19 13:14:19 +02:00
Max Neunhoeffer 28818a1f3d Remove debugging output. 2014-09-19 13:00:46 +02:00
Jan Steemann 64f5b22e4f changed interface for locking 2014-09-19 12:45:29 +02:00
Jan Steemann 109941207f reserve more memory for result set 2014-09-19 12:45:08 +02:00
Jan Steemann 1d87957b40 reserve enough memory for simple lists & arrays 2014-09-19 12:44:46 +02:00
Jan Steemann 76aaed94a0 make interface more user-friendly 2014-09-19 12:44:29 +02:00
Jan Steemann 1ed4e20ba1 nullptr 2014-09-19 12:02:34 +02:00
Jan Steemann b10c45af3e fixed compile warning 2014-09-19 09:22:55 +02:00
Jan Steemann 95c9a0ccba fixed compile warnings 2014-09-19 09:15:26 +02:00
Jan Steemann 68232715f1 fixed compile warning 2014-09-19 09:05:52 +02:00
Jan Steemann f782e81661 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-19 01:02:51 +02:00
Jan Steemann 6f4e799ccc added `profile` option 2014-09-19 01:02:39 +02:00
Max Neunhoeffer 327c5264c5 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-19 00:37:17 +02:00
Max Neunhoeffer 68f246a09f Add a REST handler for AQL (queries/cursors). 2014-09-19 00:36:57 +02:00
Jan Steemann a2ac4e5be6 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-18 23:56:51 +02:00
Jan Steemann 0b5c5ae3df added `maxNumberOfPlans` option 2014-09-18 23:56:09 +02:00
Max Neunhoeffer 05be135afe Add explicit namespace for template specialisation. 2014-09-18 23:32:33 +02:00
Jan Steemann d03faffc53 remove subqueries that produce results that are not used in a query 2014-09-18 23:03:43 +02:00
Jan Steemann 3f5259d50c removed unnecessary trampoline functions 2014-09-18 22:26:04 +02:00
Jan Steemann 1fff0ecac2 optimization for recovery of collections that are going to be dropped anyway 2014-09-18 18:20:56 +02:00
Jan Steemann 2fe6d8f554 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-18 17:48:17 +02:00
Jan Steemann 1016debd2e more robust recovery 2014-09-18 17:47:37 +02:00
Max Neunhoeffer 7b3764125c Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-18 16:51:09 +02:00
Max Neunhoeffer b4af145317 Add QueryRegistry. 2014-09-18 16:50:59 +02:00
Jan Steemann 4a2693cebd removed #if 2014-09-18 13:23:38 +02:00
Jan Steemann 50571f84db changed node detection for cluster 2014-09-18 13:21:58 +02:00
Max Neunhoeffer 60dc29ef43 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-18 11:26:48 +02:00
Max Neunhoeffer f36187b052 Do some changes suggested by people in the C++ UG DUS. 2014-09-18 11:07:44 +02:00
Jan Steemann 0a89693345 unique_ptr 2014-09-18 09:58:35 +02:00
Max Neunhoeffer ce2f822521 Merge branch 'aql1' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-18 09:12:25 +02:00
Jan Steemann 5c552d4137 optimizer rule for scatter / gather 2014-09-17 17:29:36 +02:00
Max Neunhoeffer ae5d231c5d Add a comment. 2014-09-17 16:43:40 +02:00
Max Neunhoeffer e054b738c9 Take out some debugging messages. 2014-09-17 16:41:49 +02:00
Jan Steemann 2202d672e7 fixed memleak 2014-09-17 16:01:06 +02:00
Jan Steemann bd62c36771 scatter / gather 0.0 2014-09-17 16:00:54 +02:00
Jan Steemann be81bef10c Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-17 14:31:51 +02:00
Jan Steemann db70b9bfcb added not-yet used nodes for remote, scatter and gather 2014-09-17 14:31:37 +02:00
Max Neunhoeffer 3c675fee44 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-17 14:08:18 +02:00
Max Neunhoeffer 2cdc5f4cd7 Fix skiplistback-ung and usage in AQL. 2014-09-17 14:07:23 +02:00
Jan Steemann e5e2cfe4da Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/V8Server/v8-vocbase.cpp
2014-09-17 11:50:42 +02:00
Jan Steemann d3f4f05df1 issue #1020 2014-09-17 11:42:01 +02:00
Jan Steemann b9f140e044 removed unused code 2014-09-17 11:31:05 +02:00
Jan Steemann ebb7db28d1 removed unused code 2014-09-17 11:25:06 +02:00
Jan Steemann 654c2ba0fe backwards iteration, not yet working 2014-09-17 00:40:24 +02:00
Jan Steemann 93ed0f2255 added reverse iteration for skiplists 2014-09-16 22:23:40 +02:00
Jan Steemann 85c96f2113 simplified hash index functions 2014-09-16 20:22:12 +02:00
Jan Steemann 5f91c8852b consistency 2014-09-16 19:56:31 +02:00
Jan Steemann 3c0723e244 slight speedup for hash index 2014-09-16 19:46:24 +02:00
Willi Goesgens c71d142b51 We missed to output the modification options vector. 2014-09-16 18:25:41 +02:00
Max Neunhoeffer fcab5b9357 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-16 17:03:58 +02:00
Jan Steemann 5c820cea34 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/V8Server/v8-vocbase.cpp
2014-09-16 16:33:47 +02:00
Jan Steemann f0b2a9e946 removed index_iterator 2014-09-16 16:23:55 +02:00
Max Neunhoeffer 0d5a1bf354 Merge branch 'skiplistback' into aql2 2014-09-16 16:16:22 +02:00
Max Neunhoeffer 7b100ef30a Unuse index-iterator.h 2014-09-16 16:15:55 +02:00
Jan Steemann 992ac23450 fixed ranges 2014-09-16 15:48:33 +02:00
Jan Steemann 83819407ba Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-16 15:10:59 +02:00
Jan Steemann 54b5e7b034 slightly improved access to dynamic bounds 2014-09-16 15:10:43 +02:00
Max Neunhoeffer aa584e6c86 Merge branch 'aql2' into skiplistback 2014-09-16 14:57:35 +02:00
Max Neunhoeffer 2b18e0379f C++-ize skip lists and introduce a backward link. 2014-09-16 14:57:16 +02:00
Willi Goesgens 0d376ab37a Errormessages: show which execution state we're in so the user can better tell appart runtime from syntax errors. 2014-09-16 11:05:43 +02:00
Max Neunhoeffer 23dc7ef617 Fix the AqlValue Range type leak. 2014-09-16 10:25:25 +02:00
Frank Celler b7278820ce Merge branch 'devel' of github.com:triAGENS/ArangoDB into devel 2014-09-15 23:18:35 +02:00
Frank Celler c577193ae4 added log of exception 2014-09-15 23:18:10 +02:00
Jan Steemann 6fad76928d Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-15 18:17:53 +02:00
Jan Steemann 677e681b23 adjusted test 2014-09-15 18:17:42 +02:00
Jan Steemann 60f2136b8d fixed reporting error position in queries with newlines 2014-09-15 18:17:20 +02:00
Willi Goesgens 7e44fa03d0 Try to add a human readable representation to an expression if it throws. 2014-09-15 16:44:55 +02:00
Max Neunhoeffer 6cf8b0cf75 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-15 16:16:33 +02:00
Max Neunhoeffer 855a695764 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionBlock.cpp
	arangod/Aql/RangeInfo.cpp
	arangod/Aql/RangeInfo.h
2014-09-15 16:16:21 +02:00
Jan Steemann bc7c7c5c60 fixed construction of bounds from json 2014-09-15 16:11:59 +02:00
Max Neunhoeffer 77d6f41b5c Fix more bugs in variable bounds. 2014-09-15 16:10:54 +02:00
Max Neunhoeffer 7e09d9a39e Make more const. 2014-09-15 16:10:47 +02:00
Max Neunhoeffer e0cc389f23 Make more const. 2014-09-15 16:08:00 +02:00
Jan Steemann 2571d075b7 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-15 15:29:02 +02:00
Jan Steemann a31cb2af30 disable sort optimizations under certain conditions 2014-09-15 15:28:41 +02:00
Willi Goesgens 215e9bf1b4 Use 'list' in plural variables 2014-09-15 15:06:38 +02:00
Willi Goesgens 6d3753f7ca use 'list' in plural names 2014-09-15 15:06:10 +02:00
Willi Goesgens 6609512297 Improve error handling: first test for whether we're a list, then access its members so we can throw our error message instead of a generic error occuring. 2014-09-15 15:05:14 +02:00
Willi Goesgens f4f7c53808 Adjust debug output to changed api 2014-09-15 15:04:45 +02:00
Jan Steemann ff0016e295 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-15 14:19:47 +02:00
Jan Steemann 481a16fd7a removed bitarray indexes 2014-09-15 14:19:38 +02:00
Willi Goesgens 8bad042d08 Remove friend declaration since it seems not to be needed anyways. 2014-09-15 13:42:21 +02:00
Max Neunhoeffer 4a1e3d6b9c Fix bug with variable bounds: must not access document set in this node. 2014-09-15 13:37:38 +02:00
Max Neunhoeffer 9bfd5eb8c6 Improve comments for getVarusage and friends. 2014-09-15 13:37:16 +02:00
Max Neunhoeffer f5eabd49cd Less copying by returning a ref. 2014-09-15 13:36:56 +02:00
Jan Steemann 6805bfb540 fix compile error 2014-09-15 13:36:38 +02:00
Jan Steemann 5a1dc63946 fixed tons of compile errors in VS 2014-09-15 12:04:49 +02:00
Jan Steemann 8f27ef531c Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	scripts/run
2014-09-15 09:51:04 +02:00
Jan Steemann 112d2a794b added derived files 2014-09-15 09:46:56 +02:00
Jan Steemann 9dbbf16d11 fixed compile error 2014-09-15 09:17:54 +02:00
Max Neunhoeffer 511930a8c1 Make variable bounds compile-time switchable. 2014-09-14 22:30:45 +02:00
Max Neunhoeffer 025d57175e Disable variable bounds to let tests run again. 2014-09-14 22:26:57 +02:00
Max Neunhoeffer e617c091e7 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-14 21:47:46 +02:00
Max Neunhoeffer b48d1c1270 Fix more bugs. 2014-09-14 21:47:37 +02:00
Frank Celler e1b9e343bb added maintenance mode 2014-09-14 21:44:42 +02:00
Jan Steemann 34d2913002 added NOT IN operator, added keywords NOT, AND, OR 2014-09-14 01:34:58 +02:00
Jan Steemann ed7e5d0e67 allow primary key access via _id attribute, too 2014-09-14 00:46:44 +02:00
Jan Steemann aa20c9e980 renamed last C files... 2014-09-13 22:38:25 +02:00
Jan Steemann 506936dcdb rename orgy 2014-09-13 02:35:13 +02:00
Jan Steemann 669cb3b235 renamed files 2014-09-13 01:44:01 +02:00
Jan Steemann 953b8cdfe3 renamed files 2014-09-13 00:34:48 +02:00
Jan Steemann 0dc0bc834f more files renamed 2014-09-13 00:20:30 +02:00
Jan Steemann 87afcf5e8d the great rename 2014-09-13 00:10:11 +02:00
Jan Steemann 2394cdf640 optimize away logical negation if possible
the AST is checked for logical negations of comparison operations
if appropriate, the negation is converted into the reverse comparsion operation, e.g.

    NOT (a == b) => (a != b)
    NOT (a != b) => (a == b)
    NOT (a > b)  => (a <= b)
    NOT (a >= b) => (a < b)
    NOT (a < b)  => (a >= b)
    NOT (a <= b) => (a > b)
2014-09-12 18:01:06 +02:00
Jan Steemann 4f6f2ac34f Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionBlock.cpp
2014-09-12 17:03:04 +02:00
Jan Steemann 76c1da4e9c added test for remove-redundant-calculations 2014-09-12 16:58:01 +02:00
Max Neunhoeffer cf384710a9 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-12 16:36:00 +02:00
Max Neunhoeffer ac9c2d8172 Fix crash in tests. 2014-09-12 16:33:43 +02:00
Jan Steemann f57312baf0 pass AST to expression 2014-09-12 15:40:17 +02:00
Max Neunhoeffer 0ae0f126b2 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-12 15:24:28 +02:00
Max Neunhoeffer 465cf950c9 Try to fix bug with variable bounds.
Not yet finished.
2014-09-12 15:24:08 +02:00
Jan Steemann 6552490cbe Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionNode.cpp
	arangod/Aql/ExecutionNode.h
	arangod/Aql/ExecutionPlan.cpp
	arangod/Aql/OptimizerRules.cpp
2014-09-12 15:17:50 +02:00
Jan Steemann a5c52998e8 remove redundant calculations 2014-09-12 15:10:48 +02:00
Max Neunhoeffer d147be8de3 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-12 15:01:58 +02:00
Max Neunhoeffer de728e2893 Finish reorganisation of Ast and ExecutionPlan usage. 2014-09-12 15:01:29 +02:00
Max Neunhoeffer 6194618906 Finish removal of type argument in create. 2014-09-12 15:01:16 +02:00
Max Neunhoeffer 35ffe6b9e4 Restructure who has Ast and ExecutionPlan.
Not compiling yet.
2014-09-12 14:44:20 +02:00
Max Neunhoeffer 949557fc35 Remove an unnecessary parameter. 2014-09-12 14:43:56 +02:00
Willi Goesgens 4df0c84f43 only add the Json-Expression to the Exception if we're compiled in maintainer mode. 2014-09-12 14:36:01 +02:00
Willi Goesgens 36b7ed81a0 Enrich expressions with more information, by catching them, enhancing and re-throwing them. 2014-09-12 13:57:48 +02:00
Willi Goesgens ae6956b6b5 AQL_EXECUTEJSON: parse the options similar to AQL_EXPLAIN & AQL_EXECUTE. 2014-09-12 12:09:41 +02:00
Max Neunhoeffer 46cb7304bf Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-12 11:22:28 +02:00
Max Neunhoeffer 247f739bee Sort out variable usage in variable bound expressions.
Not yet compiling, need to sort out access to the Ast object.
2014-09-12 11:21:52 +02:00
Willi Goesgens 3894c8393f Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-09-12 10:41:30 +02:00
Willi Goesgens 6a7bfff7d0 Silence debug output. 2014-09-12 10:40:24 +02:00
Max Neunhoeffer 49999cecb8 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-12 09:44:36 +02:00
Max Neunhoeffer 21f4d9be9d Teach ExecutionPlans to remember the Ast. 2014-09-12 09:44:17 +02:00
Jan Steemann 78b3eaeb3a fixed memleak 2014-09-12 09:30:52 +02:00
Jan Steemann 92744da411 fixed invalid memory access 2014-09-12 09:27:58 +02:00
Max Neunhoeffer e120da8a23 Note what needs doing to fix bug with variable lookup. 2014-09-12 00:59:59 +02:00
Max Neunhoeffer 2569dac1b9 Fix a bug with variable bounds. 2014-09-12 00:35:47 +02:00
Max Neunhoeffer ee9a24f7ba Snapshot, broxen. 2014-09-11 18:50:43 +02:00
Max Neunhoeffer 8bab78f4b5 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionNode.cpp
2014-09-11 18:47:31 +02:00
Max Neunhoeffer 088e0ed2f9 Fix serialisation of IndexRangeNode. 2014-09-11 18:45:47 +02:00
Jan Steemann afed9019cf added assertion 2014-09-11 18:27:44 +02:00
Jan Steemann 0b018d26cf Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-11 18:19:14 +02:00
Jan Steemann 2767bdc7e0 use edge index on both _from and _to 2014-09-11 18:19:05 +02:00
Willi Goesgens f25f12c098 Move parsing of calculations out of the whole json parser, so we can properly instanciate the transaction first. 2014-09-11 18:00:00 +02:00
Willi Goesgens f97044952e Add de/stringifyier for transaction type enum 2014-09-11 17:59:32 +02:00
Jan Steemann 491592239c use primary index 2014-09-11 17:19:15 +02:00
Jan Steemann c3b90a1037 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-11 17:02:03 +02:00
Jan Steemann 34beb65148 use primary index & edge index 2014-09-11 17:01:53 +02:00
Max Neunhoeffer ffbfc9e9e3 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-11 16:59:40 +02:00
Max Neunhoeffer 6c69129a71 Start computing the variable bounds at runtime. 2014-09-11 16:58:59 +02:00
Jan Steemann 7a2774b822 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-11 15:50:56 +02:00
Max Neunhoeffer 94e95a0274 Repair skipSome for IndexRangeBlock, untested. 2014-09-11 15:42:52 +02:00
Max Neunhoeffer fd77577868 Add missing } to avoid >417 errors. 2014-09-11 14:56:31 +02:00
Max Neunhoeffer aa00df7edf Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into mmh
Conflicts:
	arangod/Aql/ExecutionBlock.cpp
	arangod/Aql/Query.h
2014-09-11 14:31:13 +02:00
Max Neunhoeffer 31e02e42cb Instanciate expressions for variable bounds.
And various cleanups.
2014-09-11 14:28:38 +02:00
Jan Steemann 611ef2b73c removed "old" AQL function AQL_EXPLAIN 2014-09-11 14:12:01 +02:00
Jan Steemann 672eec350e removed "old" AQL function 2014-09-11 13:56:15 +02:00
Jan Steemann 71600f89b7 use RANGE AqlValue type 2014-09-11 11:56:40 +02:00
Max Neunhoeffer 821e9b4533 Factor out andCombineLowerBounds and andCombineUpperBounds. 2014-09-11 10:26:12 +02:00
Jan Steemann cb4c60a36f explain tests 2014-09-11 09:54:59 +02:00
Max Neunhoeffer 028740a4bd Come up with plan for variable bounds execution. 2014-09-10 16:44:08 +02:00
Max Neunhoeffer 5ff594f3bc Add some debugging output. 2014-09-10 16:36:12 +02:00
Max Neunhoeffer c79b95b048 Activate finding of variable bounds. 2014-09-10 16:35:33 +02:00
Max Neunhoeffer 7b8cc04d90 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into mmh 2014-09-10 16:10:32 +02:00
Max Neunhoeffer 27a9dd050e Variable bounds are recognised. 2014-09-10 16:10:02 +02:00
Jan Steemann c034307dca Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Utils/CollectionNameResolver.h
2014-09-10 15:54:49 +02:00
Max Neunhoeffer a6d57d2c8a Fix DBserver bug with CollectionNameResolver and local collections. 2014-09-10 15:50:41 +02:00
Max Neunhoeffer 8bb938b6de Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into mmh 2014-09-10 15:21:00 +02:00
Max Neunhoeffer 69c464ef13 Restructure RangesInfo handling to allow for variable ranges. 2014-09-10 15:20:28 +02:00
Jan Steemann 1d2c21aec5 create verbose plans 2014-09-10 14:15:37 +02:00
Willi Goesgens 7bb40f25be Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-09-10 13:35:36 +02:00
Willi Goesgens cfbd8ac3bf CPP-i-fy the printf for the nice error message. 2014-09-10 13:34:33 +02:00
Jan Steemann ce104ce81a Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-10 13:29:17 +02:00
Jan Steemann e653552c5e issue #997: added large file support for Windows 2014-09-10 13:12:18 +02:00
Max Neunhoeffer dec5cbed76 more Cleanup. 2014-09-10 12:14:15 +02:00
Max Neunhoeffer 31a1c95e40 Further cleanup of IndexRangeRule and ranges infrastructure.
Prepare for variable bounds.
2014-09-10 12:07:30 +02:00
Max Neunhoeffer dfed690d56 Further cleanup of EQ method in useIndexRange rule. 2014-09-10 11:36:11 +02:00
Max Neunhoeffer 7bca4da5dc Merge branch 'aql2' into mmh 2014-09-10 11:16:44 +02:00
Max Neunhoeffer 6795f425ab Cleanup buildRangeInfo. 2014-09-10 11:15:43 +02:00
Jan Steemann ba21bf4019 fixed cloning of IndexRangeNodes 2014-09-10 10:54:32 +02:00
Jan Steemann 4ab6d8f658 fixed clone method for IndexRangeNode 2014-09-10 10:43:32 +02:00
Max Neunhoeffer 7dcdd27891 Merge branch 'aql2' into mmh 2014-09-10 09:41:54 +02:00
Max Neunhoeffer 83b31459e1 Fix another bug with new ranges format. 2014-09-10 09:39:11 +02:00
Max Neunhoeffer b98cb86605 Take out debugging output. 2014-09-10 09:38:53 +02:00
Max Neunhoeffer 673df76b94 Fix bug with new RangeInfo. 2014-09-10 08:57:18 +02:00
Jan Steemann c16ddedc83 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/V8Server/v8-vocbase.cpp
	js/apps/system/aardvark/frontend/js/bootstrap/errors.js
	js/common/bootstrap/errors.js
	js/server/modules/org/arangodb/ahuacatl.js
	js/server/modules/org/arangodb/aql-helper.js
	js/server/tests/shell-skiplist-index.js
2014-09-09 22:18:52 +02:00
Jan Steemann 428865f3b5 issue #1014: WITHIN function returns wrong distance
added attribute setters for ShapedJson so document attributes can be updated

Conflicts:
	arangod/V8Server/v8-vocbase.cpp
2014-09-09 19:58:27 +02:00
Willi Goesgens 3e6e008a81 useIndexForSort:
- redirect to pass #5 here too, so now possible obsolete CalculaionNodes are removed by the removeUnnecessaryCalculationsRule
2014-09-09 17:19:49 +02:00
Max Neunhoeffer 8aa75f01a5 Snapshot to move home. 2014-09-09 17:05:47 +02:00
Willi Goesgens 202636cee0 Refactor Optimizer ordering
- create enum with the different steps named
  - unify numbering scheme
  - deploy enum to all places where int level was used
  - add passN enum so you can jump to a Pass when calling addPlan

useIndexForSort:
  - remove inline deletion of dependend nodes of our (removed) sortnode
  - redirect to pass #5 so now possible obsolete CalculaionNodes are removed by the removeUnnecessaryCalculationsRule
2014-09-09 16:27:49 +02:00
Jan Steemann 41375624d2 optionally make AQL_EXPLAIN return all generated plans 2014-09-09 15:42:22 +02:00
Jan Steemann 2a49bf843d updated tests 2014-09-09 15:20:42 +02:00
Willi Goesgens de32cddc1e Fix memory leak in case of exceptions thrown when parsing the variable from json 2014-09-09 13:22:49 +02:00
Willi Goesgens 84cb676a34 Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-09-09 11:50:09 +02:00
Willi Goesgens dbdae3faa9 Styleguide cleanup: "initialize" 2014-09-09 11:49:44 +02:00
Jan Steemann 8127ff49bd more tests 2014-09-09 11:04:30 +02:00
Jan Steemann ff2334b575 renamed method 2014-09-09 10:40:57 +02:00
Jan Steemann 8bf495f9b5 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-09 09:58:04 +02:00
Jan Steemann 639a026c66 fixed tests 2014-09-09 09:57:52 +02:00
Max Neunhoeffer 9bf954e586 Cleanup indentation and formatting. 2014-09-09 09:10:22 +02:00
Willi Goesgens f4b4c202d2 Transaction: Abort on first error also when invoked through addCollections() 2014-09-08 17:48:00 +02:00
Jan Steemann 28fd6b84c9 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-08 17:33:21 +02:00
Jan Steemann 4bda3e3979 finished test for remove-redundant-sorts 2014-09-08 17:33:11 +02:00
Max Neunhoeffer e35497c933 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-08 15:19:47 +02:00
Willi Goesgens e87e79ea77 Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-09-08 15:07:25 +02:00
Willi Goesgens 6e1fbbddfc More userfriendly errormessages if creating the transaction fails. 2014-09-08 15:07:05 +02:00
Willi Goesgens 68d30cef8b Transaction: abort initialisation process on error so our internal error state stays sane. 2014-09-08 15:06:30 +02:00
Max Neunhoeffer 5ee7e47879 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-08 15:05:46 +02:00
Jan Steemann 3ea0c8ec28 remove pending dispatcher jobs on shutdown 2014-09-08 15:03:19 +02:00
Max Neunhoeffer 0eed7a8344 Handle exception correctly in AqlValue. 2014-09-08 14:42:21 +02:00
Max Neunhoeffer b011876512 Another memleak and some exception-safety. 2014-09-08 13:55:58 +02:00
Jan Steemann 88454fbecc Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-08 12:05:45 +02:00
Jan Steemann 72cc344935 fixed buffer memleak 2014-09-08 12:05:28 +02:00
Max Neunhoeffer bc54c047ba Fix another memleak. 2014-09-08 11:52:41 +02:00
Max Neunhoeffer dd48ba5d6d Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-08 11:01:22 +02:00
Max Neunhoeffer 06a525929c Fix a memleak with hash index lookup in AQL. 2014-09-08 11:01:03 +02:00
Jan Steemann 8fdb2f05af added positive list of nodetypes 2014-09-08 10:39:59 +02:00
Max Neunhoeffer 12ece0ee5d Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-08 10:35:33 +02:00
Jan Steemann 478007089a do not push sort beyond limit, collect etc. 2014-09-08 10:31:44 +02:00
Max Neunhoeffer 0651a8c0ca Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-09-08 10:30:55 +02:00
Max Neunhoeffer eb6fab36e8 Fix a leak in FilterBlock. 2014-09-08 10:29:48 +02:00
Jan Steemann 027fe0af9a fixed memleak 2014-09-08 09:47:48 +02:00
Willi Goesgens 84b0d4a35e Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-09-08 09:32:37 +02:00
Jan Steemann a0868577ca tried to diagnose logger races 2014-09-08 09:30:56 +02:00
Max Neunhoeffer b88bceda00 Fix memleaks. 2014-09-05 18:20:48 +02:00
Willi Goesgens 02207d5f70 Cost estimates: IndexRangeNodes without range have to be more expensive than ones with. 2014-09-05 14:23:25 +02:00
Alan Plum 6719e8326a Added support for sha384/sha512 in VOCBase. 2014-09-04 23:37:34 +02:00
Willi Goesgens ebbb9c34b6 Redundand-Sort: implement removing of left item superseeding the sort 2014-09-04 17:53:20 +02:00
Willi Goesgens 30b33a1793 Fix buffer overrun while comparing two sortNodes 2014-09-04 17:29:22 +02:00
Willi Goesgens e23cbf1add Work on Filter to IndexRangeNode tests 2014-09-04 16:33:37 +02:00
Willi Goesgens 2943451c6c 'var' is a js keyword, rename it to variable. 2014-09-04 13:26:52 +02:00
Willi Goesgens 8f1123c8b9 Rangeinfo: fix handling of < and >; the handling of _undefined was wrong and we would never add these ranges. 2014-09-04 11:52:35 +02:00
Willi Goesgens ec67a07f9b Parser: when throwing parse exceptions add the query and a pointer to the actual indicated error to the message. 2014-09-03 16:13:35 +02:00
Willi Goesgens 61d1bfa76b SortIndex: only indicate we modified a rule if we realy did. 2014-09-03 09:47:08 +02:00
Max Neunhoeffer 6f22f5529a Fix memory leak, AqlValues must be destroyed explicitly. 2014-09-02 15:19:21 +02:00
Max Neunhoeffer fb9481c208 Fix another memory leak. 2014-09-02 14:33:08 +02:00
Max Neunhoeffer b86dfdd2b0 Fix a memory leak in deletion of AqlValues that are no longer needed. 2014-09-02 11:52:43 +02:00
Max Neunhoeffer 7e7b47ab71 Sort out negative cost estimations. 2014-09-02 10:15:02 +02:00
Willi Goesgens f0952e9109 Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-09-01 18:49:10 +02:00
Willi Goesgens 021f3371f2 SortIndex: move the unlinking of the sort attributes after unlinking the sort itself 2014-09-01 18:30:49 +02:00
Willi Goesgens c1d0f8bccc SortIndex: as long as the Index superseeds the sort critereon its still a full match. 2014-09-01 18:29:09 +02:00
Jan Steemann 822c5daa32 assert costs are positive 2014-09-01 15:03:23 +02:00
Willi Goesgens 3b93d0847d SortIndex: fix the way we register our results to the framework 2014-09-01 13:33:18 +02:00
Willi Goesgens cd29afd88f Fix pattern to index matcher
- if the number of match patterns is zero, this is not a match at all.
  - if the number of condition is unequal match pattern to a match pattern this isn't a full match.
2014-09-01 13:31:39 +02:00
Jan Steemann 7851e5e54c Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-01 11:05:41 +02:00
Jan Steemann f60952a12e fixed compile warnings and errors in Visual Studio 2014-09-01 10:42:11 +02:00
Jan Steemann aadd0f9254 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Utils/CollectionNameResolver.h
	arangod/V8Server/v8-vocbase.cpp
2014-08-30 17:35:08 +02:00
Jan Steemann c0463a1797 added `type` option for `GET /_api/document?collection=...`
Conflicts:
	CHANGELOG
2014-08-30 17:26:24 +02:00
Jan Steemann 7d500b7234 speed up instanciation of v8 ShapedJson objects
now a static buffer is used to create multiple string values
such as `_id`, `_key`, `_rev`, `_from` and `_to`.
this saves a few memory allocations per document

Conflicts:
	arangod/Utils/CollectionNameResolver.h
	arangod/V8Server/v8-vocbase.cpp
2014-08-30 01:47:58 +02:00
Jan Steemann 6844433558 do not complain about missing dispatcher when server is started with `--no-server` option 2014-08-30 01:34:10 +02:00
Jan Steemann c90777738d speed up instanciation of v8 ShapedJson objects
now a static buffer is used to create multiple string values
such as `_id`, `_key`, `_rev`, `_from` and `_to`.
this saves a few memory allocations per document
2014-08-30 01:32:20 +02:00
Max Neunhoeffer 730b59cfad Remove "old" sparse flag for skiplist indexes. 2014-08-30 01:04:26 +02:00
Max Neunhoeffer 7151c853c1 Make skiplist index insertion aware of the sparse flag.
Note that so far this flag is always false.
2014-08-30 00:55:08 +02:00
Max Neunhoeffer ecf379c113 Fix a bug with the level management of the useSortRule. 2014-08-30 00:54:47 +02:00
Max Neunhoeffer fcfb50b105 Correct skiplist fix for empty attribute values. 2014-08-30 00:38:26 +02:00
Max Neunhoeffer ad9f182916 Introduce a boolean switch _sparse in TRI_index_t.
At this stage it is always set to false for all indexes.
However, TRI_InitIndex already has an additional argument for this.
2014-08-30 00:34:33 +02:00
Max Neunhoeffer dc0c204424 Store documents in a skiplist index even if some indexed attrs are empty. 2014-08-29 23:54:22 +02:00
Jan Steemann 1367a016cf Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-29 20:38:30 +02:00
James b6f9f11e5e added all node types to FilterToEnumCollFinder. 2014-08-29 17:44:32 +02:00
James b00521b881 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-29 17:41:37 +02:00
James 671824985e added all node types to FilterToEnumCollFinder. 2014-08-29 17:40:56 +02:00
Jan Steemann 9530a12472 AQL_EXECUTE 2014-08-29 17:39:23 +02:00
Jan Steemann 53d0b740db Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-29 17:37:46 +02:00
Jan Steemann a5b207188f added optimizer flags for AQL_EXECUTE 2014-08-29 17:37:35 +02:00
James 38520d49eb Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/OptimizerRules.cpp
2014-08-29 17:17:59 +02:00
James 21febb33ac cleaning up RangeInfo stuff. 2014-08-29 17:16:08 +02:00
Willi Goesgens 40361d63dc Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-08-29 17:10:35 +02:00
Willi Goesgens 1f0ce045d3 remove debug output 2014-08-29 17:10:20 +02:00
Jan Steemann d57ed2749a Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-29 17:09:18 +02:00
Jan Steemann a3d2d0e3f1 renamed file 2014-08-29 17:09:07 +02:00
Max Neunhoeffer bf1f11e651 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-29 16:57:56 +02:00
Max Neunhoeffer fa9e55eafb Finish taking into account multiple FILTER for IndexRangeRule. 2014-08-29 16:57:34 +02:00
Willi Goesgens 24128830ca Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-08-29 16:45:55 +02:00
Willi Goesgens 0cb12fc3f5 SortIndex: initialize the rangeInfo the proper way. 2014-08-29 16:45:20 +02:00
Jan Steemann 3b2cf352ad added functionality to activate/deactivate optimizer rules 2014-08-29 16:31:07 +02:00
Max Neunhoeffer 4ae076db40 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/OptimizerRules.cpp
2014-08-29 15:51:08 +02:00
Max Neunhoeffer 65e765478d Make IndexRange rule look for multiple variables in FILTERs.
Still TODO: Pickup further variables when seeing FILTERs.
2014-08-29 15:49:37 +02:00
Jan Steemann 91590f754f Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/OptimizerRules.cpp
2014-08-29 15:49:35 +02:00
Jan Steemann b8e12063e2 added "rules" output 2014-08-29 15:27:02 +02:00
James e1ee728a75 remove debug prints. 2014-08-29 14:41:20 +02:00
Willi Goesgens 67894665f4 revert #cef3864e29cfb5308df55e19a2186af07c21d3b8 which was a wrong conflict resolution. 2014-08-29 14:38:39 +02:00
James fd4b4e5df4 "proper" estimateCost method for IndexRangeNode. 2014-08-29 14:22:46 +02:00
Thomas Schmidts 3a695c15fd Added text to documentation 2014-08-29 14:09:49 +02:00
Willi Goesgens d6881ddabd Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-08-29 12:27:33 +02:00
Jan Steemann 1980d8b832 stable sort 2014-08-29 12:24:03 +02:00
Jan Steemann e47c2b99d3 use stable sort 2014-08-29 12:22:27 +02:00
Willi Goesgens be1c84f480 Exceptions: don't print Backtraces if the exception is handled in the subsequent js code. 2014-08-29 12:15:19 +02:00
Jan Steemann 5928d285ad fixed WAL recovery which hung in certain conditions 2014-08-29 12:03:38 +02:00
James 16ef52bd81 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-29 11:52:46 +02:00
James 46b40015ee renovating RangeInfo stuff to avoid mem leaks. 2014-08-29 11:52:19 +02:00
Max Neunhoeffer c9193e44b8 Sort out some exception issues. 2014-08-29 11:37:01 +02:00
Max Neunhoeffer aefea865f5 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-29 11:09:44 +02:00
Max Neunhoeffer f780cff9c6 Fix a bug with a new plan and insert a catch. 2014-08-29 11:09:18 +02:00
Jan Steemann 6c3544cffb Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-29 10:59:33 +02:00
Jan Steemann 8a96f907b0 refactored function argument conversion 2014-08-29 10:59:24 +02:00
James b25f9d8301 fixed bug in last. 2014-08-29 09:34:23 +02:00
James 7fe3cd8c68 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-29 09:26:40 +02:00
James 58a288fe77 copying a RangeIndexNode now properly copies the range infos. 2014-08-29 09:26:11 +02:00
Jan Steemann a32fac3747 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-29 09:20:36 +02:00
Jan Steemann 43ec93109f optimizer rules are now kept in a sorted map
rules can optionally be disabled at runtime
2014-08-29 00:08:29 +02:00
Jan Steemann c47807e2ee Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-28 16:56:05 +02:00
James a14be1d3be Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-28 16:55:39 +02:00
Jan Steemann 687c56f923 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-28 16:55:22 +02:00
James 4b5e42c52a bugfixes and leaks fixed. 2014-08-28 16:55:18 +02:00
Jan Steemann d3624c3244 attempt to fix infinite ranges in skiplists 2014-08-28 16:54:45 +02:00
Max Neunhoeffer 16a5899e8f Add a FIXME. 2014-08-28 16:52:03 +02:00
Max Neunhoeffer c1568d94f0 Improve a comment. 2014-08-28 16:50:26 +02:00
Jan Steemann 2a104b8bcb fixed several AQL tests 2014-08-28 16:19:05 +02:00
Jan Steemann fd5e687ef0 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-28 15:34:17 +02:00
Jan Steemann 694d64da3c do not optimize away non-deterministic functions 2014-08-28 15:34:06 +02:00
Max Neunhoeffer 84199295ba Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-28 15:21:28 +02:00
Max Neunhoeffer af340d6dd6 Make sure varUsage is valid before instanciation. 2014-08-28 15:21:05 +02:00
James 3f646034c8 cleaning up IndexRangeBlock::readSkiplistIndex 2014-08-28 15:12:50 +02:00
James 9f6f15f85f Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-28 15:02:27 +02:00
James 9644fc87c7 fixed bug in last. 2014-08-28 15:00:53 +02:00
Max Neunhoeffer 665777c59a Make dummyRule local in the optimizer. 2014-08-28 14:49:33 +02:00
James 05dac4f52d Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/Optimizer.cpp
2014-08-28 14:41:51 +02:00
James 1deed3ebce fixed bugs useIndexRange. 2014-08-28 14:39:26 +02:00
Jan Steemann 910c029730 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-28 14:28:11 +02:00
Jan Steemann a2da3eb7ee removed debug output 2014-08-28 14:27:43 +02:00
Jan Steemann e686fcaa85 fixed unused variables warning 2014-08-28 14:18:14 +02:00
Jan Steemann 844955cafd disabled debug output 2014-08-28 14:10:41 +02:00
Jan Steemann 531bb921ff disabled broken rules 2014-08-28 14:04:32 +02:00
Jan Steemann 04b322d9e0 sorting 2014-08-28 14:04:24 +02:00
Jan Steemann 7ba6b17d45 Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-28 13:54:37 +02:00
Jan Steemann ca814c9733 remove-redundant-sorts 2014-08-28 13:54:17 +02:00
Willi Goesgens 75d9d4ee60 Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2 2014-08-28 13:48:44 +02:00
Willi Goesgens 0a1d5edb29 SortToRange: fix abort critereon for non-skiplist indexes 2014-08-28 13:48:03 +02:00
Max Neunhoeffer 9b49328218 Rearrange levels for optimizer rules. Use rules multiple times. 2014-08-28 13:46:46 +02:00
Max Neunhoeffer e1b557ff20 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/Optimizer.cpp
2014-08-28 13:33:33 +02:00
Max Neunhoeffer 12e15b6c2e Adjust the output level of useSortIndex rule. 2014-08-28 13:29:44 +02:00
Max Neunhoeffer 338a9c6c54 Implement permutation of EnumerateCollectionNodes.
Also: restructure leveling of rules.
And:  remove some debugging output (and add some other).
2014-08-28 13:28:04 +02:00
Jan Steemann 2eb38c9657 remove-redundant-sorts, initial 2014-08-28 12:39:28 +02:00
Willi Goesgens 9d4b1b1c88 SortNode: our variables can also be in other ExecutionNodes then the Calculation node. Take this into account.
SortIndex optimizer: when looking at our properties only check Calculation nodes, ignore other types of ExecutionNodes
2014-08-28 11:48:23 +02:00
Jan Steemann a014b44ba4 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Utils/Transaction.h
2014-08-28 11:06:14 +02:00
Jan Steemann 5930c3db70 added NTH function 2014-08-28 11:03:48 +02:00
James ee3a401c88 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/ExecutionNode.h
2014-08-28 09:48:49 +02:00
James 511f08e4ca adding stub for estimateCost for IndexRangeNode. 2014-08-28 09:48:05 +02:00
Max Neunhoeffer 6926c2dfba Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-28 09:36:55 +02:00
Max Neunhoeffer b9cfff7c89 Fix infinite recursion bug in canThrow for subqueries. 2014-08-28 09:36:15 +02:00
Willi Goesgens 7b9b3d8570 fix memory leak in parametrization of new IndexRangeNodes 2014-08-28 09:20:47 +02:00
Jan Steemann b9024aeaeb basic C++ implementations for dedicated AQL functions 2014-08-28 01:24:42 +02:00
Jan Steemann 6d0dfcdeba changed ctor 2014-08-28 00:27:24 +02:00
Jan Steemann 2d2df1b5da added TODO 2014-08-28 00:18:19 +02:00
Jan Steemann a409f37dc6 re-use already declared optimizer rules for all queries 2014-08-28 00:03:23 +02:00
Jan Steemann 1e0a393d48 fixed wrong comment 2014-08-27 23:54:32 +02:00
Jan Steemann 37295fb2b1 changed wrong comments 2014-08-27 23:54:06 +02:00
Jan Steemann b10ae65d58 rules have names 2014-08-27 23:53:53 +02:00
Jan Steemann 2628afb426 cleanup 2014-08-27 22:46:26 +02:00
Max Neunhoeffer cc20fbbe58 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-27 22:10:54 +02:00
Max Neunhoeffer b2d44cd35e Add show() for ExecutionPlans. 2014-08-27 22:10:38 +02:00
Max Neunhoeffer f279c40262 Fix an early destruction bug. 2014-08-27 22:10:18 +02:00
James a84de9bbac Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-27 21:07:53 +02:00
James ee88997e8e skiplists in IndexRangeBlock working. 2014-08-27 21:07:34 +02:00
Jan Steemann 5b20348d26 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2 2014-08-27 19:39:13 +02:00
Jan Steemann dfaca5523c initialize variable 2014-08-27 19:38:53 +02:00
Jan Steemann cd1d0c45f8 Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/V8Server/v8-query.cpp
2014-08-27 19:25:37 +02:00
Jan Steemann cda10393f5 some traversal speedups 2014-08-27 18:56:51 +02:00
Max Neunhoeffer c079de3a94 Adjust a cout message. 2014-08-27 16:58:20 +02:00
Max Neunhoeffer 4441316115 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-27 16:52:57 +02:00
Max Neunhoeffer 449d0cd961 Completely redo the optimizer. 2014-08-27 16:52:38 +02:00
James b8a3382a7f Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-27 16:51:03 +02:00
Jan Steemann 140e10a2a0 added more node types 2014-08-27 16:50:43 +02:00
James 0638a5cbda Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-27 16:32:28 +02:00
Jan Steemann 679b6bd10f alwaysProducesBoolValue() 2014-08-27 16:24:14 +02:00
James c8667290b5 fixing bugs in last and removing debug prints. 2014-08-27 16:15:53 +02:00
Willi Goesgens da6bac560d SortIndex optimizer: clean up namingschemes, add documentation. 2014-08-27 16:09:25 +02:00
Willi Goesgens e67a2ed36a SortIndex optimizer:
- remove SortNodes which are superseeded by an IndexRangeNode
  - calculate the properties of an SortNode before entering the walker
  - add abstraction class
2014-08-27 15:39:37 +02:00
James 61ee74e0fd Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-27 14:52:05 +02:00
James a3830c2566 IndexRangeNode now working with skiplists. 2014-08-27 14:51:56 +02:00
Max Neunhoeffer 27d8409425 Implement canThrow method for SubqueryNode. 2014-08-27 13:07:05 +02:00
Max Neunhoeffer 47da2daa76 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-27 12:11:24 +02:00
Max Neunhoeffer 23723d8e48 Add an explanation of index operators. 2014-08-27 12:10:51 +02:00
Jan Steemann 86ce08c96f added comments 2014-08-27 11:34:37 +02:00
Willi Goesgens 5e75ec8bb5 Expression:
- add function isSimpleAccessReference() to check whether it is a coll.attr.attr
 - add function getAccessNRef() to retrieve pair("attr.attr", "coll"),
SortIndex optimizer:
 - use the new functionality to get better readable code.
rename indexes -> indices
2014-08-26 17:26:46 +02:00
Willi Goesgens 18d308af0f SortNode: add method that looks up the expressions referenced by the Sortnode, and returns them paired with ASC/DESC. 2014-08-26 15:38:55 +02:00
James 851420c723 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-26 15:19:13 +02:00
Willi Goesgens ff4e00eb86 SortIndex optimizer:
- rename getIndexes to getIndexesUnordered
  - add CompareIndex & getIndexesOrdered to retrieve a list which does an ordered match on the available skiplist indices
  - fetch the ordered matching indices
  - only remove the sortnode if its a full qualified match.
2014-08-26 13:53:19 +02:00
James b8415aaca5 making useIndexRange abort if it encounters a limit node. 2014-08-26 13:11:31 +02:00
James ad3e6d22a1 Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2 2014-08-26 13:02:58 +02:00
James bf952d37be IndexRangeBlock working for hash indexes. 2014-08-26 13:02:31 +02:00
Willi Goesgens 27063a08b5 SortIndex optimizer:
- group the ASC/DESC
 - find out the real attribute name for nested attributes
2014-08-26 09:48:20 +02:00