Compare commits
No commits in common. "master" and "0.04" have entirely different histories.
7 changed files with 60005 additions and 60315 deletions
4
Changes
4
Changes
|
@ -2,10 +2,6 @@ Revision history for Perl extension Unqlite
|
||||||
|
|
||||||
{{$NEXT}}
|
{{$NEXT}}
|
||||||
|
|
||||||
0.05 2014-12-23T22:55:15Z
|
|
||||||
|
|
||||||
- Doc fix
|
|
||||||
|
|
||||||
0.04 2014-08-30T09:33:52Z
|
0.04 2014-08-30T09:33:52Z
|
||||||
|
|
||||||
- Fixed packaging issue.
|
- Fixed packaging issue.
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"tokuhirom <tokuhirom@gmail.com>"
|
"tokuhirom <tokuhirom@gmail.com>"
|
||||||
],
|
],
|
||||||
"dynamic_config" : 0,
|
"dynamic_config" : 0,
|
||||||
"generated_by" : "Minilla/v2.2.0, CPAN::Meta::Converter version 2.141520",
|
"generated_by" : "Minilla/v2.1.1, CPAN::Meta::Converter version 2.141520",
|
||||||
"license" : [
|
"license" : [
|
||||||
"perl_5"
|
"perl_5"
|
||||||
],
|
],
|
||||||
|
@ -63,7 +63,7 @@
|
||||||
"web" : "https://github.com/tokuhirom/UnQLite"
|
"web" : "https://github.com/tokuhirom/UnQLite"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version" : "0.05",
|
"version" : "0.04",
|
||||||
"x_contributors" : [
|
"x_contributors" : [
|
||||||
"Kenichi Ishigaki <ishigaki@cpan.org>",
|
"Kenichi Ishigaki <ishigaki@cpan.org>",
|
||||||
"Reini Urban <rurban@cpanel.net>"
|
"Reini Urban <rurban@cpanel.net>"
|
||||||
|
|
24
README.md
24
README.md
|
@ -6,14 +6,14 @@ UnQLite - Perl bindings for UnQLite
|
||||||
|
|
||||||
use UnQLite;
|
use UnQLite;
|
||||||
|
|
||||||
my $db = UnQLite->open('foo.db', UnQLite::UNQLITE_OPEN_READWRITE|UnQLite::UNQLITE_OPEN_CREATE);
|
my $db = UnQLite->open('foo.db', UNQLITE_OPEN_READWRITE|UNQLITE_OPEN_CREATE);
|
||||||
$db->kv_store('foo', 'bar');
|
$db->kv_store('foo', 'bar');
|
||||||
say $db->kv_fetch('foo'); # => bar
|
say $db->kv_fetch('foo'); # => bar
|
||||||
$db->kv_delete('foo');
|
$db->kv_delete('foo');
|
||||||
undef $db; # close database
|
undef $db; # close database
|
||||||
|
|
||||||
# tie interface
|
# tie interface
|
||||||
tie my %hash, 'UnQLite', 'foo.db', UnQLite::UNQLITE_OPEN_READWRITE;
|
tie my %hash, 'UnQLite', 'foo.db', UNQLITE_OPEN_READWRITE;
|
||||||
$hash{foo} = 'bar';
|
$hash{foo} = 'bar';
|
||||||
say $hash{foo}; # => bar
|
say $hash{foo}; # => bar
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ UnQLite is a in-process software library which implements a self-contained, serv
|
||||||
|
|
||||||
This module is Perl5 binding for UnQLite.
|
This module is Perl5 binding for UnQLite.
|
||||||
|
|
||||||
If you want to know more information about UnQLite, see [https://unqlite.symisc.net/](https://unqlite.symisc.net/).
|
If you want to know more information about UnQLite, see [http://unqlite.org/](http://unqlite.org/).
|
||||||
|
|
||||||
This version of UnQLite.pm does not provides document store feature. Patches welcome.
|
This version of UnQLite.pm does not provides document store feature. Patches welcome.
|
||||||
|
|
||||||
|
@ -37,14 +37,14 @@ This version of UnQLite.pm does not provides document store feature. Patches wel
|
||||||
|
|
||||||
Modes:
|
Modes:
|
||||||
|
|
||||||
UnQLite::UNQLITE_OPEN_CREATE (Default)
|
UNQLITE_OPEN_CREATE (Default)
|
||||||
UnQLite::UNQLITE_OPEN_READONLY
|
UNQLITE_OPEN_READONLY
|
||||||
UnQLite::UNQLITE_OPEN_READWRITE
|
UNQLITE_OPEN_READWRITE
|
||||||
UnQLite::UNQLITE_OPEN_EXCLUSIVE
|
UNQLITE_OPEN_EXCLUSIVE
|
||||||
UnQLite::UNQLITE_OPEN_TEMP_DB
|
UNQLITE_OPEN_TEMP_DB
|
||||||
UnQLite::UNQLITE_OPEN_OMIT_JOURNALING
|
UNQLITE_OPEN_OMIT_JOURNALING
|
||||||
UnQLite::UNQLITE_OPEN_IN_MEMORY
|
UNQLITE_OPEN_IN_MEMORY
|
||||||
UnQLite::UNQLITE_OPEN_MMAP
|
UNQLITE_OPEN_MMAP
|
||||||
|
|
||||||
- `$db->kv_store($key, $value);`
|
- `$db->kv_store($key, $value);`
|
||||||
|
|
||||||
|
@ -118,7 +118,7 @@ Here is example code:
|
||||||
|
|
||||||
Return true if succeeded, false otherwise.
|
Return true if succeeded, false otherwise.
|
||||||
|
|
||||||
- `$cursor->seek($key, $opt=UnQLite::UNQLITE_CURSOR_MATCH_EXACT)`
|
- `$cursor->seek($key, $opt=UNQLITE_CURSOR_MATCH_EXACT)`
|
||||||
|
|
||||||
Seek cursor to ` $key `.
|
Seek cursor to ` $key `.
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
use Carp ();
|
use Carp ();
|
||||||
|
|
||||||
our $VERSION = "0.05";
|
our $VERSION = "0.04";
|
||||||
our $rc = 0;
|
our $rc = 0;
|
||||||
|
|
||||||
use XSLoader;
|
use XSLoader;
|
||||||
|
@ -185,14 +185,14 @@ UnQLite - Perl bindings for UnQLite
|
||||||
|
|
||||||
use UnQLite;
|
use UnQLite;
|
||||||
|
|
||||||
my $db = UnQLite->open('foo.db', UnQLite::UNQLITE_OPEN_READWRITE|UnQLite::UNQLITE_OPEN_CREATE);
|
my $db = UnQLite->open('foo.db', UNQLITE_OPEN_READWRITE|UNQLITE_OPEN_CREATE);
|
||||||
$db->kv_store('foo', 'bar');
|
$db->kv_store('foo', 'bar');
|
||||||
say $db->kv_fetch('foo'); # => bar
|
say $db->kv_fetch('foo'); # => bar
|
||||||
$db->kv_delete('foo');
|
$db->kv_delete('foo');
|
||||||
undef $db; # close database
|
undef $db; # close database
|
||||||
|
|
||||||
# tie interface
|
# tie interface
|
||||||
tie my %hash, 'UnQLite', 'foo.db', UnQLite::UNQLITE_OPEN_READWRITE;
|
tie my %hash, 'UnQLite', 'foo.db', UNQLITE_OPEN_READWRITE;
|
||||||
$hash{foo} = 'bar';
|
$hash{foo} = 'bar';
|
||||||
say $hash{foo}; # => bar
|
say $hash{foo}; # => bar
|
||||||
|
|
||||||
|
@ -218,14 +218,14 @@ Open the database.
|
||||||
|
|
||||||
Modes:
|
Modes:
|
||||||
|
|
||||||
UnQLite::UNQLITE_OPEN_CREATE (Default)
|
UNQLITE_OPEN_CREATE (Default)
|
||||||
UnQLite::UNQLITE_OPEN_READONLY
|
UNQLITE_OPEN_READONLY
|
||||||
UnQLite::UNQLITE_OPEN_READWRITE
|
UNQLITE_OPEN_READWRITE
|
||||||
UnQLite::UNQLITE_OPEN_EXCLUSIVE
|
UNQLITE_OPEN_EXCLUSIVE
|
||||||
UnQLite::UNQLITE_OPEN_TEMP_DB
|
UNQLITE_OPEN_TEMP_DB
|
||||||
UnQLite::UNQLITE_OPEN_OMIT_JOURNALING
|
UNQLITE_OPEN_OMIT_JOURNALING
|
||||||
UnQLite::UNQLITE_OPEN_IN_MEMORY
|
UNQLITE_OPEN_IN_MEMORY
|
||||||
UnQLite::UNQLITE_OPEN_MMAP
|
UNQLITE_OPEN_MMAP
|
||||||
|
|
||||||
=item C<< $db->kv_store($key, $value); >>
|
=item C<< $db->kv_store($key, $value); >>
|
||||||
|
|
||||||
|
@ -303,7 +303,7 @@ Seek cursor to previous entry.
|
||||||
|
|
||||||
Return true if succeeded, false otherwise.
|
Return true if succeeded, false otherwise.
|
||||||
|
|
||||||
=item C<< $cursor->seek($key, $opt=UnQLite::UNQLITE_CURSOR_MATCH_EXACT) >>
|
=item C<< $cursor->seek($key, $opt=UNQLITE_CURSOR_MATCH_EXACT) >>
|
||||||
|
|
||||||
Seek cursor to C< $key >.
|
Seek cursor to C< $key >.
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
* Copyright (C) 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Symisc Systems, S.U.A.R.L [M.I.A.G Mrad Chems Eddine <chm@symisc.net>].
|
/*
|
||||||
|
* Copyright (C) 2012, 2013 Symisc Systems, S.U.A.R.L [M.I.A.G Mrad Chems Eddine <chm@symisc.net>].
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
@ -21,3 +22,4 @@
|
||||||
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||||
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
120219
unqlite/unqlite.c
120219
unqlite/unqlite.c
File diff suppressed because it is too large
Load diff
|
@ -1,14 +1,10 @@
|
||||||
/* This file was automatically generated. Do not edit (Except for compile time directives)! */
|
/* This file was automatically generated. Do not edit (Except for compile time directives)! */
|
||||||
#ifndef _UNQLITE_H_
|
#ifndef _UNQLITE_H_
|
||||||
#define _UNQLITE_H_
|
#define _UNQLITE_H_
|
||||||
/* Make sure we can call this stuff from C++ */
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
/*
|
/*
|
||||||
* Symisc UnQLite: An Embeddable NoSQL (Post Modern) Database Engine.
|
* Symisc UnQLite: An Embeddable NoSQL (Post Modern) Database Engine.
|
||||||
* Copyright (C) 2012-2019, Symisc Systems http://unqlite.org/
|
* Copyright (C) 2012-2013, Symisc Systems http://unqlite.org/
|
||||||
* Version 1.1.9
|
* Version 1.1.6
|
||||||
* For information on licensing, redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES
|
* For information on licensing, redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES
|
||||||
* please contact Symisc Systems via:
|
* please contact Symisc Systems via:
|
||||||
* legal@symisc.net
|
* legal@symisc.net
|
||||||
|
@ -18,7 +14,7 @@
|
||||||
* http://unqlite.org/licensing.html
|
* http://unqlite.org/licensing.html
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2012, 2019 Symisc Systems, S.U.A.R.L [M.I.A.G Mrad Chems Eddine <chm@symisc.net>].
|
* Copyright (C) 2012, 2013 Symisc Systems, S.U.A.R.L [M.I.A.G Mrad Chems Eddine <chm@symisc.net>].
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
@ -42,7 +38,7 @@
|
||||||
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||||
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
/* $SymiscID: unqlite.h v1.3 Win10 2108-04-27 02:35:11 stable <chm@symisc.net> $ */
|
/* $SymiscID: unqlite.h v1.1 UNIX|WIN32/64 2012-11-02 02:10 stable <chm@symisc.net> $ */
|
||||||
#include <stdarg.h> /* needed for the definition of va_list */
|
#include <stdarg.h> /* needed for the definition of va_list */
|
||||||
/*
|
/*
|
||||||
* Compile time engine version, signature, identification in the symisc source tree
|
* Compile time engine version, signature, identification in the symisc source tree
|
||||||
|
@ -53,18 +49,18 @@
|
||||||
* [unqlite_lib_copyright()] for more information.
|
* [unqlite_lib_copyright()] for more information.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* The UNQLITE_VERSION C preprocessor macro evaluates to a string literal
|
* The UNQLITE_VERSION C preprocessor macroevaluates to a string literal
|
||||||
* that is the unqlite version in the format "X.Y.Z" where X is the major
|
* that is the unqlite version in the format "X.Y.Z" where X is the major
|
||||||
* version number and Y is the minor version number and Z is the release
|
* version number and Y is the minor version number and Z is the release
|
||||||
* number.
|
* number.
|
||||||
*/
|
*/
|
||||||
#define UNQLITE_VERSION "1.1.9"
|
#define UNQLITE_VERSION "1.1.6"
|
||||||
/*
|
/*
|
||||||
* The UNQLITE_VERSION_NUMBER C preprocessor macro resolves to an integer
|
* The UNQLITE_VERSION_NUMBER C preprocessor macro resolves to an integer
|
||||||
* with the value (X*1000000 + Y*1000 + Z) where X, Y, and Z are the same
|
* with the value (X*1000000 + Y*1000 + Z) where X, Y, and Z are the same
|
||||||
* numbers used in [UNQLITE_VERSION].
|
* numbers used in [UNQLITE_VERSION].
|
||||||
*/
|
*/
|
||||||
#define UNQLITE_VERSION_NUMBER 1001009
|
#define UNQLITE_VERSION_NUMBER 1001006
|
||||||
/*
|
/*
|
||||||
* The UNQLITE_SIG C preprocessor macro evaluates to a string
|
* The UNQLITE_SIG C preprocessor macro evaluates to a string
|
||||||
* literal which is the public signature of the unqlite engine.
|
* literal which is the public signature of the unqlite engine.
|
||||||
|
@ -72,14 +68,14 @@
|
||||||
* generated Server MIME header as follows:
|
* generated Server MIME header as follows:
|
||||||
* Server: YourWebServer/x.x unqlite/x.x.x \r\n
|
* Server: YourWebServer/x.x unqlite/x.x.x \r\n
|
||||||
*/
|
*/
|
||||||
#define UNQLITE_SIG "unqlite/1.1.9"
|
#define UNQLITE_SIG "unqlite/1.1.6"
|
||||||
/*
|
/*
|
||||||
* UnQLite identification in the Symisc source tree:
|
* UnQLite identification in the Symisc source tree:
|
||||||
* Each particular check-in of a particular software released
|
* Each particular check-in of a particular software released
|
||||||
* by symisc systems have an unique identifier associated with it.
|
* by symisc systems have an unique identifier associated with it.
|
||||||
* This macro hold the one associated with unqlite.
|
* This macro hold the one associated with unqlite.
|
||||||
*/
|
*/
|
||||||
#define UNQLITE_IDENT "unqlite:29c173b1-ac2c-4b49-93ba-e600619e304e"
|
#define UNQLITE_IDENT "unqlite:b172a1e2c3f62fb35c8e1fb2795121f82356cad6"
|
||||||
/*
|
/*
|
||||||
* Copyright notice.
|
* Copyright notice.
|
||||||
* If you have any questions about the licensing situation, please
|
* If you have any questions about the licensing situation, please
|
||||||
|
@ -89,7 +85,7 @@
|
||||||
* licensing@symisc.net
|
* licensing@symisc.net
|
||||||
* contact@symisc.net
|
* contact@symisc.net
|
||||||
*/
|
*/
|
||||||
#define UNQLITE_COPYRIGHT "Copyright (C) Symisc Systems, S.U.A.R.L [Mrad Chems Eddine <chm@symisc.net>] 2012-2019, http://unqlite.org/"
|
#define UNQLITE_COPYRIGHT "Copyright (C) Symisc Systems, S.U.A.R.L [Mrad Chems Eddine <chm@symisc.net>] 2012-2013, http://unqlite.org/"
|
||||||
|
|
||||||
/* Forward declaration to public objects */
|
/* Forward declaration to public objects */
|
||||||
typedef struct unqlite_io_methods unqlite_io_methods;
|
typedef struct unqlite_io_methods unqlite_io_methods;
|
||||||
|
@ -403,7 +399,7 @@ typedef sxi64 unqlite_int64;
|
||||||
* Each options require a variable number of arguments.
|
* Each options require a variable number of arguments.
|
||||||
* The [unqlite_vm_config()] interface will return UNQLITE_OK on success, any other return
|
* The [unqlite_vm_config()] interface will return UNQLITE_OK on success, any other return
|
||||||
* value indicates failure.
|
* value indicates failure.
|
||||||
* There are many options but the most important are: UNQLITE_VM_CONFIG_OUTPUT which install
|
* There are many options but the most importants are: UNQLITE_VM_CONFIG_OUTPUT which install
|
||||||
* a VM output consumer callback, UNQLITE_VM_CONFIG_HTTP_REQUEST which parse and register
|
* a VM output consumer callback, UNQLITE_VM_CONFIG_HTTP_REQUEST which parse and register
|
||||||
* a HTTP request and UNQLITE_VM_CONFIG_ARGV_ENTRY which populate the $argv array.
|
* a HTTP request and UNQLITE_VM_CONFIG_ARGV_ENTRY which populate the $argv array.
|
||||||
* For a full discussion on the configuration verbs and their expected parameters, please
|
* For a full discussion on the configuration verbs and their expected parameters, please
|
||||||
|
@ -655,14 +651,14 @@ struct unqlite_vfs {
|
||||||
typedef sxu64 pgno;
|
typedef sxu64 pgno;
|
||||||
/*
|
/*
|
||||||
* A database disk page is represented by an instance
|
* A database disk page is represented by an instance
|
||||||
* of the following structure.
|
* of the follwoing structure.
|
||||||
*/
|
*/
|
||||||
typedef struct unqlite_page unqlite_page;
|
typedef struct unqlite_page unqlite_page;
|
||||||
struct unqlite_page
|
struct unqlite_page
|
||||||
{
|
{
|
||||||
unsigned char *zData; /* Content of this page */
|
unsigned char *zData; /* Content of this page */
|
||||||
void *pUserData; /* Extra content */
|
void *pUserData; /* Extra content */
|
||||||
pgno iPage; /* Page number for this page */
|
pgno pgno; /* Page number for this page */
|
||||||
};
|
};
|
||||||
/*
|
/*
|
||||||
* UnQLite handle to the underlying Key/Value Storage Engine (See below).
|
* UnQLite handle to the underlying Key/Value Storage Engine (See below).
|
||||||
|
@ -787,9 +783,9 @@ struct unqlite_kv_methods
|
||||||
#define UNQLITE_JOURNAL_FILE_SUFFIX "_unqlite_journal"
|
#define UNQLITE_JOURNAL_FILE_SUFFIX "_unqlite_journal"
|
||||||
#endif
|
#endif
|
||||||
/*
|
/*
|
||||||
* Call Context - Error Message Severity Level.
|
* Call Context - Error Message Serverity Level.
|
||||||
*
|
*
|
||||||
* The following constants are the allowed severity level that can
|
* The following constans are the allowed severity level that can
|
||||||
* passed as the second argument to the [unqlite_context_throw_error()] or
|
* passed as the second argument to the [unqlite_context_throw_error()] or
|
||||||
* [unqlite_context_throw_error_format()] interfaces.
|
* [unqlite_context_throw_error_format()] interfaces.
|
||||||
* Refer to the official documentation for additional information.
|
* Refer to the official documentation for additional information.
|
||||||
|
@ -807,7 +803,6 @@ UNQLITE_APIEXPORT int unqlite_open(unqlite **ppDB,const char *zFilename,unsigned
|
||||||
UNQLITE_APIEXPORT int unqlite_config(unqlite *pDb,int nOp,...);
|
UNQLITE_APIEXPORT int unqlite_config(unqlite *pDb,int nOp,...);
|
||||||
UNQLITE_APIEXPORT int unqlite_close(unqlite *pDb);
|
UNQLITE_APIEXPORT int unqlite_close(unqlite *pDb);
|
||||||
|
|
||||||
|
|
||||||
/* Key/Value (KV) Store Interfaces */
|
/* Key/Value (KV) Store Interfaces */
|
||||||
UNQLITE_APIEXPORT int unqlite_kv_store(unqlite *pDb,const void *pKey,int nKeyLen,const void *pData,unqlite_int64 nDataLen);
|
UNQLITE_APIEXPORT int unqlite_kv_store(unqlite *pDb,const void *pKey,int nKeyLen,const void *pData,unqlite_int64 nDataLen);
|
||||||
UNQLITE_APIEXPORT int unqlite_kv_append(unqlite *pDb,const void *pKey,int nKeyLen,const void *pData,unqlite_int64 nDataLen);
|
UNQLITE_APIEXPORT int unqlite_kv_append(unqlite *pDb,const void *pKey,int nKeyLen,const void *pData,unqlite_int64 nDataLen);
|
||||||
|
@ -950,7 +945,5 @@ UNQLITE_APIEXPORT const char * unqlite_lib_version(void);
|
||||||
UNQLITE_APIEXPORT const char * unqlite_lib_signature(void);
|
UNQLITE_APIEXPORT const char * unqlite_lib_signature(void);
|
||||||
UNQLITE_APIEXPORT const char * unqlite_lib_ident(void);
|
UNQLITE_APIEXPORT const char * unqlite_lib_ident(void);
|
||||||
UNQLITE_APIEXPORT const char * unqlite_lib_copyright(void);
|
UNQLITE_APIEXPORT const char * unqlite_lib_copyright(void);
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
#endif /* _UNQLITE_H_ */
|
||||||
#endif
|
|
||||||
#endif /* _UNQLITE_H_ */
|
|
Loading…
Add table
Reference in a new issue