1
0
Fork 0
Commit Graph

2358 Commits

Author SHA1 Message Date
Jan Steemann 8afee97aaf fixed double-free issues 2015-10-12 14:37:18 +02:00
Michael Hackstein a8ee15fca4 Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into
aql-jmmh-conditions and fixed a compiler bug for mac outstream
2015-10-12 14:37:03 +02:00
Michael Hackstein 1c81f89a18 The new IndexNode can now serve with a SkiplistIndex when only a sort and no filter is given 2015-10-12 14:16:25 +02:00
Jan Steemann f0edd198bc added specializeOne() and specializeAll() 2015-10-12 13:02:52 +02:00
Michael Hackstein dcc34e5312 The condition finder now creates an IndexNode for SORT statement only, if any index would be suiteable for it. 2015-10-12 11:44:36 +02:00
Jan Steemann b5c9602407 specialization of conditions 2015-10-09 18:10:33 +02:00
Jan Steemann c689fc0756 preparation work for index condition specialization 2015-10-08 18:20:10 +02:00
Jan Steemann 404f725461 minor fixes 2015-10-08 17:43:37 +02:00
Jan Steemann 875d89620f don't clear members in destructor - it's not necessary 2015-10-08 16:35:45 +02:00
Jan Steemann bf71cdecdb noexcept 2015-10-08 16:35:28 +02:00
Jan Steemann d572655d84 fixed compile warning 2015-10-08 16:28:04 +02:00
Jan Steemann 6a4e9658c5 fixes for explainer and condition 2015-10-08 16:22:52 +02:00
Jan Steemann 0d80a17002 generalize condition handling 2015-10-08 15:10:28 +02:00
Michael Hackstein af4ff37334 Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-10-08 12:50:06 +02:00
Jan Steemann fbfc7773ef serialization and deserialization of IndexNodes 2015-10-08 12:02:27 +02:00
jsteemann 738009c69f fixed compile error 2015-10-07 20:33:15 +02:00
Jan Steemann d479fa11cc IndexBlock cleanup 2015-10-07 18:15:50 +02:00
Michael Hackstein f7d3304db7 Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-10-07 17:27:40 +02:00
Jan Steemann 4bf3bb047b Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-jmmh-conditions 2015-10-07 17:25:56 +02:00
Jan Steemann 5b423971ef support `value IN attr[*]` 2015-10-07 17:25:22 +02:00
Michael Hackstein cb57f39e06 Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-10-07 17:24:42 +02:00
Michael Hackstein ef78f03309 Merge branch 'devel' of github.com:arangodb/arangodb into devel 2015-10-07 17:05:02 +02:00
Michael Hackstein ab23a01263 Properly react to return value 2015-10-07 17:04:56 +02:00
Jan Steemann ef04ccdc8c fixed expansion node cloning 2015-10-07 17:03:17 +02:00
Jan Steemann 424dc81197 fixed undefined index lookup behavior 2015-10-07 16:34:01 +02:00
Michael Hackstein 5a026db641 Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-10-07 16:13:04 +02:00
Jan Steemann 85eacaa458 fixed memleaks 2015-10-07 16:12:20 +02:00
Michael Hackstein 16369c7ac5 Merge branch 'devel' of github.com:arangodb/arangodb into devel 2015-10-07 15:51:06 +02:00
Michael Hackstein 1ba2efed60 Fixed GraphNeighbors as locking was not woring for include data 2015-10-07 15:50:41 +02:00
Frank Celler 4b0911c799 added debugging header x-arango-v8-context 2015-10-07 13:37:35 +02:00
Michael Hackstein db0e414776 Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-10-07 09:10:56 +02:00
Michael Hackstein 86ab20ffb0 Started adapting the Skiplist Index to the new index Node. WIP does not compile 2015-10-06 17:49:44 +02:00
Jan Steemann 8dfcc98694 use ctor/dtor for TRI_hash_index_search_value_t 2015-10-06 17:09:59 +02:00
Jan Steemann 55f82646d9 moved TRI_index_search_value_t into HashIndex.h 2015-10-06 16:39:12 +02:00
Jan Steemann 14dc0be744 primary index now supporting IN 2015-10-06 14:46:33 +02:00
Jan Steemann a12eda295b aha! 2015-10-06 13:03:46 +02:00
Jan Steemann 310442c8ac Merge branch 'aql-jmmh-conditions' of https://github.com/arangodb/arangodb into aql-jmmh-conditions 2015-10-06 11:24:02 +02:00
Jan Steemann b6c8d77d98 some bugfixes 2015-10-06 11:23:55 +02:00
Michael Hackstein 37a4ecfbb3 Modified the IndexIterator API to return TRI_doc_mptr_t instead of *_copy_t. Index Range node now manages a list of already returned documents, making the resulting documents distinct 2015-10-06 10:45:42 +02:00
Michael Hackstein 8761e5abde Fixed broken nested loop. 2015-10-06 09:41:30 +02:00
Jan Steemann 118f924598 support [*] operator 2015-10-05 19:15:22 +02:00
Jan Steemann e46ba60715 changed signatures of attribute-access-detecting functions 2015-10-05 16:01:19 +02:00
Michael Hackstein 00c99f135a Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-10-05 13:56:12 +02:00
Michael Hackstein 41916760c3 Implemented the IndexNode Iterator for the EdgeIndex. Seems to be working. Also removed some void* parameters from EdgeIndex 2015-10-05 13:55:55 +02:00
Jan Steemann 37bc5b64ff fixed segfault 2015-10-05 13:49:23 +02:00
Jan Steemann 1c990b7324 Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-jmmh-conditions
Conflicts:
	arangod/Aql/ExecutionNode.cpp
