From f104ac4aa498bb17251048e18fd0b420dcc36728 Mon Sep 17 00:00:00 2001 From: Reini Urban Date: Mon, 22 Jul 2013 14:37:10 -0500 Subject: [PATCH] 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. --- Changes | 8 +++++- lib/UnQLite.pm | 72 +++++++++++++++++++++++++------------------------- lib/UnQLite.xs | 72 +++++++++++++++++++++++++------------------------- 3 files changed, 79 insertions(+), 73 deletions(-) diff --git a/Changes b/Changes index ad21f65..28c2ead 100644 --- a/Changes +++ b/Changes @@ -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 diff --git a/lib/UnQLite.pm b/lib/UnQLite.pm index 6ba7b52..ad02f27 100644 --- a/lib/UnQLite.pm +++ b/lib/UnQLite.pm @@ -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(); >> diff --git a/lib/UnQLite.xs b/lib/UnQLite.xs index 0e82615..ac978ef 100644 --- a/lib/UnQLite.xs +++ b/lib/UnQLite.xs @@ -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)