From b15149a56b19297a18f0d031c5784083997f7442 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Mon, 14 Jan 2019 19:06:20 +0000 Subject: [PATCH 1/5] Happy New Year --- libraries/liblmdb/COPYRIGHT | 2 +- libraries/liblmdb/lmdb.h | 2 +- libraries/liblmdb/mdb.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/liblmdb/COPYRIGHT b/libraries/liblmdb/COPYRIGHT index 10d7b3204f..f076556eb5 100644 --- a/libraries/liblmdb/COPYRIGHT +++ b/libraries/liblmdb/COPYRIGHT @@ -1,4 +1,4 @@ -Copyright 2011-2018 Howard Chu, Symas Corp. +Copyright 2011-2019 Howard Chu, Symas Corp. All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/libraries/liblmdb/lmdb.h b/libraries/liblmdb/lmdb.h index fdf0d68141..50ee37fa48 100644 --- a/libraries/liblmdb/lmdb.h +++ b/libraries/liblmdb/lmdb.h @@ -135,7 +135,7 @@ * * @author Howard Chu, Symas Corporation. * - * @copyright Copyright 2011-2018 Howard Chu, Symas Corp. All rights reserved. + * @copyright Copyright 2011-2019 Howard Chu, Symas Corp. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted only as authorized by the OpenLDAP diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c index e12af4482a..7ec8f60177 100644 --- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -5,7 +5,7 @@ * BerkeleyDB API, but much simplified. */ /* - * Copyright 2011-2018 Howard Chu, Symas Corp. + * Copyright 2011-2019 Howard Chu, Symas Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without From 7375ffc0d40db77b45d0a2646383d31f8808a765 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Wed, 30 Jan 2019 23:43:34 +0000 Subject: [PATCH 2/5] ITS#8969 tweak mdb_page_split Bump up number of keys for which we use fine-grained splitpoint search --- libraries/liblmdb/mdb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c index 7ec8f60177..22740ce80f 100644 --- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -8749,7 +8749,7 @@ mdb_page_split(MDB_cursor *mc, MDB_val *newkey, MDB_val *newdata, pgno_t newpgno * the split so the new page is emptier than the old page. * This yields better packing during sequential inserts. */ - if (nkeys < 20 || nsize > pmax/16 || newindx >= nkeys) { + if (nkeys < 32 || nsize > pmax/16 || newindx >= nkeys) { /* Find split point */ psize = 0; if (newindx <= split_indx || newindx >= nkeys) { From 8c39ba1077808f1edcd034e89f78b0c7d36944e9 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Thu, 31 Jan 2019 00:22:50 +0000 Subject: [PATCH 3/5] ITS#8969 --- libraries/liblmdb/CHANGES | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/liblmdb/CHANGES b/libraries/liblmdb/CHANGES index db89b7e5c7..68b05dca65 100644 --- a/libraries/liblmdb/CHANGES +++ b/libraries/liblmdb/CHANGES @@ -1,6 +1,7 @@ LMDB 0.9 Change Log LMDB 0.9.24 Engineering + ITS#8969 Tweak mdb_page_split LMDB 0.9.23 Release (2018/12/19) ITS#8756 Fix loose pages in dirty list From ea30be6109d6abdc6c67db312cd61ea6c9753820 Mon Sep 17 00:00:00 2001 From: Kris Zyp Date: Wed, 6 Feb 2019 13:49:27 -0700 Subject: [PATCH 4/5] ITS#8975 WIN32: Skip setting file pointer for write maps CreateFileMapping already takes care of it. --- libraries/liblmdb/mdb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c index 22740ce80f..1e71e3b635 100644 --- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -3991,9 +3991,9 @@ mdb_env_map(MDB_env *env, void *addr) * and won't map more than the file size. * Just set the maxsize right now. */ - if (SetFilePointer(env->me_fd, sizelo, &sizehi, 0) != (DWORD)sizelo + if (!(flags & MDB_WRITEMAP) && (SetFilePointer(env->me_fd, sizelo, &sizehi, 0) != (DWORD)sizelo || !SetEndOfFile(env->me_fd) - || SetFilePointer(env->me_fd, 0, NULL, 0) != 0) + || SetFilePointer(env->me_fd, 0, NULL, 0) != 0)) return ErrCode(); } From f8505b10ed37dad514bedb4bcffdcb7de2a5057c Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Sun, 10 Feb 2019 10:13:10 +0000 Subject: [PATCH 5/5] ITS#8975 --- libraries/liblmdb/CHANGES | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/liblmdb/CHANGES b/libraries/liblmdb/CHANGES index 68b05dca65..e2bf743312 100644 --- a/libraries/liblmdb/CHANGES +++ b/libraries/liblmdb/CHANGES @@ -2,6 +2,7 @@ LMDB 0.9 Change Log LMDB 0.9.24 Engineering ITS#8969 Tweak mdb_page_split + ITS#8975 WIN32 fix writemap set_mapsize crash LMDB 0.9.23 Release (2018/12/19) ITS#8756 Fix loose pages in dirty list