Skip to content

Commit

Permalink
Release 2.2.2
Browse files Browse the repository at this point in the history
  • Loading branch information
cruppstahl committed Jun 4, 2017
1 parent a7941d8 commit 0131a10
Show file tree
Hide file tree
Showing 24 changed files with 188 additions and 157 deletions.
25 changes: 25 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,28 @@
Jun 04, 2017 - chris ---------------------------------------------------
release of upscaledb-2.2.2
- New API for bulk inserts
- Fixed several bugs
- Fixed compilation for C++11
- Fixed crc32 failure when reusing deleted blobs spanning multiple pages
- Fixed a bug when recovering duplicates that were inserted with one of the
UPS_DUPLICATE_INSERT_* flags
- Minor improvements for the journalling performance
- Fixed compilation issues w/ gcc 6.2.1 (Thanks, Roel Brook)
- Improved performance of duplicate keys
- Performance improvements when appending keys at the end of the database
- The flags UPS_HINT_APPEND and UPS_HINT_PREPEND are now deprecated
- Removed the libuv dependency; switched to boost::asio instead
- Performance improvements when using many duplicate keys (with a
duplicate table spanning multiple pages)
- Committed transactions are now batched before they are flushed to disk
- The integer compression codecs UPS_COMPRESSOR_UINT32_GROUPVARINT and
UPS_COMPRESSOR_UINT32_STREAMVBYTE are now deprecated
- The integer compression codec UPS_COMPRESSOR_UINT32_MASKEDVBYTE is now a
synonym for UPS_COMPRESSOR_UINT32_VARBYTE, but uses the MaskedVbyte
library under the hood.
- Added Mingw compiler support (thanks, topilski)
- License is now Apache Public License 2.0

Jan 25, 2016 - chris ---------------------------------------------------
release of upscaledb-2.2.1

Expand Down
2 changes: 1 addition & 1 deletion README
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
upscaledb 2.2.1 Fr 10. Mär 21:33:03 CET 2017
upscaledb 2.2.2 Fr 10. Mär 21:33:03 CET 2017
(C) Christoph Rupp, [email protected]; http://www.upscaledb.com

This is the README file of upscaledb.
Expand Down
2 changes: 1 addition & 1 deletion documentation/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ PROJECT_NAME = "upscaledb"
# This could be handy for archiving the generated documentation or
# if some version control system is used.

PROJECT_NUMBER = 2.2.1
PROJECT_NUMBER = 2.2.2

# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
Expand Down
92 changes: 46 additions & 46 deletions dotnet/upscaledb-dotnet/NativeMethods.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ static NativeMethods() {
// See http://stackoverflow.com/questions/10852634/
var subdir = (IntPtr.Size == 8) ? "x64" : "x86";
if (System.IO.Directory.Exists(subdir)) {
LoadLibrary(subdir + "/upscaledb-2.2.1.dll");
LoadLibrary(subdir + "/upscaledb-2.2.2.dll");
}
else
{
Expand Down Expand Up @@ -69,7 +69,7 @@ unsafe struct OperationLow
public Int32 result;
}

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_db_bulk_operations",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_db_bulk_operations",
CallingConvention = CallingConvention.Cdecl)]
static private unsafe extern int BulkOperationsLow(IntPtr handle, IntPtr txnhandle,
OperationLow* operations, SizeT operations_length, int flags);
Expand Down Expand Up @@ -150,11 +150,11 @@ static public unsafe int BulkOperations(IntPtr handle, IntPtr txnhandle, Operati
}
}

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_set_error_handler",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_set_error_handler",
CallingConvention = CallingConvention.Cdecl)]
static public extern void SetErrorHandler(ErrorHandler eh);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_strerror",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_strerror",
CallingConvention=CallingConvention.Cdecl)]
static public extern IntPtr StringErrorImpl(int error);

