Jan Steemann
efde7b5efa
first test cases for fulltext index
2012-12-03 23:55:46 +01:00
Jan Steemann
4a941bc845
some cleanup
2012-12-03 22:54:14 +01:00
Jan Steemann
86c3cf4cde
code formatting
2012-12-03 18:47:11 +01:00
Jan Steemann
260f28ac85
added bugfix from Richard
2012-12-03 18:11:11 +01:00
Jan Steemann
195cdb81a8
using TRI_Free
2012-12-03 18:05:53 +01:00
Jan Steemann
fcc880e021
use TRI_Allocate
2012-12-03 17:54:55 +01:00
Jan Steemann
d8506d7a13
implemented updating of documents
2012-12-03 17:32:04 +01:00
Frank Celler
d05574fe01
added TOC generation
2012-12-03 17:27:25 +01:00
Jan Steemann
1130df4330
utf8 lower-casing and normalisation for fulltext strings
2012-12-03 17:14:54 +01:00
Jan Steemann
1247315733
removed obsolete files
2012-12-03 16:26:32 +01:00
Jan Steemann
cdbb96788f
issue #313
2012-12-03 15:30:01 +01:00
Frank Celler
8f88311ab5
Merge branch '1.1' of github.com:triAGENS/ArangoDB into 1.1
2012-12-03 15:20:57 +01:00
Frank Celler
e5ee30f30b
added bitarray documentation, added TOC
2012-12-03 15:20:49 +01:00
Jan Steemann
182289b88f
honor --upgrade option in console mode, too
2012-12-03 14:10:12 +01:00
Jan Steemann
d60888e970
replaced arango-upgrade script with server startup option --upgrade
2012-12-03 13:45:58 +01:00
Jan Steemann
a41357b9b3
removed unnecessary flag
2012-12-03 13:26:35 +01:00
Jan Steemann
42ba0502f0
changed upgrade procedure
...
removed arango-upgrade script, replaced it with --upgrade server option
adjusted documentation & start scripts
2012-12-03 13:02:59 +01:00
Jan Steemann
59461d0c4b
added functionality to add and remove users programatically
...
removed arango-password script
2012-12-03 11:42:30 +01:00
Jan Steemann
9b44e4aa45
added very limited & alpha fulltext query capability
...
db.collection.FULLTEXT() allows to issue queries using a fulltext index.
Needs to be passed a comma-separated query string with the search words.
Search words can be prefixed with either:
* prefix: does a prefix search
* complete: does a complete-match search
* substring: does a substring search
This is still very very alpha. It crashes and produces wrong results in some cases.
2012-12-02 03:24:20 +01:00
Jan Steemann
d2aef2dcdc
add words to fulltext index
...
this parses the fulltext-indexed attributes of documents when there's a fulltext index, and adds the individual words to the index.
As the fulltext index is case-sensitive, all words are added to the index in lower case.
The text tokenisation implementation is still very naive and currently works properly only for character ranges [a-z] and [A-Z].
Unicode words are also supported, but they are not normalised nor lower-cased yet. Additionally, unicode punctuation characters are not excluded and will also be added to the index.
Updating documents that are fulltext-indexed currently does not work.
2012-12-02 00:55:59 +01:00
Jan Steemann
8c7ca55512
issue #300
2012-12-01 03:15:39 +01:00
Jan Steemann
f517aa0059
ensureFulltextIndex
2012-11-30 17:53:02 +01:00
Jan Steemann
19fb9d0aea
added stub functions for fulltext indexes
2012-11-30 14:50:02 +01:00
Jan Steemann
749f99e4df
adjusted include file names, if'd debug code
2012-11-30 14:04:15 +01:00
Jan Steemann
7e690f0d80
added Richard's fix for counting documents
2012-11-30 13:21:34 +01:00
Jan Steemann
9cb0afb46c
fixed (irrelevant) warnings about potentially uninitialised variable
2012-11-30 13:03:44 +01:00
Jan Steemann
59d7ca4340
fixed malloc with too small size
2012-11-30 12:59:29 +01:00
Jan Steemann
1d6c323d76
fixed typo (semicolon after if statement)
2012-11-30 12:58:20 +01:00
Jan Steemann
cdfbb76c83
fulltext index, initial version by RP
2012-11-30 12:13:03 +01:00
Jan Steemann
f634b1aff0
code unification
2012-11-29 22:34:49 +01:00
Jan Steemann
d8a06fe136
removed unused flags from doc_operation_context
2012-11-29 13:44:36 +01:00
Jan Steemann
6e3211334f
documentation fixes
2012-11-29 13:36:44 +01:00
Jan Steemann
42df64d7c0
added tests for key pattern
2012-11-29 12:37:30 +01:00
Jan Steemann
27883efbee
updated documentation
2012-11-29 10:44:14 +01:00
Jan Steemann
77f3115ac7
updated documentation for document ids and keys
2012-11-29 10:20:10 +01:00
Jan Steemann
8d2db81042
document key handling
2012-11-29 09:49:11 +01:00
Jan Steemann
634768da20
do not return collection id in location
2012-11-28 17:29:44 +01:00
Jan Steemann
46640b376d
removed meaningless comments
2012-11-28 17:28:13 +01:00
Jan Steemann
9481e588db
fixed index access by id only
2012-11-28 13:37:33 +01:00
Jan Steemann
18cff2cfef
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
2012-11-28 13:17:04 +01:00
Jan Steemann
cbad6b526a
make collections accesible via name instead of id.
...
this allows using the collection name instead of ids in _from, _to, _id etc.
2012-11-28 13:16:15 +01:00
a-brandt
5a9e155dd7
added documentation for --default-language
2012-11-28 11:20:11 +01:00
Jan Steemann
2466927764
force usage of collection names instead of collection ids
2012-11-27 17:19:17 +01:00
Jan Steemann
fdc3e5705a
fixed an error introduced with last commit
2012-11-27 15:24:39 +01:00
Jan Steemann
9818e55efe
use resourceholder
2012-11-27 14:47:49 +01:00
Jan Steemann
f84207e368
removed redundant declaration of edges index. edges index is now a regular index
2012-11-27 14:14:31 +01:00
Jan Steemann
64737c06f6
some renaming
2012-11-27 14:01:05 +01:00
Jan Steemann
bd3c8189dc
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
2012-11-27 13:56:08 +01:00
Jan Steemann
d4daccb3a5
added a fix and tests for issue #293
2012-11-27 13:55:52 +01:00
a-brandt
e9b4c324aa
added ibcu and --default-language documentation
2012-11-27 13:46:45 +01:00
Frank Celler
6e94eeb36f
Merge branch 'devel' of github.com:triAGENS/ArangoDB into devel
2012-11-27 12:35:12 +01:00
Frank Celler
249492a89c
Merge remote-tracking branch 'origin/1.1' into devel
...
Conflicts:
CHANGELOG
Documentation/Manual/GlossaryCollectionName.md
Documentation/Manual/NewFeatures11.md
Documentation/UserManual/FirstStepsArangoDB.md
VERSION
arangod/Documentation/api-blueprints.dox
arangod/HashIndex/hasharray.c
arangod/RestHandler/RestVocbaseBaseHandler.cpp
arangod/RestServer/ArangoServer.cpp
arangod/V8Server/v8-actions.cpp
arangod/V8Server/v8-vocbase.cpp
arangod/VocBase/compactor.c
arangod/VocBase/document-collection.c
configure.ac
html/admin/js/master.js
js/server/ahuacatl.js
js/server/arango-upgrade.js
lib/BasicsC/voc-errors.h
lib/V8/V8LineEditor.cpp
lib/V8/v8-utils.cpp
2012-11-27 12:34:58 +01:00
a-brandt
9458fa1ce5
fix
2012-11-26 17:28:58 +01:00
a-brandt
1c7b0a6387
fix
2012-11-26 17:28:51 +01:00
Jan Steemann
4ecb3b09f5
fix compiler warning
2012-11-26 10:07:57 +01:00
Frank Celler
56c3a4fd18
added web interface description
2012-11-25 20:19:31 +01:00
Jan Steemann
c751611ee8
fixed logic error
2012-11-24 17:12:52 +01:00
Jan Steemann
eac11fb793
issue #293
2012-11-24 03:16:23 +01:00
Jan Steemann
317b7f9cab
issue #292
2012-11-24 00:04:21 +01:00
Jan Steemann
8ac81dbc85
shut up the compiler
2012-11-23 20:37:03 +01:00
Jan Steemann
f812408a7e
documentation for collection names / keys
2012-11-23 19:41:14 +01:00
Frank Celler
da4534bdb0
fixed more links, moved Glossary to markdown
2012-11-23 13:34:44 +01:00
Frank Celler
708ac517fc
fixed more links, moved Glossary to markdown
2012-11-23 13:33:26 +01:00
Jan Steemann
bc94851026
fixed compile warnings
2012-11-23 13:18:00 +01:00
Frank Celler
f9ea4d5755
started adding links
2012-11-23 12:36:19 +01:00
Frank Celler
bd64d7e6a1
started adding links
2012-11-23 12:35:07 +01:00
Frank Celler
c3bc85826a
renamed Manual to UserManual, fixed references, removed First section
2012-11-23 11:31:54 +01:00
Frank Celler
c68dc92809
renamed Manual to UserManual, fixed references, removed First section
2012-11-23 11:28:43 +01:00
Jan Steemann
e7f8543d81
moved documentation changes from 1.1 to devel
2012-11-23 10:18:47 +01:00
Jan Steemann
10bfbb90e5
fixed type errors
2012-11-23 09:04:37 +01:00
Jan Steemann
687eac97b5
fix type errors
2012-11-23 09:00:11 +01:00
Jan Steemann
b2faa016a6
fixed gcc compile warnings
2012-11-22 21:34:41 +01:00
Jan Steemann
aaf34f44f4
fixed lots of compile warnings
2012-11-22 21:20:22 +01:00
Jan Steemann
71b28c541d
return _bidirectional and _vertices
2012-11-22 16:50:56 +01:00
Jan Steemann
ad1c204f3a
added upgrade notes in devel, too
2012-11-21 19:34:27 +01:00
Jan Steemann
ad855bd2bd
fixed doxygen errors
2012-11-21 18:10:45 +01:00
Jan Steemann
6a30d421c8
Merge branch '1.1' of https://github.com/triAGENS/ArangoDB into 1.1
2012-11-21 17:44:37 +01:00
Jan Steemann
fabf8b700b
fixed documentation
2012-11-21 17:44:23 +01:00
Frank Celler
cccb3511c5
fixed documentation again
2012-11-21 17:42:13 +01:00
a-brandt
7220ffafc5
blueprints api updates
2012-11-21 14:14:55 +01:00
Frank Celler
18bfd048ef
fixed documentation
2012-11-21 10:58:29 +01:00
Jan Steemann
bc9cf9428a
issue #287
2012-11-20 18:27:48 +01:00
Jan Steemann
0f8767a996
issue #287
2012-11-20 18:22:31 +01:00
Jan Steemann
f3fe1c3896
added a missing release
2012-11-20 17:07:39 +01:00
Jan Steemann
a2b404123a
load monkeypatches on all occasions
2012-11-20 16:50:15 +01:00
Jan Steemann
b159a0539b
moved monkeypatches.js to bootstrap folder and load it at all occasions, allowing graph usage from arangosh
2012-11-20 15:36:19 +01:00
Jan Steemann
744618fbe0
fixed some escape routes in version check
2012-11-20 09:31:09 +01:00
Jan Steemann
2efa2f32db
added server version check
2012-11-20 09:27:28 +01:00
Jan Steemann
3d70b85734
fix g++ warning
2012-11-20 08:59:53 +01:00
Jan Steemann
85a8f56a34
complain about non-expected database directory versions
2012-11-20 01:41:41 +01:00
Jan Steemann
66cf084232
fixed issue #283 : AQL LENGTH() now works on documents, too
2012-11-19 14:01:47 +01:00
Jan Steemann
37750da396
* fixed issue #283 : AQL LENGTH() now works on documents, too
2012-11-19 14:00:09 +01:00
Jan Steemann
69c9a9716c
prevent compile warning
2012-11-19 13:59:06 +01:00
Jan Steemann
9c167a734f
issue #281
2012-11-19 13:32:23 +01:00
Jan Steemann
70b4d7c9d7
issue #281
2012-11-19 13:29:26 +01:00
Jan Steemann
e69145e391
fix memleak
2012-11-19 13:28:22 +01:00
Jan Steemann
3718f3570d
ALL() moved to transaction semantics
2012-11-19 13:07:38 +01:00
Jan Steemann
662112bad3
changed call to figures to lock inside primary-collection.c instead of v8-vocbase.cpp
2012-11-19 11:47:52 +01:00
Jan Steemann
d1fda6525d
make truncate use transaction semantics
2012-11-19 11:42:49 +01:00
Jan Steemann
fe693e6ae3
make documents read use transaction semantics
2012-11-19 11:23:44 +01:00
Jan Steemann
6e1fe6a423
delete now uses transaction semantics
2012-11-19 11:00:25 +01:00
Jan Steemann
3eda13c181
update and replace now use transaction semantics
2012-11-19 10:42:20 +01:00
Jan Steemann
541066cdc1
free global instances of collections at shutdown
2012-11-16 15:43:48 +01:00
Jan Steemann
952383beb6
removed some debug messages
2012-11-16 15:37:36 +01:00
Jan Steemann
38025fbc31
documents and edges are now created using transaction contexts
2012-11-16 15:36:44 +01:00
Jan Steemann
c2689f0f5e
moved AhuacatlContextGuard class out of vocbase
2012-11-16 13:39:49 +01:00
Jan Steemann
b416bc1a4b
removed JsonContainer, introduced more general ResourceHolder class
2012-11-16 13:29:19 +01:00
Jan Steemann
66bc12901c
fixed AQL optimiser bug, related to OR-comined conditions on the same attribute
2012-11-16 12:16:52 +01:00
Jan Steemann
c8b18a338a
fixed AQL optimiser bug, related to OR-combined conditions on the same attribute
2012-11-16 12:15:33 +01:00
Jan Steemann
3009bdfcfd
issue #277
2012-11-15 22:55:59 +01:00
Jan Steemann
2849b4555f
fixed wrong path in error message
2012-11-15 22:23:41 +01:00
Jan Steemann
9ac2e4235e
issue #277
2012-11-15 22:20:37 +01:00
Jan Steemann
79f407e1d3
issue #277
2012-11-15 22:09:23 +01:00
Jan Steemann
ace85c43c9
nesting transactions from v8-vocbase...
2012-11-15 18:55:52 +01:00
Jan Steemann
de9b2c71c1
fixed some transaction stuff
2012-11-15 18:39:48 +01:00
Jan Steemann
fe7e061a27
transaction nesting
2012-11-15 18:14:20 +01:00
Jan Steemann
afb54b533d
moved some methods to base class
2012-11-15 15:06:56 +01:00
Jan Steemann
fddcea9d4e
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
...
Conflicts:
arangod/Utils/Collection.h
2012-11-15 13:59:54 +01:00
Jan Steemann
1ff2430e39
transaction refactoring
2012-11-15 13:53:11 +01:00
a-brandt
407ac48821
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
2012-11-15 11:25:22 +01:00
a-brandt
71d3d54de1
collection info struct changed
2012-11-15 11:24:35 +01:00
Jan Steemann
12d76b8306
introduced additional transaction type for import
2012-11-15 09:52:47 +01:00
Jan Steemann
00c9955ed2
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
2012-11-14 17:14:11 +01:00
Jan Steemann
9e40045025
changed document CRUD API signatures
2012-11-14 17:11:16 +01:00
a-brandt
3e302a5aea
changed function TRI_IsAllowedCollectionName
2012-11-14 14:09:00 +01:00
Jan Steemann
f440f4d54c
forgot to adjust makefile
2012-11-14 13:42:07 +01:00
Jan Steemann
897a086649
renamed parameters
2012-11-14 13:28:04 +01:00
Jan Steemann
30ba8771a7
pluggable key generators
2012-11-14 12:44:56 +01:00
Jan Steemann
cdd163cc8a
added TRANSACTION() JS function
2012-11-13 18:45:27 +01:00
Jan Steemann
57f0677d7b
split self-contained transactions into read & write transactions
2012-11-13 17:56:13 +01:00
Jan Steemann
b8655965f4
some transaction changes
2012-11-13 17:36:24 +01:00
Jan Steemann
f483e9c41c
added threadNumber global variable
2012-11-12 09:45:38 +01:00
Jan Steemann
6b6b692592
cleaned up v8 function creation
2012-11-12 09:30:51 +01:00
Jan Steemann
d7aa6d7d0a
more cleanup
2012-11-09 18:42:07 +01:00
Jan Steemann
be39dbd419
some cleanup
2012-11-09 17:50:07 +01:00
Jan Steemann
728dfa3d9e
fixed a few out of memory situations
2012-11-09 17:30:28 +01:00
Jan Steemann
419456c1a8
some refactoring
2012-11-09 15:06:28 +01:00
Jan Steemann
b9019329c8
fail gracefully on invalid marker types
2012-11-09 11:05:06 +01:00
Jan Steemann
65db6eee8b
some simplification
2012-11-09 11:03:42 +01:00
Jan Steemann
7dfab2d6dc
introduced validFrom, still does nothing
2012-11-09 10:42:06 +01:00
Jan Steemann
b4ae789573
cleaned up naming
2012-11-08 19:01:05 +01:00
Jan Steemann
bef21db8d8
renamed variable
2012-11-08 18:47:39 +01:00
Jan Steemann
b7b2c87ea8
re-used function declaration functions in v8-query
2012-11-08 18:44:10 +01:00
Jan Steemann
149c6c1fc1
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
2012-11-08 17:47:53 +01:00
Jan Steemann
64c6bc5cb0
renamed marker member _deletion to _validTo, some cleanup
2012-11-08 17:47:18 +01:00
Jan Steemann
5b4f8431b4
removed unused _eid from master pointer
2012-11-08 16:36:08 +01:00
a-brandt
8532aecd73
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
2012-11-08 16:24:43 +01:00
a-brandt
cc919edc69
bug fix negative _key
2012-11-08 16:23:09 +01:00
Jan Steemann
30e29ee0b1
removed unnecessary function parameters
2012-11-08 16:14:34 +01:00
Jan Steemann
6b9e43d4f5
removed unused function
2012-11-08 15:23:03 +01:00
Jan Steemann
bee18ee689
documentation for password prompt
2012-11-08 11:30:15 +01:00
Jan Steemann
2ea13cf0ed
small fixes
2012-11-08 10:15:29 +01:00
Jan Steemann
66fd0b36be
some small fixes
2012-11-08 10:13:28 +01:00
Jan Steemann
b7e727ce4a
fixed cases with incorrectly optimised queries, leading to wrong results
...
The issue was caused when the optimiser decided to use an index on an attribute, but the attribute access was contained in a logical OR as follows:
FILTER (c.<indexed-column> == <value> || c.<some-other-column> == c.<indexed-column>)
In this case, the index on <indexed-column> was accessed with the constant <value>, but the right-hand side of the OR was ignored, leading to possibly incomplete results
2012-11-07 18:52:59 +01:00
Jan Steemann
fd6eef1adc
fixed cases with incorrectly optimised queries, leading to wrong results
...
The issue was caused when the optimiser decided to use an index on an attribute, but the attribute access was contained in a logical OR as follows:
FILTER (c.<indexed-column> == <value> || c.<some-other-column> == c.<indexed-column>)
In this case, the index on <indexed-column> was accessed with the constant <value>, but the right-hand side of the OR was ignored, leading to possibly incomplete results
2012-11-07 18:52:25 +01:00
Jan Steemann
a25881ed7b
fixed cases with incorrectly optimised queries, leading to wrong results
...
The issue was caused when the optimiser decided to use an index on an attribute, but the attribute access was contained in a logical OR as follows:
FILTER (c.<indexed-column> == <value> || c.<some-other-column> == c.<indexed-column>)
In this case, the index on <indexed-column> was accessed with the constant <value>, but the right-hand side of the OR was ignored, leading to possibly incomplete results
2012-11-07 18:33:38 +01:00
Jan Steemann
bdccef3965
whitespace
2012-11-07 18:15:10 +01:00
Jan Steemann
49aa7fce03
Merge branch '1.1' of https://github.com/triAGENS/ArangoDB into 1.1
2012-11-07 16:54:22 +01:00
Jan Steemann
a9602eccbf
issue #272 : fixed typo
2012-11-07 16:54:07 +01:00
Jan Steemann
308455f842
issue #272 : fixed typo
2012-11-07 16:53:36 +01:00
Jan Steemann
e657f9d6b4
made "_vertices" a shared string
2012-11-06 19:35:51 +01:00
Jan Steemann
1fc641b001
use predefined constant when wrapping
2012-11-06 19:29:29 +01:00
Jan Steemann
dacd2fb70c
some cleanup
2012-11-06 19:24:27 +01:00
Jan Steemann
59791248bf
some refactoring of v8-vocbase, trx integration
2012-11-06 19:02:09 +01:00
Jan Steemann
203560d30b
moved transactions into javascript object
2012-11-06 14:42:52 +01:00
Jan Steemann
0ed1f985fe
create private copies of other write transactions
2012-11-06 12:56:51 +01:00
Jan Steemann
aee9599baa
introduced write-locks
2012-11-05 18:22:24 +01:00
Jan Steemann
4276215251
some cleanup
2012-10-31 18:20:22 +01:00
Jan Steemann
d9f34fd88e
refactored and simplified document CRUD methods
2012-10-31 18:04:12 +01:00
Jan Steemann
6e22aef697
parameter reduction
2012-10-31 15:06:58 +01:00
Jan Steemann
d1bc1513aa
moved creation of primary index into index.c
2012-10-31 13:55:57 +01:00
Jan Steemann
42206c990c
moved functions from primary to document collection
2012-10-31 13:29:07 +01:00
Jan Steemann
8cb8f2ce0e
removed unused collection functions
2012-10-31 13:18:57 +01:00
Jan Steemann
07a9f35572
pass vocbase to trx
2012-10-31 13:18:36 +01:00
Jan Steemann
d9f8219bd6
added --enable-trx option
2012-10-31 11:21:06 +01:00
Jan Steemann
824a317bd3
removed unused line
2012-10-31 10:52:49 +01:00
Jan Steemann
60f076de91
removed unused barrier reference
2012-10-31 10:34:52 +01:00
a-brandt
759f00e3d7
Bugfix wrong key length check
2012-10-30 14:44:52 +01:00
a-brandt
3378c7edab
added "blueprints" api to "Under Construction" section
2012-10-30 14:27:02 +01:00
a-brandt
bfd2239a80
added "blueprints" api to "Under Construction" section
2012-10-30 14:24:41 +01:00
a-brandt
b800f2652c
renamed "blueprint" to "blueprints" and added documentation and tests
2012-10-30 13:35:36 +01:00
a-brandt
3fb488c3a3
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
2012-10-30 12:31:50 +01:00
a-brandt
5b77d5c3ad
added key length check
2012-10-30 12:31:27 +01:00
a-brandt
fff25d5ac3
renamed "blueprint" to "blueprints" and added documentation and tests
2012-10-30 12:29:51 +01:00
Jan Steemann
a585b64f79
implementation of global transaction lists
2012-10-30 11:17:54 +01:00
Jan Steemann
665a6d4b7a
transaction functionality, very early, not at all working
2012-10-29 18:14:42 +01:00
Jan Steemann
b9008cbdd5
removed TRI_voc_did_t, removed some deprecated typedefs
2012-10-29 15:45:52 +01:00
Jan Steemann
21735bb267
minor changes
2012-10-29 15:34:28 +01:00
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
Jan Steemann
792f57b760
issue #271 : simple paths() function optimisations
...
When an "outbound" query is made with the paths() function, the optimiser will now use an index if a FILTER condition can exploit an index on .source.
Example query:
FOR p IN PATHS(users, relations, "outbound")
FILTER p.source._id == "some-id"
RETURN p
The index on p._id was not exploited before, because the optimiser did not know that variable "p" related to collection "users" and that the condition actually would filter on users._id (the variable name in the FILTER statement is "p.source._id).
Now, AQL functions can define callbacks which are called by the optimiser to try some function-specific optimisations.
The optimise callback for PATHS() tries to exploit indexes for filters that filter on the vertex collection (1st parameter to PATHS() call). Indexes can be exploited if the query is an "outbound" query and there are filters on "source", or if the query is an "inbound" query and there are filters on "destination". "anybound" queries will not be optimised
2012-10-26 13:32:01 +02:00
Jan Steemann
7d9e0a18b5
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:22:48 +02:00
a-brandt
7af1337607
bugfix wrong error message with exit()
2012-10-26 12:59:20 +02:00
a-brandt
7daa018969
removed "reuseID"
2012-10-26 12:36:13 +02:00
a-brandt
58926a145a
Merge branch 'devel' of https://github.com/triAGENS/ArangoDB into devel
2012-10-26 12:28:42 +02:00
a-brandt
aa265caee2
update
2012-10-26 12:28:22 +02:00
Jan Steemann
973ac4fa62
issue #271 : simple paths() function optimisations
...
When an "outbound" query is made with the paths() function, the optimiser will now use an index if a FILTER condition can exploit an index on .source.
Example query:
FOR p IN PATHS(users, relations, "outbound")
FILTER p.source._id == "some-id"
RETURN p
The index on p._id was not exploited before, because the optimiser did not know that variable "p" related to collection "users" and that the condition actually would filter on users._id (the variable name in the FILTER statement is "p.source._id).
Now, AQL functions can define callbacks which are called by the optimiser to try some function-specific optimisations.
The optimise callback for PATHS() tries to exploit indexes for filters that filter on the vertex collection (1st parameter to PATHS() call). Indexes can be exploited if the query is an "outbound" query and there are filters on "source", or if the query is an "inbound" query and there are filters on "destination". "anybound" queries will not be optimised
2012-10-26 12:01:46 +02:00
Jan Steemann
4bbdb5a912
fix gcc warning
2012-10-26 08:32:01 +02:00
Jan Steemann
296ad4f5e7
reduce index bloat for edges
2012-10-25 22:02:31 +02:00
Jan Steemann
1576ed4ba0
change result output of bidirectional edges
2012-10-25 18:07:10 +02:00
Jan Steemann
4d79cfd5cb
some cleanup
2012-10-25 17:44:38 +02:00