1
0
Fork 0
Commit Graph

264 Commits

Author SHA1 Message Date
Michael Hackstein d37cea7644 Replaced TRI_json_t in HashIndex by VelocyPack 2016-01-24 11:17:51 +01:00
Michael Hackstein 191c2dc3a9 Merge branch 'devel' of github.com:arangodb/arangodb into vpack 2016-01-21 16:29:38 +01:00
Michael Hackstein bc40bcfdfc Added a wraper function for AstNodes to export VPack instead of TRI_json_t 2016-01-21 07:52:49 +01:00
jsteemann 431900f17a changed namespace from triagens to arangodb 2016-01-17 00:44:53 +01:00
jsteemann 10d84ae525 simplification of COLLECT variants 2016-01-16 22:46:05 +01:00
jsteemann 4abf96e1db removed special case for COLLECT INTO var = expr 2016-01-16 20:20:44 +01:00
Jan Steemann a08be0f0ff removed included iostream header 2016-01-12 18:30:57 +01:00
Jan Steemann 6937dbc489 aggregate fixes 2016-01-12 17:21:18 +01:00
Jan Steemann ad1163e3bb refactoring for Aql COLLECT 2016-01-07 13:35:12 +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
Max Neunhoeffer 225c8cd843 Work on TODOs. 2015-12-22 16:50:09 +01:00
jsteemann 19782a45a6 Merge branch 'devel' of https://github.com/arangodb/arangodb into vpack 2015-12-18 23:33:44 +01:00
Jan Steemann 36eac6ffd0 fixed index selection in some queries 2015-12-18 20:16:09 +01:00
Jan Steemann ad45a4b254 Merge branch 'devel' of https://github.com/arangodb/arangodb into vpack 2015-12-17 12:31:14 +01:00
Jan Steemann b76c61adb1 \0 fix 2015-12-17 12:28:16 +01:00
jsteemann fd29ccdbc5 Merge branch 'devel' of https://github.com/arangodb/arangodb into vpack 2015-12-13 23:37:22 +01:00
jsteemann 600c48375d added optimizer rule `sort-in-values` 2015-12-13 23:33:44 +01:00
Michael Hackstein 35fbe9aefd Fixed include <array> did not compile under Mac Os X 2015-12-04 15:28:49 +01:00
Jan Steemann 2bbcaa868f fixed invalid memory usages 2015-12-01 16:48:55 +01:00
hkernbach 6d25ac57e9 Merge branch 'devel' of github.com:arangodb/arangodb into JHMH 2015-12-01 11:25:58 +01:00
jsteemann 37f72fa721 micro optimizations 2015-11-30 19:37:58 +01:00
Michael Hackstein 7bf37620bb Merge branch 'devel' of github.com:arangodb/arangodb into JHMH 2015-11-26 16:32:26 +01:00
Michael Hackstein 5fb76d7481 Merge branch 'JHMH' of github.com:arangodb/arangodb into JHMH 2015-11-26 09:32:15 +01:00
Michael Hackstein e9a7c6fa85 Adoption of Traversal and AstNode to newest changes in TraversalExpression 2015-11-26 09:31:54 +01:00
Wilfried Goesgens c061a3309a - implement new function that scans for nodes of a spcific types
- fix scanning for variable references with n-nary ors / ands
2015-11-25 15:21:11 +01:00
Jan Steemann 9b1ef915eb issue #1589 2015-11-25 10:49:31 +01:00
Michael Hackstein 173a746cc9 Added new constructor for AstNodes which is independent from AQL. 2015-11-13 11:07:06 +01:00
Wilfried Goesgens 179660e87c Merge branch 'devel' of github.com:arangodb/ArangoDB into JHMH 2015-11-04 17:07:09 +01:00
Michael Hackstein b71fa3e140 Added CXX implementation of Modulo. 2015-11-03 10:21:31 +01:00
Michael Hackstein 0339cb5e0c Added a CXX implementation of BINARY_OPERATOR_DIV. Deactivated CXX implementation of BINARY_OPERATOR_MOD have to check for data types 2015-11-03 10:19:31 +01:00
Michael Hackstein ceec76f13b Added CXX implementation for BINARY_OPERATOR_TIMES 2015-11-03 10:19:29 +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
Wilfried Goesgens a05e96b508 these AST-nodes are optional. 2015-10-29 17:47:36 +01:00
Wilfried Goesgens bb9039c855 Merge branch 'devel' of github.com:arangodb/ArangoDB into JHMH 2015-10-29 16:01:01 +01:00
Jan Steemann 9aa1ba1f68 potential fix for ::stringify() 2015-10-29 15:58:47 +01:00
Wilfried Goesgens ba159428be Implement function to find all variable references in an expression. 2015-10-29 13:29:21 +01:00
Wilfried Goesgens 951165ab1e Merge branch 'devel' of github.com:arangodb/ArangoDB into JHMH
Conflicts:
	arangod/Aql/grammar.cpp
	arangod/Aql/grammar.h
	js/common/modules/org/arangodb/graph-examples/example-graph.js
