1
0
Fork 0
Commit Graph

275 Commits

Author SHA1 Message Date
Jan Steemann fd3e123253 optimizations for AST node flagging and V8 object creation 2015-01-22 19:35:20 +01:00
Jan Steemann 20e7fe7a7a the great rename: array => object, list => array 2014-12-18 21:07:06 +01:00
Willi Goesgens 1c4a72b106 The Big V8 upgrade Merge. 2014-12-15 17:30:56 +01:00
Jan Steemann 6185943bc5 prevent double-free of variable bounds 2014-12-03 17:45:46 +01:00
Jan Steemann 065a5ecef0 issue #1100: HAS() fails on doc[attribute_name] 2014-11-17 11:38:57 +01:00
Jan Steemann 0d01e6c7b6 less verbose error messages 2014-11-07 11:16:25 +01:00
Jan Steemann b0de1bb226 leaner and meaner error messages 2014-11-07 10:53:00 +01:00
Jan Steemann 83252851e6 report warnings in queries 2014-10-30 17:33:15 +01:00
Jan Steemann 0903c1b9b6 use more precomputed values in expressions 2014-10-29 21:41:00 +01:00
Jan Steemann 464c0751d9 removed TODOs 2014-10-29 13:19:13 +01:00
Jan Steemann ecc6089cc8 removed TODO 2014-10-29 13:06:54 +01:00
Jan Steemann 8bb213e7ba sort and cache list expression values
emplace

fixed wrong assertion
2014-10-29 01:02:20 +01:00
Jan Steemann 2e9100619a a bit less copying 2014-10-28 18:10:23 +01:00
Jan Steemann b5c222b9b8 determine whether calculations may run on a DB server 2014-10-27 12:04:06 +01:00
Jan Steemann 0f2cd7211b fixed v8 crash 2014-10-24 23:30:07 +02:00
Jan Steemann 50e8fed964 more handlescopes 2014-10-24 17:29:22 +02:00
Jan Steemann 6dfe652d56 cleanup v8 expressions in coordinator, too 2014-10-23 22:22:15 +02:00
Jan Steemann 8583dc08ca fix V8 segfault 2014-10-23 14:03:50 +02:00
Jan Steemann ee614d6ebd v8 context handling 2014-10-17 15:25:06 +02:00
Jan Steemann 912a8162fb some renaming 2014-10-16 17:23:50 +02:00
Jan Steemann 70c59a61fd removed macro 2014-10-16 16:28:18 +02:00
Jan Steemann 64fd7ea4b3 conversions 2014-10-16 10:20:04 +02:00
Jan Steemann 6895ba9e27 fixed tests 2014-10-14 13:20:10 +02:00
Willi Goesgens c01e31c404 when de-serializing nodes don't create new variables, but look up the ones we already have. 2014-10-06 11:55:11 +02:00
Jan Steemann f3186fa065 cppcheck 2014-09-29 17:02:40 +02:00
Jan Steemann ae5f454bfc added unary operator 2014-09-19 17:46:36 +02:00
Jan Steemann 92e46b8191 use SimpleExpression for more types of expressions 2014-09-19 17:40:47 +02:00
Jan Steemann 9a6dfa1db2 execute several types of expressions in C++ 2014-09-19 15:21:01 +02:00
Jan Steemann 1d87957b40 reserve enough memory for simple lists & arrays 2014-09-19 12:44:46 +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
Jan Steemann 6fad76928d Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2 2014-09-15 18:17:53 +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
Jan Steemann 34d2913002 added NOT IN operator, added keywords NOT, AND, OR 2014-09-14 01:34:58 +02:00
Jan Steemann 87afcf5e8d the great rename 2014-09-13 00:10:11 +02:00
Jan Steemann 76c1da4e9c added test for remove-redundant-calculations 2014-09-12 16:58:01 +02:00
Jan Steemann f57312baf0 pass AST to expression 2014-09-12 15:40:17 +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
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
Jan Steemann 71600f89b7 use RANGE AqlValue type 2014-09-11 11:56:40 +02:00
Max Neunhoeffer b88bceda00 Fix memleaks. 2014-09-05 18:20:48 +02:00
Max Neunhoeffer 6f22f5529a Fix memory leak, AqlValues must be destroyed explicitly. 2014-09-02 15:19:21 +02:00
Jan Steemann a3d2d0e3f1 renamed file 2014-08-29 17:09:07 +02:00
Jan Steemann 694d64da3c do not optimize away non-deterministic functions 2014-08-28 15:34:06 +02:00
Jan Steemann 2eb38c9657 remove-redundant-sorts, initial 2014-08-28 12:39:28 +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
Willi Goesgens da6bac560d SortIndex optimizer: clean up namingschemes, add documentation. 2014-08-27 16:09:25 +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
Jan Steemann 3fe8831a03 fixed optimizer bug due to duplicate variable representation 2014-08-20 14:18:33 +02:00
Jan Steemann 52566a2975 optimizations for list expressions 2014-08-20 11:19:28 +02:00
Jan Steemann 99ce138c12 fixed creation of subqueries from JSON input 2014-08-19 18:51:11 +02:00
Willi Goesgens 1a6487ab14 Json de/serialization 2014-08-19 16:09:37 +02:00
Jan Steemann 631a73d9cb moved analyzeExpression() call into constructor 2014-08-15 13:14:45 +02:00
Jan Steemann 9306105447 REMOVE 2014-08-15 12:44:35 +02:00
Jan Steemann 773c29cecf further work on RemoveNode 2014-08-15 12:20:17 +02:00
Jan Steemann 655d7759bf added canThrow() for Expression 2014-08-14 20:20:59 +02:00
Willi Goesgens 004d9bdbbb Implement Simple Expression evaluation for Arrays. 2014-08-13 18:28:22 +02:00
Jan Steemann 8f9591ca1e properly stringify _from and _to attributes using CollectionNameResolver 2014-08-13 15:59:56 +02:00
Jan Steemann ea418088c5 fixed simple expressions 2014-08-13 15:39:56 +02:00
Jan Steemann 69f99324f2 added simple expressions 2014-08-13 14:22:14 +02:00
Jan Steemann 562054134e prevent double-free 2014-08-11 15:34:11 +02:00
Jan Steemann 24f1f979d0 fixed jsonification of values 2014-08-11 14:54:14 +02:00
Jan Steemann af1ecf44a4 GRAPH_TRAVERSAL_TREE 2014-08-11 14:48:58 +02:00
Jan Steemann 1b14aa3779 moved AqlValue to its own file 2014-08-08 19:46:20 +02:00
Max Neunhoeffer 96d8dcc054 Major cleanup, not yet working. 2014-08-05 12:29:36 +02:00
Jan Steemann 888e3ff7e7 unified signature 2014-08-01 15:00:12 +02:00
Jan Steemann 0d7ca46b45 added variables() method 2014-08-01 14:37:29 +02:00
Jan Steemann 91ac7ab74a Merge branch 'aql2' of https://github.com/triAGENS/ArangoDB into aql2
Conflicts:
	arangod/Aql/Types.h
2014-07-31 17:18:23 +02:00
Jan Steemann d240314cfe code generation for V8 expressions 2014-07-31 17:13:38 +02:00
Jan Steemann d15771854d pass executor to expression 2014-07-31 15:20:47 +02:00
Jan Steemann 65386d8529 added class Expression 2014-07-31 15:12:12 +02:00