2015-10-05 10:32:36 +02:00
Jan Steemann 7d4c379598 small modifications, temporarily disabled interchange-adjacent-enumerations 2015-10-02 19:53:35 +02:00
Jan Steemann f7b207e582 removed unused variable 2015-10-02 18:05:11 +02:00
Jan Steemann 574f88a1f9 fixed invalid cast 2015-10-02 18:04:52 +02:00
Jan Steemann 32556a828e fixed potentially invalid cast 2015-10-02 17:40:34 +02:00
Jan Steemann 8e0ab92d1a Merge branch 'aql-jmmh-conditions' of https://github.com/arangodb/arangodb into aql-jmmh-conditions 2015-10-02 17:39:19 +02:00
Jan Steemann e0dcf4331d finish IN optimizations in Condition 2015-10-02 17:39:04 +02:00
Michael Hackstein 9bfd929cf5 Indexes compile again and some expressions seem to be evaluated. Might still crash. Start with --no-server with server it is still broken 2015-10-02 17:14:18 +02:00
Michael Hackstein 5de1a9b9b5 Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-10-02 17:03:57 +02:00
Michael Hackstein d77dfc55c3 Started implementing runtime evaluation of IndexNode expressions 2015-10-02 17:03:53 +02:00
Michael Hackstein 4c065f470c Registered Index Node in several places where it was not yet handled. 2015-10-02 17:02:39 +02:00
Jan Steemann a2731a6121 blind commit 2015-10-02 17:02:02 +02:00
Jan Steemann 3a92fa8e16 merge IN with IN 2015-10-02 15:22:21 +02:00
Jan Steemann 7292384b37 deduplicate IN arrays 2015-10-02 14:05:27 +02:00
Jan Steemann 42b02427e6 fixed index usage 2015-10-01 17:27:57 +02:00
Michael Hackstein 9c38a47aa1 Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-10-01 17:01:27 +02:00
Jan Steemann fab5c5902d clarified instructions 2015-10-01 16:59:14 +02:00
Michael Hackstein e55b5d59d5 Implemented IndexIterator for PrimaryIndex. The IndexBlock uses this Iterator. Still a double free as soon as the query is finished 2015-10-01 14:34:24 +02:00
Jan Steemann bc4e27bdc9 added getOne() 2015-10-01 13:25:03 +02:00
Jan Steemann 32bdc19522 Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-jmmh-conditions 2015-09-30 17:47:00 +02:00
Jan Steemann 0ea2247eb0 scan-build 2015-09-30 17:28:52 +02:00
Jan Steemann 806272876c satisfy scan-build 2015-09-30 17:21:07 +02:00
Jan Steemann e71ff5a4f5 cppcheck 2015-09-30 16:50:57 +02:00
Jan Steemann 40a1cf3ce3 fixed segfault 2015-09-30 16:03:46 +02:00
Jan Steemann 91e8884518 added AggregateNode.* 2015-09-30 15:55:38 +02:00
Jan Steemann 50fa5a2138 added SortNode file 2015-09-30 15:42:48 +02:00
Jan Steemann 9041b7b2c9 file split 2015-09-30 15:29:32 +02:00
Jan Steemann d99f7a498d moved index nodes to their own files 2015-09-30 15:13:49 +02:00
Jan Steemann b5cf8ce942 moved cluster nodes out of ExecutionNode.* 2015-09-30 14:51:11 +02:00
Jan Steemann 47e1b3ceb8 stringify conditions 2015-09-30 14:35:18 +02:00
Jan Steemann 6405c82a32 removed global reverse-flag for IndexNode. this flag has to be moved into the separate indexes used by the node 2015-09-30 14:14:41 +02:00
Jan Steemann cddabd1e20 fixed compile errors 2015-09-30 09:30:46 +02:00
Michael Hackstein 468e632abb Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-09-30 08:38:26 +02:00
Michael Hackstein 0fab24aca5 Fixed double free of condition and reactivated IndexNode 2015-09-30 08:36:56 +02:00
Jan Steemann 67de5480e8 check filter condition and sort condition support for all index types 2015-09-29 17:38:55 +02:00
Jan Steemann 27bcd7ee84 better estimates 2015-09-29 15:30:44 +02:00
Jan Steemann 7df6726c3f calculate costs for equality lookups 2015-09-29 13:08:51 +02:00
Michael Hackstein 8f0bd93120 Disabled the IndexBlock again, not yet working 2015-09-29 10:18:46 +02:00
Michael Hackstein c0a88a1371 Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-09-29 10:04:15 +02:00
Michael Hackstein e35ea8995e Fixed used after free of condition node. Cloned the Condition AST whie handing it over. Still get a double free exception. IndexNodeis now handled. 2015-09-29 09:13:08 +02:00
Michael Hackstein 1e9c6f110b Started implementing the IndexBlock. Right now it expects an iterator for each used index that is created by an evaluated expression from the Block. Then it will go through all iterators in every get/skip some step 2015-09-28 19:30:10 +02:00
Jan Steemann 89b6329985 Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-jmmh-conditions 2015-09-28 18:13:29 +02:00
Jan Steemann 84f59d112e unified index use checks 2015-09-28 18:13:04 +02:00
Jan Steemann 0d845955e2 Merge branch 'aql-jmmh-conditions' of https://github.com/arangodb/arangodb into aql-jmmh-conditions 2015-09-28 14:11:44 +02:00
Jan Steemann 3495816fa1 changed index signatures 2015-09-28 14:11:23 +02:00
Michael Hackstein cf7b0734b0 Fixed compile error 2015-09-28 13:50:26 +02:00
Michael Hackstein 0cdc8afcd5 Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-09-28 13:38:45 +02:00
Michael Hackstein 18f890895f Fixed executionNode, does compile again 2015-09-28 13:38:40 +02:00
Jan Steemann 35f2bdb9fd fixed 2015-09-28 13:31:53 +02:00
Michael Hackstein 5e0c1900f8 Added more implementation to new IndexNode 2015-09-28 11:53:23 +02:00
Michael Hackstein 18f71966e9 React to _condition is nullptr when hitting EnumerateCollection 2015-09-28 11:02:39 +02:00
Jan Steemann aebf442e7a note latest sort expression used in a query 2015-09-25 18:21:25 +02:00
Jan Steemann ccd06fc1a4 simplified ConditionFinder 2015-09-25 18:01:02 +02:00
Jan Steemann d5dabfb528 Merge branch 'aql-jmmh-conditions' of https://github.com/arangodb/arangodb into aql-jmmh-conditions
Conflicts:
	arangod/Aql/OptimizerRules.cpp
