1
0
Fork 0
Commit Graph

569 Commits

Author SHA1 Message Date
Jan Steemann b7abf5a40d attempt to fix Windows build 2016-02-01 12:04:28 +01:00
Michael Hackstein e0455850fc Replaced doc_mptr_copy with doc_mptr which is the correct type in this case. 2016-02-01 11:40:18 +01:00
jsteemann 54c796b6e8 fixed issues identified by `-fsanitize=undefined` 2016-01-31 23:30:41 +01:00
jsteemann b635983d9c removed unused functions and headers 2016-01-31 19:08:39 +01:00
jsteemann 13481bbebc fix or annotate problems identified by clang-check 2016-01-31 03:32:31 +01:00
jsteemann 353c9732b7 removed last LOG_xxx macros 2016-01-30 04:03:18 +01:00
jsteemann 9482ee1cca use Logger 2016-01-30 00:08:35 +01:00
jsteemann ff21453255 logger transition: all files in arangod exception transactions.cpp 2016-01-29 23:28:44 +01:00
Jan Steemann cd4cbae6ce ported fixes to devel 2016-01-29 19:05:27 +01:00
jsteemann 7f662bac09 simplify code 2016-01-29 00:11:24 +01:00
Jan Steemann 9046e1831b clang-format 2016-01-27 13:43:46 +01:00
Michael Hackstein a3f0d2e279 Merge branch 'vpack' of github.com:arangodb/arangodb into devel 2016-01-25 13:09:05 +01:00
Michael Hackstein 5b2062b4e4 Removed legacy toJson function from Index.h. All callers now use VelocyPack directly 2016-01-25 11:42:31 +01:00
Jan Steemann 5e87baa131 renamed methods (thanks M$ for redefining free in debugging) 2016-01-25 11:03:44 +01:00
Michael Hackstein 0fba63e43f arangod/Indexes are now JSON / TRI_json_t free 2016-01-24 14:34:42 +01:00
Michael Hackstein a6f58ce14d Use forward declarations for VelocyPack instead of all includes everywhere 2016-01-24 14:29:31 +01:00
Michael Hackstein d37cea7644 Replaced TRI_json_t in HashIndex by VelocyPack 2016-01-24 11:17:51 +01:00
Michael Hackstein 191c2dc3a9 Merge branch 'devel' of github.com:arangodb/arangodb into vpack 2016-01-21 16:29:38 +01:00
Michael Hackstein b04f1bf9e2 Replaced IndexOperators using TRI_json_t by Operators using VPack. 2016-01-21 14:07:36 +01:00
Michael Hackstein 381eb1e876 Replaced creation of IndexOperators to use VelocyPack in SkiplistIndex 2016-01-21 11:22:25 +01:00
jsteemann 842384016d namespace cleanup 2016-01-21 00:20:22 +01:00
Michael Hackstein 1178d42004 Removed TRI_json_t from Index Constructors and replaced it by VelocyPack. SingleServerTests pass. Some clister tests fail 2016-01-20 16:19:24 +01:00
Jan Steemann 806bdaa7b2 better error handling 2016-01-20 14:04:10 +01:00
Michael Hackstein 3c6ac9f38f Removed all TRI_json_t inputs to AgencyComm and replaced them by VPack. This commit stil has an error s.t. indexes cannot be dropped in Cluster. WIP. 2016-01-20 12:53:55 +01:00
Michael Hackstein 51a683facb Added a toVelocyPack function to all indexes. Removed specialized toJson from all indexes. Generalized toJson invokes specialized toVelocyPack for compatibility reasons. 2016-01-19 15:40:37 +01:00
Jan Steemann cec57dcf32 adjusted signature 2016-01-18 17:37:41 +01:00
Jan Steemann f059b0e5f7 fixed index lookup issues 2016-01-18 17:35:54 +01:00
jsteemann 431900f17a changed namespace from triagens to arangodb 2016-01-17 00:44:53 +01:00
Jan Steemann 687d6133f0 comments reformatting 2016-01-11 09:52:39 +01:00
jsteemann 9f0576c65f don't rely so much on namespace std being present 2016-01-08 01:05:06 +01:00
Jan Steemann 3ad20c0cae auto-generated headers 2016-01-06 18:41:51 +01:00
Jan Steemann a3b026d9d1 removed useless sections from code, unified include guards 2016-01-06 14:15:22 +01:00
Jan Steemann f422576ee0 clang-format 2016-01-05 17:43:24 +01:00
jsteemann a6cb463e06 Merge branch 'devel' of https://github.com/arangodb/arangodb into vpack 2016-01-05 00:25:10 +01:00
Jan Steemann f1ed7cdf46 fixed memleaks that occurred during failure testing only 2015-12-23 20:59:04 +01:00
Max Neunhoeffer 394057fbda Merge branch 'devel' into vpack 2015-12-23 15:09:20 +01:00
Jan Steemann 8781c2d05d added tests 2015-12-23 14:38:48 +01:00
Jan Steemann 887e93babc index handling fixes 2015-12-23 14:01:14 +01:00
Max Neunhoeffer 225c8cd843 Work on TODOs. 2015-12-22 16:50:09 +01:00
Max Neunhoeffer e8e6dc8597 More VPackObjectBuilder usages. 2015-12-21 15:22:19 +01:00
jsteemann a058699312 use std::make_shared 2015-12-18 23:34:18 +01:00
Jan Steemann 36eac6ffd0 fixed index selection in some queries 2015-12-18 20:16:09 +01:00
Jan Steemann 2b3f3f997b Merge branch 'devel' of https://github.com/arangodb/arangodb into vpack 2015-12-17 10:59:30 +01:00
Michael Hackstein 37b4d2739b Adapted indexes to class version of TRI_col_info_t 2015-12-16 11:42:26 +01:00
Jan Steemann a694b7ef48 make_unique 2015-12-16 11:36:35 +01:00
Jan Steemann 8e7ac689a2 issue #1606: fail gracefully on invalid index definitions 2015-12-14 16:58:05 +01:00
Michael Hackstein 757577de42 Updated VPack addObject to openObject 2015-12-09 11:28:54 +01:00
Michael Hackstein 1e7108d9ca Optimized toVelocyPack functions in Index. Added special implementations for edge and primary indexes. All others TODO 2015-12-07 15:44:28 +01:00
Michael Hackstein 1969149ef3 Added a general toVelocyPack function for indexes 2015-12-07 14:54:38 +01:00
Jan Steemann 5c033f566b Merge branch 'devel' of https://github.com/arangodb/arangodb into vpack 2015-12-04 13:47:08 +01:00
Michael Hackstein 3ea14e66a3 Merge branch 'devel' of github.com:arangodb/arangodb into JHMH 2015-12-03 10:19:17 +01:00
Jan Steemann eb8899d9ae applied changes suggested by cppcheck 2015-12-02 10:17:14 +01:00
Michael Hackstein 7c4e59bf22 Revert "removed unused method" it is actually used in the new Graph
Traverser

