James
5264fa2612
remove unnecessary and incorrect renewal of ourLessThan.
2014-09-27 14:32:34 +01:00
James
8c1f9f5095
fixed arithmetic in GatherBlock::skipSome
2014-09-27 14:27:56 +01:00
James
4d0b3360cb
fixing arithmetic in available in GatherBlock.
2014-09-27 14:14:03 +01:00
James
75df1bff15
destructor for SubqueryBlock, deletes private data
2014-09-27 13:19:58 +01:00
James
b0ff6d1712
destructor for CaluculationBlock, deletes local data.
2014-09-27 13:17:45 +01:00
James
0c98677b16
destructor fo EnumerateListBlock, deletes local data
2014-09-27 13:13:30 +01:00
James
144ee7a8f0
destructor for IndexRangeBlock, deletes private data
2014-09-27 13:10:14 +01:00
James
ae5b96bc5d
destructor for EnumCollBlock that deletes local data.
2014-09-27 13:04:59 +01:00
James
1c52127cc1
destructor for GatherBlock, deletes _gatherBlockBuffer
2014-09-27 12:53:27 +01:00
James
68f48d0cd4
proper initializeCursor method for GatherBlock.
2014-09-27 12:48:48 +01:00
James
dd716301ab
moving _sortRegisters from initCursor to initialize.
2014-09-27 12:41:59 +01:00
James
f04b25f3ea
correcting comment.
2014-09-27 12:37:27 +01:00
James
bcebeb4dd0
comments for ScatterBlock and some reordering
2014-09-27 12:31:12 +01:00
James
69f2cfd5a5
cleaning up, and comments in .cpp for GatherBlock
2014-09-27 12:12:50 +01:00
James
14eaac044c
comments before GatherBlock in header, renamed _buffer, _pos which are
...
non-standard
2014-09-27 12:03:55 +01:00
Max Neunhoeffer
45b900913c
Some adjustments to code in GatherBlock.
...
Finish first version of RemoteBlock.
2014-09-27 01:45:05 +02:00
Jan Steemann
f229253e24
fixed redundant if / else if
2014-09-26 21:26:26 +02:00
Jan Steemann
9e47f3ca27
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
...
Conflicts:
arangod/Aql/ExecutionNode.h
2014-09-26 20:23:52 +02:00
Jan Steemann
c3ce45e0dd
added block instanciation for coordinator, v0.0.0
2014-09-26 20:17:42 +02:00
Max Neunhoeffer
5f5cf84641
Refactor getSome for RemoteBlock.
2014-09-26 16:49:26 +02:00
Max Neunhoeffer
dbed62392f
Implement skipSome method for RemoteBlock.
2014-09-26 16:30:30 +02:00
Max Neunhoeffer
d2a9632710
Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
2014-09-26 16:20:17 +02:00
Max Neunhoeffer
046d4f524d
Implement getSome for RemoteBlock.
2014-09-26 16:19:25 +02:00
Max Neunhoeffer
865d513dd0
Add skipSome to HTTP API and to ExecutionEngine.
2014-09-26 16:18:47 +02:00
Willi Goesgens
d003eecac1
We need to pass a reference since we want to return values onto this; and return const references to not duplicate the memory.
2014-09-26 15:22:41 +02:00
Max Neunhoeffer
5f24e603fe
Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
2014-09-26 14:51:14 +02:00
Max Neunhoeffer
95264a82ab
initializeCursor and shutdown methods for HTTP API for queries.
2014-09-26 14:50:52 +02:00
Max Neunhoeffer
25ee17c075
initializeCursor and shutdown methods for ExecutionEngine.
2014-09-26 14:50:28 +02:00
Jan Steemann
578d22c95b
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
2014-09-26 13:58:16 +02:00
Jan Steemann
f462c5f620
add database and collection info to gather nodes
2014-09-26 13:58:02 +02:00
Willi Goesgens
41fb15d462
Merge branch 'devel' of github.com:triAGENS/ArangoDB into devel
2014-09-26 13:44:16 +02:00
Willi Goesgens
14eda3e348
- create type for SortElements to be used instead of stacked templates
...
- abstract json parsing of SortElemnts into an own function
- implement deserialisation of Scatter/GatherNode
2014-09-26 13:42:26 +02:00
Max Neunhoeffer
5c7d058043
Add stubs for RemoteBlock.
2014-09-26 13:34:08 +02:00
Max Neunhoeffer
e9bac83e67
Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
2014-09-26 13:23:33 +02:00
Max Neunhoeffer
c4fd3e7553
First steps towards RemoteBlock.
2014-09-26 13:23:21 +02:00
Jan Steemann
cb3d138507
fixed compiler warning
2014-09-26 13:09:38 +02:00
Willi Goesgens
53ee658be0
Implement moving of sortnode into the clusterable part of the query; add elements to the json serialisation of the gather node
2014-09-26 12:35:58 +02:00
James
9ae0879ba4
Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
2014-09-26 11:34:18 +01:00
James
53b3abeee0
ScatterBlock uses shardId strings instead of clientId numbers.
2014-09-26 11:34:07 +01:00
Jan Steemann
3afadfdefa
fixed compile warnings
2014-09-26 12:30:42 +02:00
Jan Steemann
8fa141e31b
removed invalid sequence from file
2014-09-26 12:09:01 +02:00
Jan Steemann
6eca3d6cc4
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
2014-09-26 12:07:20 +02:00
Jan Steemann
5c250d9ec7
fixed compile warning
2014-09-26 12:07:11 +02:00
Jan Steemann
046d2586ae
added temporary function for @mchacki
2014-09-26 12:06:57 +02:00
Thomas Schmidts
2e151f7ab0
Added type definition to db._create documentation
2014-09-26 11:53:44 +02:00
James
de19d4441b
Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
2014-09-26 10:40:43 +01:00
James
e8dc7694e3
shutdown method for GatherBlock and initializeCursor for ScatterBlock
2014-09-26 10:40:05 +01:00
Max Neunhoeffer
8a6c2f22b5
Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
2014-09-26 11:18:31 +02:00
Max Neunhoeffer
06d039d3a0
Fix a deserialisation bug for AqlItemBlocks.
2014-09-26 11:18:17 +02:00
James
2070175a51
getOrSkipSomeForClient method for ScatterBlock.
2014-09-26 09:32:39 +01:00
James
e9f8d5ac99
fixed bug in ScatterBlock::getSomeForClient.
2014-09-26 08:51:11 +01:00
Willi Goesgens
6c81f630a3
Add filter rule which moves Filters & Calculations into the parts of a Plan that is distributed to clusters.
2014-09-25 17:08:20 +02:00
Max Neunhoeffer
b9f9a55fbf
Move on with AqlItemBlock deserialisation. Not working yet.
2014-09-25 16:52:42 +02:00
James
3423db77e6
Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
2014-09-25 11:09:15 +01:00
James
b9d27bee42
preliminary methods for ScatterBlock.
2014-09-25 11:08:47 +01:00
Max Neunhoeffer
f80f67f18b
Remove unused variable.
2014-09-25 12:06:09 +02:00
Max Neunhoeffer
85b2e7bfe3
Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
2014-09-25 11:57:06 +02:00
Max Neunhoeffer
f1483a4ea0
Optimize/debug HTTP API for queries and AqlItemBlock serialisation.
2014-09-25 11:47:50 +02:00
James
3d6dc1eddc
added missing hasMore method to GatherBlock, starting for ScatterBlock.
2014-09-25 09:41:27 +01:00
James
a953ff8bcd
skipSome method for GatherBlock.
2014-09-25 08:56:43 +01:00
Max Neunhoeffer
9079ba3971
Finish HTTP API.
2014-09-25 00:14:57 +02:00
Max Neunhoeffer
f6b1e0060e
Expose AQL_PARSE via HTTP API under /_api/aql/parse
2014-09-25 00:01:07 +02:00
Max Neunhoeffer
bd02e70e41
Expose AQL_EXPLAIN via HTTP API under /_api/aql/explain.
2014-09-24 23:49:55 +02:00
Max Neunhoeffer
20f345ccdd
Fix automatic expiry of queries.
2014-09-24 23:12:23 +02:00
Jan Steemann
dd53bc295a
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
2014-09-24 17:14:50 +02:00
Jan Steemann
9fe3fedb45
unique_ptr
2014-09-24 17:14:37 +02:00
Max Neunhoeffer
bfc8b14a87
More HTTP methods for queries. Expire queries.
2014-09-24 16:51:35 +02:00
Max Neunhoeffer
85ce0f0674
Remove some empty comments.
2014-09-24 16:27:45 +02:00
Max Neunhoeffer
37894bc628
Fix expireQueries.
2014-09-24 16:27:02 +02:00
Max Neunhoeffer
afc54a07a9
Implement expireQueries in QueryRegistry.
2014-09-24 16:26:31 +02:00
Max Neunhoeffer
784a299ab8
Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into devel
2014-09-24 16:17:44 +02:00
Max Neunhoeffer
cf5e1be91e
Version version of HTTP API done.
2014-09-24 16:17:18 +02:00
Jan Steemann
c8fba4c9be
fixes for Visual Studio
2014-09-24 15:41:26 +02:00
Jan Steemann
0320366612
fixed compile warnings
2014-09-24 13:35:26 +02:00
Jan Steemann
72f5ce8ddc
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into devel
2014-09-24 13:34:06 +02:00
Jan Steemann
d5fb057603
less locking
2014-09-24 13:32:39 +02:00
Jan Steemann
1e66c86d08
fixed invalid document access
2014-09-24 12:27:36 +02:00
James
c1742a9949
GatherBlock non-simple case implemented.
2014-09-24 11:17:05 +01:00
Jan Steemann
dbf964e204
small optimizations
2014-09-24 12:09:13 +02:00
James
37cfa73081
first attempt at GatherBlock::nextValue
2014-09-24 10:21:08 +01:00
Jan Steemann
ddfb5c965d
merged experimental features
2014-09-24 09:42:16 +02:00
James
b4f0df3caf
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-24 08:31:01 +01:00
James
26e1f40b32
fixing count/remaining for GatherBlock.
2014-09-24 08:30:42 +01:00
Max Neunhoeffer
e8e60106f3
Add quotes for id attribute and add closeTransaction.
2014-09-24 00:27:12 +02:00
Max Neunhoeffer
063665162e
Add closing and reopening of transactions.
2014-09-24 00:26:56 +02:00
Max Neunhoeffer
ce041b63d4
Add Json-serialisation of AqlItemBlocks.
2014-09-24 00:26:17 +02:00
James
5362ff3203
adding skipSome method for GatherBlock.
2014-09-23 18:06:08 +01:00
James
838290381b
cleaning up.
2014-09-23 17:46:08 +01:00
James
d9725b037b
about to delete some junk
2014-09-23 17:35:41 +01:00
James
b7a1247252
adding variables/sort direction in _elements to GatherNode.
2014-09-23 17:31:27 +01:00
James
6f8516e818
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-23 17:22:31 +01:00
Max Neunhoeffer
1f74a64b58
Implement POST for HTTP API for queries.
2014-09-23 16:51:03 +02:00
Max Neunhoeffer
cd36c00712
Cleanup the cleanup of a failed query preparation execution.
2014-09-23 15:31:42 +02:00
Max Neunhoeffer
36e8ab4608
Fix handling of plans in explain()
2014-09-23 15:29:14 +02:00
Max Neunhoeffer
5238686ee3
Make Queries preparable and then executable separately.
2014-09-23 15:23:10 +02:00
Max Neunhoeffer
6732913e71
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-23 13:16:24 +02:00
Max Neunhoeffer
067dd690f9
More progress with HTTP API for queries.
2014-09-23 13:16:10 +02:00
Jan Steemann
f8599b0f0f
removed unused instance variable
2014-09-23 13:14:53 +02:00
James
54e8caba4d
interim commit.
2014-09-23 11:27:25 +01:00
James
42ab416497
count, remaining, getBlock for GatherBlock.
2014-09-23 10:10:24 +01:00
James
6bf9c1d461
stub for GatherBlock.
2014-09-23 09:14:33 +01:00
Jan Steemann
009396f7b0
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/V8Server/v8-wrapshapedjson.cpp
2014-09-23 08:35:32 +02:00
Jan Steemann
80f18ad4b9
fixed copy-on-write for shaped json
2014-09-23 00:07:46 +02:00
Jan Steemann
92f87c19ce
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/V8Server/v8-vocbase.cpp
2014-09-22 23:51:16 +02:00
Max Neunhoeffer
591f7acb8b
Fix problems with variable bounds.
2014-09-22 23:30:22 +02:00
Thomas Schmidts
e99a12c339
Fixed error in Documentation and changed visualization of deprecated chapters
2014-09-22 17:44:52 +02:00
Jan Steemann
b75af455e4
fixed property query
2014-09-22 17:22:01 +02:00
Jan Steemann
79c584d362
less memory usage for ShapedJson documents
2014-09-22 16:43:31 +02:00
Jan Steemann
067f253dd5
changed interface for locking
...
Conflicts:
arangod/VocBase/transaction.cpp
2014-09-22 09:25:49 +02:00
Max Neunhoeffer
5e534261e2
Change _equality detection.
...
ATTENTION: This is still not right, yet.
Pondering about solution...
2014-09-22 08:40:21 +02:00
Jan Steemann
74c9653f6f
fixed range-info equality flag after fusing
2014-09-19 22:07:06 +02:00
Jan Steemann
38fdaa4066
removed unused function parameter
2014-09-19 20:28:41 +02:00
Jan Steemann
50e17b8c4f
disabled optimization due to failing tests
2014-09-19 19:30:57 +02:00
Jan Steemann
a58c8661b5
added some query statistics
2014-09-19 18:47:33 +02:00
Jan Steemann
9699091466
optimize IN and NOT IN with one or no members
2014-09-19 18:22:01 +02:00
Jan Steemann
ae5f454bfc
added unary operator
2014-09-19 17:46:36 +02:00
Jan Steemann
9f08e441fd
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-09-19 17:41:13 +02:00
Jan Steemann
92e46b8191
use SimpleExpression for more types of expressions
2014-09-19 17:40:47 +02:00
Max Neunhoeffer
51aff683d9
Some more code for HTTP API for AQL.
2014-09-19 16:49:55 +02:00
Jan Steemann
3d686d4028
test
2014-09-19 16:07:22 +02:00
Jan Steemann
9a6dfa1db2
execute several types of expressions in C++
2014-09-19 15:21:01 +02:00
Max Neunhoeffer
94bcd23070
Set up relevant HTTP methods for AQL.
2014-09-19 14:28:54 +02:00
Max Neunhoeffer
c5f5cb322a
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-19 13:59:05 +02:00
Max Neunhoeffer
697dc64b58
Add a QueryRegistry in the ArangoServer and hand it on.
2014-09-19 13:56:46 +02:00
Max Neunhoeffer
0466873092
First step towards correct setup of HTTP API for AQL.
2014-09-19 13:14:19 +02:00
Max Neunhoeffer
28818a1f3d
Remove debugging output.
2014-09-19 13:00:46 +02:00
Jan Steemann
64f5b22e4f
changed interface for locking
2014-09-19 12:45:29 +02:00
Jan Steemann
109941207f
reserve more memory for result set
2014-09-19 12:45:08 +02:00
Jan Steemann
1d87957b40
reserve enough memory for simple lists & arrays
2014-09-19 12:44:46 +02:00
Jan Steemann
76aaed94a0
make interface more user-friendly
2014-09-19 12:44:29 +02:00
Jan Steemann
1ed4e20ba1
nullptr
2014-09-19 12:02:34 +02:00
Jan Steemann
b10c45af3e
fixed compile warning
2014-09-19 09:22:55 +02:00
Jan Steemann
95c9a0ccba
fixed compile warnings
2014-09-19 09:15:26 +02:00
Jan Steemann
68232715f1
fixed compile warning
2014-09-19 09:05:52 +02:00
Jan Steemann
f782e81661
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-09-19 01:02:51 +02:00
Jan Steemann
6f4e799ccc
added `profile` option
2014-09-19 01:02:39 +02:00
Max Neunhoeffer
327c5264c5
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-19 00:37:17 +02:00
Max Neunhoeffer
68f246a09f
Add a REST handler for AQL (queries/cursors).
2014-09-19 00:36:57 +02:00
Jan Steemann
a2ac4e5be6
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-09-18 23:56:51 +02:00
Jan Steemann
0b5c5ae3df
added `maxNumberOfPlans` option
2014-09-18 23:56:09 +02:00
Max Neunhoeffer
05be135afe
Add explicit namespace for template specialisation.
2014-09-18 23:32:33 +02:00
Jan Steemann
d03faffc53
remove subqueries that produce results that are not used in a query
2014-09-18 23:03:43 +02:00
Jan Steemann
3f5259d50c
removed unnecessary trampoline functions
2014-09-18 22:26:04 +02:00
Jan Steemann
1fff0ecac2
optimization for recovery of collections that are going to be dropped anyway
2014-09-18 18:20:56 +02:00
Jan Steemann
2fe6d8f554
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-09-18 17:48:17 +02:00
Jan Steemann
1016debd2e
more robust recovery
2014-09-18 17:47:37 +02:00
Max Neunhoeffer
7b3764125c
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-18 16:51:09 +02:00
Max Neunhoeffer
b4af145317
Add QueryRegistry.
2014-09-18 16:50:59 +02:00
Jan Steemann
4a2693cebd
removed #if
2014-09-18 13:23:38 +02:00
Jan Steemann
50571f84db
changed node detection for cluster
2014-09-18 13:21:58 +02:00
Max Neunhoeffer
60dc29ef43
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-18 11:26:48 +02:00
Max Neunhoeffer
f36187b052
Do some changes suggested by people in the C++ UG DUS.
2014-09-18 11:07:44 +02:00
Jan Steemann
0a89693345
unique_ptr
2014-09-18 09:58:35 +02:00
Max Neunhoeffer
ce2f822521
Merge branch 'aql1' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-18 09:12:25 +02:00
Jan Steemann
5c552d4137
optimizer rule for scatter / gather
2014-09-17 17:29:36 +02:00
Max Neunhoeffer
ae5d231c5d
Add a comment.
2014-09-17 16:43:40 +02:00
Max Neunhoeffer
e054b738c9
Take out some debugging messages.
2014-09-17 16:41:49 +02:00
Jan Steemann
2202d672e7
fixed memleak
2014-09-17 16:01:06 +02:00
Jan Steemann
bd62c36771
scatter / gather 0.0
2014-09-17 16:00:54 +02:00
Jan Steemann
be81bef10c
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-09-17 14:31:51 +02:00
Jan Steemann
db70b9bfcb
added not-yet used nodes for remote, scatter and gather
2014-09-17 14:31:37 +02:00
Max Neunhoeffer
3c675fee44
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-17 14:08:18 +02:00
Max Neunhoeffer
2cdc5f4cd7
Fix skiplistback-ung and usage in AQL.
2014-09-17 14:07:23 +02:00
Jan Steemann
e5e2cfe4da
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/V8Server/v8-vocbase.cpp
2014-09-17 11:50:42 +02:00
Jan Steemann
d3f4f05df1
issue #1020
2014-09-17 11:42:01 +02:00
Jan Steemann
b9f140e044
removed unused code
2014-09-17 11:31:05 +02:00
Jan Steemann
ebb7db28d1
removed unused code
2014-09-17 11:25:06 +02:00
Jan Steemann
654c2ba0fe
backwards iteration, not yet working
2014-09-17 00:40:24 +02:00
Jan Steemann
93ed0f2255
added reverse iteration for skiplists
2014-09-16 22:23:40 +02:00
Jan Steemann
85c96f2113
simplified hash index functions
2014-09-16 20:22:12 +02:00
Jan Steemann
5f91c8852b
consistency
2014-09-16 19:56:31 +02:00
Jan Steemann
3c0723e244
slight speedup for hash index
2014-09-16 19:46:24 +02:00
Willi Goesgens
c71d142b51
We missed to output the modification options vector.
2014-09-16 18:25:41 +02:00
Max Neunhoeffer
fcab5b9357
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-16 17:03:58 +02:00
Jan Steemann
5c820cea34
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/V8Server/v8-vocbase.cpp
2014-09-16 16:33:47 +02:00
Jan Steemann
f0b2a9e946
removed index_iterator
2014-09-16 16:23:55 +02:00
Max Neunhoeffer
0d5a1bf354
Merge branch 'skiplistback' into aql2
2014-09-16 16:16:22 +02:00
Max Neunhoeffer
7b100ef30a
Unuse index-iterator.h
2014-09-16 16:15:55 +02:00
Jan Steemann
992ac23450
fixed ranges
2014-09-16 15:48:33 +02:00
Jan Steemann
83819407ba
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-09-16 15:10:59 +02:00
Jan Steemann
54b5e7b034
slightly improved access to dynamic bounds
2014-09-16 15:10:43 +02:00
Max Neunhoeffer
aa584e6c86
Merge branch 'aql2' into skiplistback
2014-09-16 14:57:35 +02:00
Max Neunhoeffer
2b18e0379f
C++-ize skip lists and introduce a backward link.
2014-09-16 14:57:16 +02:00
Willi Goesgens
0d376ab37a
Errormessages: show which execution state we're in so the user can better tell appart runtime from syntax errors.
2014-09-16 11:05:43 +02:00
Max Neunhoeffer
23dc7ef617
Fix the AqlValue Range type leak.
2014-09-16 10:25:25 +02:00
Frank Celler
b7278820ce
Merge branch 'devel' of github.com:triAGENS/ArangoDB into devel
2014-09-15 23:18:35 +02:00
Frank Celler
c577193ae4
added log of exception
2014-09-15 23:18:10 +02:00
Jan Steemann
6fad76928d
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-09-15 18:17:53 +02:00
Jan Steemann
677e681b23
adjusted test
2014-09-15 18:17:42 +02:00
Jan Steemann
60f2136b8d
fixed reporting error position in queries with newlines
2014-09-15 18:17:20 +02:00
Willi Goesgens
7e44fa03d0
Try to add a human readable representation to an expression if it throws.
2014-09-15 16:44:55 +02:00
Max Neunhoeffer
6cf8b0cf75
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-15 16:16:33 +02:00
Max Neunhoeffer
855a695764
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/ExecutionBlock.cpp
arangod/Aql/RangeInfo.cpp
arangod/Aql/RangeInfo.h
2014-09-15 16:16:21 +02:00
Jan Steemann
bc7c7c5c60
fixed construction of bounds from json
2014-09-15 16:11:59 +02:00
Max Neunhoeffer
77d6f41b5c
Fix more bugs in variable bounds.
2014-09-15 16:10:54 +02:00
Max Neunhoeffer
7e09d9a39e
Make more const.
2014-09-15 16:10:47 +02:00
Max Neunhoeffer
e0cc389f23
Make more const.
2014-09-15 16:08:00 +02:00
Jan Steemann
2571d075b7
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-09-15 15:29:02 +02:00
Jan Steemann
a31cb2af30
disable sort optimizations under certain conditions
2014-09-15 15:28:41 +02:00
Willi Goesgens
215e9bf1b4
Use 'list' in plural variables
2014-09-15 15:06:38 +02:00
Willi Goesgens
6d3753f7ca
use 'list' in plural names
2014-09-15 15:06:10 +02:00
Willi Goesgens
6609512297
Improve error handling: first test for whether we're a list, then access its members so we can throw our error message instead of a generic error occuring.
2014-09-15 15:05:14 +02:00
Willi Goesgens
f4f7c53808
Adjust debug output to changed api
2014-09-15 15:04:45 +02:00
Jan Steemann
ff0016e295
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-09-15 14:19:47 +02:00
Jan Steemann
481a16fd7a
removed bitarray indexes
2014-09-15 14:19:38 +02:00
Willi Goesgens
8bad042d08
Remove friend declaration since it seems not to be needed anyways.
2014-09-15 13:42:21 +02:00
Max Neunhoeffer
4a1e3d6b9c
Fix bug with variable bounds: must not access document set in this node.
2014-09-15 13:37:38 +02:00
Max Neunhoeffer
9bfd5eb8c6
Improve comments for getVarusage and friends.
2014-09-15 13:37:16 +02:00
Max Neunhoeffer
f5eabd49cd
Less copying by returning a ref.
2014-09-15 13:36:56 +02:00
Jan Steemann
6805bfb540
fix compile error
2014-09-15 13:36:38 +02:00
Jan Steemann
5a1dc63946
fixed tons of compile errors in VS
2014-09-15 12:04:49 +02:00
Jan Steemann
8f27ef531c
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
scripts/run
2014-09-15 09:51:04 +02:00
Jan Steemann
112d2a794b
added derived files
2014-09-15 09:46:56 +02:00
Jan Steemann
9dbbf16d11
fixed compile error
2014-09-15 09:17:54 +02:00
Max Neunhoeffer
511930a8c1
Make variable bounds compile-time switchable.
2014-09-14 22:30:45 +02:00
Max Neunhoeffer
025d57175e
Disable variable bounds to let tests run again.
2014-09-14 22:26:57 +02:00
Max Neunhoeffer
e617c091e7
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-14 21:47:46 +02:00
Max Neunhoeffer
b48d1c1270
Fix more bugs.
2014-09-14 21:47:37 +02:00
Frank Celler
e1b9e343bb
added maintenance mode
2014-09-14 21:44:42 +02:00
Jan Steemann
34d2913002
added NOT IN operator, added keywords NOT, AND, OR
2014-09-14 01:34:58 +02:00
Jan Steemann
ed7e5d0e67
allow primary key access via _id attribute, too
2014-09-14 00:46:44 +02:00
Jan Steemann
aa20c9e980
renamed last C files...
2014-09-13 22:38:25 +02:00
Jan Steemann
506936dcdb
rename orgy
2014-09-13 02:35:13 +02:00
Jan Steemann
669cb3b235
renamed files
2014-09-13 01:44:01 +02:00
Jan Steemann
953b8cdfe3
renamed files
2014-09-13 00:34:48 +02:00
Jan Steemann
0dc0bc834f
more files renamed
2014-09-13 00:20:30 +02:00
Jan Steemann
87afcf5e8d
the great rename
2014-09-13 00:10:11 +02:00
Jan Steemann
2394cdf640
optimize away logical negation if possible
...
the AST is checked for logical negations of comparison operations
if appropriate, the negation is converted into the reverse comparsion operation, e.g.
NOT (a == b) => (a != b)
NOT (a != b) => (a == b)
NOT (a > b) => (a <= b)
NOT (a >= b) => (a < b)
NOT (a < b) => (a >= b)
NOT (a <= b) => (a > b)
2014-09-12 18:01:06 +02:00
Jan Steemann
4f6f2ac34f
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/ExecutionBlock.cpp
2014-09-12 17:03:04 +02:00
Jan Steemann
76c1da4e9c
added test for remove-redundant-calculations
2014-09-12 16:58:01 +02:00
Max Neunhoeffer
cf384710a9
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-12 16:36:00 +02:00
Max Neunhoeffer
ac9c2d8172
Fix crash in tests.
2014-09-12 16:33:43 +02:00
Jan Steemann
f57312baf0
pass AST to expression
2014-09-12 15:40:17 +02:00
Max Neunhoeffer
0ae0f126b2
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-12 15:24:28 +02:00
Max Neunhoeffer
465cf950c9
Try to fix bug with variable bounds.
...
Not yet finished.
2014-09-12 15:24:08 +02:00
Jan Steemann
6552490cbe
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/ExecutionNode.cpp
arangod/Aql/ExecutionNode.h
arangod/Aql/ExecutionPlan.cpp
arangod/Aql/OptimizerRules.cpp
2014-09-12 15:17:50 +02:00
Jan Steemann
a5c52998e8
remove redundant calculations
2014-09-12 15:10:48 +02:00
Max Neunhoeffer
d147be8de3
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-12 15:01:58 +02:00
Max Neunhoeffer
de728e2893
Finish reorganisation of Ast and ExecutionPlan usage.
2014-09-12 15:01:29 +02:00
Max Neunhoeffer
6194618906
Finish removal of type argument in create.
2014-09-12 15:01:16 +02:00
Max Neunhoeffer
35ffe6b9e4
Restructure who has Ast and ExecutionPlan.
...
Not compiling yet.
2014-09-12 14:44:20 +02:00
Max Neunhoeffer
949557fc35
Remove an unnecessary parameter.
2014-09-12 14:43:56 +02:00
Willi Goesgens
4df0c84f43
only add the Json-Expression to the Exception if we're compiled in maintainer mode.
2014-09-12 14:36:01 +02:00
Willi Goesgens
36b7ed81a0
Enrich expressions with more information, by catching them, enhancing and re-throwing them.
2014-09-12 13:57:48 +02:00
Willi Goesgens
ae6956b6b5
AQL_EXECUTEJSON: parse the options similar to AQL_EXPLAIN & AQL_EXECUTE.
2014-09-12 12:09:41 +02:00
Max Neunhoeffer
46cb7304bf
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-12 11:22:28 +02:00
Max Neunhoeffer
247f739bee
Sort out variable usage in variable bound expressions.
...
Not yet compiling, need to sort out access to the Ast object.
2014-09-12 11:21:52 +02:00
Willi Goesgens
3894c8393f
Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2
2014-09-12 10:41:30 +02:00
Willi Goesgens
6a7bfff7d0
Silence debug output.
2014-09-12 10:40:24 +02:00
Max Neunhoeffer
49999cecb8
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-12 09:44:36 +02:00
Max Neunhoeffer
21f4d9be9d
Teach ExecutionPlans to remember the Ast.
2014-09-12 09:44:17 +02:00
Jan Steemann
78b3eaeb3a
fixed memleak
2014-09-12 09:30:52 +02:00
Jan Steemann
92744da411
fixed invalid memory access
2014-09-12 09:27:58 +02:00
Max Neunhoeffer
e120da8a23
Note what needs doing to fix bug with variable lookup.
2014-09-12 00:59:59 +02:00
Max Neunhoeffer
2569dac1b9
Fix a bug with variable bounds.
2014-09-12 00:35:47 +02:00
Max Neunhoeffer
ee9a24f7ba
Snapshot, broxen.
2014-09-11 18:50:43 +02:00
Max Neunhoeffer
8bab78f4b5
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/ExecutionNode.cpp
2014-09-11 18:47:31 +02:00
Max Neunhoeffer
088e0ed2f9
Fix serialisation of IndexRangeNode.
2014-09-11 18:45:47 +02:00
Jan Steemann
afed9019cf
added assertion
2014-09-11 18:27:44 +02:00
Jan Steemann
0b018d26cf
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-09-11 18:19:14 +02:00
Jan Steemann
2767bdc7e0
use edge index on both _from and _to
2014-09-11 18:19:05 +02:00
Willi Goesgens
f25f12c098
Move parsing of calculations out of the whole json parser, so we can properly instanciate the transaction first.
2014-09-11 18:00:00 +02:00
Willi Goesgens
f97044952e
Add de/stringifyier for transaction type enum
2014-09-11 17:59:32 +02:00
Jan Steemann
491592239c
use primary index
2014-09-11 17:19:15 +02:00
Jan Steemann
c3b90a1037
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-09-11 17:02:03 +02:00
Jan Steemann
34beb65148
use primary index & edge index
2014-09-11 17:01:53 +02:00
Max Neunhoeffer
ffbfc9e9e3
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-11 16:59:40 +02:00
Max Neunhoeffer
6c69129a71
Start computing the variable bounds at runtime.
2014-09-11 16:58:59 +02:00
Jan Steemann
7a2774b822
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-09-11 15:50:56 +02:00
Max Neunhoeffer
94e95a0274
Repair skipSome for IndexRangeBlock, untested.
2014-09-11 15:42:52 +02:00
Max Neunhoeffer
fd77577868
Add missing } to avoid >417 errors.
2014-09-11 14:56:31 +02:00
Max Neunhoeffer
aa00df7edf
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into mmh
...
Conflicts:
arangod/Aql/ExecutionBlock.cpp
arangod/Aql/Query.h
2014-09-11 14:31:13 +02:00
Max Neunhoeffer
31e02e42cb
Instanciate expressions for variable bounds.
...
And various cleanups.
2014-09-11 14:28:38 +02:00
Jan Steemann
611ef2b73c
removed "old" AQL function AQL_EXPLAIN
2014-09-11 14:12:01 +02:00
Jan Steemann
672eec350e
removed "old" AQL function
2014-09-11 13:56:15 +02:00
Jan Steemann
71600f89b7
use RANGE AqlValue type
2014-09-11 11:56:40 +02:00
Max Neunhoeffer
821e9b4533
Factor out andCombineLowerBounds and andCombineUpperBounds.
2014-09-11 10:26:12 +02:00
Jan Steemann
cb4c60a36f
explain tests
2014-09-11 09:54:59 +02:00
Max Neunhoeffer
028740a4bd
Come up with plan for variable bounds execution.
2014-09-10 16:44:08 +02:00
Max Neunhoeffer
5ff594f3bc
Add some debugging output.
2014-09-10 16:36:12 +02:00
Max Neunhoeffer
c79b95b048
Activate finding of variable bounds.
2014-09-10 16:35:33 +02:00
Max Neunhoeffer
7b8cc04d90
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into mmh
2014-09-10 16:10:32 +02:00
Max Neunhoeffer
27a9dd050e
Variable bounds are recognised.
2014-09-10 16:10:02 +02:00
Jan Steemann
c034307dca
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Utils/CollectionNameResolver.h
2014-09-10 15:54:49 +02:00
Max Neunhoeffer
a6d57d2c8a
Fix DBserver bug with CollectionNameResolver and local collections.
2014-09-10 15:50:41 +02:00
Max Neunhoeffer
8bb938b6de
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into mmh
2014-09-10 15:21:00 +02:00
Max Neunhoeffer
69c464ef13
Restructure RangesInfo handling to allow for variable ranges.
2014-09-10 15:20:28 +02:00
Jan Steemann
1d2c21aec5
create verbose plans
2014-09-10 14:15:37 +02:00
Willi Goesgens
7bb40f25be
Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2
2014-09-10 13:35:36 +02:00
Willi Goesgens
cfbd8ac3bf
CPP-i-fy the printf for the nice error message.
2014-09-10 13:34:33 +02:00
Jan Steemann
ce104ce81a
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
2014-09-10 13:29:17 +02:00
Jan Steemann
e653552c5e
issue #997 : added large file support for Windows
2014-09-10 13:12:18 +02:00
Max Neunhoeffer
dec5cbed76
more Cleanup.
2014-09-10 12:14:15 +02:00
Max Neunhoeffer
31a1c95e40
Further cleanup of IndexRangeRule and ranges infrastructure.
...
Prepare for variable bounds.
2014-09-10 12:07:30 +02:00
Max Neunhoeffer
dfed690d56
Further cleanup of EQ method in useIndexRange rule.
2014-09-10 11:36:11 +02:00
Max Neunhoeffer
7bca4da5dc
Merge branch 'aql2' into mmh
2014-09-10 11:16:44 +02:00
Max Neunhoeffer
6795f425ab
Cleanup buildRangeInfo.
2014-09-10 11:15:43 +02:00
Jan Steemann
ba21bf4019
fixed cloning of IndexRangeNodes
2014-09-10 10:54:32 +02:00
Jan Steemann
4ab6d8f658
fixed clone method for IndexRangeNode
2014-09-10 10:43:32 +02:00
Max Neunhoeffer
7dcdd27891
Merge branch 'aql2' into mmh
2014-09-10 09:41:54 +02:00
Max Neunhoeffer
83b31459e1
Fix another bug with new ranges format.
2014-09-10 09:39:11 +02:00
Max Neunhoeffer
b98cb86605
Take out debugging output.
2014-09-10 09:38:53 +02:00
Max Neunhoeffer
673df76b94
Fix bug with new RangeInfo.
2014-09-10 08:57:18 +02:00
Jan Steemann
c16ddedc83
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/V8Server/v8-vocbase.cpp
js/apps/system/aardvark/frontend/js/bootstrap/errors.js
js/common/bootstrap/errors.js
js/server/modules/org/arangodb/ahuacatl.js
js/server/modules/org/arangodb/aql-helper.js
js/server/tests/shell-skiplist-index.js
2014-09-09 22:18:52 +02:00
Jan Steemann
428865f3b5
issue #1014 : WITHIN function returns wrong distance
...
added attribute setters for ShapedJson so document attributes can be updated
Conflicts:
arangod/V8Server/v8-vocbase.cpp
2014-09-09 19:58:27 +02:00
Willi Goesgens
3e6e008a81
useIndexForSort:
...
- redirect to pass #5 here too, so now possible obsolete CalculaionNodes are removed by the removeUnnecessaryCalculationsRule
2014-09-09 17:19:49 +02:00
Max Neunhoeffer
8aa75f01a5
Snapshot to move home.
2014-09-09 17:05:47 +02:00
Willi Goesgens
202636cee0
Refactor Optimizer ordering
...
- create enum with the different steps named
- unify numbering scheme
- deploy enum to all places where int level was used
- add passN enum so you can jump to a Pass when calling addPlan
useIndexForSort:
- remove inline deletion of dependend nodes of our (removed) sortnode
- redirect to pass #5 so now possible obsolete CalculaionNodes are removed by the removeUnnecessaryCalculationsRule
2014-09-09 16:27:49 +02:00
Jan Steemann
41375624d2
optionally make AQL_EXPLAIN return all generated plans
2014-09-09 15:42:22 +02:00
Jan Steemann
2a49bf843d
updated tests
2014-09-09 15:20:42 +02:00
Willi Goesgens
de32cddc1e
Fix memory leak in case of exceptions thrown when parsing the variable from json
2014-09-09 13:22:49 +02:00
Willi Goesgens
84cb676a34
Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2
2014-09-09 11:50:09 +02:00
Willi Goesgens
dbdae3faa9
Styleguide cleanup: "initialize"
2014-09-09 11:49:44 +02:00
Jan Steemann
8127ff49bd
more tests
2014-09-09 11:04:30 +02:00
Jan Steemann
ff2334b575
renamed method
2014-09-09 10:40:57 +02:00
Jan Steemann
8bf495f9b5
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-09-09 09:58:04 +02:00
Jan Steemann
639a026c66
fixed tests
2014-09-09 09:57:52 +02:00
Max Neunhoeffer
9bf954e586
Cleanup indentation and formatting.
2014-09-09 09:10:22 +02:00
Willi Goesgens
f4b4c202d2
Transaction: Abort on first error also when invoked through addCollections()
2014-09-08 17:48:00 +02:00
Jan Steemann
28fd6b84c9
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-09-08 17:33:21 +02:00
Jan Steemann
4bda3e3979
finished test for remove-redundant-sorts
2014-09-08 17:33:11 +02:00
Max Neunhoeffer
e35497c933
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-08 15:19:47 +02:00
Willi Goesgens
e87e79ea77
Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2
2014-09-08 15:07:25 +02:00
Willi Goesgens
6e1fbbddfc
More userfriendly errormessages if creating the transaction fails.
2014-09-08 15:07:05 +02:00
Willi Goesgens
68d30cef8b
Transaction: abort initialisation process on error so our internal error state stays sane.
2014-09-08 15:06:30 +02:00
Max Neunhoeffer
5ee7e47879
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-08 15:05:46 +02:00
Jan Steemann
3ea0c8ec28
remove pending dispatcher jobs on shutdown
2014-09-08 15:03:19 +02:00
Max Neunhoeffer
0eed7a8344
Handle exception correctly in AqlValue.
2014-09-08 14:42:21 +02:00
Max Neunhoeffer
b011876512
Another memleak and some exception-safety.
2014-09-08 13:55:58 +02:00
Jan Steemann
88454fbecc
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-09-08 12:05:45 +02:00
Jan Steemann
72cc344935
fixed buffer memleak
2014-09-08 12:05:28 +02:00
Max Neunhoeffer
bc54c047ba
Fix another memleak.
2014-09-08 11:52:41 +02:00
Max Neunhoeffer
dd48ba5d6d
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-08 11:01:22 +02:00
Max Neunhoeffer
06a525929c
Fix a memleak with hash index lookup in AQL.
2014-09-08 11:01:03 +02:00
Jan Steemann
8fdb2f05af
added positive list of nodetypes
2014-09-08 10:39:59 +02:00
Max Neunhoeffer
12ece0ee5d
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-08 10:35:33 +02:00
Jan Steemann
478007089a
do not push sort beyond limit, collect etc.
2014-09-08 10:31:44 +02:00
Max Neunhoeffer
0651a8c0ca
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-09-08 10:30:55 +02:00
Max Neunhoeffer
eb6fab36e8
Fix a leak in FilterBlock.
2014-09-08 10:29:48 +02:00
Jan Steemann
027fe0af9a
fixed memleak
2014-09-08 09:47:48 +02:00
Willi Goesgens
84b0d4a35e
Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2
2014-09-08 09:32:37 +02:00
Jan Steemann
a0868577ca
tried to diagnose logger races
2014-09-08 09:30:56 +02:00
Max Neunhoeffer
b88bceda00
Fix memleaks.
2014-09-05 18:20:48 +02:00
Willi Goesgens
02207d5f70
Cost estimates: IndexRangeNodes without range have to be more expensive than ones with.
2014-09-05 14:23:25 +02:00
Alan Plum
6719e8326a
Added support for sha384/sha512 in VOCBase.
2014-09-04 23:37:34 +02:00
Willi Goesgens
ebbb9c34b6
Redundand-Sort: implement removing of left item superseeding the sort
2014-09-04 17:53:20 +02:00
Willi Goesgens
30b33a1793
Fix buffer overrun while comparing two sortNodes
2014-09-04 17:29:22 +02:00
Willi Goesgens
e23cbf1add
Work on Filter to IndexRangeNode tests
2014-09-04 16:33:37 +02:00
Willi Goesgens
2943451c6c
'var' is a js keyword, rename it to variable.
2014-09-04 13:26:52 +02:00
Willi Goesgens
8f1123c8b9
Rangeinfo: fix handling of < and >; the handling of _undefined was wrong and we would never add these ranges.
2014-09-04 11:52:35 +02:00
Willi Goesgens
ec67a07f9b
Parser: when throwing parse exceptions add the query and a pointer to the actual indicated error to the message.
2014-09-03 16:13:35 +02:00
Willi Goesgens
61d1bfa76b
SortIndex: only indicate we modified a rule if we realy did.
2014-09-03 09:47:08 +02:00
Max Neunhoeffer
6f22f5529a
Fix memory leak, AqlValues must be destroyed explicitly.
2014-09-02 15:19:21 +02:00
Max Neunhoeffer
fb9481c208
Fix another memory leak.
2014-09-02 14:33:08 +02:00
Max Neunhoeffer
b86dfdd2b0
Fix a memory leak in deletion of AqlValues that are no longer needed.
2014-09-02 11:52:43 +02:00
Max Neunhoeffer
7e7b47ab71
Sort out negative cost estimations.
2014-09-02 10:15:02 +02:00
Willi Goesgens
f0952e9109
Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2
2014-09-01 18:49:10 +02:00
Willi Goesgens
021f3371f2
SortIndex: move the unlinking of the sort attributes after unlinking the sort itself
2014-09-01 18:30:49 +02:00
Willi Goesgens
c1d0f8bccc
SortIndex: as long as the Index superseeds the sort critereon its still a full match.
2014-09-01 18:29:09 +02:00
Jan Steemann
822c5daa32
assert costs are positive
2014-09-01 15:03:23 +02:00
Willi Goesgens
3b93d0847d
SortIndex: fix the way we register our results to the framework
2014-09-01 13:33:18 +02:00
Willi Goesgens
cd29afd88f
Fix pattern to index matcher
...
- if the number of match patterns is zero, this is not a match at all.
- if the number of condition is unequal match pattern to a match pattern this isn't a full match.
2014-09-01 13:31:39 +02:00
Jan Steemann
7851e5e54c
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
2014-09-01 11:05:41 +02:00
Jan Steemann
f60952a12e
fixed compile warnings and errors in Visual Studio
2014-09-01 10:42:11 +02:00
Jan Steemann
aadd0f9254
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Utils/CollectionNameResolver.h
arangod/V8Server/v8-vocbase.cpp
2014-08-30 17:35:08 +02:00
Jan Steemann
c0463a1797
added `type` option for `GET /_api/document?collection=...`
...
Conflicts:
CHANGELOG
2014-08-30 17:26:24 +02:00
Jan Steemann
7d500b7234
speed up instanciation of v8 ShapedJson objects
...
now a static buffer is used to create multiple string values
such as `_id`, `_key`, `_rev`, `_from` and `_to`.
this saves a few memory allocations per document
Conflicts:
arangod/Utils/CollectionNameResolver.h
arangod/V8Server/v8-vocbase.cpp
2014-08-30 01:47:58 +02:00
Jan Steemann
6844433558
do not complain about missing dispatcher when server is started with `--no-server` option
2014-08-30 01:34:10 +02:00
Jan Steemann
c90777738d
speed up instanciation of v8 ShapedJson objects
...
now a static buffer is used to create multiple string values
such as `_id`, `_key`, `_rev`, `_from` and `_to`.
this saves a few memory allocations per document
2014-08-30 01:32:20 +02:00
Max Neunhoeffer
730b59cfad
Remove "old" sparse flag for skiplist indexes.
2014-08-30 01:04:26 +02:00
Max Neunhoeffer
7151c853c1
Make skiplist index insertion aware of the sparse flag.
...
Note that so far this flag is always false.
2014-08-30 00:55:08 +02:00
Max Neunhoeffer
ecf379c113
Fix a bug with the level management of the useSortRule.
2014-08-30 00:54:47 +02:00
Max Neunhoeffer
fcfb50b105
Correct skiplist fix for empty attribute values.
2014-08-30 00:38:26 +02:00
Max Neunhoeffer
ad9f182916
Introduce a boolean switch _sparse in TRI_index_t.
...
At this stage it is always set to false for all indexes.
However, TRI_InitIndex already has an additional argument for this.
2014-08-30 00:34:33 +02:00
Max Neunhoeffer
dc0c204424
Store documents in a skiplist index even if some indexed attrs are empty.
2014-08-29 23:54:22 +02:00
Jan Steemann
1367a016cf
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
2014-08-29 20:38:30 +02:00
James
b6f9f11e5e
added all node types to FilterToEnumCollFinder.
2014-08-29 17:44:32 +02:00
James
b00521b881
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-29 17:41:37 +02:00
James
671824985e
added all node types to FilterToEnumCollFinder.
2014-08-29 17:40:56 +02:00
Jan Steemann
9530a12472
AQL_EXECUTE
2014-08-29 17:39:23 +02:00
Jan Steemann
53d0b740db
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-08-29 17:37:46 +02:00
Jan Steemann
a5b207188f
added optimizer flags for AQL_EXECUTE
2014-08-29 17:37:35 +02:00
James
38520d49eb
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/OptimizerRules.cpp
2014-08-29 17:17:59 +02:00
James
21febb33ac
cleaning up RangeInfo stuff.
2014-08-29 17:16:08 +02:00
Willi Goesgens
40361d63dc
Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2
2014-08-29 17:10:35 +02:00
Willi Goesgens
1f0ce045d3
remove debug output
2014-08-29 17:10:20 +02:00
Jan Steemann
d57ed2749a
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-08-29 17:09:18 +02:00
Jan Steemann
a3d2d0e3f1
renamed file
2014-08-29 17:09:07 +02:00
Max Neunhoeffer
bf1f11e651
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-29 16:57:56 +02:00
Max Neunhoeffer
fa9e55eafb
Finish taking into account multiple FILTER for IndexRangeRule.
2014-08-29 16:57:34 +02:00
Willi Goesgens
24128830ca
Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2
2014-08-29 16:45:55 +02:00
Willi Goesgens
0cb12fc3f5
SortIndex: initialize the rangeInfo the proper way.
2014-08-29 16:45:20 +02:00
Jan Steemann
3b2cf352ad
added functionality to activate/deactivate optimizer rules
2014-08-29 16:31:07 +02:00
Max Neunhoeffer
4ae076db40
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/OptimizerRules.cpp
2014-08-29 15:51:08 +02:00
Max Neunhoeffer
65e765478d
Make IndexRange rule look for multiple variables in FILTERs.
...
Still TODO: Pickup further variables when seeing FILTERs.
2014-08-29 15:49:37 +02:00
Jan Steemann
91590f754f
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/OptimizerRules.cpp
2014-08-29 15:49:35 +02:00
Jan Steemann
b8e12063e2
added "rules" output
2014-08-29 15:27:02 +02:00
James
e1ee728a75
remove debug prints.
2014-08-29 14:41:20 +02:00
Willi Goesgens
67894665f4
revert #cef3864e29cfb5308df55e19a2186af07c21d3b8 which was a wrong conflict resolution.
2014-08-29 14:38:39 +02:00
James
fd4b4e5df4
"proper" estimateCost method for IndexRangeNode.
2014-08-29 14:22:46 +02:00
Thomas Schmidts
3a695c15fd
Added text to documentation
2014-08-29 14:09:49 +02:00
Willi Goesgens
d6881ddabd
Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2
2014-08-29 12:27:33 +02:00
Jan Steemann
1980d8b832
stable sort
2014-08-29 12:24:03 +02:00
Jan Steemann
e47c2b99d3
use stable sort
2014-08-29 12:22:27 +02:00
Willi Goesgens
be1c84f480
Exceptions: don't print Backtraces if the exception is handled in the subsequent js code.
2014-08-29 12:15:19 +02:00
Jan Steemann
5928d285ad
fixed WAL recovery which hung in certain conditions
2014-08-29 12:03:38 +02:00
James
16ef52bd81
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-29 11:52:46 +02:00
James
46b40015ee
renovating RangeInfo stuff to avoid mem leaks.
2014-08-29 11:52:19 +02:00
Max Neunhoeffer
c9193e44b8
Sort out some exception issues.
2014-08-29 11:37:01 +02:00
Max Neunhoeffer
aefea865f5
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-29 11:09:44 +02:00
Max Neunhoeffer
f780cff9c6
Fix a bug with a new plan and insert a catch.
2014-08-29 11:09:18 +02:00
Jan Steemann
6c3544cffb
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-08-29 10:59:33 +02:00
Jan Steemann
8a96f907b0
refactored function argument conversion
2014-08-29 10:59:24 +02:00
James
b25f9d8301
fixed bug in last.
2014-08-29 09:34:23 +02:00
James
7fe3cd8c68
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-29 09:26:40 +02:00
James
58a288fe77
copying a RangeIndexNode now properly copies the range infos.
2014-08-29 09:26:11 +02:00
Jan Steemann
a32fac3747
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-08-29 09:20:36 +02:00
Jan Steemann
43ec93109f
optimizer rules are now kept in a sorted map
...
rules can optionally be disabled at runtime
2014-08-29 00:08:29 +02:00
Jan Steemann
c47807e2ee
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-08-28 16:56:05 +02:00
James
a14be1d3be
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-28 16:55:39 +02:00
Jan Steemann
687c56f923
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-08-28 16:55:22 +02:00
James
4b5e42c52a
bugfixes and leaks fixed.
2014-08-28 16:55:18 +02:00
Jan Steemann
d3624c3244
attempt to fix infinite ranges in skiplists
2014-08-28 16:54:45 +02:00
Max Neunhoeffer
16a5899e8f
Add a FIXME.
2014-08-28 16:52:03 +02:00
Max Neunhoeffer
c1568d94f0
Improve a comment.
2014-08-28 16:50:26 +02:00
Jan Steemann
2a104b8bcb
fixed several AQL tests
2014-08-28 16:19:05 +02:00
Jan Steemann
fd5e687ef0
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-08-28 15:34:17 +02:00
Jan Steemann
694d64da3c
do not optimize away non-deterministic functions
2014-08-28 15:34:06 +02:00
Max Neunhoeffer
84199295ba
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-28 15:21:28 +02:00
Max Neunhoeffer
af340d6dd6
Make sure varUsage is valid before instanciation.
2014-08-28 15:21:05 +02:00
James
3f646034c8
cleaning up IndexRangeBlock::readSkiplistIndex
2014-08-28 15:12:50 +02:00
James
9f6f15f85f
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-28 15:02:27 +02:00
James
9644fc87c7
fixed bug in last.
2014-08-28 15:00:53 +02:00
Max Neunhoeffer
665777c59a
Make dummyRule local in the optimizer.
2014-08-28 14:49:33 +02:00
James
05dac4f52d
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/Optimizer.cpp
2014-08-28 14:41:51 +02:00
James
1deed3ebce
fixed bugs useIndexRange.
2014-08-28 14:39:26 +02:00
Jan Steemann
910c029730
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
2014-08-28 14:28:11 +02:00
Jan Steemann
a2da3eb7ee
removed debug output
2014-08-28 14:27:43 +02:00
Jan Steemann
e686fcaa85
fixed unused variables warning
2014-08-28 14:18:14 +02:00
Jan Steemann
844955cafd
disabled debug output
2014-08-28 14:10:41 +02:00
Jan Steemann
531bb921ff
disabled broken rules
2014-08-28 14:04:32 +02:00
Jan Steemann
04b322d9e0
sorting
2014-08-28 14:04:24 +02:00
Jan Steemann
7ba6b17d45
Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
2014-08-28 13:54:37 +02:00
Jan Steemann
ca814c9733
remove-redundant-sorts
2014-08-28 13:54:17 +02:00
Willi Goesgens
75d9d4ee60
Merge branch 'aql2' of github.com:triAGENS/ArangoDB into aql2
2014-08-28 13:48:44 +02:00
Willi Goesgens
0a1d5edb29
SortToRange: fix abort critereon for non-skiplist indexes
2014-08-28 13:48:03 +02:00
Max Neunhoeffer
9b49328218
Rearrange levels for optimizer rules. Use rules multiple times.
2014-08-28 13:46:46 +02:00
Max Neunhoeffer
e1b557ff20
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/Optimizer.cpp
2014-08-28 13:33:33 +02:00
Max Neunhoeffer
12e15b6c2e
Adjust the output level of useSortIndex rule.
2014-08-28 13:29:44 +02:00
Max Neunhoeffer
338a9c6c54
Implement permutation of EnumerateCollectionNodes.
...
Also: restructure leveling of rules.
And: remove some debugging output (and add some other).
2014-08-28 13:28:04 +02:00
Jan Steemann
2eb38c9657
remove-redundant-sorts, initial
2014-08-28 12:39:28 +02:00
Willi Goesgens
9d4b1b1c88
SortNode: our variables can also be in other ExecutionNodes then the Calculation node. Take this into account.
...
SortIndex optimizer: when looking at our properties only check Calculation nodes, ignore other types of ExecutionNodes
2014-08-28 11:48:23 +02:00
Jan Steemann
a014b44ba4
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Utils/Transaction.h
2014-08-28 11:06:14 +02:00
Jan Steemann
5930c3db70
added NTH function
2014-08-28 11:03:48 +02:00
James
ee3a401c88
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/Aql/ExecutionNode.h
2014-08-28 09:48:49 +02:00
James
511f08e4ca
adding stub for estimateCost for IndexRangeNode.
2014-08-28 09:48:05 +02:00
Max Neunhoeffer
6926c2dfba
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-28 09:36:55 +02:00
Max Neunhoeffer
b9cfff7c89
Fix infinite recursion bug in canThrow for subqueries.
2014-08-28 09:36:15 +02:00
Willi Goesgens
7b9b3d8570
fix memory leak in parametrization of new IndexRangeNodes
2014-08-28 09:20:47 +02:00
Jan Steemann
b9024aeaeb
basic C++ implementations for dedicated AQL functions
2014-08-28 01:24:42 +02:00
Jan Steemann
6d0dfcdeba
changed ctor
2014-08-28 00:27:24 +02:00
Jan Steemann
2d2df1b5da
added TODO
2014-08-28 00:18:19 +02:00
Jan Steemann
a409f37dc6
re-use already declared optimizer rules for all queries
2014-08-28 00:03:23 +02:00
Jan Steemann
1e0a393d48
fixed wrong comment
2014-08-27 23:54:32 +02:00
Jan Steemann
37295fb2b1
changed wrong comments
2014-08-27 23:54:06 +02:00
Jan Steemann
b10ae65d58
rules have names
2014-08-27 23:53:53 +02:00
Jan Steemann
2628afb426
cleanup
2014-08-27 22:46:26 +02:00
Max Neunhoeffer
cc20fbbe58
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-27 22:10:54 +02:00
Max Neunhoeffer
b2d44cd35e
Add show() for ExecutionPlans.
2014-08-27 22:10:38 +02:00
Max Neunhoeffer
f279c40262
Fix an early destruction bug.
2014-08-27 22:10:18 +02:00
James
a84de9bbac
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-27 21:07:53 +02:00
James
ee88997e8e
skiplists in IndexRangeBlock working.
2014-08-27 21:07:34 +02:00
Jan Steemann
5b20348d26
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
2014-08-27 19:39:13 +02:00
Jan Steemann
dfaca5523c
initialize variable
2014-08-27 19:38:53 +02:00
Jan Steemann
cd1d0c45f8
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql2
...
Conflicts:
arangod/V8Server/v8-query.cpp
2014-08-27 19:25:37 +02:00
Jan Steemann
cda10393f5
some traversal speedups
2014-08-27 18:56:51 +02:00
Max Neunhoeffer
c079de3a94
Adjust a cout message.
2014-08-27 16:58:20 +02:00
Max Neunhoeffer
4441316115
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-27 16:52:57 +02:00
Max Neunhoeffer
449d0cd961
Completely redo the optimizer.
2014-08-27 16:52:38 +02:00
James
b8a3382a7f
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-27 16:51:03 +02:00
Jan Steemann
140e10a2a0
added more node types
2014-08-27 16:50:43 +02:00
James
0638a5cbda
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-27 16:32:28 +02:00
Jan Steemann
679b6bd10f
alwaysProducesBoolValue()
2014-08-27 16:24:14 +02:00
James
c8667290b5
fixing bugs in last and removing debug prints.
2014-08-27 16:15:53 +02:00
Willi Goesgens
da6bac560d
SortIndex optimizer: clean up namingschemes, add documentation.
2014-08-27 16:09:25 +02:00
Willi Goesgens
e67a2ed36a
SortIndex optimizer:
...
- remove SortNodes which are superseeded by an IndexRangeNode
- calculate the properties of an SortNode before entering the walker
- add abstraction class
2014-08-27 15:39:37 +02:00
James
61ee74e0fd
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-27 14:52:05 +02:00
James
a3830c2566
IndexRangeNode now working with skiplists.
2014-08-27 14:51:56 +02:00
Max Neunhoeffer
27d8409425
Implement canThrow method for SubqueryNode.
2014-08-27 13:07:05 +02:00
Max Neunhoeffer
47da2daa76
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-27 12:11:24 +02:00
Max Neunhoeffer
23723d8e48
Add an explanation of index operators.
2014-08-27 12:10:51 +02:00
Jan Steemann
86ce08c96f
added comments
2014-08-27 11:34:37 +02:00
Willi Goesgens
5e75ec8bb5
Expression:
...
- add function isSimpleAccessReference() to check whether it is a coll.attr.attr
- add function getAccessNRef() to retrieve pair("attr.attr", "coll"),
SortIndex optimizer:
- use the new functionality to get better readable code.
rename indexes -> indices
2014-08-26 17:26:46 +02:00
Willi Goesgens
18d308af0f
SortNode: add method that looks up the expressions referenced by the Sortnode, and returns them paired with ASC/DESC.
2014-08-26 15:38:55 +02:00
James
851420c723
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-26 15:19:13 +02:00
Willi Goesgens
ff4e00eb86
SortIndex optimizer:
...
- rename getIndexes to getIndexesUnordered
- add CompareIndex & getIndexesOrdered to retrieve a list which does an ordered match on the available skiplist indices
- fetch the ordered matching indices
- only remove the sortnode if its a full qualified match.
2014-08-26 13:53:19 +02:00
James
b8415aaca5
making useIndexRange abort if it encounters a limit node.
2014-08-26 13:11:31 +02:00
James
ad3e6d22a1
Merge branch 'aql2' of ssh://github.com/triAGENS/ArangoDB into aql2
2014-08-26 13:02:58 +02:00
James
bf952d37be
IndexRangeBlock working for hash indexes.
2014-08-26 13:02:31 +02:00
Willi Goesgens
27063a08b5
SortIndex optimizer:
...
- group the ASC/DESC
- find out the real attribute name for nested attributes
2014-08-26 09:48:20 +02:00