1
0
Fork 0
Commit Graph

340 Commits

Author SHA1 Message Date
Michael Hackstein 9fd375d684 Removed debug output 2015-10-21 15:45:11 +02:00
Michael Hackstein 383912a221 Added failure tests for SimpleAttributeEqualityMatcher 2015-10-21 15:16:55 +02:00
Michael Hackstein e828984837 Merge branch 'devel' of github.com:arangodb/arangodb into devel 2015-10-21 15:05:53 +02:00
Michael Hackstein afa7f8a2e3 Added failure tests for HashIndex. Now start with AttributeEqualityMatcher. 2015-10-21 15:00:58 +02:00
Jan Steemann 0d2197e77f changed documentation for index creation methods 2015-10-21 14:59:45 +02:00
Michael Hackstein 9a58955208 Added failure tests for SkiplistIndex 2015-10-21 13:57:00 +02:00
Michael Hackstein 7fb4679fb2 Added some failure tests for the IndexNode, ConditionFinder. Todo Index tests 2015-10-21 12:54:25 +02:00
Jan Steemann 8264c4db87 Merge branch 'aql-jmmh-conditions' of https://github.com/arangodb/arangodb into aql-jmmh-conditions 2015-10-20 18:11:12 +02:00
Jan Steemann aa3039cece fixes for cluster tests 2015-10-20 18:10:53 +02:00
Michael Hackstein 596d215a32 Fixed Sparse Skiplist indexes. They were used for e.g.: null IN x.a. Added the queries-array to test makefile 2015-10-20 17:18:17 +02:00
Michael Hackstein f181f62b9d Fixed usage of IN operator 2015-10-20 15:54:38 +02:00
Jan Steemann 60283f13b9 fixed memleaks 2015-10-20 12:05:52 +02:00
Jan Steemann b28393e458 cleanup 2015-10-20 11:44:01 +02:00
Jan Steemann e16c981d57 permute skiplist index conditions in other order 2015-10-19 18:55:08 +02:00
Jan Steemann 164f9c9a1c fixed some tests 2015-10-19 17:48:10 +02:00
Michael Hackstein 4ceb10dc19 Index can now be used for sorting if only parts of the attributes are covered. The more attribitues are covered the more likely this index will be used 2015-10-19 16:59:13 +02:00
Jan Steemann 81cd1e9f62 fixed Windows compile issues 2015-10-19 12:43:11 +02:00
Jan Steemann e5761736d4 fixed usage of sparse indexes 2015-10-19 10:56:30 +02:00
Michael Hackstein 20fa1f6623 Started fixing of reverse IndexNode iteration. Does not yet work for IN 2015-10-17 20:08:37 +02:00
Michael Hackstein 136e375b22 Fixed remove filter covered by index test. And fixed a bug in SkiplistIndexIterator where Nullptr could happen but was not expected 2015-10-15 15:27:35 +02:00
Jan Steemann 79357b9bbb Merge branch 'aql-jmmh-conditions' of https://github.com/arangodb/arangodb into aql-jmmh-conditions 2015-10-14 16:56:22 +02:00
Jan Steemann 98882efa61 optimizer fixes 2015-10-14 16:56:03 +02:00
Michael Hackstein 7378d386ac Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-10-14 13:11:04 +02:00
Michael Hackstein cc0234eb95 Fixed the EdgeIndex iterator. It was broken for IN with more than one value 2015-10-14 13:10:59 +02:00
Jan Steemann 0ffb11c25e do not use sparse indexes for sorting 2015-10-14 12:03:52 +02:00
Jan Steemann 779c242846 modified usage of filters with potentially undefined variables 2015-10-14 11:02:42 +02:00
Michael Hackstein 3846c037da Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-10-13 16:27:01 +02:00
Michael Hackstein 48a445d963 Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-10-13 16:26:55 +02:00
Jan Steemann fcdd95d7cd fixes 2015-10-13 16:26:43 +02:00
Michael Hackstein 021d4eb2cf Earlier change had a sideeffect. Reverted. 2015-10-13 16:26:38 +02:00
Michael Hackstein 4c6b0f283a AttributeNames from the attribute parser are now non-nested attributes. They offer a function to join nested elements 2015-10-13 16:26:11 +02:00
Jan Steemann 197be68f7d removed IndexRange* 2015-10-13 15:12:32 +02:00
Jan Steemann deb0a132ae rewrite of optimizer rule `use-index-for-sort` 2015-10-13 15:00:09 +02:00
Jan Steemann f2efdc3dc3 fixed fix 2 2015-10-13 11:27:56 +02:00
Jan Steemann 4ad490eb47 fixed fix 2015-10-13 10:02:24 +02:00
Jan Steemann 39e458142f fixed assertions 2015-10-13 09:59:11 +02:00
jsteemann 46ba49e1bd cppcheck 2015-10-12 22:54:27 +02:00
jsteemann 29b3741156 reworked cost calculations 2015-10-12 22:23:03 +02:00
Jan Steemann 6b2837190e different cost calculation, done except for skiplists 2015-10-12 18:49:47 +02:00
Michael Hackstein 9bcbdc3565 Fixed failures in the SkiplistIndex and removed use-index-range rule 2015-10-12 17:46:04 +02:00
Jan Steemann 2970f9d221 fixed primary and edge index 2015-10-12 15:53:43 +02:00
Michael Hackstein 7272af29aa Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-10-12 14:38:42 +02:00
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 47e5138db1 fixed specializeCondition for skiplists 2015-10-12 13:39:18 +02:00
Jan Steemann f0edd198bc added specializeOne() and specializeAll() 2015-10-12 13:02:52 +02:00
Michael Hackstein d548bb520b Fixed a true/false missmatch 2015-10-12 10:52:54 +02:00
Jan Steemann b5c9602407 specialization of conditions 2015-10-09 18:10:33 +02:00
Michael Hackstein 4d2383d0b6 Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-10-08 17:53:24 +02:00
Michael Hackstein 2316e94731 Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions 2015-10-08 17:53:19 +02:00
Jan Steemann 404f725461 minor fixes 2015-10-08 17:43:37 +02:00
Michael Hackstein 9a151f9b47 SkiplistIndex can now use Arrays 2015-10-08 17:29:34 +02:00
Michael Hackstein 8d1a4889da SkiplistIndex does not state that it could serve for Array Indexes 2015-10-08 16:54:29 +02:00
Jan Steemann a4e7119226 simplify permutations constructor 2015-10-08 16:38:51 +02:00
Jan Steemann e17edd336c Merge branch 'aql-jmmh-conditions' of https://github.com/arangodb/arangodb into aql-jmmh-conditions 2015-10-08 16:23:04 +02:00
Michael Hackstein e40a148b22 Internal cleanup of SkiplistIndex 2015-10-08 16:12:32 +02:00
Michael Hackstein 7301ef6ab5 Fixed compile error 2015-10-08 15:33:50 +02:00
Michael Hackstein 9488f20dec Fixed memleaks 2015-10-08 15:31:41 +02:00
Jan Steemann c6c6ba8f6f Merge branch 'aql-jmmh-conditions' of https://github.com/arangodb/arangodb into aql-jmmh-conditions 2015-10-08 15:10:38 +02:00
Jan Steemann 0d80a17002 generalize condition handling 2015-10-08 15:10:28 +02:00
Michael Hackstein 24b41e9860 Removed debug output 2015-10-08 15:03:47 +02:00
Michael Hackstein 345725bdf9 Fixed skiplistindex with equality and range conditions 2015-10-08 14:58:52 +02:00
Michael Hackstein 9639a9e669 Skiplist index now can handle upper and lower bounds and combined with equal and any. hunt leaks now 2015-10-08 13:35:45 +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
Michael Hackstein ef6f2a5be5 Continued fixing leaks in SkiplistIndex 2015-10-08 12:49:51 +02:00
Michael Hackstein b048f4015f Fixed potential memleaks 2015-10-08 09:47:54 +02:00
Jan Steemann 853fc41077 changed index selection formula for eq-based indexes 2015-10-07 18:58:45 +02:00
Michael Hackstein 7d4f1f3005 Unified the Permutation State for Skiplist and HashIndex 2015-10-07 17:48:46 +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
Michael Hackstein d381cf2841 Included IN operator in Skiplist. Right now only attribute IN values 2015-10-07 17:27:35 +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
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
Michael Hackstein cb57171ada Fixed an unitialized value and a wrong condition. SkiplistIndex works now for everything except IN. 2015-10-07 16:12:58 +02:00
Jan Steemann 85eacaa458 fixed memleaks 2015-10-07 16:12:20 +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 06fedc469d indentation 2015-10-06 17:35: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 57cb864cc5 support edge queries with IN 2015-10-06 16:04:59 +02:00
Jan Steemann 14dc0be744 primary index now supporting IN 2015-10-06 14:46:33 +02:00
Jan Steemann 8ee068ba40 refactoring 2015-10-06 13:31:56 +02:00
Jan Steemann a12eda295b aha! 2015-10-06 13:03:46 +02:00
Jan Steemann 692bcd39ce added TODOs 2015-10-06 12:24:54 +02:00
Jan Steemann 0d817c6cdc added TODOs 2015-10-06 12:21:05 +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
Jan Steemann 118f924598 support [*] operator 2015-10-05 19:15:22 +02:00
Michael Hackstein 1345659917 Implemented the HashIndexIterator interface for AQL. Now the new IndexNode can use Primary, Edge and Hash indicies ;) 2015-10-05 17:11:32 +02:00
Jan Steemann e46ba60715 changed signatures of attribute-access-detecting functions 2015-10-05 16:01:19 +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
Michael Hackstein c8a48079f0 Primary Index AQL iterator now handles _key and _id as it is supposed to do 2015-10-05 10:19:26 +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 6403104863 Started with PrimaryIndex for _id in IndexNode 2015-10-02 17:01:56 +02:00
Michael Hackstein d6bdf78269 Fixed double free of AstNode 2015-10-01 17:01:50 +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
Jan Steemann 0ce2356cce added getAll() 2015-10-01 15:57:26 +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 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
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 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 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 84f59d112e unified index use checks 2015-09-28 18:13:04 +02:00
Jan Steemann 3495816fa1 changed index signatures 2015-09-28 14:11:23 +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 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 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
Michael Hackstein a891d8653b The hashindex is also able to tell if it can be used for a Condition Block 2015-09-22 17:23:56 +02:00
Michael Hackstein 9882af23e3 The Edge Index is now able to state if it can be used by Condition or not. 2015-09-22 15:52:06 +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
Jan Steemann 0735277830 removed IndexWatermarks again... not needed 2015-09-09 14:22:58 +02:00
Michael Hackstein fdde6a69c6 Added failure tests for new implementation of HashIndex. And fixed a memleak there. 2015-09-08 15:35:21 +02:00
Michael Hackstein 1afd19e550 Fixed the resizing of AssocUnique. It was different from AssocMulti which cased the nonUnique index to be faster than the unique one 2015-09-08 11:48:57 +02:00
Jan Steemann 8b599b5274 changed some include headers around 2015-09-07 17:09:10 +02:00
Jan Steemann b6a1684605 primary index speedup 2015-09-07 16:22:39 +02:00
Jan Steemann 39939fc1c9 primary index initial insertion speedup 2015-09-07 13:05:02 +02:00
Jan Steemann 0404cb098f temporarily disable watermarks 2015-09-07 11:08:22 +02:00
Jan Steemann b9c8972477 index watermarks preparations 2015-09-04 18:14:39 +02:00
Jan Steemann 6f2ad068ee whitespace 2015-09-04 14:57:16 +02:00
Jan Steemann 47360f4511 added tests 2015-09-04 14:21:31 +02:00
Jan Steemann 439279bf7e properly initialize member 2015-09-04 10:59:40 +02:00
Jan Steemann 4e0a3e6505 fix memory usage confusion 2015-09-03 20:12:50 +02:00
Michael Hackstein 630c8fd42f Improved Primary Sequential read 2015-09-03 16:25:24 +02:00
Michael Hackstein f5169e1ebc Merge branch 'devel' of github.com:arangodb/arangodb into devel 2015-09-03 13:54:08 +02:00
Michael Hackstein 74c9221d9d Removed numFields and replaced it by numPaths which is knonw by the inde superclass 2015-09-03 13:54:05 +02:00
Michael Hackstein 46e8a1e0fb Removed debug output 2015-09-03 10:16:15 +02:00
Michael Hackstein 5861fecdb7 The HashIndex is now able to be built up in a parallelized way 2015-09-03 10:16:15 +02:00
Michael Hackstein 26fdd92685 Updated the Primary index to new version of AssocUnique. 2015-09-03 10:16:15 +02:00
Michael Hackstein 481cb1b7dd Removed const in AssocMulti batch insert. It was non-const casted internally... 2015-09-03 10:16:15 +02:00
Jan Steemann c89cf82c6b constified 2015-09-02 17:37:28 +02:00
Jan Steemann 8ef9d1ea78 whitespace 2015-09-02 17:26:31 +02:00
Jan Steemann 28ba8dc10e simplified 2015-09-02 17:24:52 +02:00
Jan Steemann 62b4a165b3 removed unused cases 2015-09-02 17:16:40 +02:00
Jan Steemann 282e13afb4 preparation for index watermarks 2015-09-02 16:24:14 +02:00
CoDEmanX 956b396e43 Change spelling of 'initialize' to American English (actual code and files) 2015-09-01 17:29:22 +02:00
Michael Hackstein 027445697d Renamed SkiplistIndex2 to SkiplistIndex ;) 2015-09-01 15:05:49 +02:00
Michael Hackstein 165d2f1630 Fixed a memory leak thx @jsteemann 2015-09-01 15:05:49 +02:00
Michael Hackstein 786126f307 Removed obsolete file 2015-09-01 15:05:49 +02:00
Michael Hackstein 40a56efa24 Using bounds checking when accessing the intervals of skiplist index 2015-09-01 15:05:48 +02:00
Michael Hackstein 2e3321a112 Explicitly initialized SkiplistIteratorInterval 2015-09-01 15:05:48 +02:00
Michael Hackstein 02b3a0614e Properly initialized objects of SkiplistInterval 2015-09-01 15:05:48 +02:00
Michael Hackstein b73718400e Fixed invalid read 2015-09-01 15:05:48 +02:00