2015-10-28 11:08:18 +01:00
jsteemann 5fff134c80 added CXX implementations of `WITHIN` and `NEAR` AQL functions 2015-10-27 23:24:00 +01:00
Wilfried Goesgens cd6cc35def Adjust the stage to the now non-void pointered index implementation. 2015-10-22 11:12:21 +02:00
Wilfried Goesgens dae95de667 Merge branch 'devel' of github.com:arangodb/ArangoDB into JHMH 2015-10-21 14:54:01 +02:00
Jan Steemann ba95ddf228 fixed cluster behavior 2015-10-21 12:12:08 +02:00
Jan Steemann aa3039cece fixes for cluster tests 2015-10-20 18:10:53 +02:00
Jan Steemann 81cd1e9f62 fixed Windows compile issues 2015-10-19 12:43:11 +02:00
jsteemann 04a9ee03c3 fixed an assertion failure 2015-10-15 23:27:14 +02:00
Jan Steemann 7f778b148a blind commit 2015-10-15 16:19:33 +02:00
jsteemann 4a88b3e8c9 fixed some index conditions 2015-10-15 00:50:06 +02:00
jsteemann 29b3741156 reworked cost calculations 2015-10-12 22:23:03 +02:00
Jan Steemann 2970f9d221 fixed primary and edge index 2015-10-12 15:53:43 +02:00
Jan Steemann c689fc0756 preparation work for index condition specialization 2015-10-08 18:20:10 +02:00
Jan Steemann 875d89620f don't clear members in destructor - it's not necessary 2015-10-08 16:35:45 +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
Jan Steemann 424dc81197 fixed undefined index lookup behavior 2015-10-07 16:34:01 +02:00
Jan Steemann b6c8d77d98 some bugfixes 2015-10-06 11:23:55 +02:00
Jan Steemann 118f924598 support [*] operator 2015-10-05 19:15:22 +02:00
Jan Steemann a2731a6121 blind commit 2015-10-02 17:02:02 +02:00
Jan Steemann 27bcd7ee84 better estimates 2015-09-29 15:30:44 +02:00
Michael Hackstein 614902ee99 Replaced TRI_vector_pointer by std::vector in AstNode 2015-09-23 15:02:34 +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
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 2f10135e60 transplanted changes from aql-conditions 2015-09-16 17:36:17 +02:00
Jan Steemann 97d67e4399 use binary-safe string representations 2015-08-20 01:46:20 +02:00
Jan Steemann 57e9b55739 use TRI_CHAR_NODE_PAIR() 2015-08-14 00:54:59 +02:00
Jan Steemann ead280afe5 added DISTINCT 2015-07-24 13:19:55 +02:00
Jan Steemann 5a9f9ecbab added execution conditions for CXX AQL functions 2015-07-22 11:35:57 +02:00
Jan Steemann e25ecb5be8 added function cacheability info 2015-06-27 09:06:35 +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 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 fda6aec8d5 push_back => emplace_back 2015-06-02 22:48:55 +02:00
Jan Steemann 64ae7adb93 issue #1341: Can't use bindvars in UPSERT 2015-05-28 14:28:23 +02:00
Jan Steemann ef154cd1d9 fix compile warning 2015-05-21 17:00:29 +02:00
Jan Steemann c88b731acf save some mallocs for strings in AQL 2015-05-18 23:40:28 +02:00
Jan Steemann 9c73028541 less copying 2015-05-12 13:36:08 +02:00
Jan Steemann 06cf34700f simplify attribute accesses 2015-05-08 15:14:17 +02:00
Jan Steemann 7783ed1b33 speedups 2015-04-29 17:42:33 +02:00
Jan Steemann baa5e39348 removed lib/Basics/utf8-helper.cpp and merged with lib/Basics/Utf8Helper.cpp 2015-04-21 17:53:35 +02:00
Jan Steemann 5599259075 fixed Visual Studio compile errors 2015-03-26 10:34:38 +01:00
Jan Steemann 66e2273482 added documentation for UPSERT 2015-03-24 00:44:52 +01:00
Jan Steemann ac44597788 removed unused files 2015-03-23 15:46:31 +01:00
Jan Steemann e3bf1c709c upsert blocks 2015-03-23 15:31:07 +01:00
Jan Steemann 5d9c0e018e dynamic attribute names in AQL 2015-02-03 22:51:40 +01:00
Jan Steemann fd3e123253 optimizations for AST node flagging and V8 object creation 2015-01-22 19:35:20 +01:00
Jan Steemann 14e82da2b0 fixed leak 2015-01-19 22:25:16 +01:00
Jan Steemann b54dfae96f removed several JSON functions 2015-01-13 01:31:04 +01:00
Jan Steemann 6d6d67f06f activated optimizer rule remove-sort-rand
fixed tests, updated documentation
2014-12-21 18:50:50 +01:00
Jan Steemann 20e7fe7a7a the great rename: array => object, list => array 2014-12-18 21:07:06 +01:00
Jan Steemann dd60e53ce3 added more collect special cases 2014-12-16 22:52:33 +01:00
Jan Steemann bcdeabd3ab Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into aql-feature-index-or
Conflicts:
	arangod/Aql/ExecutionBlock.cpp
