Howard Chu
798f020c59
Tweak Win32 errmsg buffer
9 years ago
Hallvard Furuseth
60580aa678
ITS#7992 Fix memleak in prev change
10 years ago
Howard Chu
ea7d99d970
Happy New Year
10 years ago
Howard Chu
6c0900c353
ITS#8355 fix subcursors
...
make sure C_DEL gets reset in subcursor after it moves.
10 years ago
Howard Chu
05709ce6fa
Fixups for env_copy with large files
...
wsize was being truncated to 32bits on Windows.
Only try to write 1GB at a time on Windows64;
larger writes fail with ERROR_WORKING_SET_QUOTA.
10 years ago
Howard Chu
935a90dfc4
MinGW warning cleanup: _MSC_VER -> _WIN32.
...
From 1ba5adb2ec
"MDB_VL32 preparation".
10 years ago
Hallvard Furuseth
25fd09df6d
ITS#8334 Fix MDB_APPENDDUP vs. rewrite(single item)
10 years ago
Howard Chu
fd7bfbc0df
ITS#8336 fix page_search_root assert on FreeDB
...
Let "illegal" branch pages thru on the FreeDB - the condition
is only temporary and will be fixed by the time rebalance finishes.
10 years ago
Howard Chu
ec32e90022
ITS#7992 cleanup
...
check for utf8_to_utf16 failures
10 years ago
Hallvard Furuseth
18caeaa70b
mdb_dbi_open(): Catch strdup failure
10 years ago
Sebastien Launay
19d135af54
ITS#8330 Fix robust mutex detection for glibc 2.10 and 2.11
...
pthread_mutexattr_setrobust and pthread_mutex_consistent are provided since 2.12 not 2.10:
https://sourceware.org/git/?p=glibc.git;a=commit;h=402cd98775db1478f64c9b0dbe00664b89eb2773
https://sourceware.org/git/?p=glibc.git;a=commit;h=78ee21859939ff75ccf8bbe00499b0c462df2e2d
10 years ago
Howard Chu
e4b84e79f8
ITS#8321 cleanup unused var
...
from da67af1a4b
10 years ago
Howard Chu
00aae125be
ITS#8321 fix ambiguity in cursor_put fixup
...
After delete/add of a node, other nodes may no longer be
pointing at the data they intended. This can confuse subsequent
fixups.
10 years ago
Howard Chu
e0316e0fae
Cleanup C_DEL flag usage
...
Only set it if the cursor's current position was deleted
10 years ago
Howard Chu
46e3f46e76
ITS#8321 More cursor fixup
...
Based on page_touch fixup from ITS#7594 but expanded:
make sure sub-cursors agree with main cursors.
10 years ago
Howard Chu
2b89f4baf1
ITS#8321 page_touch - don't fixup the cursor we just touched
10 years ago
Howard Chu
8e7cd2269d
ITS#8321 mdb_put cursor needs tracking too
10 years ago
Howard Chu
7881fd0fa7
ITS#8321 Fix mdb_cursor_set
...
Always reinit mc_pg[0] if cursor is not C_INITIALIZED
It might have a stale value when using nested txns
10 years ago
Howard Chu
00515babcc
ITS#8321 deinit empty cursors
...
Always unset C_INIT flag if the cursor's target DB has been deleted
10 years ago
Howard Chu
75bca7f311
ITS#8323 Fix nested commit
...
Must remove our spilled pages from parent's dirty list
10 years ago
Hallvard Furuseth
c11ef29ffa
CURSOR_TMP_[UN]TRACK() -> WITH_CURSOR_TRACKING()
10 years ago
Howard Chu
d78ffc9517
ITS#8321 reorganize page_split fixups
...
DUPFIXED fixups needed to occur after separator update.
MDB_RESERVE handling moved after split fixup.
10 years ago
Howard Chu
8fdf79600a
ITS#8321 simplify page_split fixups
10 years ago
Howard Chu
7a76ded030
ITS#8321 track temporary cursors
...
In rebalance/split operations, temporary cursors need to be visible
to propagate fixups
10 years ago
Howard Chu
5c7b84b465
ITS#8321 fix mdb_cursor_put
...
Ignore sub-cursors that shouldn't be fixed up
10 years ago
Howard Chu
94831f7c3f
ITS#8321 fix mdb_cursor_shadow()
...
Set a valid txn so that cursor fixup code works on the shadows
10 years ago
Howard Chu
0ec3967e1d
ITS#8321 fix mdb_cursor_chk()
...
It was reporting spurious errors due to uninit'd cursors
10 years ago
Howard Chu
8773a08c43
ITS#8321 don't skip fixups on splitting cursors
...
Adjustments can't be skipped, in recursive calls each level must
fixup their own level.
10 years ago
Howard Chu
91dc62506b
ITS#8321 Fix del/dupsort
...
When deleting a dupsort key, if other cursors pointed at that key,
set them to uninit'd, not EOF. They no longer have anything to
point at.
10 years ago
Howard Chu
94e8009ca4
ITS#8300 more for prev commit
...
Just tell explicitly which direction we moved/merged from
10 years ago
Howard Chu
ba85adb52d
Silence some valgrind uninit warnings
10 years ago
Howard Chu
bfe2088946
Refix root split check from 5da67968af
10 years ago
Oskari Timperi
f13b971960
ITS#7992 assume Windows paths are UTF-8
10 years ago
Howard Chu
28b57ba8b9
ITS#8316 cursor fixup in page_merge
...
Deleting the merged page requires bumping down other ki's
of the page's parent.
10 years ago
Howard Chu
1edb0e3a42
ITS#8315 fix ovpage_free
...
Keep dirty_room sync'd with dirty_list
10 years ago
Howard Chu
2fb8219aa3
ITS#8313 more for ITS#8062
...
dummy flags must be init'd due to 3d46d550
10 years ago
Hallvard Furuseth
db510359c9
ITS#8312 Fix loose pages in commit(nested txn)
10 years ago
Howard Chu
71c07f0d60
ITS#8311 add comment
10 years ago
Howard Chu
f9d3dc8293
ITS#8311 fix page_split from update_key
...
Check for top of stack. Usually the cursor only has height 1 when
calling page_split, but not always.
10 years ago
Hallvard Furuseth
2a839d5dfa
ITS#7209 Default MDB_DSYNC = O_SYNC if no O_DSYNC
10 years ago
Howard Chu
a90415f301
ITS#8310 fix mdb_rebalance cursor fixup
...
When collapsing root, must adjust entire cursor stack
10 years ago
Howard Chu
79b12bbd7b
Tweak robust mutex detection for glibc
10 years ago
Howard Chu
5d8f9ddf7e
ITS#8304 fix page_merge
...
Was using the pre-touch dst page pointer instead of the touched page
10 years ago
Howard Chu
712942d392
ITS#8300 more for node_move
...
When moving a node from one page to another, make sure other cursors'
parent index gets adjusted too.
10 years ago
Howard Chu
7d022e05a8
ITS#8300 simplify
10 years ago
Howard Chu
0db71b9f1a
ITS#8300 more for node_move fixups
...
When moving a node from the right neighbor, a different
adjustment is needed.
10 years ago
Howard Chu
9fc7c94aeb
ITS#8300 fix node_move
...
Don't adjust other cursors when we added a node on the right.
10 years ago
Howard Chu
af45cf3a04
ITS#8300 fix rebalance after node_move
...
ITS#8258, ITS#7829 fixes checked parent index to see if we were moving
from a left neighbor. Should have just checked to see if current index
was 0, meaning we added on the left. (Parent index may not tell us
anything meaningful after a nested rebalance.)
10 years ago
Howard Chu
17aab561f2
ITS#8238 fix DUPFIXED page_split
...
Parent mc_ki wasn't adjusted if new_indx was > split point
10 years ago
Howard Chu
c62b77b661
ITS#8299 fix page_merge cursor fixup
...
The parent's mc_ki has changed. We need to fix that up as well
in other cursors.
10 years ago