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
f0edd198bc
added specializeOne() and specializeAll()
2015-10-12 13:02:52 +02:00
Michael Hackstein
dcc34e5312
The condition finder now creates an IndexNode for SORT statement only, if any index would be suiteable for it.
2015-10-12 11:44:36 +02:00
Jan Steemann
b5c9602407
specialization of conditions
2015-10-09 18:10:33 +02:00
Jan Steemann
c689fc0756
preparation work for index condition specialization
2015-10-08 18:20:10 +02:00
Jan Steemann
404f725461
minor fixes
2015-10-08 17:43:37 +02:00
Jan Steemann
875d89620f
don't clear members in destructor - it's not necessary
2015-10-08 16:35:45 +02:00
Jan Steemann
bf71cdecdb
noexcept
2015-10-08 16:35:28 +02:00
Jan Steemann
d572655d84
fixed compile warning
2015-10-08 16:28:04 +02:00
Jan Steemann
6a4e9658c5
fixes for explainer and condition
2015-10-08 16:22:52 +02:00
Jan Steemann
0d80a17002
generalize condition handling
2015-10-08 15:10:28 +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
Jan Steemann
fbfc7773ef
serialization and deserialization of IndexNodes
2015-10-08 12:02:27 +02:00
jsteemann
738009c69f
fixed compile error
2015-10-07 20:33:15 +02:00
Jan Steemann
d479fa11cc
IndexBlock cleanup
2015-10-07 18:15:50 +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
Jan Steemann
4bf3bb047b
Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-jmmh-conditions
2015-10-07 17:25:56 +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
Michael Hackstein
ef78f03309
Merge branch 'devel' of github.com:arangodb/arangodb into devel
2015-10-07 17:05:02 +02:00
Michael Hackstein
ab23a01263
Properly react to return value
2015-10-07 17:04:56 +02:00
Jan Steemann
ef04ccdc8c
fixed expansion node cloning
2015-10-07 17:03:17 +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
Jan Steemann
85eacaa458
fixed memleaks
2015-10-07 16:12:20 +02:00
Michael Hackstein
16369c7ac5
Merge branch 'devel' of github.com:arangodb/arangodb into devel
2015-10-07 15:51:06 +02:00
Michael Hackstein
1ba2efed60
Fixed GraphNeighbors as locking was not woring for include data
2015-10-07 15:50:41 +02:00
Frank Celler
4b0911c799
added debugging header x-arango-v8-context
2015-10-07 13:37:35 +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
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
14dc0be744
primary index now supporting IN
2015-10-06 14:46:33 +02:00
Jan Steemann
a12eda295b
aha!
2015-10-06 13:03:46 +02:00
Jan Steemann
310442c8ac
Merge branch 'aql-jmmh-conditions' of https://github.com/arangodb/arangodb into aql-jmmh-conditions
2015-10-06 11:24:02 +02:00
Jan Steemann
b6c8d77d98
some bugfixes
2015-10-06 11:23:55 +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
8761e5abde
Fixed broken nested loop.
2015-10-06 09:41:30 +02:00
Jan Steemann
118f924598
support [*] operator
2015-10-05 19:15:22 +02:00
Jan Steemann
e46ba60715
changed signatures of attribute-access-detecting functions
2015-10-05 16:01:19 +02:00
Michael Hackstein
00c99f135a
Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions
2015-10-05 13:56:12 +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
Jan Steemann
37bc5b64ff
fixed segfault
2015-10-05 13:49:23 +02:00
Jan Steemann
1c990b7324
Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-jmmh-conditions
...
Conflicts:
arangod/Aql/ExecutionNode.cpp
2015-10-05 10:32:36 +02:00
Jan Steemann
7d4c379598
small modifications, temporarily disabled interchange-adjacent-enumerations
2015-10-02 19:53:35 +02:00
Jan Steemann
f7b207e582
removed unused variable
2015-10-02 18:05:11 +02:00
Jan Steemann
574f88a1f9
fixed invalid cast
2015-10-02 18:04:52 +02:00
Jan Steemann
32556a828e
fixed potentially invalid cast
2015-10-02 17:40:34 +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
9bfd929cf5
Indexes compile again and some expressions seem to be evaluated. Might still crash. Start with --no-server with server it is still broken
2015-10-02 17:14:18 +02:00
Michael Hackstein
5de1a9b9b5
Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions
2015-10-02 17:03:57 +02:00
Michael Hackstein
d77dfc55c3
Started implementing runtime evaluation of IndexNode expressions
2015-10-02 17:03:53 +02:00
Michael Hackstein
4c065f470c
Registered Index Node in several places where it was not yet handled.
2015-10-02 17:02:39 +02:00
Jan Steemann
a2731a6121
blind commit
2015-10-02 17:02:02 +02:00
Jan Steemann
3a92fa8e16
merge IN with IN
2015-10-02 15:22:21 +02:00
Jan Steemann
7292384b37
deduplicate IN arrays
2015-10-02 14:05:27 +02:00
Jan Steemann
42b02427e6
fixed index usage
2015-10-01 17:27:57 +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
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
32bdc19522
Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-jmmh-conditions
2015-09-30 17:47:00 +02:00
Jan Steemann
0ea2247eb0
scan-build
2015-09-30 17:28:52 +02:00
Jan Steemann
806272876c
satisfy scan-build
2015-09-30 17:21:07 +02:00
Jan Steemann
e71ff5a4f5
cppcheck
2015-09-30 16:50:57 +02:00
Jan Steemann
40a1cf3ce3
fixed segfault
2015-09-30 16:03:46 +02:00
Jan Steemann
91e8884518
added AggregateNode.*
2015-09-30 15:55:38 +02:00
Jan Steemann
50fa5a2138
added SortNode file
2015-09-30 15:42:48 +02:00
Jan Steemann
9041b7b2c9
file split
2015-09-30 15:29:32 +02:00
Jan Steemann
d99f7a498d
moved index nodes to their own files
2015-09-30 15:13:49 +02:00
Jan Steemann
b5cf8ce942
moved cluster nodes out of ExecutionNode.*
2015-09-30 14:51:11 +02:00
Jan Steemann
47e1b3ceb8
stringify conditions
2015-09-30 14:35:18 +02:00
Jan Steemann
6405c82a32
removed global reverse-flag for IndexNode. this flag has to be moved into the separate indexes used by the node
2015-09-30 14:14:41 +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
Michael Hackstein
0fab24aca5
Fixed double free of condition and reactivated IndexNode
2015-09-30 08:36:56 +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
8f0bd93120
Disabled the IndexBlock again, not yet working
2015-09-29 10:18:46 +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
e35ea8995e
Fixed used after free of condition node. Cloned the Condition AST whie handing it over. Still get a double free exception. IndexNodeis now handled.
2015-09-29 09:13:08 +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
89b6329985
Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-jmmh-conditions
2015-09-28 18:13:29 +02:00
Jan Steemann
84f59d112e
unified index use checks
2015-09-28 18:13:04 +02:00
Jan Steemann
0d845955e2
Merge branch 'aql-jmmh-conditions' of https://github.com/arangodb/arangodb into aql-jmmh-conditions
2015-09-28 14:11:44 +02:00
Jan Steemann
3495816fa1
changed index signatures
2015-09-28 14:11:23 +02:00
Michael Hackstein
cf7b0734b0
Fixed compile error
2015-09-28 13:50:26 +02:00
Michael Hackstein
0cdc8afcd5
Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions
2015-09-28 13:38:45 +02:00
Michael Hackstein
18f890895f
Fixed executionNode, does compile again
2015-09-28 13:38:40 +02:00
Jan Steemann
35f2bdb9fd
fixed
2015-09-28 13:31:53 +02:00
Michael Hackstein
5e0c1900f8
Added more implementation to new IndexNode
2015-09-28 11:53:23 +02:00
Michael Hackstein
18f71966e9
React to _condition is nullptr when hitting EnumerateCollection
2015-09-28 11:02:39 +02:00
Jan Steemann
aebf442e7a
note latest sort expression used in a query
2015-09-25 18:21:25 +02:00
Jan Steemann
ccd06fc1a4
simplified ConditionFinder
2015-09-25 18:01:02 +02:00
Jan Steemann
d5dabfb528
Merge branch 'aql-jmmh-conditions' of https://github.com/arangodb/arangodb into aql-jmmh-conditions
...
Conflicts:
arangod/Aql/OptimizerRules.cpp
2015-09-25 17:41:10 +02:00
Jan Steemann
d51c984f11
use findEndNodes
2015-09-25 17:39:23 +02:00
Jan Steemann
c72c568b07
added findEndNodes
2015-09-25 17:38:46 +02:00
Michael Hackstein
17a45c8cd3
Fixed potential memleaks in failure cases
2015-09-25 17:38:04 +02:00
Jan Steemann
0f52db88c9
added EndNodeFinder
2015-09-25 17:37:50 +02:00
Michael Hackstein
368eeb95b3
Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions
2015-09-25 17:23:52 +02:00
Michael Hackstein
2a342fe40f
The use-indexes rule now replaces EnumerateCollectionNodes with IndexNodes. Seems to work on visual test, needs automated test
2015-09-25 17:23:47 +02:00
Jan Steemann
f2cbaa38e0
fixed condition printing
2015-09-25 16:35:18 +02:00
Michael Hackstein
e0817f0263
Merge branch 'aql-jmmh-conditions' of github.com:arangodb/arangodb into aql-jmmh-conditions
2015-09-25 16:34:49 +02:00
Michael Hackstein
6d814f63eb
Modified the condition finder to maintain a list of possible enumerate collections nodes
2015-09-25 16:34:44 +02:00
Jan Steemann
9472eb7b45
make it link again
2015-09-25 16:30:29 +02:00
Jan Steemann
abc87b2d5f
added IndexNode stub
2015-09-25 13:40:51 +02:00
Michael Hackstein
1941b7f880
Added a new IndexNode does not compile yet
2015-09-25 13:18:43 +02:00
Michael Hackstein
2ab13b81a4
The Condition will now successfully produce a list of Indexes that can be combined for the current EnumerateCollectionBlock. If this list is empty we can do nothing but a Full Collection Scan
2015-09-25 13:00:37 +02:00
Michael Hackstein
6eb23f14f4
The Condition findIndexes now tries to find an index for each AND block and fills a list of indexes, iff there is any element in the list we are able to use a CombinedIndexRangeNode, if not we still have to use the EnumerateCollectionNode
2015-09-25 11:45:31 +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
180ffa74a3
Moved the conditionFinder to a seperate file
2015-09-24 14:16:25 +02:00
Michael Hackstein
6525755cc0
Fixed memleak
2015-09-23 17:04:37 +02:00
Michael Hackstein
8c3283f8a0
Fixed memleak
2015-09-23 16:29:28 +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
614902ee99
Replaced TRI_vector_pointer by std::vector in AstNode
2015-09-23 15:02:34 +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
jsteemann
5c0ff48478
cppcheck
2015-09-22 23:40:57 +02:00
Michael Hackstein
e6e795e198
Improved dev output. Now it is easier to see where more than one index is suiteable
2015-09-22 16:14:10 +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
f1b0afd9a6
Started to implement functions to find indexes for each Condition sub part
2015-09-22 11:19:52 +02:00
Michael Hackstein
0d3a095736
Fixed a bug in AQL execution which caused LIMIT <skip> <total> to fail after sorting based on an attribute with skiplist index
2015-09-21 13:15:56 +02:00
Jan Steemann
291891036f
internal refactoring of query API
2015-09-18 17:33:39 +02:00
Jan Steemann
3c4c64cf14
allow multiple collection nodes
2015-09-18 17:27:10 +02:00
Jan Steemann
3e4eab104c
changed internal API
2015-09-18 17:00:39 +02:00
Jan Steemann
aec802f126
removed unused functions
2015-09-18 16:53:22 +02:00
Michael Hackstein
1a7f414c16
Merge branch 'devel' of github.com:arangodb/arangodb into JHMH
2015-09-18 12:21:39 +02:00
Frank Celler
c4d1fff729
new traversal
2015-09-18 10:40:28 +02:00
Jan Steemann
fc553f4909
removed iostream includes
2015-09-17 18:46:42 +02:00
Michael Hackstein
1e5b246b6b
Included the work of @dothebart that was created on optimizing the condition tree.
2015-09-17 18:27:47 +02:00
Jan Steemann
10edae06b4
cppcheck
2015-09-17 18:25:55 +02:00
Jan Steemann
2f10135e60
transplanted changes from aql-conditions
2015-09-16 17:36:17 +02:00
Jan Steemann
b0798bbb19
first commit, broken
2015-09-16 17:22:09 +02:00
CoDEmanX
4158f7d12b
Add AQL function DATE_DAYS_IN_MONTH(), extend DATE_FORMAT()
...
Conflicts:
js/server/modules/org/arangodb/aql.js
2015-09-14 11:35:04 +02:00
Jan Steemann
d9169f964e
potential fix for 32 bit version
2015-09-12 21:26:59 +02:00
Jan Steemann
ea4754546a
clear AQL cache objects when starting a query, fixed a few TODOs in AQL date implementation
2015-09-11 21:23:07 +02:00
CoDEmanX
6fba9c5284
Additional AQL date functions: DATE_DAYOFYEAR, DATE_ISOWEEK, DATE_LEAPYEAR, DATE_QUARTER, DATE_ADD, DATE_SUBTRACT, DATE_DIFF, DATE_COMPARE and DATE_FORMAT.
...
Unit tests incomplete and untested. Behavior of some functions might need adjustments. ISO duration cache needs to be cleared on every AQL query to avoid a memory leak.
Please rebuild Aardvark and see TODOs in code. Also added Windows shortcuts to ignore list.
2015-09-11 06:23:36 +02:00
Jan Steemann
3e39dd088c
better clear the block
2015-09-08 17:47:43 +02:00
Jan Steemann
a7b51c39da
added tests
2015-09-08 17:34:14 +02:00
Jan Steemann
8b599b5274
changed some include headers around
2015-09-07 17:09:10 +02:00
Willi Goesgens
aec58c64c6
Add cast for windows
2015-09-07 13:36:06 +02:00
CoDEmanX
8aa78dcb7f
Fix some more typos
2015-09-05 17:18:04 +02:00
Jan Steemann
e602ca5662
issue #1471 : document() vs documents() parameters (_key and _id)
2015-09-04 18:13:23 +02:00
Jan Steemann
c6e44dde1d
made two methods private
2015-09-04 10:59:28 +02:00
Willi Goesgens
771c291042
Merge pull request #1472 from CoDEmanX/devel
...
More Americanization
2015-09-04 09:15:30 +02:00
Jan Steemann
06760a2c45
fixed broken index scan
2015-09-03 22:49:53 +02:00
CoDEmanX
3a9648d78a
More Americanization
2015-09-03 22:25:43 +02:00
Michael Hackstein
630c8fd42f
Improved Primary Sequential read
2015-09-03 16:25:24 +02:00
CoDEmanX
956b396e43
Change spelling of 'initialize' to American English (actual code and files)
2015-09-01 17:29:22 +02:00
CoDEmanX
b4593a7e82
Change spelling of 'initialize' to American English (comments and log messages only)
2015-09-01 17:07:21 +02:00
Michael Hackstein
bb03d0001b
Fixed memlead in index operator. Destructor was not virtual
2015-09-01 15:38:25 +02:00
Michael Hackstein
027445697d
Renamed SkiplistIndex2 to SkiplistIndex ;)
2015-09-01 15:05:49 +02:00
Michael Hackstein
c2b0220fd5
Style fix2
2015-09-01 15:05:48 +02:00
Michael Hackstein
26d64776c1
C++ified index-operator. Removed the free function now everything is handled properly via destructors
2015-09-01 15:05:47 +02:00
Michael Hackstein
f81b962058
Get the IndexRangeBlock used to C++ified Skiplist
2015-09-01 15:05:47 +02:00
Jan Steemann
47695e9bd0
less headers used
2015-08-29 02:17:25 +02:00
Jan Steemann
dfa749ecbc
less headers included
2015-08-28 13:54:02 +02:00
Michael Hackstein
81fa8018b0
Improved primary index lookups to use parameter by reference instead of byPointer. less error prone. Fixed some issues with it.
2015-08-28 09:28:24 +02:00
Jan Steemann
afb342eefd
split big ExecutionBlock file into smaller files
2015-08-27 00:28:20 +02:00
Jan Steemann
d0bd94f4c5
fixed Json
2015-08-26 16:23:26 +02:00
Jan Steemann
61243ebb7b
Merge branch 'devel' of https://github.com/arangodb/arangodb into array_indexing
...
Conflicts:
arangod/HashIndex/hash-array-multi.cpp
arangod/Indexes/HashIndex.cpp
2015-08-26 15:01:29 +02:00
Frank Celler
2d45445a10
added additional-threads option
2015-08-26 13:13:47 +02:00
Michael Hackstein
40c1361244
Merge branch 'devel' of github.com:arangodb/arangodb into array_indexing
2015-08-25 16:40:31 +02:00
Jan Steemann
7540059f36
uint32_t => uint64_t
2015-08-25 15:08:09 +02:00
Jan Steemann
387e3e9cd4
make removeByExample, replaceByExample and updateByExample use AQL internally
2015-08-22 23:22:24 +02:00
Michael Hackstein
b708a7ae68
Merge remote-tracking branch 'origin/devel' into array_indexing
2015-08-21 15:34:49 +02:00
Jan Steemann
8ee12f7a27
binary-safe back-references
2015-08-20 21:01:43 +02:00
Michael Hackstein
4bb8508d82
Implemented a new improved version of the Array index insertion function.
2015-08-20 14:03:17 +02:00
Jan Steemann
97d67e4399
use binary-safe string representations
2015-08-20 01:46:20 +02:00
Jan Steemann
1be3733a64
moved some handlers around
...
fix disappeared handlers
2015-08-20 01:26:52 +02:00
Max Neunhoeffer
ff135a10ad
Add some overrides to silence a clang compiler warning.
2015-08-19 14:46:06 +02:00
Michael Hackstein
59e8ea3fad
Merge branch 'devel' of github.com:arangodb/arangodb into array_indexing
2015-08-19 11:56:34 +02:00
Jan Steemann
bc7e0f7bbd
issue #1445 : Object literal simplificatin does not support pseudo-variables NEW and OLD
2015-08-19 09:25:46 +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
dac7fb06e0
Finish change to hash index. Compiles, unit-tests still broken in one place.
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
8e3e2d547d
Do not push <Class const> into vector. It does not work everywhere
2015-08-17 12:43:11 +02:00
Jan Steemann
907e6368c6
some unused function cleanup
2015-08-17 12:43:09 +02:00
Michael Hackstein
c2338d80d0
A user can now create an indux on attribute[*] which will put an index on attribute and ignores the expand flag. Does not harm any feature in AQL now.
2015-08-17 12:43:08 +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
57e9b55739
use TRI_CHAR_NODE_PAIR()
2015-08-14 00:54:59 +02:00
Jan Steemann
dc1910e331
added AQL optimizer rule `patch-update-statements`
2015-08-13 13:02:47 +02:00
Jan Steemann
7b5ac63591
cppcheck
2015-08-12 21:37:28 +02:00
Frank Celler
9de6bd39db
moved to strings, fixed #1432 : arangosh doesn't ignore prefixed ....> on paste
2015-08-12 17:54:14 +02:00
Jan Steemann
330fac6225
some unused function cleanup
2015-08-06 21:25:32 +02:00
Jan Steemann
922c16dce1
fixed invocation of `LIKE`
2015-08-04 12:23:40 +02:00
Jan Steemann
857f0b8b35
next attempt to make it compile on MacOS
2015-08-04 11:38:38 +02:00
Jan Steemann
5dab23a3b7
CXX implementation of AQL `LIKE`
2015-08-04 10:30:18 +02:00
Jan Steemann
0f1ce26e41
added function to create an ICU RegexMatcher
2015-08-03 23:57:26 +02:00
Jan Steemann
24b44e474f
a bit less copying
2015-07-30 12:20:22 +02:00
Jan Steemann
14fe919b5b
constify
2015-07-30 00:07:50 +02:00
Jan Steemann
2d8777bc6c
make the optimizer create less plans
2015-07-30 00:07:32 +02:00
Jan Steemann
4912ce3200
fix cluster startup
2015-07-29 12:55:06 +02:00
Jan Steemann
454a6c998c
Merge branch 'devel' of https://github.com/arangodb/arangodb into shaper-cxx
2015-07-28 17:38:48 +02:00
Jan Steemann
6d7ccd7699
move shaper to cxx
2015-07-28 17:38:31 +02:00
Michael Hackstein
412394ff3c
Merge branch 'devel' of github.com:arangodb/arangodb into devel
2015-07-28 13:22:01 +02:00
Michael Hackstein
25f7b25206
Fixed failing failure-tests
2015-07-28 13:21:54 +02:00
Jan Steemann
bef83a7fbb
Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
2015-07-28 11:45:11 +02:00
Jan Steemann
cdfdec9244
save some overhead when walking plans
2015-07-28 11:44:34 +02:00
Jan Steemann
3d3024a54e
cppcheck
2015-07-28 09:51:24 +02:00
Jan Steemann
9791e467d4
fixed results for query profiling
2015-07-27 18:33:58 +02:00
Jan Steemann
8685a6a250
documentation for `RETURN DISTINCT`
2015-07-27 11:27:59 +02:00
Jan Steemann
dbb740a705
activate distinct test
2015-07-24 13:41:01 +02:00
Jan Steemann
239cc1504e
cleanup
2015-07-24 13:33:09 +02:00
Jan Steemann
38b2d6caea
Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
2015-07-24 13:21:49 +02:00
Jan Steemann
ead280afe5
added DISTINCT
2015-07-24 13:19:55 +02:00
Frank Celler
f96ab73745
Merge branch 'dispatcher' of github.com:arangodb/arangodb into devel
2015-07-24 11:32:22 +02:00
Michael Hackstein
9cc0554346
Merge branch 'fasterNeighbors' into devel
2015-07-24 10:25:00 +02:00
Frank Celler
647ce78293
removed unused variable
2015-07-23 22:44:52 +02:00
Michael Hackstein
1ed4143f09
Fixed a wrong error code in NEIGHBORS
2015-07-23 16:23:35 +02:00
Michael Hackstein
67463232bf
Fixed Error messages in CPP Only Neighbors function
2015-07-23 16:22:12 +02:00
Michael Hackstein
89ca3f68b9
Fixed edgeExamples in CPPOnly Neighbors function
2015-07-23 16:08:32 +02:00
Frank Celler
4dccc6a8dc
Merge branch 'devel' of github.com:arangodb/arangodb into dispatcher
2015-07-23 15:41:05 +02:00
Frank Celler
35a3c6421c
moved dispatcher to atomic
2015-07-23 15:40:34 +02:00
Michael Hackstein
84174aa99a
Added edgeExamples functionality to CPPonly Neighbors.
2015-07-23 15:25:50 +02:00
Jan Steemann
e5dbf725b2
added shorthand notation for attribute names in AQL object literals
2015-07-23 14:24:37 +02:00
Michael Hackstein
1ae50e026c
Merge branch 'devel' of github.com:arangodb/arangodb into fasterNeighbors
2015-07-23 11:23:49 +02:00
Michael Hackstein
a2dab04ff2
Implemented direction in CPPOnly neighbors and added some error outputs
2015-07-23 11:23:35 +02:00
Jan Steemann
c6d5f7d775
use move
2015-07-23 10:30:49 +02:00
Michael Hackstein
379e189b5b
Quick fix for string out of scope.
2015-07-22 18:24:52 +02:00
Michael Hackstein
cdf98f564f
The CPP only Neighbors now allows for _key in addition to _id
2015-07-22 17:46:38 +02:00
Michael Hackstein
22ad95b987
Implemented a Neighbors CPP only function. This is not piped through V8 function calls any more. Right now it is NOT fully featured and only Experimental.
2015-07-22 17:21:59 +02:00
Jan Steemann
aad327714c
handle AstNodes of type collection
2015-07-22 11:59:45 +02:00
Jan Steemann
5a9f9ecbab
added execution conditions for CXX AQL functions
2015-07-22 11:35:57 +02:00
Frank Celler
9b95e08765
cleanup of member names
2015-07-20 17:40:13 +02:00
Jan Steemann
124fe7a34c
use new/delete for TRI_vocbase_t
2015-07-20 12:08:13 +02:00
Jan Steemann
118fd54fd0
split tests
2015-07-20 10:58:43 +02:00
Jan Steemann
4bc188422a
cppcheck
2015-07-15 22:13:42 +02:00
Jan Steemann
2a7ed52768
fixed invalid access to outdated iterator
2015-07-15 11:06:47 +02:00
Jan Steemann
ad30baa08c
retry qcache with cluster
2015-07-14 14:53:16 +02:00
Jan Steemann
3f6bdab81f
try to fix cluster crash
2015-07-14 11:39:49 +02:00
Jan Steemann
6c9922ff6e
disable qcache in cluster
2015-07-14 11:11:19 +02:00
Jan Steemann
c71dc4d9bb
Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-query-cache
2015-07-13 10:49:14 +02:00
Willi Goesgens
bd7aa7c305
Remove the global include to iostream; this reduces the compile time by 10%
...
( http://herbsutter.com/2013/08/19/gotw-7a-solution-minimizing-compile-time-dependencies-part-1/ for inspiration)
2015-07-07 12:11:21 +02:00
Jan Steemann
e25ecb5be8
added function cacheability info
2015-06-27 09:06:35 +02:00
Jan Steemann
1f5e047486
query cache, now with result limitations, HTTP and JavaScript APIs
2015-06-27 01:12:32 +02:00
Jan Steemann
7410cefdbd
Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-query-cache
2015-06-25 23:42:54 +02:00
Jan Steemann
6ed990b59c
fixed warning
2015-06-25 23:41:39 +02:00
Jan Steemann
8372c33993
fixed invalidation with index creation etc., adjusted tests
2015-06-25 23:40:31 +02:00
Jan Steemann
66eec2ac7e
fix invalidation
2015-06-25 16:46:04 +02:00
Jan Steemann
e86ed5c685
Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-query-cache
2015-06-25 10:02:05 +02:00
Jan Steemann
29c1904e21
issue #1383 : bindVars for HTTP API doesn't work with empty string
2015-06-25 09:23:40 +02:00
Jan Steemann
91621685fb
cache invalidation
2015-06-24 23:02:19 +02:00
Jan Steemann
1b2f5d8cb2
Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-query-cache
2015-06-23 22:52:26 +02:00
Jan Steemann
5916677a0b
fixed leak
2015-06-23 22:45:57 +02:00
Jan Steemann
259b74b60e
Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-star-operator-cxx
2015-06-23 22:34:29 +02:00
Jan Steemann
a42c3b1004
do not return false result
2015-06-23 19:54:27 +02:00
Jan Steemann
a7a7fd51b0
use query cache for cursor API as well
2015-06-23 19:42:00 +02:00
Jan Steemann
e3a15227ce
query cache for AQL queries. no invalidation yet, so results will be wrong when underlying collections are changed
2015-06-23 18:42:58 +02:00
Jan Steemann
5480e6f4bd
removed AQL `SKIPLIST` function deprecated in 2.6
2015-06-21 16:21:49 +02:00
Jan Steemann
7313b19431
implemented FILTER, LIMIT and multi-star features
2015-06-20 14:21:58 +02:00
Jan Steemann
64089eea75
partial implementation
2015-06-20 11:21:57 +02:00
Jan Steemann
ce31550a9f
fix variable naming in COLLECT INTO results in case the COLLECT is placed in a subquery which itself is followed by other constructs that require variables
2015-06-19 13:00:49 +02:00
Jan Steemann
67082b15fd
moved AQL TO_* functions to CXX
2015-06-18 21:30:13 +02:00
Jan Steemann
1fe842dab1
Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
2015-06-18 19:30:50 +02:00
Jan Steemann
aff1f6a6a0
fixed leaks
2015-06-18 19:30:29 +02:00
Max Neunhoeffer
57716566c2
Merge branch 'devel' of ssh://github.com/ArangoDB/ArangoDB into devel
2015-06-18 17:30:08 +02:00
Max Neunhoeffer
2844f02a74
Mark blocking threads as such in two places to allow additional threads.
...
This fixes some cluster hang bugs in larger clusters.
2015-06-18 17:28:51 +02:00
Jan Steemann
86f1a02e18
Merge branch 'aql-argv-optimization' of https://github.com/arangodb/arangodb into devel
2015-06-18 17:12:47 +02:00
Jan Steemann
5e7dd0da7f
Merge branch 'aql-argv-optimization' of https://github.com/arangodb/arangodb into devel
2015-06-18 17:12:14 +02:00
Jan Steemann
83b326cfc7
moved PUT /_api/simple/all to C++
2015-06-18 15:34:45 +02:00
Jan Steemann
300d85ccf7
added generated files
2015-06-17 15:40:04 +02:00
Jan Steemann
fb53587d9e
added generated files
2015-06-17 15:39:08 +02:00
Jan Steemann
a76695345d
constify
2015-06-17 12:41:24 +02:00
Jan Steemann
dec79dd051
pass function arguments by reference
2015-06-16 18:01:45 +02:00
Jan Steemann
7cd27d5c56
Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-parser-simplification
2015-06-16 15:14:18 +02:00
Jan Steemann
d6f3436cc9
added tests
2015-06-16 15:13:53 +02:00
Jan Steemann
529055c4ca
use typedefs
2015-06-16 09:50:17 +02:00
Jan Steemann
3e99e76b4f
fixed range access
2015-06-13 02:27:17 +02:00
Jan Steemann
c5d099a1c5
fixed array range accesses
2015-06-12 23:45:08 +02:00
Jan Steemann
1174cfd05c
added tests
2015-06-12 18:29:54 +02:00
Jan Steemann
78fd4a767e
Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-parser-simplification
2015-06-12 17:30:21 +02:00
Jan Steemann
cc2c99be23
added code comment
2015-06-12 17:29:55 +02:00
Jan Steemann
ba49ab41c8
Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-parser-simplification
2015-06-12 17:25:02 +02:00
Jan Steemann
05edd3bfc0
removed empty lines
2015-06-12 15:45:49 +02:00
Max Neunhoeffer
2700abf2c8
Increase a timeout slightly.
2015-06-12 15:42:04 +02:00
Jan Steemann
3d5ec4d906
speedup for V8-based AQL functions with huge literal array/object parameters
2015-06-12 15:40:08 +02:00
Jan Steemann
e7ff3f2a19
Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-parser-simplification
2015-06-12 12:04:41 +02:00
Jan Steemann
1a18fb0282
factor out huge array/object literals when calling V8-based AQL functions
2015-06-12 11:50:22 +02:00
Jan Steemann
4421a8499f
allow (expr)[expr], (query)[expr], {literal}.attr and [literal][expr]
2015-06-11 20:34:03 +02:00
Jan Steemann
3985498fc3
added [x..y] array access, added [**] operator
2015-06-11 00:09:41 +02:00
Jan Steemann
d99d164c0a
simplified parser
2015-06-10 20:25:25 +02:00
Jan Steemann
66c59a3be2
Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
2015-06-09 17:23:43 +02:00
Michael Hackstein
0c524ae537
Merge branch 'devel' of github.com:/arangodb/arangodb into devel
2015-06-09 11:57:35 +02:00
Jan Steemann
e9c7112d74
small header fixes
2015-06-08 19:03:00 +02:00
Jan Steemann
6f56e9ef43
indentation
2015-06-08 16:23:49 +02:00
Jan Steemann
a6b2998b5d
added try...catch blocks for V8-to-CPP bindings
2015-06-08 16:04:42 +02:00
Michael Hackstein
dc7a910521
Added an accitional 'includeVertices' option to EDGES AQL function. This can now return the forat that has been returned by Neighbors before.
2015-06-08 15:22:27 +02:00
Jan Steemann
d2fef98c02
renamed internal function
2015-06-03 18:24:24 +02:00
Jan Steemann
b76cb5caee
use nullptr
2015-06-02 23:39:41 +02:00
Jan Steemann
3bb5eb1a9d
small optimizations
2015-06-02 23:20:00 +02:00
Jan Steemann
4c7994597a
cppcheck
2015-06-02 22:49:22 +02:00
Jan Steemann
fda6aec8d5
push_back => emplace_back
2015-06-02 22:48:55 +02:00
Jan Steemann
8b8918f72c
added (still disabled) rule fuse-calculations
2015-06-02 21:32:38 +02:00
Jan Steemann
a2d99b55ec
cxxified more functions
2015-06-02 15:15:45 +02:00
Jan Steemann
99207731df
micro optimizations
2015-06-02 14:12:48 +02:00