This reverts commit 5d2951a15b.
2015-11-26 16:38:44 +01:00
Jan Steemann e29bc893b7 finalized index API changes 2015-11-25 16:44:01 +01:00
Jan Steemann db85c926be added transaction to AssocUnique APIs 2015-11-25 15:57:48 +01:00
Jan Steemann db078f1554 changed some APIs of AssocMulti 2015-11-25 15:40:01 +01:00
Jan Steemann 981c578812 changed other index APIs 2015-11-25 15:05:02 +01:00
Jan Steemann 5d2951a15b removed unused method 2015-11-25 14:59:43 +01:00
Jan Steemann 0ee556d07d added transaction to hash index APIs 2015-11-25 14:55:43 +01:00
Jan Steemann 19b2d28167 pass transaction to index APIs 2015-11-25 14:42:29 +01:00
Jan Steemann 75e4e6e815 added transaction to all signatures 2015-11-24 17:34:23 +01:00
Jan Steemann 5518244942 less iostream-ing 2015-11-24 13:55:06 +01:00
Jan Steemann 82eddeb120 allow using array indexes without specifying the `[*]` extension 2015-11-17 14:03:58 +01:00
Michael Hackstein d7bbd1e9e2 Removed temporary allowPartialIndex from IndexInformation. This is an internal variable and should never bother the user 2015-10-30 09:25:21 +01:00
Michael Hackstein a94eb7fd49 In an array index with subattributes the document will be indexed with null if it has the array, but the subattribute is not existing. And it will not be indexed if it does not have the array 2015-10-27 14:19:06 +01:00
Michael Hackstein d7f3ca496d The Array Index now allows to query for null IN in sparse version 2015-10-27 13:00:49 +01:00
Michael Hackstein 52e372ab27 Added some more Array Indexing tests. And improved the pathbased index. Now it is checked when trying to array-index a non-array value. And if non existing attributes are added to the index or not. 2015-10-27 11:14:02 +01:00
Michael Hackstein 817c9827e1 Added tests for Array-Indexing non Array elements. It should allow partial indexing in the skiplist and forbid indexing in the hash index now. 2015-10-26 17:22:01 +01:00
Michael Hackstein c35ccc02d5 Fixed unique-constrain-violated behaviour in SkiplistIndex 2015-10-26 09:28:14 +01:00
Jan Steemann 56ea700546 fixed parse error 2015-10-23 13:27:36 +02:00
Michael Hackstein d478f8dcc9 Merge branch 'devel' of github.com:arangodb/arangodb into devel 2015-10-23 12:50:02 +02:00
Michael Hackstein 0a175a4271 Removed getOne in SimpleAttribute Matcher. All of the attributes are in sorted order rendering getOne and getAny useless 2015-10-23 12:49:57 +02:00
Jan Steemann 66f3840563 attempt to fix leak 2015-10-22 18:24:35 +02:00
Jan Steemann d428aeca93 fix some Visual Studio complaints 2015-10-22 17:23:21 +02:00
Jan Steemann 5a190d1110 fixed leaks, index speedup 2015-10-22 17:03:05 +02:00
Jan Steemann 07aa9a7daf Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2015-10-22 14:12:00 +02:00
Jan Steemann 0fee6fd856 attempt to speed up index queries 2015-10-22 14:11:54 +02:00
Michael Hackstein 7ea4130103 Fixed array indexing if the attribute is not set 2015-10-22 12:13:47 +02:00
Michael Hackstein f083fc3b66 Added AQL failure tests for EdgeIndex and PrimaryIndex 2015-10-21 16:29:14 +02:00
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
Michael Hackstein 2aed925ddc Fixed bugs in SkiplistIndex2. Introduced by refactoring 2015-09-01 15:05:48 +02:00
Michael Hackstein dd20dc4c7f Finished with C++ification of SkiplistIndex and index operators. Now to be tested. 2015-09-01 15:05:47 +02:00
Michael Hackstein e01f8f6b0f Fixes for C++ification of skiplist 2015-09-01 15:05:47 +02:00
Michael Hackstein cb9e1b0e98 Moved some functionality from skiplist-helper into the skiplist and C++ified it. Not yet done 2015-09-01 15:05:46 +02:00
Claudius Weinberger f52beeacb0 fixed invalid index lookupus 2015-09-01 12:38:51 +00:00
Michael Hackstein b8b129d84c The primary index now uses the Hash-cache again 2015-08-31 11:33:12 +02:00
Michael Hackstein b591220c01 Fixed Memory calculation of new Primary Index 2015-08-28 11:02:19 +02:00
Michael Hackstein 90db96a6dc Merge branch 'devel' of github.com:arangodb/arangodb into primary_eimer 2015-08-28 10:45:50 +02:00
Jan Steemann 22c8b5518e removed unused function 2015-08-28 10:30:23 +02:00
Michael Hackstein 3e2d5449ac The Primary index does not expose it's internals any more. 2015-08-28 10:23:43 +02:00
Michael Hackstein 4acdbff808 Primary Index does not need to free anything 2015-08-28 10:15:38 +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
Michael Hackstein ea75372fbe The primary index cannot store const master pointer ;( 2015-08-28 09:28:23 +02:00
Michael Hackstein efcaed8f6d Constified the index return values and removed obsolete functions in primary index 2015-08-28 09:28:23 +02:00
Michael Hackstein 6d4d41387b Implemented sequential read and any read in Transaction.h 2015-08-28 09:28:22 +02:00
Michael Hackstein 0e90f396d7 Piped through readRandom and readSequential in PrimaryIndex. Used in Transaction 2015-08-28 09:28:22 +02:00
Michael Hackstein b3ca4fd098 Implemented all functions required for AssocUnique in Primary index 2015-08-28 09:27:47 +02:00
Michael Hackstein 0d7b939f40 Typedef for AssocUnique in Primary. Added isEqualElmElm and isEqualKeyElm implementation 2015-08-28 09:27:47 +02:00
Jan Steemann 3c6a1cfe66 fix potential leak 2015-08-27 14:05:27 +02:00
Jan Steemann fcc748d49c added slightly faster path for non-array inserts 2015-08-27 10:58:32 +02:00
Jan Steemann 1a2449193e skiplist code cleanup 2015-08-26 22:52:41 +02:00
Jan Steemann 92297c368a removed unused function 2015-08-26 22:00:40 +02:00
Jan Steemann 1184b7e705 removed unused functions 2015-08-26 21:59:15 +02:00
Jan Steemann a5a9e74e8b renamed functions 2015-08-26 21:49:31 +02:00
Jan Steemann cbd43b3839 renamed files 2015-08-26 21:49:15 +02:00
Jan Steemann 2a886e6648 some index code cleanup 2015-08-26 21:35:46 +02:00
Jan Steemann 09928c71c1 added common base class for hash and skiplist index 2015-08-26 18:14:24 +02:00
Jan Steemann 473ed2c418 return memory usage for all indexes 2015-08-26 17:13:41 +02:00
Michael Hackstein 7257bf0b9d Skiplist and HashIndex will now print their figures if requested 2015-08-26 17:10:02 +02:00
Jan Steemann a3550e331e fixed makefiles 2015-08-26 16:17:45 +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
Jan Steemann 7329414456 fixed index size calculations 2015-08-26 14:55:58 +02:00
Michael Hackstein 4a3b8007bd Fixed memory calculation of HashIndexMulti. And added index information for it 2015-08-26 14:38:23 +02:00
Michael Hackstein 4effa2291e Merge branch 'devel' of github.com:arangodb/arangodb into array_indexing 2015-08-26 10:41:27 +02:00
Michael Hackstein 6ac7f83e3d Fixed rollback and added index information to log.performance 2015-08-26 10:34:42 +02:00
Jan Steemann b0c12a9d57 added indexFigures 2015-08-26 10:21:36 +02:00
Jan Steemann f4c542795c getIndexes(true) 2015-08-26 09:48:48 +02:00
Max Neunhoeffer 93caabb397 Fix fix. 2015-08-25 16:17:02 +02:00
Max Neunhoeffer 66498a56c3 Fix hash function for AssocMulti usage in hash-multi-index. 2015-08-25 16:13:43 +02:00
Max Neunhoeffer 7957df9215 Merge branch 'array_indexing' of ssh://github.com/ArangoDB/ArangoDB into array_indexing 2015-08-25 13:04:48 +02:00
Max Neunhoeffer 203e9a5195 Make hashcache in AssocMulti switchable-off. Does not work yet. 2015-08-25 12:46:47 +02:00
Michael Hackstein 57c6103458 Revert "The AssocUnique index now requires only an element to insert it. They key is derived"
This reverts commit ea70a948e254716905a7619e72b41fbef4f66695.
2015-08-25 09:40:29 +02:00
Michael Hackstein 2d6af6e872 The AssocUnique index now requires only an element to insert it. They key is derived 2015-08-24 17:14:39 +02:00
Michael Hackstein ba8264eada AssocUnique is now a templated index. Foundation to move primary index to use it 2015-08-24 16:41:16 +02:00
Michael Hackstein 2dd0f7cf7f Continued @neunhoef 's on simplification of hash-index. The index itself will never free anything, calling class is responsible for freeing now. 2015-08-24 13:14:35 +02:00
Michael Hackstein d43c515b56 Fixed a bug in hash index buckets. When resizing the table was not nulled correctly. 2015-08-24 11:22:53 +02:00
Michael Hackstein ac453f918e Merge branch 'array_indexing' of github.com:arangodb/arangodb into array_indexing 2015-08-23 18:24:48 +02:00
Michael Hackstein 44b8cc67ff Fixed some memleaks 2015-08-23 18:24:41 +02:00
Max Neunhoeffer 673956d484 Activate number of buckets. 2015-08-21 16:28:45 +02:00
Max Neunhoeffer f7126d4974 Fix a typo. 2015-08-21 16:21:18 +02:00
Max Neunhoeffer 1dce162b4b Merge branch 'array_indexing' of ssh://github.com/ArangoDB/ArangoDB into array_indexing
Conflicts:
	arangod/Indexes/HashIndex.cpp
2015-08-21 16:11:28 +02:00
Max Neunhoeffer 479f81f760 Buckets for hash-array, also C++-ize it. 2015-08-21 16:05:17 +02:00
Michael Hackstein 85b58a6d8d Fixed sparse indexes 2015-08-21 14:07:32 +02:00
Michael Hackstein 9bb7c0dec6 The skiplist index is now able to index arrays as well 2015-08-21 11:04:04 +02:00
Michael Hackstein 8491d84c96 Added forgotten header file for last commit 2015-08-20 15:27:49 +02:00
Michael Hackstein 838a91b125 Fixed rollback for insertion of multiple elements. Is now able to define a unique constrain on array entries 2015-08-20 15:13:56 +02:00
Michael Hackstein 4bb8508d82 Implemented a new improved version of the Array index insertion function. 2015-08-20 14:03:17 +02:00
Michael Hackstein 5c0ec7d318 Indexed my first array and was able to get it out again \o/. Unique constraint is not yet working though 2015-08-19 09:55:46 +02:00
Michael Hackstein 481a106a7d Implemented a helper function to extract all values in an array to be inserted 2015-08-18 11:37:09 +02:00
Michael Hackstein 2bcef2e03b Added a function that recursivly allocates and fills index_elements if one or more paths have to be expanded. 2015-08-18 09:09:36 +02:00
Michael Hackstein b0df08822f Removed obsolete function for HashIndex insertion 2015-08-17 16:10:43 +02:00
Michael Hackstein 33c3c0474e Removed obsolte header file in old hashindex 2015-08-17 16:04:18 +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 6ac0913dbe Adapt to changed VocShaper. 2015-08-17 12:57:52 +02:00
Max Neunhoeffer f279bf5778 Fix unit tests with latest hash index changes. 2015-08-17 12:57:52 +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
Max Neunhoeffer 7217111192 First step for hashindex, this revision is broken.
Changes are only done half-way.
2015-08-17 12:57:52 +02:00
Michael Hackstein 33935db4b6 Attribtue missing will not be returned when inserting elements into the index any more. 2015-08-17 12:43:14 +02:00
Michael Hackstein ae989cf2ca Skiplist index now uses the unified index_element. 2015-08-17 12:43:14 +02:00
Michael Hackstein 1d774ade12 Removed hash_index_element and used the unified index_element instead. Also moved allocation of a new index entry closer to the spot where it is actually filled. This allows for lazy allocation. 2015-08-17 12:43:14 +02:00
Michael Hackstein 8a4ce5bb8b Added a new general purpose index_element 2015-08-17 12:43:13 +02:00