1
0
Fork 0
Commit Graph

153 Commits

Author SHA1 Message Date
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 225c8cd843 Work on TODOs. 2015-12-22 16:50: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 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 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 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 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 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 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 9fd375d684 Removed debug output 2015-10-21 15:45:11 +02:00
Michael Hackstein afa7f8a2e3 Added failure tests for HashIndex. Now start with AttributeEqualityMatcher. 2015-10-21 15:00:58 +02:00
Jan Steemann aa3039cece fixes for cluster tests 2015-10-20 18:10:53 +02:00
Jan Steemann fcdd95d7cd fixes 2015-10-13 16:26:43 +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
Jan Steemann 6b2837190e different cost calculation, done except for skiplists 2015-10-12 18:49:47 +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
Jan Steemann b5c9602407 specialization of conditions 2015-10-09 18:10:33 +02:00
Jan Steemann 404f725461 minor fixes 2015-10-08 17:43:37 +02:00
Jan Steemann a4e7119226 simplify permutations constructor 2015-10-08 16:38:51 +02:00
Michael Hackstein 7d4f1f3005 Unified the Permutation State for Skiplist and HashIndex 2015-10-07 17:48:46 +02:00
Jan Steemann 5b423971ef support `value IN attr[*]` 2015-10-07 17:25:22 +02:00
Jan Steemann 424dc81197 fixed undefined index lookup behavior 2015-10-07 16:34:01 +02:00
Jan Steemann 85eacaa458 fixed memleaks 2015-10-07 16:12:20 +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 8ee068ba40 refactoring 2015-10-06 13:31:56 +02:00
Jan Steemann a12eda295b aha! 2015-10-06 13:03:46 +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 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 67de5480e8 check filter condition and sort condition support for all index types 2015-09-29 17:38:55 +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 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 39939fc1c9 primary index initial insertion speedup 2015-09-07 13:05:02 +02:00
Jan Steemann b9c8972477 index watermarks preparations 2015-09-04 18:14:39 +02:00
Jan Steemann 4e0a3e6505 fix memory usage confusion 2015-09-03 20:12:50 +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 b8b129d84c The primary index now uses the Hash-cache again 2015-08-31 11:33:12 +02:00
Jan Steemann 3c6a1cfe66 fix potential leak 2015-08-27 14:05:27 +02:00
Jan Steemann a5a9e74e8b renamed functions 2015-08-26 21:49:31 +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
Jan Steemann a3550e331e fixed makefiles 2015-08-26 16:17:45 +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 f4c542795c getIndexes(true) 2015-08-26 09:48:48 +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 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 e867181a72 Merge remote-tracking branch 'origin/eimerung_hashindex' into array_indexing 2015-08-17 15:58:53 +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 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 5a5d1de7ea Moved the insertion of elements into an indox to the super class. Is only used for Skiplist and Hash. Might probably be used by other indicies later 2015-08-17 12:43:13 +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
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 6d7ccd7699 move shaper to cxx 2015-07-28 17:38:31 +02:00
Jan Steemann 6cff955262 bounds checks for selectivity estimates 2015-06-11 21:38:13 +02:00
Jan Steemann 88198767dd logging 2015-05-29 09:49:22 +02:00