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