Jan Steemann
73d087f788
delete random implementation on shutdown
2015-09-03 13:08:13 +02:00
Michael Hackstein
0edccb5ca3
The AssocUnique does not require the key element for insertion any more. It needs two functions instead: Compare identical and compare element keys.
2015-09-03 10:16:15 +02:00
Michael Hackstein
481cb1b7dd
Removed const in AssocMulti batch insert. It was non-const casted internally...
2015-09-03 10:16:15 +02:00
Michael Hackstein
9001e88a89
Added a general batch inserter for AssocUnique. Not used in any index yet
2015-09-03 10:16:14 +02:00
Jan Steemann
c89cf82c6b
constified
2015-09-02 17:37:28 +02:00
Jan Steemann
4494b69f8e
fix compiler warnings on 32bit
2015-09-02 14:13:27 +02:00
Jan Steemann
2e617ac0cc
Merge branch 'american-english' of https://github.com/CoDEmanX/ArangoDB into devel
...
Conflicts:
arangod/Wal/Slots.cpp
lib/Basics/debugging.cpp
lib/Basics/files.cpp
2015-09-02 13:14:49 +02:00
Jan Steemann
0e802d6438
Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
2015-09-02 10:20:18 +02:00
Jan Steemann
a7dc45e966
use ReadWriteLocker
2015-09-02 10:20:05 +02:00
Jan Steemann
a80d6635ab
create fat datafiles
...
This prevents SIGBUS when a sparse datafile is accessed and the disk is full. In
this case the mmapped region is not necessarily backed by physical memory, and
accessing the memory may crash the program
2015-09-02 10:18:24 +02:00
CoDEmanX
956b396e43
Change spelling of 'initialize' to American English (actual code and files)
2015-09-01 17:29:22 +02:00
CoDEmanX
b4593a7e82
Change spelling of 'initialize' to American English (comments and log messages only)
2015-09-01 17:07:21 +02:00
Michael Hackstein
faf0677757
Removed debug output
2015-09-01 15:05:49 +02:00
Michael Hackstein
a9e7adc1ed
Fixes in basics SkipList
2015-09-01 15:05:48 +02:00
Michael Hackstein
4409a59265
Further templatification of skiplist and fixed the tests
2015-09-01 15:05:47 +02:00
Michael Hackstein
e01f8f6b0f
Fixes for C++ification of skiplist
2015-09-01 15:05:47 +02:00
Michael Hackstein
cbd1cd7111
Removed non obsolete file for basic skiplist
2015-09-01 15:05:46 +02:00
Michael Hackstein
d50df2617c
Templatified the Basic skiplist. This avoids using void* and includes type safeness
2015-09-01 15:05:46 +02:00
Michael Hackstein
b8b129d84c
The primary index now uses the Hash-cache again
2015-08-31 11:33:12 +02:00
Jan Steemann
573c143398
constified
2015-08-29 02:18:02 +02:00
Michael Hackstein
81fa8018b0
Improved primary index lookups to use parameter by reference instead of byPointer. less error prone. Fixed some issues with it.
2015-08-28 09:28:24 +02:00
Michael Hackstein
771a6d5143
Should have dereferenced the pointer before adding sth
2015-08-28 09:28:24 +02:00
Michael Hackstein
082e49f2c1
Further adoptions of internal functionality to new Primary index
2015-08-28 09:28:23 +02:00
Michael Hackstein
6d4d41387b
Implemented sequential read and any read in Transaction.h
2015-08-28 09:28:22 +02:00
Michael Hackstein
48240bccc1
Added findSequential and findRandom in AssocUnique. Required for PrimaryIndex
2015-08-28 09:28:22 +02:00
Michael Hackstein
b791ea09da
Fixed a bug in AssocUnique.
2015-08-27 10:38:43 +02:00
Jan Steemann
1a2449193e
skiplist code cleanup
2015-08-26 22:52:41 +02:00
Jan Steemann
21793ff9f7
cppcheck
2015-08-26 21:36:44 +02:00
Jan Steemann
e8505a35f2
cppcheck
2015-08-26 21:35:57 +02:00
Michael Hackstein
2212be29c0
Merge branch 'devel' of github.com:arangodb/arangodb into devel
2015-08-26 17:10:14 +02:00
Michael Hackstein
7257bf0b9d
Skiplist and HashIndex will now print their figures if requested
2015-08-26 17:10:02 +02:00
Jan Steemann
8f2df77c30
Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
2015-08-26 16:59:40 +02:00
Jan Steemann
249627e21b
fixed VS build
2015-08-26 16:59:27 +02:00
Max Neunhoeffer
c0f1b72bab
Add "sensible" madvise calls.
...
Essentially the strategy is: A newly created and a newly opened file
is advised to be "SEQUENTIAL ACCESS", because we will either write to
it or scan it sequentially. As soon as it is sealed, we switch the
advice to "RANDOM ACCESS", because this should be the normal pattern and
aggressive read-aheads tend to be bad. The collector and the compactor
switch a sealed file back to "SEQUENTIAL ACCESS" just before they scan
it and back to "RANDOM ACCESS", when they are done.
Furthermore, all data files in a collection are advised with "WILLNEED"
just before the collection is scanned during loading.
Finally, the actual hash table of AssocMulti is advised to be random
access, although this is an anonymous map given to us by malloc and not
a memory mapped file.
2015-08-26 16:45:26 +02:00
Jan Steemann
a3550e331e
fixed makefiles
2015-08-26 16:17:45 +02:00
Michael Hackstein
4a3b8007bd
Fixed memory calculation of HashIndexMulti. And added index information for it
2015-08-26 14:38:23 +02:00
Michael Hackstein
4effa2291e
Merge branch 'devel' of github.com:arangodb/arangodb into array_indexing
2015-08-26 10:41:27 +02:00
Jan Steemann
9374a25822
removed unused error code
2015-08-25 19:55:48 +02:00
Michael Hackstein
40c1361244
Merge branch 'devel' of github.com:arangodb/arangodb into array_indexing
2015-08-25 16:40:31 +02:00
Jan Steemann
18f231f666
do not read memory for comparisons
2015-08-25 16:09:12 +02:00
Max Neunhoeffer
7957df9215
Merge branch 'array_indexing' of ssh://github.com/ArangoDB/ArangoDB into array_indexing
2015-08-25 13:04:48 +02:00
Max Neunhoeffer
203e9a5195
Make hashcache in AssocMulti switchable-off. Does not work yet.
2015-08-25 12:46:47 +02:00
Michael Hackstein
57c6103458
Revert "The AssocUnique index now requires only an element to insert it. They key is derived"
...
This reverts commit ea70a948e254716905a7619e72b41fbef4f66695.
2015-08-25 09:40:29 +02:00
Michael Hackstein
2d6af6e872
The AssocUnique index now requires only an element to insert it. They key is derived
2015-08-24 17:14:39 +02:00
Michael Hackstein
5b6f8b7b8e
Added a remove by key function to AssocUnique
2015-08-24 17:06:21 +02:00
Michael Hackstein
ba8264eada
AssocUnique is now a templated index. Foundation to move primary index to use it
2015-08-24 16:41:16 +02:00
Michael Hackstein
f9647962d7
Moved HashIndex/hash-array.h to Basics/AssocUnique.h
2015-08-24 14:17:49 +02:00
Michael Hackstein
2dd0f7cf7f
Continued @neunhoef 's on simplification of hash-index. The index itself will never free anything, calling class is responsible for freeing now.
2015-08-24 13:14:35 +02:00
Michael Hackstein
d43c515b56
Fixed a bug in hash index buckets. When resizing the table was not nulled correctly.
2015-08-24 11:22:53 +02:00
Michael Hackstein
b708a7ae68
Merge remote-tracking branch 'origin/devel' into array_indexing
2015-08-21 15:34:49 +02:00
Michael Hackstein
85b58a6d8d
Fixed sparse indexes
2015-08-21 14:07:32 +02:00
Michael Hackstein
9bb7c0dec6
The skiplist index is now able to index arrays as well
2015-08-21 11:04:04 +02:00
Michael Hackstein
4bb8508d82
Implemented a new improved version of the Array index insertion function.
2015-08-20 14:03:17 +02:00
Willi Goesgens
61eb1e6002
Fix vs 2015 compile issue.
2015-08-20 11:34:01 +02:00
Jan Steemann
deb7830615
fix dump/restore filenames
2015-08-20 02:47:00 +02:00
Jan Steemann
97d67e4399
use binary-safe string representations
2015-08-20 01:46:20 +02:00
Jan Steemann
0e3fddf917
fixes for VS2015
2015-08-19 17:18:13 +02:00
Michael Hackstein
241905c42c
Merge branch 'devel' of github.com:arangodb/arangodb into array_indexing
2015-08-19 12:51:53 +02:00
Jan Steemann
65424143c6
fix VS build
2015-08-19 12:37:34 +02:00
Jan Steemann
28ad41defc
fix compile warnings
2015-08-19 12:22:34 +02:00
Jan Steemann
e9a598c020
do not include deprecated header
2015-08-19 12:01:12 +02:00
Michael Hackstein
1a4d59d954
Merge branch 'devel' of github.com:arangodb/arangodb into array_indexing
2015-08-19 11:57:12 +02:00
Jan Steemann
6680f3bb5a
fix Mac build
2015-08-19 11:56:41 +02:00
Michael Hackstein
59e8ea3fad
Merge branch 'devel' of github.com:arangodb/arangodb into array_indexing
2015-08-19 11:56:34 +02:00
Jan Steemann
9f0384284f
moved files
2015-08-19 11:19:37 +02:00
Jan Steemann
338dd7e100
Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
2015-08-17 18:41:13 +02:00
Jan Steemann
4e771b2728
replication improvements
2015-08-17 18:41:05 +02:00
Willi Goesgens
35de50d153
set the mac to add hashes too.
2015-08-17 17:31:15 +02:00
Michael Hackstein
e867181a72
Merge remote-tracking branch 'origin/eimerung_hashindex' into array_indexing
2015-08-17 15:58:53 +02:00
Michael Hackstein
2c0bdb5861
Added a function in the attribute parser to transform an expanded attribute to the correct path for pid.
2015-08-17 12:43:13 +02:00
Max Neunhoeffer
1ba7587fc0
Rename ThreadProtector to DataProtector.
2015-08-17 12:43:12 +02:00
Jan Steemann
a8428877e7
some cleanup
2015-08-17 12:43:12 +02:00
Jan Steemann
4db822443b
allow non-const access to string-buffer
2015-08-17 12:43:11 +02:00
Michael Hackstein
8e3e2d547d
Do not push <Class const> into vector. It does not work everywhere
2015-08-17 12:43:11 +02:00
Jan Steemann
98106510d2
remove CONST_CAST helper
2015-08-17 12:43:11 +02:00
Jan Steemann
205d1e73ed
fix Visual Studio compile errors
2015-08-17 12:43:09 +02:00
Michael Hackstein
d7d00a5d0d
Fixed index comparision with multiple components. Introduced by AttributeName format.
2015-08-17 12:43:09 +02:00
Max Neunhoeffer
a18faae89f
Untemplatify ThreadProtector for those with gcc < 4.9.2.
...
We will revert this later once everybody has gcc >= 4.9.2.
2015-08-17 12:43:09 +02:00
Jan Steemann
907e6368c6
some unused function cleanup
2015-08-17 12:43:09 +02:00
Michael Hackstein
c2338d80d0
A user can now create an indux on attribute[*] which will put an index on attribute and ignores the expand flag. Does not harm any feature in AQL now.
2015-08-17 12:43:08 +02:00
Michael Hackstein
17a8f73a06
Now the input for indexes is parsed using the new attribute parser. This means the flags for expanded Attributes are set. Also introduced a transformation function to transform an attributeName list back into a string.
2015-08-17 12:43:07 +02:00
Max Neunhoeffer
a5cb29e026
Improve the explanation of ThreadProtectors.
2015-08-17 12:43:06 +02:00
Max Neunhoeffer
49f74b1baf
Replace DataGuardian by ThreadProtector.
2015-08-17 12:43:06 +02:00
Michael Hackstein
8fbb2739b0
The indexes can now use the new AttributeName struct which contains a flag if the attribute should be Array-Indexed. Right now this flag is hard-coded to false in all cases and not persisted.
2015-08-17 12:43:05 +02:00
Michael Hackstein
c85d5e347a
Implemented a new AttributeNameParser this is able to identify [*] expansion and shall be used for array indexes. Also includes tests.
2015-08-17 12:43:05 +02:00
Jan Steemann
46565e4daf
fix parallel insertion
2015-08-17 12:43:05 +02:00
Max Neunhoeffer
6d5d14a3ed
Merge branch 'devel' of ssh://github.com/ArangoDB/ArangoDB into devel
2015-08-17 12:40:16 +02:00
Jan Steemann
57e9b55739
use TRI_CHAR_NODE_PAIR()
2015-08-14 00:54:59 +02:00
Max Neunhoeffer
1cfaf524d1
Fix DataProtector after blog post comments.
2015-08-13 23:16:07 +02:00
Jan Steemann
22e14c9444
fix buffer overrun when there are more users than DATA_PROTECTOR_MULTIPLICITY
2015-08-13 20:57:34 +02:00
Jan Steemann
ca5b7661a3
initialize _list to nullptr
...
otherwise _list is uninitialized and if the assignment in the constructor fails with std::bad_alloc,
the destructor will delete from an uninitialized pointer
2015-08-13 20:19:41 +02:00
Jan Steemann
6dc10ba1de
remove unused function
2015-08-13 16:34:55 +02:00
Jan Steemann
a1d0c4e431
fixed g++5.1 compile error, added tests
2015-08-13 11:14:50 +02:00
Jan Steemann
99ac624ab0
declare differently
2015-08-13 00:17:37 +02:00
Jan Steemann
59744e9945
more version information (readline version, tcmalloc usage)
2015-08-12 21:38:50 +02:00
Jan Steemann
7b5ac63591
cppcheck
2015-08-12 21:37:28 +02:00
Jan Steemann
589e67357f
issue #1434 : return more meaningful error message from org/arangodb/general-graph::_fromVertex()
2015-08-12 21:36:27 +02:00
Jan Steemann
f6f10dbd45
removed uncalled functions
2015-08-12 19:46:25 +02:00
Jan Steemann
f1c5480e97
small cleanup
2015-08-12 15:01:33 +02:00
Jan Steemann
e642ce972f
throw error if collection not yet loaded
2015-08-10 17:08:41 +02:00
Max Neunhoeffer
a851b5a69d
Rename ThreadProtector to DataProtector.
2015-08-10 09:54:29 +02:00
Jan Steemann
5d82f0b385
some cleanup
2015-08-07 15:16:33 +02:00
Jan Steemann
68d58248da
allow non-const access to string-buffer
2015-08-07 13:29:38 +02:00
Jan Steemann
da38382202
remove CONST_CAST helper
2015-08-07 13:18:21 +02:00
Jan Steemann
9778bc16fd
fix Visual Studio compile errors
2015-08-07 11:07:56 +02:00
Max Neunhoeffer
5472655ca7
Untemplatify ThreadProtector for those with gcc < 4.9.2.
...
We will revert this later once everybody has gcc >= 4.9.2.
2015-08-07 10:20:31 +02:00
Jan Steemann
330fac6225
some unused function cleanup
2015-08-06 21:25:32 +02:00
Max Neunhoeffer
0931e1aef8
Improve the explanation of ThreadProtectors.
2015-08-06 13:18:25 +02:00
Max Neunhoeffer
e197e02b5b
Replace DataGuardian by ThreadProtector.
2015-08-06 13:03:37 +02:00
Jan Steemann
2a88c76e0e
fix parallel insertion
2015-08-05 15:16:07 +02:00
Jan Steemann
c0e26e7a78
handle UBool result type correctly
2015-08-04 12:21:34 +02:00
Jan Steemann
35529ffd61
make more environment data available in --version
2015-08-04 11:21:50 +02:00
Jan Steemann
7a3d49be88
Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
2015-08-04 10:30:28 +02:00
Jan Steemann
0400737ae4
some flock diagnostics
2015-08-04 09:57:28 +02:00
Jan Steemann
0f1ce26e41
added function to create an ICU RegexMatcher
2015-08-03 23:57:26 +02:00
Jan Steemann
38227a81f8
speed up initial edge index creation
2015-08-03 18:27:50 +02:00
Jan Steemann
23f8f2f86b
nullptr
2015-07-30 22:43:02 +02:00
Jan Steemann
6d4395059b
use lock guards
2015-07-29 15:15:49 +02:00
Jan Steemann
326f0dba6e
removed some unused code
2015-07-29 13:50:18 +02:00
Jan Steemann
454a6c998c
Merge branch 'devel' of https://github.com/arangodb/arangodb into shaper-cxx
2015-07-28 17:38:48 +02:00
Jan Steemann
6d7ccd7699
move shaper to cxx
2015-07-28 17:38:31 +02:00
Michael Hackstein
412394ff3c
Merge branch 'devel' of github.com:arangodb/arangodb into devel
2015-07-28 13:22:01 +02:00
Michael Hackstein
25f7b25206
Fixed failing failure-tests
2015-07-28 13:21:54 +02:00
Jan Steemann
3d3024a54e
cppcheck
2015-07-28 09:51:24 +02:00
Jan Steemann
7e4b615248
simplify call to mmap
2015-07-27 16:24:25 +02:00
Frank Celler
33d702c190
ignore died process on delete
2015-07-24 09:30:26 +00:00
Frank Celler
4dccc6a8dc
Merge branch 'devel' of github.com:arangodb/arangodb into dispatcher
2015-07-23 15:41:05 +02:00
Frank Celler
35a3c6421c
moved dispatcher to atomic
2015-07-23 15:40:34 +02:00
Max Neunhoeffer
68a5f3a131
Add one more comment.
2015-07-23 14:46:25 +02:00
Max Neunhoeffer
395e920825
Add a few more comments.
2015-07-23 14:44:58 +02:00
Max Neunhoeffer
350da2c910
Add a data guardian implementation (lock-free using hazard pointers).
2015-07-23 14:23:04 +02:00
Max Neunhoeffer
c3c1c3242f
Add TRI_DEFER.
2015-07-22 10:29:13 +02:00
Jan Steemann
abf69329e2
casts for Windows
2015-07-21 18:57:56 +02:00
Jan Steemann
38cdc662ec
removed configure options `--enable-timing` and `--enable-figures`
2015-07-21 18:47:43 +02:00
Jan Steemann
20c96b5e46
removed locks
2015-07-21 17:34:57 +02:00
Jan Steemann
09736f965f
more lock instrumentation
2015-07-21 13:09:02 +02:00
Jan Steemann
4d0872f2b9
more cxx
2015-07-20 18:42:02 +02:00
Jan Steemann
a5db59cc47
remove some locks in HttpServer and friends
2015-07-17 17:48:45 +02:00
Jan Steemann
c54b5a6ba8
renamed file
2015-07-16 21:06:29 +02:00
Jan Steemann
1428af9e49
remove useless header inclusions
2015-07-15 21:47:50 +02:00
Jan Steemann
6d4dbcbb47
add SpinLock and SpinLocker, unified other Lockers
2015-07-15 21:22:00 +02:00
Willi Goesgens
0f85dec259
Fix memleak with unique_ptr
2015-07-15 09:57:35 +02:00
Willi Goesgens
a2b29d8864
work around error message about empty object when compiling in devel mode.
2015-07-14 17:04:11 +02:00
Jan Steemann
af9c155c90
use references
2015-07-14 14:05:18 +02:00
Jan Steemann
cc27e9b88f
try to pacify some compilers
2015-07-14 08:50:29 +02:00
Jan Steemann
53400a44a7
simplifications
2015-07-13 22:56:41 +02:00
Michael Hackstein
32100ca6fd
Merge branch 'devel' of github.com:arangodb/arangodb into devel
2015-07-13 14:50:03 +02:00
Michael Hackstein
b54dae0d5b
Fixed a memleak in newest shortest path shortcut implementation
2015-07-13 14:49:54 +02:00
Jan Steemann
14ccfbabc3
Merge branch 'aql-query-cache' of https://github.com/arangodb/arangodb into devel
2015-07-13 12:46:41 +02:00
Jan Steemann
5a453bbcfc
issue #1409 : Document values with null character truncated with 2.6.2 on Windows
2015-07-13 12:45:13 +02:00