2014-12-15 21:53:51 +01:00
Jan Steemann 8f6193faa2 added optional COUNT clause for AQL COLLECT 2014-12-12 17:18:04 +01:00
James 40a67f47c7 Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into aql-feature-index-or
Conflicts:
	arangod/Aql/ExecutionBlock.cpp
	arangod/Aql/OptimizerRules.cpp
2014-11-27 09:25:43 +00:00
Jan Steemann 8a715d7791 fixed `remove-redundant-or` rule
the rule was not producing correct conditions for queries such as

   FOR i IN collection FILTER i._key > 'a' && i._key > null RETURN i
2014-11-26 21:42:22 +01:00
Jan Steemann cb1444804e added NODE_TYPE_ATTRIBUTE_ACCESS for CompareAstNodes 2014-11-13 15:55:34 +01:00
James 7d8f2f03ed applying isConstant patch 2014-11-11 08:45:03 +00:00
James 08e8fd193e Merge branch 'devel' of ssh://github.com/triAGENS/ArangoDB into aql-feature-lazy-index 2014-11-11 08:21:40 +00:00
Jan Steemann 12d326d62b updated documentation and operators behavior 2014-11-10 18:05:11 +01:00
Jan Steemann d1f4c6b5fe fixed optimization 2014-11-09 00:09:07 +01:00
Jan Steemann 567860cf65 more aggresively optimizer filters 2014-11-08 23:26:04 +01:00
James 586cacc2ee replace-redundant-OR optimizer rule first version. 2014-11-08 13:45:14 +00:00
James b849a6da72 some more cleaning up of replace-OR-with-IN 2014-11-08 11:36:56 +00:00
Jan Steemann b0de1bb226 leaner and meaner error messages 2014-11-07 10:53:00 +01:00
Jan Steemann 8e678c50da mini optimization: share frequently occuring values 2014-11-06 20:14:02 +01:00
Jan Steemann bf30927913 removed canThrow tag for various built-in functions 2014-11-05 14:40:00 +01:00
Jan Steemann 4f68960ed7 removed Ahuacatl [skip ci] 2014-10-31 17:31:00 +01:00
Jan Steemann 0903c1b9b6 use more precomputed values in expressions 2014-10-29 21:41:00 +01:00
Jan Steemann cf79ef33e2 removed TODO 2014-10-29 13:15:52 +01:00
Jan Steemann ecc6089cc8 removed TODO 2014-10-29 13:06:54 +01:00
Max Neunhoeffer 59c1935466 Get rid of some TODOs and FIXMEs. 2014-10-29 11:25:30 +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 f6b8f17dfa less optimizations for simple plans 2014-10-28 15:01:44 +01:00
Jan Steemann b5c222b9b8 determine whether calculations may run on a DB server 2014-10-27 12:04:06 +01:00
Jan Steemann 912a8162fb some renaming 2014-10-16 17:23:50 +02:00
Jan Steemann 6895ba9e27 fixed tests 2014-10-14 13:20:10 +02:00
Jan Steemann dfb1905035 fixed tests 2014-10-14 12:03:25 +02:00
Jan Steemann 7be268c07c changed AQL optimizer to not throw 2014-10-14 10:14:40 +02:00
Willi Goesgens 60dd21802b Clone the query, move the memory kept in the AST over to the query so all memory is kept in one location. 2014-09-30 10:18:13 +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
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 5a1dc63946 fixed tons of compile errors in VS 2014-09-15 12:04:49 +02:00
Jan Steemann 34d2913002 added NOT IN operator, added keywords NOT, AND, OR 2014-09-14 01:34:58 +02:00
Jan Steemann 76c1da4e9c added test for remove-redundant-calculations 2014-09-12 16:58:01 +02:00
Jan Steemann a5c52998e8 remove redundant calculations 2014-09-12 15:10:48 +02:00
Jan Steemann 71600f89b7 use RANGE AqlValue type 2014-09-11 11:56:40 +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 04b322d9e0 sorting 2014-08-28 14:04:24 +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 140e10a2a0 added more node types 2014-08-27 16:50:43 +02:00
Jan Steemann 679b6bd10f alwaysProducesBoolValue() 2014-08-27 16:24:14 +02:00
Jan Steemann 7330597f15 fixed ambigious method JsonHelper::getStringValue 2014-08-22 21:53:29 +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
Jan Steemann 6eaf1de8da fixed invalid cast 2014-08-20 12:11:16 +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 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
Jan Steemann dfe7ec46a5 added RemoveNode 2014-08-14 09:39:58 +02:00
Willi Goesgens 004d9bdbbb Implement Simple Expression evaluation for Arrays. 2014-08-13 18:28:22 +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