1
0
Fork 0
arangodb/arangod/Ahuacatl
Jan Steemann a68fff16e2 issue #271: allow very simple optimisations for AQL function usage
This change will create field access hints also for AQL function calls.
Calls to functions will not be optimised, but meaningless usages of functions will not be optimised away.
For example:

FOR p IN PATHS(users, relations, "outbound")
  FILTER LENGTH(p.edges) > 0 && LENGTH(p.edges) < 0
  RETURN p

The FILTER in the above query uses the LENGTH() function two times in a way that no result will be produced.
Before, function calls were excluded from expression collapsing and simplification.
Now, multiple calls to the same function with the same call argument might be optimised away if the calls will
lead to no results being produced. This will only work for functions that are called with exactly one argument
which also must be an attribute name, and when the function calls are used in relational operations.
2012-10-26 13:32:01 +02:00
..
ahuacatl-access-optimiser.c issue #271: allow very simple optimisations for AQL function usage 2012-10-26 13:32:01 +02:00
ahuacatl-access-optimiser.h minor changes for windows compatability 2012-09-28 17:34:22 +08:00
ahuacatl-ast-node.c issue #271: allow very simple optimisations for AQL function usage 2012-10-26 13:32:01 +02:00
ahuacatl-ast-node.h some optimiser stuff 2012-06-12 09:36:58 +02:00
ahuacatl-bind-parameter.c fixed memory zone issues, memleaks 2012-10-10 19:05:16 +02:00
ahuacatl-bind-parameter.h
ahuacatl-codegen.c Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel 2012-10-22 21:04:12 +08:00
ahuacatl-codegen.h renamed simple_collection to document_collection 2012-09-14 14:46:37 +02:00
ahuacatl-collections.c issue #248: pull out some sort of subqueries 2012-10-22 09:14:38 +02:00
ahuacatl-collections.h renamed document collection to primary collection 2012-09-14 10:19:41 +02:00
ahuacatl-context.c issue #248: pull out some sort of subqueries 2012-10-22 09:14:38 +02:00
ahuacatl-context.h optimiser change: collections are annotated with hints on how they are accessed. this info is picked up by the explain command 2012-06-12 16:50:36 +02:00
ahuacatl-conversions.c fixed memory issues 2012-10-11 14:17:19 +02:00
ahuacatl-conversions.h
ahuacatl-error.c
ahuacatl-error.h
ahuacatl-explain.c fixed a few query optimiser bugs, added test cases 2012-06-29 15:26:35 +02:00
ahuacatl-explain.h removed some old debug macros 2012-09-11 09:56:57 +02:00
ahuacatl-functions.c issue #271: allow very simple optimisations for AQL function usage 2012-10-26 13:32:01 +02:00
ahuacatl-functions.h issue #271: simple paths() function optimisations 2012-10-26 13:32:01 +02:00
ahuacatl-grammar.c issue #248: pull out some sort of subqueries 2012-10-22 09:14:38 +02:00
ahuacatl-grammar.h changed gitignore, added derived files 2012-10-15 09:36:50 +02:00
ahuacatl-grammar.y issue #248: pull out some sort of subqueries 2012-10-22 09:14:38 +02:00
ahuacatl-index.c allow AQL to use indexes in additional cases 2012-10-08 12:51:27 +02:00
ahuacatl-index.h optimiser change: collections are annotated with hints on how they are accessed. this info is picked up by the explain command 2012-06-12 16:50:36 +02:00
ahuacatl-node.c various changes for windows 2012-10-22 20:51:31 +08:00
ahuacatl-node.h added explain output for collect statements 2012-06-14 10:09:03 +02:00
ahuacatl-optimiser.c issue #271: simple paths() function optimisations 2012-10-26 13:32:01 +02:00
ahuacatl-optimiser.h issue #248: pull out some sort of subqueries 2012-10-22 09:14:38 +02:00
ahuacatl-parser-functions.c
ahuacatl-parser-functions.h
ahuacatl-parser.c
ahuacatl-parser.h
ahuacatl-result.c
ahuacatl-result.h
ahuacatl-scope.c issue #248: pull out some sort of subqueries 2012-10-22 09:14:38 +02:00
ahuacatl-scope.h issue #248: pull out some sort of subqueries 2012-10-22 09:14:38 +02:00
ahuacatl-statement-dump.c
ahuacatl-statement-dump.h
ahuacatl-statement-walker.c issue #248: pull out some sort of subqueries 2012-10-22 09:14:38 +02:00
ahuacatl-statement-walker.h reference accesses can now use indexes 2012-06-13 12:07:29 +02:00
ahuacatl-statementlist.c issue #248: pull out some sort of subqueries 2012-10-22 09:14:38 +02:00
ahuacatl-statementlist.h issue #248: pull out some sort of subqueries 2012-10-22 09:14:38 +02:00
ahuacatl-tokens.c changed gitignore, added derived files 2012-10-15 09:36:50 +02:00
ahuacatl-tokens.l
ahuacatl-variable.c fixed memory zone issues, memleaks 2012-10-10 19:05:16 +02:00
ahuacatl-variable.h some optimiser stuff 2012-06-12 09:36:58 +02:00
aql.ebnf
aql.xhtml