2015-09-25 17:41:10 +02:00
Jan Steemann d51c984f11 use findEndNodes 2015-09-25 17:39:23 +02:00
Jan Steemann c72c568b07 added findEndNodes 2015-09-25 17:38:46 +02:00
Michael Hackstein 17a45c8cd3 Fixed potential memleaks in failure cases 2015-09-25 17:38:04 +02:00
Jan Steemann 0f52db88c9 added EndNodeFinder 2015-09-25 17:37:50 +02:00
Michael Hackstein 368eeb95b3 Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-09-25 17:23:52 +02:00
Michael Hackstein 2a342fe40f The use-indexes rule now replaces EnumerateCollectionNodes with IndexNodes. Seems to work on visual test, needs automated test 2015-09-25 17:23:47 +02:00
Jan Steemann f2cbaa38e0 fixed condition printing 2015-09-25 16:35:18 +02:00
Michael Hackstein e0817f0263 Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-09-25 16:34:49 +02:00
Michael Hackstein 6d814f63eb Modified the condition finder to maintain a list of possible enumerate collections nodes 2015-09-25 16:34:44 +02:00
Jan Steemann 9472eb7b45 make it link again 2015-09-25 16:30:29 +02:00
Jan Steemann abc87b2d5f added IndexNode stub 2015-09-25 13:40:51 +02:00
Michael Hackstein 1941b7f880 Added a new IndexNode does not compile yet 2015-09-25 13:18:43 +02:00
Michael Hackstein 2ab13b81a4 The Condition will now successfully produce a list of Indexes that can be combined for the current EnumerateCollectionBlock. If this list is empty we can do nothing but a Full Collection Scan 2015-09-25 13:00:37 +02:00
Michael Hackstein 6eb23f14f4 The Condition findIndexes now tries to find an index for each AND block and fills a list of indexes, iff there is any element in the list we are able to use a CombinedIndexRangeNode, if not we still have to use the EnumerateCollectionNode 2015-09-25 11:45:31 +02:00
Michael Hackstein 6a11ad28ee Adapted all indices to the new planned interface so they tell us if they can serve for a condition and present their costs 2015-09-25 10:40:04 +02:00
Michael Hackstein 180ffa74a3 Moved the conditionFinder to a seperate file 2015-09-24 14:16:25 +02:00
Michael Hackstein 6525755cc0 Fixed memleak 2015-09-23 17:04:37 +02:00
Michael Hackstein 8c3283f8a0 Fixed memleak 2015-09-23 16:29:28 +02:00
Michael Hackstein eae6394f22 Allowed the hashIndex to modify the DNF and-block node. It now successfully removes all entries it can be responsible for 2015-09-23 16:29:15 +02:00
Michael Hackstein 614902ee99 Replaced TRI_vector_pointer by std::vector in AstNode 2015-09-23 15:02:34 +02:00
Michael Hackstein aefc0edae0 Added a modifyable AST node to the index can serve and block functionality of all indicies. However non of them uses it yet 2015-09-23 14:38:23 +02:00
jsteemann 5c0ff48478 cppcheck 2015-09-22 23:40:57 +02:00
Michael Hackstein e6e795e198 Improved dev output. Now it is easier to see where more than one index is suiteable 2015-09-22 16:14:10 +02:00
Michael Hackstein 73077a17fc Implemented the foundation to identify indicies based on DNF Conditions. Primary is implemented as an example. Right now it is only printed that it can be used. TODO: actually use it. Other indicies 2015-09-22 15:39:07 +02:00
Michael Hackstein f1b0afd9a6 Started to implement functions to find indexes for each Condition sub part 2015-09-22 11:19:52 +02:00
Michael Hackstein 0d3a095736 Fixed a bug in AQL execution which caused LIMIT <skip> <total> to fail after sorting based on an attribute with skiplist index 2015-09-21 13:15:56 +02:00
Jan Steemann 291891036f internal refactoring of query API 2015-09-18 17:33:39 +02:00
Jan Steemann 3c4c64cf14 allow multiple collection nodes 2015-09-18 17:27:10 +02:00
Jan Steemann 3e4eab104c changed internal API 2015-09-18 17:00:39 +02:00
Jan Steemann aec802f126 removed unused functions 2015-09-18 16:53:22 +02:00
Michael Hackstein 1a7f414c16 Merge branch 'devel' of github.com:arangodb/arangodb into JHMH 2015-09-18 12:21:39 +02:00
Frank Celler c4d1fff729 new traversal 2015-09-18 10:40:28 +02:00
Jan Steemann fc553f4909 removed iostream includes 2015-09-17 18:46:42 +02:00
Michael Hackstein 1e5b246b6b Included the work of @dothebart that was created on optimizing the condition tree. 2015-09-17 18:27:47 +02:00
Jan Steemann 10edae06b4 cppcheck 2015-09-17 18:25:55 +02:00
Jan Steemann 2f10135e60 transplanted changes from aql-conditions 2015-09-16 17:36:17 +02:00
Jan Steemann b0798bbb19 first commit, broken 2015-09-16 17:22:09 +02:00
CoDEmanX 4158f7d12b Add AQL function DATE_DAYS_IN_MONTH(), extend DATE_FORMAT()
Conflicts:
	js/server/modules/org/arangodb/aql.js