Expand All @@ -163,48 +163,48 @@ static public string StringError(int error) {
return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(s);
}

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_get_version",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_get_version",
CallingConvention = CallingConvention.Cdecl)]
static public extern void GetVersion(out int major, out int minor,
out int revision);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_env_create",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_env_create",
CallingConvention = CallingConvention.Cdecl)]
static public extern int EnvCreate(out IntPtr handle, String fileName,
int flags, int mode, Parameter[] parameters);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_env_open",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_env_open",
CallingConvention = CallingConvention.Cdecl)]
static public extern int EnvOpen(out IntPtr handle, String fileName,
int flags, Parameter[] parameters);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_env_create_db",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_env_create_db",
CallingConvention = CallingConvention.Cdecl)]
static public extern int EnvCreateDatabase(IntPtr handle,
out IntPtr dbhandle, short name, int flags,
Parameter[] parameters);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_env_open_db",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_env_open_db",
CallingConvention = CallingConvention.Cdecl)]
static public extern int EnvOpenDatabase(IntPtr handle,
out IntPtr dbhandle, short name, int flags,
Parameter[] parameters);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_env_rename_db",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_env_rename_db",
CallingConvention = CallingConvention.Cdecl)]
static public extern int EnvRenameDatabase(IntPtr handle,
short oldName, short newName);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_env_erase_db",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_env_erase_db",
CallingConvention = CallingConvention.Cdecl)]
static public extern int EnvEraseDatabase(IntPtr handle,
short name, int flags);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_env_flush",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_env_flush",
CallingConvention = CallingConvention.Cdecl)]
static public extern int EnvFlush(IntPtr handle, int flags);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_env_get_database_names",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_env_get_database_names",
CallingConvention = CallingConvention.Cdecl)]
static public extern int EnvGetDatabaseNamesLow(IntPtr handle,
IntPtr dbnames, ref int count);
Expand All @@ -225,55 +225,55 @@ static public int EnvGetDatabaseNames(IntPtr handle, out short[] names) {
return 0;
}

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_env_close",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_env_close",
CallingConvention = CallingConvention.Cdecl)]
static public extern int EnvClose(IntPtr handle, int flags);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_txn_begin",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_txn_begin",
CallingConvention = CallingConvention.Cdecl)]
static public extern int TxnBegin(out IntPtr txnhandle, IntPtr envhandle,
String filename, IntPtr reserved, int flags);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_txn_commit",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_txn_commit",
CallingConvention = CallingConvention.Cdecl)]
static public extern int TxnCommit(IntPtr handle, int flags);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_txn_abort",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_txn_abort",
CallingConvention = CallingConvention.Cdecl)]
static public extern int TxnAbort(IntPtr handle, int flags);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_db_get_error",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_db_get_error",
CallingConvention = CallingConvention.Cdecl)]
static public extern int GetLastError(IntPtr handle);

