1
0
Fork 0
Commit Graph

569 Commits

Author SHA1 Message Date
Jan Steemann eb82d96836 constexpr 2016-03-04 12:33:59 +01:00
jsteemann 60ac50e5c6 cppcheck 2016-03-02 22:09:32 +01:00
Jan Steemann 4c03f4bf8d simplification 2016-03-02 15:50:52 +01:00
Michael Hackstein 65abe721f3 Merge branch 'spdvpk' of github.com:arangodb/arangodb into spdvpk 2016-03-01 16:39:04 +01:00
Jan Steemann 298c96f2cc store information about datafile in upper bit 2016-03-01 16:29:09 +01:00
Jan Steemann 3fa4623dd1 made some methods private 2016-03-01 15:53:10 +01:00
Michael Hackstein 6e7f9ef49c Transaction OperationCursor now implements a skip method. 2016-03-01 14:37:40 +01:00
Jan Steemann acf308f3dc fixed test 2016-03-01 14:32:19 +01:00
Michael Hackstein f1d0875c4e Removed obsolete functions and skiplist key element. 2016-03-01 13:53:45 +01:00
Michael Hackstein fa8b4ae0e3 Removed Velocypack from FulltextIndex. And replaced TRI_string_vector_t with std::vector<std::string> 2016-03-01 13:35:47 +01:00
Michael Hackstein a48c1819bc Added an Implementation for AQL condition Iterator in HashIndex 2016-02-29 18:46:38 +01:00
Michael Hackstein ae7da462d0 Removed Import of *shape* in Indexes 2016-02-29 18:10:02 +01:00
Michael Hackstein b29b84687b Removed shape* include 2016-02-29 18:00:31 +01:00
Michael Hackstein cb40281543 Unshapified the GeoIndex 2016-02-29 17:58:26 +01:00
Michael Hackstein 7e086c901c Fixed n assignment where it should be an comparison 2016-02-29 17:07:07 +01:00
Michael Hackstein 09933bea41 Used the new MultiIndex iterator for AQL=>Skiplist iterator, if there is an IN used 2016-02-29 15:32:23 +01:00
Michael Hackstein 73b97bd489 Added implementation of a multi-index-iterator Iterator. This can be used as a wrapper around IN-Expanded index lookups and might be used in IndexNode as well. 2016-02-29 15:27:51 +01:00
Michael Hackstein e590f51d0f Added implementation for AQL Node => Skiplist Iterator function. Does not yet support IN statment, we need a multi Iterator for this. 2016-02-29 14:19:11 +01:00
Michael Hackstein b76c189990 Removed TRI_index_operator and all it's references. They are obsolete because of new VelocyPack index iterator on Skiplist index 2016-02-29 11:42:18 +01:00
Michael Hackstein cd8d49ead0 Replaced the old Skiplist Iterator with a new Implementation using VelocyPack instead of TRI_INDEX_OPERATOR 2016-02-29 11:32:43 +01:00
jsteemann 4845b3fc93 cleanup 2016-02-26 23:07:19 +01:00
Jan Steemann bd9293802d marker changes, unfinished 2016-02-26 19:39:17 +01:00
Michael Hackstein 4f832aa568 Fixed a bug in EdgeIndex lookup and added checks when inserting documents into an Edge Collection. They now need to have valid _from and _to entries 2016-02-26 15:48:48 +01:00
Michael Hackstein 7174a6225f Merge branch 'spdvpk' of github.com:arangodb/arangodb into spdvpk 2016-02-26 13:32:10 +01:00
Michael Hackstein ac173ca497 The Edge Index now indexes with VPackSlice instead of TRI_edge_header_t. Some functions that were using the Edge Index are disabled and will not work. These functions have to be modified to use the new Transaction API. 2016-02-26 13:31:10 +01:00
Jan Steemann ebf2d1520b removed TRI_doc_mptr_copy_t 2016-02-26 11:46:33 +01:00
Jan Steemann 3f07813b31 pacify compiler 2016-02-26 10:28:17 +01:00
Jan Steemann bc7787cf81 fixed logical confusion 2016-02-25 15:36:24 +01:00
Michael Hackstein 1f5202ad08 Removed obsolte TRI_hash_index_search_value_t. 2016-02-25 15:06:49 +01:00
Michael Hackstein 7b42fc7ae8 Unified lookup in PrimaryIndex to use identical format as HashIndex lookup does 2016-02-25 14:38:39 +01:00
Michael Hackstein 647cdc0ffe Implemented a indexScan iterator for Primary Index and moved the AQL iterator for it to VPack as well. Right now the AQL iterator is not functional is the memory management is not yet working. 2016-02-25 13:47:31 +01:00
Michael Hackstein 367f6c28e1 Merge branch 'spdvpk' of github.com:arangodb/arangodb into spdvpk 2016-02-25 12:45:29 +01:00
Michael Hackstein c509b60e11 Added a function to transform the Index Search Value of HashIndex to the Index-Key 2016-02-25 12:45:20 +01:00
Jan Steemann 8f2e2de451 Merge branch 'devel' of https://github.com/arangodb/arangodb into spdvpk 2016-02-25 10:46:13 +01:00
jsteemann 1823ae4fd2 removed unused forwards and functions 2016-02-25 00:48:06 +01:00
Max Neunhoeffer b072a01f7c Fix buildIndexValues. 2016-02-24 15:59:32 +01:00
Max Neunhoeffer d02ae8e7d1 Merge branch 'spdvpk' of ssh://github.com/ArangoDB/ArangoDB into spdvpk 2016-02-24 15:48:19 +01:00
Max Neunhoeffer aaaa50c6d0 Many index changes, compiles, does not run well. 2016-02-24 15:47:57 +01:00
Michael Hackstein a5442d19f3 Fixed a bug in expandInSearch values. And removed temporary test hack. 2016-02-24 14:46:21 +01:00
Michael Hackstein 9727a1f3a8 Started to add an implementation tu multiply queries with IN. THis is identical for all indexes and does not check validity. The general idea is that an index does not need to know anything about AND, OR, IN. It just has to know primitive types like EQ, LE, LT, GE, GT. 2016-02-24 13:29:26 +01:00
Max Neunhoeffer f2c5e43353 Fix compilation. 2016-02-23 15:57:39 +01:00
Jan Steemann 49181147e4 truncate optimization 2016-02-22 16:52:18 +01:00
Michael Hackstein 1367368b38 Added a version for ScanIndex with CursorType::Any 2016-02-22 15:42:57 +01:00
Michael Hackstein e9054fdf29 Added a All iterator for the primary index and made it available in the transaction 2016-02-22 13:25:51 +01:00
Jan Steemann ea3a7f3dab removed cap constraints 2016-02-22 12:37:16 +01:00
Michael Hackstein 756c056795 Added basic implementation to scan an index based on a transaction. However no index implements the new iterator yet. Next step. 2016-02-19 18:22:19 +01:00
Michael Hackstein ff07376fc9 Added stubs to get an index iterator from an index with VPackSlices 2016-02-19 16:29:14 +01:00
Jan Steemann 9898103bc1 initial vpack documents 2016-02-11 21:56:10 +01:00
Jan Steemann bc6fce75d4 removed some unnecessary explicits 2016-02-02 12:13:21 +01:00
jsteemann 3aed47d8e2 Merge branch 'devel' of https://github.com/arangodb/arangodb into devel 2016-02-01 13:15:05 +01:00
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