0.04: simplify constants without the need to be exported

Change all UNQLITE_* constant names to UnQLite::

They have the same length but need not to be imported, thus
do not need two symbols and no Exporter.
Fixes the SYNOPSIS examples.
This commit is contained in:
Reini Urban 2013-07-22 14:37:10 -05:00
parent c6e3d80dd1
commit f104ac4aa4
3 changed files with 79 additions and 73 deletions

View file

@ -1,7 +1,13 @@
Revision history for Perl extension Unqlite
Revision history for Perl extension UnQLite
{{$NEXT}}
0.04 2013-07-22 14:32:01
- Change UNQLITE_* constant names to UnQLite::
so they have the same length but need not to be imported
(Reini Urban)
0.03 2013-07-18T03:14:07Z
- more OPEN consts as mode argument

View file

@ -4,7 +4,7 @@ use strict;
use warnings;
use Carp ();
our $VERSION = "0.03";
our $VERSION = "0.04";
our $rc = 0;
use XSLoader;
@ -25,30 +25,30 @@ sub rc {
sub errstr {
my $self = shift;
my $rc = $self->rc;
if ($rc==UnQLite::UNQLITE_OK()) { return "UNQLITE_OK" }
if ($rc==UNQLITE_NOMEM()) { return "UNQLITE_NOMEM" }
if ($rc==UNQLITE_ABORT()) { return "UNQLITE_ABORT" }
if ($rc==UNQLITE_IOERR()) { return "UNQLITE_IOERR" }
if ($rc==UNQLITE_CORRUPT()) { return "UNQLITE_CORRUPT" }
if ($rc==UNQLITE_LOCKED()) { return "UNQLITE_LOCKED" }
if ($rc==UNQLITE_BUSY()) { return "UNQLITE_BUSY" }
if ($rc==UNQLITE_DONE()) { return "UNQLITE_DONE" }
if ($rc==UNQLITE_PERM()) { return "UNQLITE_PERM" }
if ($rc==UNQLITE_NOTIMPLEMENTED()) { return "UNQLITE_NOTIMPLEMENTED" }
if ($rc==UNQLITE_NOTFOUND()) { return "UNQLITE_NOTFOUND" }
if ($rc==UNQLITE_NOOP()) { return "UNQLITE_NOOP" }
if ($rc==UNQLITE_INVALID()) { return "UNQLITE_INVALID" }
if ($rc==UNQLITE_EOF()) { return "UNQLITE_EOF" }
if ($rc==UNQLITE_UNKNOWN()) { return "UNQLITE_UNKNOWN" }
if ($rc==UNQLITE_LIMIT()) { return "UNQLITE_LIMIT" }
if ($rc==UNQLITE_EXISTS()) { return "UNQLITE_EXISTS" }
if ($rc==UNQLITE_EMPTY()) { return "UNQLITE_EMPTY" }
if ($rc==UNQLITE_COMPILE_ERR()) { return "UNQLITE_COMPILE_ERR" }
if ($rc==UNQLITE_VM_ERR()) { return "UNQLITE_VM_ERR" }
if ($rc==UNQLITE_FULL()) { return "UNQLITE_FULL" }
if ($rc==UNQLITE_CANTOPEN()) { return "UNQLITE_CANTOPEN" }
if ($rc==UNQLITE_READ_ONLY()) { return "UNQLITE_READ_ONLY" }
if ($rc==UNQLITE_LOCKERR()) { return "UNQLITE_LOCKERR" }
if ($rc==UnQLite::OK()) { return "UNQLITE_OK" }
if ($rc==UnQLite::NOMEM()) { return "UNQLITE_NOMEM" }
if ($rc==UnQLite::ABORT()) { return "UNQLITE_ABORT" }
if ($rc==UnQLite::IOERR()) { return "UNQLITE_IOERR" }
if ($rc==UnQLite::CORRUPT()) { return "UNQLITE_CORRUPT" }
if ($rc==UnQLite::LOCKED()) { return "UNQLITE_LOCKED" }
if ($rc==UnQLite::BUSY()) { return "UNQLITE_BUSY" }
if ($rc==UnQLite::DONE()) { return "UNQLITE_DONE" }
if ($rc==UnQLite::PERM()) { return "UNQLITE_PERM" }
if ($rc==UnQLite::NOTIMPLEMENTED()) { return "UNQLITE_NOTIMPLEMENTED" }
if ($rc==UnQLite::NOTFOUND()) { return "UNQLITE_NOTFOUND" }
if ($rc==UnQLite::NOOP()) { return "UNQLITE_NOOP" }
if ($rc==UnQLite::INVALID()) { return "UNQLITE_INVALID" }
if ($rc==UnQLite::EOF()) { return "UNQLITE_EOF" }
if ($rc==UnQLite::UNKNOWN()) { return "UNQLITE_UNKNOWN" }
if ($rc==UnQLite::LIMIT()) { return "UNQLITE_LIMIT" }
if ($rc==UnQLite::EXISTS()) { return "UNQLITE_EXISTS" }
if ($rc==UnQLite::EMPTY()) { return "UNQLITE_EMPTY" }
if ($rc==UnQLite::COMPILE_ERR()) { return "UNQLITE_COMPILE_ERR" }
if ($rc==UnQLite::VM_ERR()) { return "UNQLITE_VM_ERR" }
if ($rc==UnQLite::FULL()) { return "UNQLITE_FULL" }
if ($rc==UnQLite::CANTOPEN()) { return "UNQLITE_CANTOPEN" }
if ($rc==UnQLite::READ_ONLY()) { return "UNQLITE_READ_ONLY" }
if ($rc==UnQLite::LOCKERR()) { return "UNQLITE_LOCKERR" }
}
sub cursor_init {
@ -185,14 +185,14 @@ UnQLite - Perl bindings for UnQLite
use UnQLite;
my $db = UnQLite->open('foo.db', UNQLITE_OPEN_READWRITE|UNQLITE_OPEN_CREATE);
my $db = UnQLite->open('foo.db', UnQLite::OPEN_READWRITE|UnQLite::OPEN_CREATE);
$db->kv_store('foo', 'bar');
say $db->kv_fetch('foo'); # => bar
$db->kv_delete('foo');
undef $db; # close database
# tie interface
tie my %hash, 'UnQLite', 'foo.db', UNQLITE_OPEN_READWRITE;
tie my %hash, 'UnQLite', 'foo.db', UnQLite::OPEN_READWRITE;
$hash{foo} = 'bar';
say $hash{foo}; # => bar
@ -218,14 +218,14 @@ Open the database.
Modes:
UNQLITE_OPEN_CREATE (Default)
UNQLITE_OPEN_READONLY
UNQLITE_OPEN_READWRITE
UNQLITE_OPEN_EXCLUSIVE
UNQLITE_OPEN_TEMP_DB
UNQLITE_OPEN_OMIT_JOURNALING
UNQLITE_OPEN_IN_MEMORY
UNQLITE_OPEN_MMAP
UnQLite::OPEN_CREATE (Default)
UnQLite::OPEN_READONLY
UnQLite::OPEN_READWRITE
UnQLite::OPEN_EXCLUSIVE
UnQLite::OPEN_TEMP_DB
UnQLite::OPEN_OMIT_JOURNALING
UnQLite::OPEN_IN_MEMORY
UnQLite::OPEN_MMAP
=item C<< $db->kv_store($key, $value); >>
@ -237,7 +237,7 @@ Fetch data from database.
=item C<< $db->kv_delete($key); >>
Delte C< $key > from database.
Delete C< $key > from database.
=item C<< $db->rc(); >>

View file

@ -44,42 +44,42 @@ BOOT:
HV* stash = gv_stashpvn("UnQLite", strlen("UnQLite"), TRUE);
#define _XSTR(s) _STR(s)
#define _STR(s) #s
#define UnConst(c) newCONSTSUB(stash, "UNQ"_XSTR(c), newSViv(UNQ##c))
UnConst(LITE_OK);
UnConst(LITE_NOMEM);
UnConst(LITE_ABORT);
UnConst(LITE_IOERR);
UnConst(LITE_CORRUPT);
UnConst(LITE_LOCKED);
UnConst(LITE_BUSY);
UnConst(LITE_DONE);
UnConst(LITE_PERM);
UnConst(LITE_NOTIMPLEMENTED);
UnConst(LITE_NOTFOUND);
UnConst(LITE_NOOP);
UnConst(LITE_INVALID);
UnConst(LITE_EOF);
UnConst(LITE_UNKNOWN);
UnConst(LITE_LIMIT);
UnConst(LITE_EXISTS);
UnConst(LITE_EMPTY);
UnConst(LITE_COMPILE_ERR);
UnConst(LITE_VM_ERR);
UnConst(LITE_FULL);
UnConst(LITE_CANTOPEN);
UnConst(LITE_READ_ONLY);
UnConst(LITE_LOCKERR);
UnConst(LITE_OPEN_READONLY);
UnConst(LITE_OPEN_READWRITE);
UnConst(LITE_OPEN_CREATE);
UnConst(LITE_OPEN_EXCLUSIVE);
UnConst(LITE_OPEN_TEMP_DB);
UnConst(LITE_OPEN_OMIT_JOURNALING);
UnConst(LITE_OPEN_IN_MEMORY);
UnConst(LITE_OPEN_MMAP);
UnConst(LITE_CURSOR_MATCH_EXACT);
UnConst(LITE_CURSOR_MATCH_LE);
UnConst(LITE_CURSOR_MATCH_GE);
#define UnConst(c) newCONSTSUB(stash, _XSTR(c), newSViv(UNQLITE_##c))
UnConst(OK);
UnConst(NOMEM);
UnConst(ABORT);
UnConst(IOERR);
UnConst(CORRUPT);
UnConst(LOCKED);
UnConst(BUSY);
UnConst(DONE);
UnConst(PERM);
UnConst(NOTIMPLEMENTED);
UnConst(NOTFOUND);
UnConst(NOOP);
UnConst(INVALID);
UnConst(EOF);
UnConst(UNKNOWN);
UnConst(LIMIT);
UnConst(EXISTS);
UnConst(EMPTY);
UnConst(COMPILE_ERR);
UnConst(VM_ERR);
UnConst(FULL);
UnConst(CANTOPEN);
UnConst(READ_ONLY);
UnConst(LOCKERR);
UnConst(OPEN_READONLY);
UnConst(OPEN_READWRITE);
UnConst(OPEN_CREATE);
UnConst(OPEN_EXCLUSIVE);
UnConst(OPEN_TEMP_DB);
UnConst(OPEN_OMIT_JOURNALING);
UnConst(OPEN_IN_MEMORY);
UnConst(OPEN_MMAP);
UnConst(CURSOR_MATCH_EXACT);
UnConst(CURSOR_MATCH_LE);
UnConst(CURSOR_MATCH_GE);
SV*
open(klass, filename, mode=UNQLITE_OPEN_CREATE)