Jan Steemann
|
64350d802d
|
micro optimizations
|
2016-04-26 10:22:13 +02:00 |
Jan Steemann
|
32082e30f0
|
use move
|
2016-04-19 13:20:13 +02:00 |
Michael Hackstein
|
1b967d9535
|
Started fixing AQL-failures-noncluster tests. Still two are failing. Return and Sort.
|
2016-04-07 14:37:18 +02:00 |
Jan Steemann
|
c8c9288400
|
harmonize value comparisons for hash indexes
|
2016-03-23 16:36:00 +01:00 |
Max Neunhoeffer
|
c2049b8ee1
|
Switch to IndexHandles.
|
2016-03-23 08:57:00 +01:00 |
Michael Hackstein
|
ff87f38a14
|
Fixed index ordering for IN search.
|
2016-03-22 13:24:50 +01:00 |
Michael Hackstein
|
34b6b85a4b
|
Short Circuit in IndexIterator if query has which can never yield a result
|
2016-03-21 16:54:39 +01:00 |
Michael Hackstein
|
7af92fb2ff
|
IN values in index are now sorted
|
2016-03-21 15:43:01 +01:00 |
Michael Hackstein
|
69ad996767
|
Fixed implementation to multiply IN index lookups for hash and skiplist index.
|
2016-03-21 14:57:30 +01:00 |
Jan Steemann
|
b672ce0985
|
test fixes
|
2016-03-21 12:15:40 +01:00 |
Jan Steemann
|
b55b5d7386
|
AqlValue refactoring
|
2016-03-09 17:50:20 +01:00 |
Jan Steemann
|
0c2fdb9fb9
|
less dependency on document-collection.h
|
2016-03-04 20:53:17 +01:00 |
Jan Steemann
|
eb82d96836
|
constexpr
|
2016-03-04 12:33:59 +01:00 |
Jan Steemann
|
3fa4623dd1
|
made some methods private
|
2016-03-01 15:53:10 +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 |
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 |
Jan Steemann
|
ea3a7f3dab
|
removed cap constraints
|
2016-02-22 12:37:16 +01:00 |
Jan Steemann
|
9046e1831b
|
clang-format
|
2016-01-27 13:43:46 +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 |
Michael Hackstein
|
0fba63e43f
|
arangod/Indexes are now JSON / TRI_json_t free
|
2016-01-24 14:34:42 +01:00 |
Michael Hackstein
|
191c2dc3a9
|
Merge branch 'devel' of github.com:arangodb/arangodb into vpack
|
2016-01-21 16:29:38 +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 |
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 |
jsteemann
|
431900f17a
|
changed namespace from triagens to arangodb
|
2016-01-17 00:44:53 +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 |
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 |
Michael Hackstein
|
37b4d2739b
|
Adapted indexes to class version of TRI_col_info_t
|
2015-12-16 11:42:26 +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
|
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
|
d7f3ca496d
|
The Array Index now allows to query for null IN in sparse version
|
2015-10-27 13:00:49 +01:00 |
Jan Steemann
|
d428aeca93
|
fix some Visual Studio complaints
|
2015-10-22 17:23:21 +02:00 |
Jan Steemann
|
0fee6fd856
|
attempt to speed up index queries
|
2015-10-22 14:11:54 +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 |
Jan Steemann
|
e5761736d4
|
fixed usage of sparse indexes
|
2015-10-19 10:56:30 +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 |
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
|
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
|
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 |
Jan Steemann
|
118f924598
|
support [*] operator
|
2015-10-05 19:15:22 +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
|
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
|
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
|
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
|
26fdd92685
|
Updated the Primary index to new version of AssocUnique.
|
2015-09-03 10:16:15 +02:00 |
Jan Steemann
|
2a886e6648
|
some index code cleanup
|
2015-08-26 21:35:46 +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 |
Jan Steemann
|
f4c542795c
|
getIndexes(true)
|
2015-08-26 09:48:48 +02:00 |
Michael Hackstein
|
85b58a6d8d
|
Fixed sparse indexes
|
2015-08-21 14:07:32 +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
|
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
|
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
|
38227a81f8
|
speed up initial edge index creation
|
2015-08-03 18:27:50 +02:00 |
Jan Steemann
|
6d5b86867d
|
added print methods
|
2015-05-29 11:45:01 +02:00 |
Jan Steemann
|
88198767dd
|
logging
|
2015-05-29 09:49:22 +02:00 |
Jan Steemann
|
4b67c7a735
|
several fixes for indexes
|
2015-05-26 13:35:11 +02:00 |
Jan Steemann
|
a5b6f00b7f
|
moved indexes to cxx
|
2015-05-22 20:15:14 +02:00 |