1
0
Fork 0
Commit Graph

123 Commits

Author SHA1 Message Date
Jan Steemann f3107bc25f Merge branch 'devel' of https://github.com/arangodb/arangodb into aql-operators 2016-02-10 11:34:40 +01:00
jsteemann a02e2b563f fixed issue #1707: 2.8.1 crashes
the crash was due to a required variable being removed from the execution plan.
this happened when there were multiple execution plans, and a certain transformation
was made in one of them. the transformation modified an element that was shared by
all plans, but it should have made a copy so only the current plan is affected
2016-02-07 00:23:34 +01:00
Jan Steemann fc909486c2 parser adjustments for array operators, not yet working 2016-02-02 18:05:39 +01:00
Jan Steemann 9046e1831b clang-format 2016-01-27 13:43:46 +01:00
jsteemann 842384016d namespace cleanup 2016-01-21 00:20:22 +01:00
jsteemann ef67a496e6 more checks & asserts, C API cleanup 2016-01-20 22:08:11 +01:00
jsteemann 431900f17a changed namespace from triagens to arangodb 2016-01-17 00:44:53 +01:00
Jan Steemann 687d6133f0 comments reformatting 2016-01-11 09:52:39 +01:00
jsteemann 50c0e18d53 removed useless con|destructor comments 2016-01-07 21:19:53 +01:00
Jan Steemann 3ad20c0cae auto-generated headers 2016-01-06 18:41:51 +01:00
Jan Steemann a3b026d9d1 removed useless sections from code, unified include guards 2016-01-06 14:15:22 +01:00
Jan Steemann f422576ee0 clang-format 2016-01-05 17:43:24 +01:00
jsteemann 600c48375d added optimizer rule `sort-in-values` 2015-12-13 23:33:44 +01:00
jsteemann f900090584 fixed undefined behavior 2015-11-19 00:16:00 +01:00
Michael Hackstein 344f70fee2 Added CXX implementation for BINARY_MINUS 2015-11-03 10:19:29 +01:00
Michael Hackstein 11606c1f55 Added a CXX implementation of BINARY_PLUS. 2015-11-03 10:19:26 +01:00
Michael Hackstein 4a0bd0f72c Refactored executeSimpleExpression. It now is a simple switch case with different private function calls. Instead of a 500 lines long function. 2015-10-30 15:53:49 +01:00
Michael Hackstein 2a32f71fe1 Started refactoring executeSimpleExpression. 2015-10-30 14:55:38 +01:00
Jan Steemann 8afee97aaf fixed double-free issues 2015-10-12 14:37:18 +02:00
Jan Steemann c6e44dde1d made two methods private 2015-09-04 10:59:28 +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 cdfdec9244 save some overhead when walking plans 2015-07-28 11:44:34 +02:00
Jan Steemann 64089eea75 partial implementation 2015-06-20 11:21:57 +02:00
Jan Steemann d6f3436cc9 added tests 2015-06-16 15:13:53 +02:00
Jan Steemann c5d099a1c5 fixed array range accesses 2015-06-12 23:45:08 +02:00
Jan Steemann 8b8918f72c added (still disabled) rule fuse-calculations 2015-06-02 21:32:38 +02:00
Jan Steemann e6684f9d2f small optimizations for expressions 2015-06-02 09:17:50 +02:00
Jan Steemann 9c73028541 less copying 2015-05-12 13:36:08 +02:00
Jan Steemann 33fe3f98e8 disallow copying 2015-05-01 01:16:26 +02:00
Jan Steemann ad5350a9c0 better encapsulation of AqlItemBlock's values 2015-04-23 13:45:49 +02:00
Jan Steemann 3bb3e15d8e fixed getAttributeAccess() 2015-04-20 14:30:06 +02:00
Jan Steemann d20c104d0c specialized attribute accessor for AQL 2015-04-20 13:26:04 +02:00
Jan Steemann 61499432b7 do not remove constant sorts when creating plans, but during optimization phase
less utf8 comparisons
2015-04-20 11:32:29 +02:00
Jan Steemann 013209b9c7 add expressionType to JSON output of CalculationNode 2015-04-03 15:02:17 +02:00
Jan Steemann 50b531666c optimization for AQL CONCAT()
Conflicts:
	arangod/Aql/AqlValue.cpp
	arangod/Aql/AqlValue.h
	arangod/Aql/Ast.cpp
2015-03-27 17:18:27 +01:00
Jan Steemann 7af624e2f0 selectivty, try 0 2015-01-27 09:34:04 +01:00
Jan Steemann c49986d0e8 preparation for conditions 2015-01-25 10:40:13 +01:00
Jan Steemann fd3e123253 optimizations for AST node flagging and V8 object creation 2015-01-22 19:35:20 +01:00
Jan Steemann 6185943bc5 prevent double-free of variable bounds 2014-12-03 17:45:46 +01:00
Jan Steemann 0903c1b9b6 use more precomputed values in expressions 2014-10-29 21:41:00 +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 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 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 87afcf5e8d the great rename 2014-09-13 00:10:11 +02:00
Jan Steemann f57312baf0 pass AST to expression 2014-09-12 15:40:17 +02:00
Jan Steemann a5c52998e8 remove redundant calculations 2014-09-12 15:10:48 +02:00
Jan Steemann a3d2d0e3f1 renamed file 2014-08-29 17:09:07 +02:00
Jan Steemann b8e12063e2 added "rules" output 2014-08-29 15:27:02 +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
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
Willi Goesgens 8a402683ed Optimizers: start implementing the sorting via indexes. 2014-08-22 16:48:52 +02:00
Jan Steemann 0e8b61124e less verbose AST dumps in AQL_PARSE 2014-08-21 13:08:21 +02:00
Jan Steemann 3fe8831a03 fixed optimizer bug due to duplicate variable representation 2014-08-20 14:18:33 +02:00
Willi Goesgens 1a6487ab14 Json de/serialization 2014-08-19 16:09:37 +02:00
Jan Steemann 655d7759bf added canThrow() for Expression 2014-08-14 20:20:59 +02:00
Jan Steemann 69f99324f2 added simple expressions 2014-08-13 14:22: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
Max Neunhoeffer 2063a985fd Add a header inclusion. 2014-08-01 15:01:22 +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