2015-09-14 11:35:04 +02:00
Jan Steemann d9169f964e potential fix for 32 bit version 2015-09-12 21:26:59 +02:00
Jan Steemann ea4754546a clear AQL cache objects when starting a query, fixed a few TODOs in AQL date implementation 2015-09-11 21:23:07 +02:00
CoDEmanX 6fba9c5284 Additional AQL date functions: DATE_DAYOFYEAR, DATE_ISOWEEK, DATE_LEAPYEAR, DATE_QUARTER, DATE_ADD, DATE_SUBTRACT, DATE_DIFF, DATE_COMPARE and DATE_FORMAT.
Unit tests incomplete and untested. Behavior of some functions might need adjustments. ISO duration cache needs to be cleared on every AQL query to avoid a memory leak.

Please rebuild Aardvark and see TODOs in code. Also added Windows shortcuts to ignore list.
2015-09-11 06:23:36 +02:00
Jan Steemann 3e39dd088c better clear the block 2015-09-08 17:47:43 +02:00
Jan Steemann a7b51c39da added tests 2015-09-08 17:34:14 +02:00
Jan Steemann 8b599b5274 changed some include headers around 2015-09-07 17:09:10 +02:00
Willi Goesgens aec58c64c6 Add cast for windows 2015-09-07 13:36:06 +02:00
CoDEmanX 8aa78dcb7f Fix some more typos 2015-09-05 17:18:04 +02:00
Jan Steemann e602ca5662 issue #1471: document() vs documents() parameters (_key and _id) 2015-09-04 18:13:23 +02:00
Jan Steemann c6e44dde1d made two methods private 2015-09-04 10:59:28 +02:00
Willi Goesgens 771c291042 Merge pull request #1472 from CoDEmanX/devel
More Americanization
2015-09-04 09:15:30 +02:00
Jan Steemann 06760a2c45 fixed broken index scan 2015-09-03 22:49:53 +02:00
CoDEmanX 3a9648d78a More Americanization 2015-09-03 22:25:43 +02:00
Michael Hackstein 630c8fd42f Improved Primary Sequential read 2015-09-03 16:25:24 +02:00
CoDEmanX 956b396e43 Change spelling of 'initialize' to American English (actual code and files) 2015-09-01 17:29:22 +02:00
CoDEmanX b4593a7e82 Change spelling of 'initialize' to American English (comments and log messages only) 2015-09-01 17:07:21 +02:00
Michael Hackstein bb03d0001b Fixed memlead in index operator. Destructor was not virtual 2015-09-01 15:38:25 +02:00
Michael Hackstein 027445697d Renamed SkiplistIndex2 to SkiplistIndex ;) 2015-09-01 15:05:49 +02:00
Michael Hackstein c2b0220fd5 Style fix2 2015-09-01 15:05:48 +02:00
Michael Hackstein 26d64776c1 C++ified index-operator. Removed the free function now everything is handled properly via destructors 2015-09-01 15:05:47 +02:00
Michael Hackstein f81b962058 Get the IndexRangeBlock used to C++ified Skiplist 2015-09-01 15:05:47 +02:00
Jan Steemann 47695e9bd0 less headers used 2015-08-29 02:17:25 +02:00
Jan Steemann dfa749ecbc less headers included 2015-08-28 13:54:02 +02:00
Michael Hackstein 81fa8018b0 Improved primary index lookups to use parameter by reference instead of byPointer. less error prone. Fixed some issues with it. 2015-08-28 09:28:24 +02:00
Jan Steemann afb342eefd split big ExecutionBlock file into smaller files 2015-08-27 00:28:20 +02:00
Jan Steemann d0bd94f4c5 fixed Json 2015-08-26 16:23:26 +02:00
Jan Steemann 61243ebb7b Merge branch 'devel' of https://github.com/arangodb/arangodb into array_indexing
Conflicts:
	arangod/HashIndex/hash-array-multi.cpp
	arangod/Indexes/HashIndex.cpp