// TODO this is new, but lots of effort b/c of complex
// marshalling. if you need this function pls drop me a mail.
/*
[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_db_get_parameters",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_db_get_parameters",
CallingConvention = CallingConvention.Cdecl)]
static public extern int GetParameters(IntPtr handle, Parameter[] parameters);
*/

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_db_get_env",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_db_get_env",
CallingConvention = CallingConvention.Cdecl)]
static public extern IntPtr GetEnv(IntPtr handle);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_register_compare",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_register_compare",
CallingConvention = CallingConvention.Cdecl)]
static public extern int RegisterCompare(String name,
CompareFunc foo);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_env_select_range",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_env_select_range",
CallingConvention = CallingConvention.Cdecl)]
static public extern int EnvSelectRange(IntPtr handle,
String query, IntPtr begin, IntPtr end, out IntPtr result);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_db_set_compare_func",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_db_set_compare_func",
CallingConvention = CallingConvention.Cdecl)]
static public extern int SetCompareFunc(IntPtr handle,
CompareFunc foo);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_db_find",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_db_find",
CallingConvention = CallingConvention.Cdecl)]
static private extern int FindLow(IntPtr handle, IntPtr txnhandle,
ref KeyStruct key, ref RecordStruct record, int flags);
Expand Down Expand Up @@ -304,7 +304,7 @@ static public unsafe int Find(IntPtr handle, IntPtr txnhandle,
}
}

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_db_insert",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_db_insert",
CallingConvention = CallingConvention.Cdecl)]
static private extern int InsertLow(IntPtr handle, IntPtr txnhandle,
ref KeyStruct key, ref RecordStruct record, int flags);
Expand Down Expand Up @@ -344,7 +344,7 @@ static public unsafe int InsertRecNo(IntPtr handle, IntPtr txnhandle,
}
}

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_db_erase",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_db_erase",
CallingConvention = CallingConvention.Cdecl)]
static private extern int EraseLow(IntPtr handle, IntPtr txnhandle,
ref KeyStruct key, int flags);
Expand All @@ -359,40 +359,40 @@ static public unsafe int Erase(IntPtr handle, IntPtr txnhandle,
}
}

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_db_count",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_db_count",
CallingConvention = CallingConvention.Cdecl)]
static public extern int GetCount(IntPtr handle, IntPtr txnhandle,
int flags, out Int64 count);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_db_close",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_db_close",
CallingConvention = CallingConvention.Cdecl)]
static public extern int Close(IntPtr handle, int flags);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_cursor_create",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_cursor_create",
CallingConvention = CallingConvention.Cdecl)]
static public extern int CursorCreate(out IntPtr chandle, IntPtr dbhandle,
IntPtr txnhandle, int flags);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_cursor_clone",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_cursor_clone",
CallingConvention = CallingConvention.Cdecl)]
static public extern int CursorClone(IntPtr handle, out IntPtr clone);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_cursor_move",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_cursor_move",
CallingConvention = CallingConvention.Cdecl)]
static private extern int CursorMoveLow(IntPtr handle,
IntPtr key, IntPtr record, int flags);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_cursor_move",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_cursor_move",
CallingConvention = CallingConvention.Cdecl)]
static private extern int CursorMoveLow(IntPtr handle,
ref KeyStruct key, IntPtr record, int flags);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_cursor_move",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_cursor_move",
CallingConvention = CallingConvention.Cdecl)]
static private extern int CursorMoveLow(IntPtr handle,
IntPtr key, ref RecordStruct record, int flags);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_cursor_move",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_cursor_move",
CallingConvention = CallingConvention.Cdecl)]
static private extern int CursorMoveLow(IntPtr handle,
ref KeyStruct key, ref RecordStruct record, int flags);
Expand Down Expand Up @@ -445,7 +445,7 @@ static unsafe public int CursorGet(IntPtr handle, int flags, ref byte[] keyArray
return st;
}

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_cursor_overwrite",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_cursor_overwrite",
CallingConvention = CallingConvention.Cdecl)]
static private extern int CursorOverwriteLow(IntPtr handle,
ref RecordStruct record, int flags);
Expand All @@ -459,7 +459,7 @@ static unsafe public int CursorOverwrite(IntPtr handle, byte[] data, int flags)
}
}

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_cursor_find",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_cursor_find",
CallingConvention = CallingConvention.Cdecl)]
static private extern int CursorFindLow(IntPtr handle,
ref KeyStruct key, ref RecordStruct record, int flags);
Expand Down Expand Up @@ -491,7 +491,7 @@ static unsafe public int CursorFind(IntPtr handle, ref byte[] keydata,
}
}

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_cursor_insert",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_cursor_insert",
CallingConvention = CallingConvention.Cdecl)]
static private extern int CursorInsertLow(IntPtr handle,
ref KeyStruct key, ref RecordStruct record, int flags);
Expand All @@ -509,32 +509,32 @@ static public unsafe int CursorInsert(IntPtr handle,
}
}

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_cursor_erase",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_cursor_erase",
CallingConvention = CallingConvention.Cdecl)]
static public extern int CursorErase(IntPtr handle, int flags);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_cursor_get_duplicate_count",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_cursor_get_duplicate_count",
CallingConvention = CallingConvention.Cdecl)]
static public extern int CursorGetDuplicateCount(IntPtr handle, out int count,
int flags);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "ups_cursor_close",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "ups_cursor_close",
CallingConvention = CallingConvention.Cdecl)]
static public extern int CursorClose(IntPtr handle);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "uqi_result_get_row_count",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "uqi_result_get_row_count",
CallingConvention = CallingConvention.Cdecl)]
static public extern int ResultGetRowCount(IntPtr handle);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "uqi_result_get_key_type",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "uqi_result_get_key_type",
CallingConvention = CallingConvention.Cdecl)]
static public extern int ResultGetKeyType(IntPtr handle);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "uqi_result_get_record_type",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "uqi_result_get_record_type",
CallingConvention = CallingConvention.Cdecl)]
static public extern int ResultGetRecordType(IntPtr handle);

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "uqi_result_get_key",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "uqi_result_get_key",
CallingConvention = CallingConvention.Cdecl)]
static private extern void ResultGetKeyLow(IntPtr handle,
int row, ref KeyStruct key);
Expand All @@ -548,7 +548,7 @@ static unsafe public byte[] ResultGetKey(IntPtr handle, int row) {
return data;
}

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "uqi_result_get_record",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "uqi_result_get_record",
CallingConvention = CallingConvention.Cdecl)]
static private extern void ResultGetRecordLow(IntPtr handle,
int row, ref RecordStruct record);
Expand All @@ -562,7 +562,7 @@ static unsafe public byte[] ResultGetRecord(IntPtr handle, int row) {
return data;
}

[DllImport("upscaledb-2.2.1.dll", EntryPoint = "uqi_result_close",
[DllImport("upscaledb-2.2.2.dll", EntryPoint = "uqi_result_close",
CallingConvention = CallingConvention.Cdecl)]
static public extern void ResultClose(IntPtr handle);
}
Expand Down
21 changes: 11 additions & 10 deletions include/ups/types.h
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
/*
* Copyright (C) 2005-2016 Christoph Rupp ([email protected]).
* All Rights Reserved.
* Copyright (C) 2005-2017 Christoph Rupp ([email protected]).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* See the file COPYING for License information.
*/
Expand Down
Loading

0 comments on commit 0131a10

Please sign in to comment.