From ba45e0c05aee867ac1d8240eeb013d37487bb146 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Wed, 29 Apr 2015 17:12:40 +0100 Subject: [PATCH 1/3] ITS#8117 fix INTEGERDUP compare --- libraries/liblmdb/mdb.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c index fe651509f8..acb0e449f5 100644 --- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -7076,6 +7076,12 @@ mdb_xcursor_init1(MDB_cursor *mc, MDB_node *node) mx->mx_db.md_flags |= MDB_INTEGERKEY; } } +#if UINT_MAX < SIZE_MAX + if (mc->mc_dbx->md_dcmp == mdb_cmp_int && mx->mx_db.md_pad == sizeof(size_t)) { + mc->mc_dbx->md_dcmp = mdb_cmp_clong; + mx->mx_dbx.md_cmp = mdb_cmp_clong; + } +#endif DPRINTF(("Sub-db -%u root page %"Z"u", mx->mx_cursor.mc_dbi, mx->mx_db.md_root)); mx->mx_dbflag = DB_VALID|DB_DIRTY; /* DB_DIRTY guides mdb_cursor_touch */ From 47c4e747a0ce58f9ecfb5b9615f4c2b6d0753024 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Wed, 29 Apr 2015 17:28:21 +0100 Subject: [PATCH 2/3] ITS#8117 cleanup prev commit --- libraries/liblmdb/mdb.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c index acb0e449f5..19705a0618 100644 --- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -7085,10 +7085,6 @@ mdb_xcursor_init1(MDB_cursor *mc, MDB_node *node) DPRINTF(("Sub-db -%u root page %"Z"u", mx->mx_cursor.mc_dbi, mx->mx_db.md_root)); mx->mx_dbflag = DB_VALID|DB_DIRTY; /* DB_DIRTY guides mdb_cursor_touch */ -#if UINT_MAX < SIZE_MAX - if (mx->mx_dbx.md_cmp == mdb_cmp_int && mx->mx_db.md_pad == sizeof(size_t)) - mx->mx_dbx.md_cmp = mdb_cmp_clong; -#endif } /** Initialize a cursor for a given transaction and database. */ From 0fd2214a8bba509e129754e67bebdacee7d03d7d Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Wed, 29 Apr 2015 17:25:42 +0100 Subject: [PATCH 3/3] ITS#8117 --- libraries/liblmdb/CHANGES | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/liblmdb/CHANGES b/libraries/liblmdb/CHANGES index da4e5ce5f4..6d32dc9daf 100644 --- a/libraries/liblmdb/CHANGES +++ b/libraries/liblmdb/CHANGES @@ -8,6 +8,7 @@ LMDB 0.9.15 Release Engineering Fix mdb_load with large values (ITS#8066) Fix to retry writes on EINTR (ITS#8106) Fix mdb_cursor_del on empty DB (ITS#8109) + Fix MDB_INTEGERDUP key compare (ITS#8117) Added workaround for fdatasync bug in ext3fs Build Don't use -fPIC for static lib