2015-08-26 15:01:29 +02:00
Frank Celler 2d45445a10 added additional-threads option 2015-08-26 13:13:47 +02:00
Michael Hackstein 40c1361244 Merge branch 'devel' of github.com:arangodb/arangodb into array_indexing 2015-08-25 16:40:31 +02:00
Jan Steemann 7540059f36 uint32_t => uint64_t 2015-08-25 15:08:09 +02:00
Jan Steemann 387e3e9cd4 make removeByExample, replaceByExample and updateByExample use AQL internally 2015-08-22 23:22:24 +02:00
Michael Hackstein b708a7ae68 Merge remote-tracking branch 'origin/devel' into array_indexing 2015-08-21 15:34:49 +02:00
Jan Steemann 8ee12f7a27 binary-safe back-references 2015-08-20 21:01:43 +02:00
Michael Hackstein 4bb8508d82 Implemented a new improved version of the Array index insertion function. 2015-08-20 14:03:17 +02:00
Jan Steemann 97d67e4399 use binary-safe string representations 2015-08-20 01:46:20 +02:00
Jan Steemann 1be3733a64 moved some handlers around
fix disappeared handlers
2015-08-20 01:26:52 +02:00
Max Neunhoeffer ff135a10ad Add some overrides to silence a clang compiler warning. 2015-08-19 14:46:06 +02:00
Michael Hackstein 59e8ea3fad Merge branch 'devel' of github.com:arangodb/arangodb into array_indexing 2015-08-19 11:56:34 +02:00
Jan Steemann bc7e0f7bbd issue #1445: Object literal simplificatin does not support pseudo-variables NEW and OLD 2015-08-19 09:25:46 +02:00
Michael Hackstein e867181a72 Merge remote-tracking branch 'origin/eimerung_hashindex' into array_indexing 2015-08-17 15:58:53 +02:00
Max Neunhoeffer dac7fb06e0 Finish change to hash index. Compiles, unit-tests still broken in one place. 2015-08-17 12:57:52 +02:00
Michael Hackstein ae989cf2ca Skiplist index now uses the unified index_element. 2015-08-17 12:43:14 +02:00
Michael Hackstein 8e3e2d547d Do not push <Class const> into vector. It does not work everywhere 2015-08-17 12:43:11 +02:00
Jan Steemann 907e6368c6 some unused function cleanup 2015-08-17 12:43:09 +02:00
Michael Hackstein c2338d80d0 A user can now create an indux on attribute[*] which will put an index on attribute and ignores the expand flag. Does not harm any feature in AQL now. 2015-08-17 12:43:08 +02:00
Michael Hackstein 17a8f73a06 Now the input for indexes is parsed using the new attribute parser. This means the flags for expanded Attributes are set. Also introduced a transformation function to transform an attributeName list back into a string. 2015-08-17 12:43:07 +02:00
Michael Hackstein 8fbb2739b0 The indexes can now use the new AttributeName struct which contains a flag if the attribute should be Array-Indexed. Right now this flag is hard-coded to false in all cases and not persisted. 2015-08-17 12:43:05 +02:00
Jan Steemann 57e9b55739 use TRI_CHAR_NODE_PAIR() 2015-08-14 00:54:59 +02:00
Jan Steemann dc1910e331 added AQL optimizer rule `patch-update-statements` 2015-08-13 13:02:47 +02:00
Jan Steemann 7b5ac63591 cppcheck 2015-08-12 21:37:28 +02:00
Frank Celler 9de6bd39db moved to strings, fixed #1432: arangosh doesn't ignore prefixed ....> on paste 2015-08-12 17:54:14 +02:00
Jan Steemann 330fac6225 some unused function cleanup 2015-08-06 21:25:32 +02:00
Jan Steemann 922c16dce1 fixed invocation of `LIKE` 2015-08-04 12:23:40 +02:00
Jan Steemann 857f0b8b35 next attempt to make it compile on MacOS 2015-08-04 11:38:38 +02:00
Jan Steemann 5dab23a3b7 CXX implementation of AQL `LIKE` 2015-08-04 10:30:18 +02:00
Jan Steemann 0f1ce26e41 added function to create an ICU RegexMatcher 2015-08-03 23:57:26 +02:00
Jan Steemann 24b44e474f a bit less copying 2015-07-30 12:20:22 +02:00
Jan Steemann 14fe919b5b constify 2015-07-30 00:07:50 +02:00
Jan Steemann 2d8777bc6c make the optimizer create less plans 2015-07-30 00:07:32 +02:00
Jan Steemann 4912ce3200 fix cluster startup 2015-07-29 12:55:06 +02:00
Jan Steemann 454a6c998c Merge branch 'devel' of https://github.com/arangodb/arangodb into shaper-cxx 2015-07-28 17:38:48 +02:00
Jan Steemann 6d7ccd7699 move shaper to cxx 2015-07-28 17:38:31 +02:00
Michael Hackstein 412394ff3c Merge branch 'devel' of github.com:arangodb/arangodb into devel 2015-07-28 13:22:01 +02:00
Michael Hackstein 25f7b25206 Fixed failing failure-tests 2015-07-28 13:21:54 +02:00
Jan Steemann bef83a7fbb Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2015-07-28 11:45:11 +02:00
Jan Steemann cdfdec9244 save some overhead when walking plans 2015-07-28 11:44:34 +02:00
Jan Steemann 3d3024a54e cppcheck 2015-07-28 09:51:24 +02:00
Jan Steemann 9791e467d4 fixed results for query profiling 2015-07-27 18:33:58 +02:00
Jan Steemann 8685a6a250 documentation for `RETURN DISTINCT` 2015-07-27 11:27:59 +02:00
Jan Steemann dbb740a705 activate distinct test 2015-07-24 13:41:01 +02:00
Jan Steemann 239cc1504e cleanup 2015-07-24 13:33:09 +02:00
Jan Steemann 38b2d6caea Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2015-07-24 13:21:49 +02:00
Jan Steemann ead280afe5 added DISTINCT 2015-07-24 13:19:55 +02:00
Frank Celler f96ab73745 Merge branch 'dispatcher' of github.com:arangodb/arangodb into devel 2015-07-24 11:32:22 +02:00
Michael Hackstein 9cc0554346 Merge branch 'fasterNeighbors' into devel 2015-07-24 10:25:00 +02:00
Frank Celler 647ce78293 removed unused variable 2015-07-23 22:44:52 +02:00
Michael Hackstein 1ed4143f09 Fixed a wrong error code in NEIGHBORS 2015-07-23 16:23:35 +02:00
Michael Hackstein 67463232bf Fixed Error messages in CPP Only Neighbors function 2015-07-23 16:22:12 +02:00
Michael Hackstein 89ca3f68b9 Fixed edgeExamples in CPPOnly Neighbors function 2015-07-23 16:08:32 +02:00
Frank Celler 4dccc6a8dc Merge branch 'devel' of github.com:arangodb/arangodb into dispatcher 2015-07-23 15:41:05 +02:00
Frank Celler 35a3c6421c moved dispatcher to atomic 2015-07-23 15:40:34 +02:00
Michael Hackstein 84174aa99a Added edgeExamples functionality to CPPonly Neighbors. 2015-07-23 15:25:50 +02:00
Jan Steemann e5dbf725b2 added shorthand notation for attribute names in AQL object literals 2015-07-23 14:24:37 +02:00
Michael Hackstein 1ae50e026c Merge branch 'devel' of github.com:arangodb/arangodb into fasterNeighbors 2015-07-23 11:23:49 +02:00
Michael Hackstein a2dab04ff2 Implemented direction in CPPOnly neighbors and added some error outputs 2015-07-23 11:23:35 +02:00
Jan Steemann c6d5f7d775 use move 2015-07-23 10:30:49 +02:00
Michael Hackstein 379e189b5b Quick fix for string out of scope. 2015-07-22 18:24:52 +02:00
Michael Hackstein cdf98f564f The CPP only Neighbors now allows for _key in addition to _id 2015-07-22 17:46:38 +02:00
Michael Hackstein 22ad95b987 Implemented a Neighbors CPP only function. This is not piped through V8 function calls any more. Right now it is NOT fully featured and only Experimental. 2015-07-22 17:21:59 +02:00
Jan Steemann aad327714c handle AstNodes of type collection 2015-07-22 11:59:45 +02:00
Jan Steemann 5a9f9ecbab added execution conditions for CXX AQL functions 2015-07-22 11:35:57 +02:00
Frank Celler 9b95e08765 cleanup of member names 2015-07-20 17:40:13 +02:00
Jan Steemann 124fe7a34c use new/delete for TRI_vocbase_t 2015-07-20 12:08:13 +02:00
Jan Steemann 118fd54fd0 split tests 2015-07-20 10:58:43 +02:00
Jan Steemann 4bc188422a cppcheck 2015-07-15 22:13:42 +02:00
Jan Steemann 2a7ed52768 fixed invalid access to outdated iterator 2015-07-15 11:06:47 +02:00
Jan Steemann ad30baa08c retry qcache with cluster 2015-07-14 14:53:16 +02:00
Jan Steemann 3f6bdab81f try to fix cluster crash 2015-07-14 11:39:49 +02:00
Jan Steemann 6c9922ff6e disable qcache in cluster 2015-07-14 11:11:19 +02:00
Jan Steemann c71dc4d9bb Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-query-cache 2015-07-13 10:49:14 +02:00
Willi Goesgens bd7aa7c305 Remove the global include to iostream; this reduces the compile time by 10%
( http://herbsutter.com/2013/08/19/gotw-7a-solution-minimizing-compile-time-dependencies-part-1/  for inspiration)
2015-07-07 12:11:21 +02:00
Jan Steemann e25ecb5be8 added function cacheability info 2015-06-27 09:06:35 +02:00
Jan Steemann 1f5e047486 query cache, now with result limitations, HTTP and JavaScript APIs 2015-06-27 01:12:32 +02:00
Jan Steemann 7410cefdbd Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-query-cache 2015-06-25 23:42:54 +02:00
Jan Steemann 6ed990b59c fixed warning 2015-06-25 23:41:39 +02:00
Jan Steemann 8372c33993 fixed invalidation with index creation etc., adjusted tests 2015-06-25 23:40:31 +02:00
Jan Steemann 66eec2ac7e fix invalidation 2015-06-25 16:46:04 +02:00
Jan Steemann e86ed5c685 Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-query-cache 2015-06-25 10:02:05 +02:00
Jan Steemann 29c1904e21 issue #1383: bindVars for HTTP API doesn't work with empty string 2015-06-25 09:23:40 +02:00
Jan Steemann 91621685fb cache invalidation 2015-06-24 23:02:19 +02:00
Jan Steemann 1b2f5d8cb2 Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-query-cache 2015-06-23 22:52:26 +02:00
Jan Steemann 5916677a0b fixed leak 2015-06-23 22:45:57 +02:00
Jan Steemann 259b74b60e Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-star-operator-cxx 2015-06-23 22:34:29 +02:00
Jan Steemann a42c3b1004 do not return false result 2015-06-23 19:54:27 +02:00
Jan Steemann a7a7fd51b0 use query cache for cursor API as well 2015-06-23 19:42:00 +02:00
Jan Steemann e3a15227ce query cache for AQL queries. no invalidation yet, so results will be wrong when underlying collections are changed 2015-06-23 18:42:58 +02:00
Jan Steemann 5480e6f4bd removed AQL `SKIPLIST` function deprecated in 2.6 2015-06-21 16:21:49 +02:00
Jan Steemann 7313b19431 implemented FILTER, LIMIT and multi-star features 2015-06-20 14:21:58 +02:00
Jan Steemann 64089eea75 partial implementation 2015-06-20 11:21:57 +02:00
Jan Steemann ce31550a9f fix variable naming in COLLECT INTO results in case the COLLECT is placed in a subquery which itself is followed by other constructs that require variables 2015-06-19 13:00:49 +02:00
Jan Steemann 67082b15fd moved AQL TO_* functions to CXX 2015-06-18 21:30:13 +02:00
Jan Steemann 1fe842dab1 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2015-06-18 19:30:50 +02:00
Jan Steemann aff1f6a6a0 fixed leaks 2015-06-18 19:30:29 +02:00
Max Neunhoeffer 57716566c2 Merge branch 'devel' of ssh://github.com/ArangoDB/ArangoDB into devel 2015-06-18 17:30:08 +02:00
Max Neunhoeffer 2844f02a74 Mark blocking threads as such in two places to allow additional threads.
This fixes some cluster hang bugs in larger clusters.
2015-06-18 17:28:51 +02:00
Jan Steemann 86f1a02e18 Merge branch 'aql-argv-optimization' of https://github.com/arangodb/arangodb into devel 2015-06-18 17:12:47 +02:00
Jan Steemann 5e7dd0da7f Merge branch 'aql-argv-optimization' of https://github.com/arangodb/arangodb into devel 2015-06-18 17:12:14 +02:00
Jan Steemann 83b326cfc7 moved PUT /_api/simple/all to C++ 2015-06-18 15:34:45 +02:00
Jan Steemann 300d85ccf7 added generated files 2015-06-17 15:40:04 +02:00
Jan Steemann fb53587d9e added generated files 2015-06-17 15:39:08 +02:00
Jan Steemann a76695345d constify 2015-06-17 12:41:24 +02:00
Jan Steemann dec79dd051 pass function arguments by reference 2015-06-16 18:01:45 +02:00
Jan Steemann 7cd27d5c56 Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-parser-simplification 2015-06-16 15:14:18 +02:00
Jan Steemann d6f3436cc9 added tests 2015-06-16 15:13:53 +02:00
Jan Steemann 529055c4ca use typedefs 2015-06-16 09:50:17 +02:00
Jan Steemann 3e99e76b4f fixed range access 2015-06-13 02:27:17 +02:00
Jan Steemann c5d099a1c5 fixed array range accesses 2015-06-12 23:45:08 +02:00
Jan Steemann 1174cfd05c added tests 2015-06-12 18:29:54 +02:00
Jan Steemann 78fd4a767e Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-parser-simplification 2015-06-12 17:30:21 +02:00
Jan Steemann cc2c99be23 added code comment 2015-06-12 17:29:55 +02:00
Jan Steemann ba49ab41c8 Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-parser-simplification 2015-06-12 17:25:02 +02:00
Jan Steemann 05edd3bfc0 removed empty lines 2015-06-12 15:45:49 +02:00
Max Neunhoeffer 2700abf2c8 Increase a timeout slightly. 2015-06-12 15:42:04 +02:00
Jan Steemann 3d5ec4d906 speedup for V8-based AQL functions with huge literal array/object parameters 2015-06-12 15:40:08 +02:00
Jan Steemann e7ff3f2a19 Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-parser-simplification 2015-06-12 12:04:41 +02:00
Jan Steemann 1a18fb0282 factor out huge array/object literals when calling V8-based AQL functions 2015-06-12 11:50:22 +02:00
Jan Steemann 4421a8499f allow (expr)[expr], (query)[expr], {literal}.attr and [literal][expr] 2015-06-11 20:34:03 +02:00
Jan Steemann 3985498fc3 added [x..y] array access, added [**] operator 2015-06-11 00:09:41 +02:00
Jan Steemann d99d164c0a simplified parser 2015-06-10 20:25:25 +02:00
Jan Steemann 66c59a3be2 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2015-06-09 17:23:43 +02:00
Michael Hackstein 0c524ae537 Merge branch 'devel' of github.com:/arangodb/arangodb into devel 2015-06-09 11:57:35 +02:00
Jan Steemann e9c7112d74 small header fixes 2015-06-08 19:03:00 +02:00
Jan Steemann 6f56e9ef43 indentation 2015-06-08 16:23:49 +02:00
Jan Steemann a6b2998b5d added try...catch blocks for V8-to-CPP bindings 2015-06-08 16:04:42 +02:00
Michael Hackstein dc7a910521 Added an accitional 'includeVertices' option to EDGES AQL function. This can now return the forat that has been returned by Neighbors before. 2015-06-08 15:22:27 +02:00
Jan Steemann d2fef98c02 renamed internal function 2015-06-03 18:24:24 +02:00
Jan Steemann b76cb5caee use nullptr 2015-06-02 23:39:41 +02:00
Jan Steemann 3bb5eb1a9d small optimizations 2015-06-02 23:20:00 +02:00
Jan Steemann 4c7994597a cppcheck 2015-06-02 22:49:22 +02:00
Jan Steemann fda6aec8d5 push_back => emplace_back 2015-06-02 22:48:55 +02:00
Jan Steemann 8b8918f72c added (still disabled) rule fuse-calculations 2015-06-02 21:32:38 +02:00
Jan Steemann a2d99b55ec cxxified more functions 2015-06-02 15:15:45 +02:00
Jan Steemann 99207731df micro optimizations 2015-06-02 14:12:48 +02:00