summaryrefslogtreecommitdiff
path: root/plugins/Dbx_kv/src/hamsterdb/README
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Dbx_kv/src/hamsterdb/README')
-rw-r--r--plugins/Dbx_kv/src/hamsterdb/README261
1 files changed, 0 insertions, 261 deletions
diff --git a/plugins/Dbx_kv/src/hamsterdb/README b/plugins/Dbx_kv/src/hamsterdb/README
deleted file mode 100644
index 66fba73f22..0000000000
--- a/plugins/Dbx_kv/src/hamsterdb/README
+++ /dev/null
@@ -1,261 +0,0 @@
-hamsterdb 2.1.10 Mo 23. Feb 23:07:52 CET 2015
-(C) Christoph Rupp, chris@crupp.de; http://www.hamsterdb.com
-
-This is the README file of hamsterdb.
-
-Contents:
-
-1. About
-
-hamsterdb is a database engine written in C/C++. It is fast, production-proven
-and easy to use.
-
-This release has several bug fixes (see below for a list). Thanks to those who
-reported them and invested lots of time to come up with samples to reproduce
-the bugs.
-
-The flag HAM_RECORD_NUMBER is deprecated. It is replaced with
-HAM_RECORD_NUMBER64 for 64bit record numbers, and HAM_RECORD_NUMBER32 for
-32bit record numbers.
-
-A major change under the hood: dirty pages are now flushed asynchronously.
-Expect performance improvements in this release, and more to come in the
-next releases.
-
-2. Changes
-
-New Features
-* Added Cursor.TryFind to hamsterdb-dotnet
- (thanks, mjmckp <matthew.j.m.peacock@gmail.com>)
-* The page cache eviction was moved to a background thread
-* When reading records from mmapped storage, a pointer into the storage
- is returned and the record data is no longer copied
-
-Bugfixes
-* Fixed FreeBSD compilation errors (thanks, Heping Wen)
-* issue #46: fixed segfault in approx. matching (thanks, Joel
- Jacobson)
-* issue #45: fixed segfault in Journal recovery (thanks, Michael
- Moellney)
-* issue #44: approx. matching returned the wrong key (thanks, Joel
- Jacobson)
-* issue #43: fixed segfault when flushing transactions (thanks, Joel
- Jacobson)
-* Fixed compilation error on debian Wheezy, gcc 4.7.2, 32bit (thanks,
- Thomas Fähnle)
-* Fixed compilation error on OSX (thanks, Daniel Lemire)
-* issue #42: ham_cursor_find returned wrong key w/ approx. matching and
- transactions
-* Fixed large file support on linux (thanks, Thomas Fähnle)
-
-Other Changes
-* Default compilation flag is now -O3
-* Added a new parameter HAM_PARAM_POSIX_FADVISE (thanks, Thomas Fähnle)
-* Removed dependency to malloc.h
-* The github wiki is now linked into documentation/wiki
-* The macro HAM_API_REVISION is now deprecated; use HAM_VERSION_* instead
-* Deprecated HAM_RECORD_NUMBER (use HAM_RECORD_NUMBER64 instead);
- introduced a new flag HAM_RECORD_NUMBER32 for 32bit record numbers
-* Implemented ham_cursor_get_record_size() for remote access
-
-To see a list of all changes, look in the file ChangeLog.
-
-3. Roadmap
-- See https://github.com/cruppstahl/hamsterdb/wiki/Roadmap
-
-4. Features
-
-- PRO: SIMD instructions for lookups
-- PRO: transparent AES encryption
-- PRO: transparent CRC32 verification
-- PRO: transparent compression for journal, keys and records using
- zlib, snappy, lzf or lzo
-- PRO: compression for uint32 keys
-
-- Very fast sorted B+Tree with variable length keys
-- Basic schema support for POD types (i.e. uint32, uint64, real32 etc)
-- Very fast analytical functions
-- Can run as an in-memory database
-- Multiple databases in one file
-- Record number databases ("auto-increment")
-- Duplicate keys
-- Logging and recovery
-- Unlimited number of parallel Transactions
-- Partial reading/writing of records
-- Network access (remote databases) via TCP/Protocol Buffers
-- Very fast database cursors
-- Configurable page size, cache size, key size etc
-- Runs on Linux, Unices, Microsoft Windows and other architectures
-- Uses memory mapped I/O for fast disk access (but falls back to read/write if
- mmap is not available)
-- Uses 64bit file pointers and supports huge files (>2 GB)
-- Easy to use and well-documented
-- Open source and released under APL 2.0 license
-- Wrappers for C++, Java, .NET, Erlang, Python, Ada and others
-
-5. Known Issues/Bugs
-
-None.
-
-6. Compiling
-
-6.1 Linux, MacOS and other Unix systems
-
-To compile hamsterdb, run ./configure, make, make install.
-
-Run `./configure --help' for more options (i.e. static/dynamic library,
-build with debugging symbols etc).
-
-6.2 Microsoft Visual Studio 8
-
-A Solution file is provided for Microsoft Visual C++ in the "win32" folder
-for MSVC 2008 and MSVC 2010.
-All libraries can be downloaded precompiled from the hamsterdb webpage.
-
-To download Microsoft Visual Studio Express Edition for free, go to
-http://msdn.microsoft.com/vstudio/express/visualc/default.aspx.
-
-6.3 Dependencies
-
-On Ubuntu, the following packages are required:
- - libdb-dev (optional)
- - protobuf-compiler
- - libprotobuf-dev
- - libgoogle-perftools-dev
- - libboost-system-dev
- - libboost-thread-dev
- - libboost-dev
- - (libuv needs to be installed from sources - see
- https://github.com/joyent/libuv)
-
-For Windows, precompiled dependencies are available here:
-https://github.com/cruppstahl/hamsterdb-alien
-
-7. Testing and Example Code
-
-Make automatically compiles several example programs in the directory
-'samples'. To see hamsterdb in action, just run 'samples/db1'
-or any other sample. (or 'win32/out/samples/db1/db1.exe' on Windows platforms).
-
-8. API Documentation
-
-The header files in 'include/ham' have extensive comments. Also, a doxygen
-script is available; run 'make doc' to start doxygen. The generated
-documentation is also available on the hamsterdb web page.
-
-9. Other Ways to Compile hamsterdb
-
-If you want to compile hamsterdb without using the provided ./configure
-environment, you have to set some preprocessor macros:
-
-DEBUG enable debugging output and diagnostic checks (slow!)
-HAM_32BIT compile for 32bit (alias: WIN32)
-HAM_64BIT compile for 64bit (alias: WIN64, also needs WIN32)
-
-Also, if you compile for windows, you have to compile the file
-'src/os_win32.cc' and ignore the file 'src/os_posix.cc'. Vice versa on
-non-Windows platforms.
-
-10. Porting hamsterdb
-
-Porting hamsterdb shouldn't be too difficult. All operating
-system dependend functions are declared in 'src/os.h' and defined
-in 'src/os_win32.cc' or 'src/os_posix.cc'.
-Other compiler- and OS-specific macros are in 'include/ham/types.h'.
-Most likely, these are the only files which have to be touched. Also see item
-9) for important macros.
-
-11. Migrating files from older versions
-
-Usually, hamsterdb releases are backwards compatible. There are some exceptions,
-though. In this case tools are provided to migrate the database. First, export
-your existing database with ham_export linked against the old version.
-(ham_export links statically and will NOT be confused if your system has a
-newer version of hamsterdb installed). Then use the newest version of
-ham_import to import the data into a new database. You can find ham_export
-and ham_import in the "tools" subdirectory.
-
- Example (ham_export of 2.1.2 was renamed to ham_export-2.1.2 to document
- that it's an older version):
-
- ham_export-2.1.2 input.db | ham_import --stdin output.db
-
-12. Licensing
-
-hamsterdb is released under the APL 2.0 license, which allows
-unrestricted use for commercial and non-commercial applications. See the
-file COPYING for more information.
-
-A commercial, closed source version hamsterdb pro with additional functionality
-is available on request. See http://hamsterdb.com for more information.
-
-13. Contact
-
-Author of hamsterdb is
- Christoph Rupp
- Paul-Preuss-Str. 63
- 80995 Muenchen/Germany
- email: chris@crupp.de
- web: http://www.hamsterdb.com
-
-14. Other Copyrights
-
-The Google Protocol Buffers ("protobuf") library is Copyright 2008, Google Inc.
-It has the following license:
-
- Copyright 2008, Google Inc.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are
- met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following disclaimer
- in the documentation and/or other materials provided with the
- distribution.
- * Neither the name of Google Inc. nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- Code generated by the Protocol Buffer compiler is owned by the owner
- of the input file used when generating it. This code is not
- standalone and requires a support library to be linked with it. This
- support library is itself covered by the above license.
-
-The libuv library is part of the Node project: http://nodejs.org/
-libuv may be distributed alone under Node's license:
-
- Copyright Joyent, Inc. and other Node contributors. All rights reserved.
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to
- deal in the Software without restriction, including without limitation the
- rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- sell copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in
- all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- IN THE SOFTWARE.
-