1
0
Fork 0
mirror of https://github.com/DBD-SQLite/DBD-SQLite synced 2025-06-07 14:19:10 -04:00
DBD-SQLite-SQLcipher/SQLite.xs
Laurent Dami ec38f98792 new implementation for collation_needed, no more malloc -- should no longer leak
new API for global registry of collations, using a "write-once" tied hash
2009-08-06 14:22:12 +00:00

463 lines
7.3 KiB
Text

#define PERL_NO_GET_CONTEXT
#include "SQLiteXS.h"
DBISTATE_DECLARE;
MODULE = DBD::SQLite PACKAGE = DBD::SQLite::db
PROTOTYPES: DISABLE
BOOT:
sv_setpv(get_sv("DBD::SQLite::sqlite_version", TRUE|GV_ADDMULTI), SQLITE_VERSION);
IV
last_insert_rowid(dbh)
SV *dbh
ALIAS:
DBD::SQLite::db::sqlite_last_insert_rowid = 1
CODE:
{
D_imp_dbh(dbh);
RETVAL = sqlite3_last_insert_rowid(imp_dbh->db);
}
OUTPUT:
RETVAL
static int
create_function(dbh, name, argc, func)
SV *dbh
char *name
int argc
SV *func
ALIAS:
DBD::SQLite::db::sqlite_create_function = 1
CODE:
{
RETVAL = sqlite_db_create_function(aTHX_ dbh, name, argc, func );
}
OUTPUT:
RETVAL
static int
enable_load_extension(dbh, onoff)
SV *dbh
int onoff
ALIAS:
DBD::SQLite::db::sqlite_enable_load_extension = 1
CODE:
{
RETVAL = sqlite_db_enable_load_extension(aTHX_ dbh, onoff );
}
OUTPUT:
RETVAL
static int
create_aggregate(dbh, name, argc, aggr)
SV *dbh
char *name
int argc
SV *aggr
ALIAS:
DBD::SQLite::db::sqlite_create_aggregate = 1
CODE:
{
RETVAL = sqlite_db_create_aggregate(aTHX_ dbh, name, argc, aggr );
}
OUTPUT:
RETVAL
static int
create_collation(dbh, name, func)
SV *dbh
char *name
SV *func
ALIAS:
DBD::SQLite::db::sqlite_create_collation = 1
CODE:
{
RETVAL = sqlite_db_create_collation(aTHX_ dbh, name, func );
}
OUTPUT:
RETVAL
static void
collation_needed(dbh, callback)
SV *dbh
SV *callback
ALIAS:
DBD::SQLite::db::sqlite_collation_needed = 1
CODE:
{
sqlite_db_collation_needed(aTHX_ dbh, callback );
}
static int
progress_handler(dbh, n_opcodes, handler)
SV *dbh
int n_opcodes
SV *handler
ALIAS:
DBD::SQLite::db::sqlite_progress_handler = 1
CODE:
{
RETVAL = sqlite_db_progress_handler(aTHX_ dbh, n_opcodes, handler );
}
OUTPUT:
RETVAL
SV*
commit_hook(dbh, hook)
SV *dbh
SV *hook
ALIAS:
DBD::SQLite::db::sqlite_commit_hook = 1
CODE:
{
RETVAL = (SV*) sqlite_db_commit_hook( aTHX_ dbh, hook );
}
OUTPUT:
RETVAL
SV*
rollback_hook(dbh, hook)
SV *dbh
SV *hook
ALIAS:
DBD::SQLite::db::sqlite_rollback_hook = 1
CODE:
{
RETVAL = (SV*) sqlite_db_rollback_hook( aTHX_ dbh, hook );
}
OUTPUT:
RETVAL
SV*
update_hook(dbh, hook)
SV *dbh
SV *hook
ALIAS:
DBD::SQLite::db::sqlite_update_hook = 1
CODE:
{
RETVAL = (SV*) sqlite_db_update_hook( aTHX_ dbh, hook );
}
OUTPUT:
RETVAL
SV*
set_authorizer(dbh, authorizer)
SV *dbh
SV *authorizer
ALIAS:
DBD::SQLite::db::sqlite_set_authorizer = 1
CODE:
{
RETVAL = (SV*) sqlite_db_set_authorizer( aTHX_ dbh, authorizer );
}
OUTPUT:
RETVAL
int
busy_timeout(dbh, timeout=0)
SV *dbh
int timeout
ALIAS:
DBD::SQLite::db::sqlite_busy_timeout = 1
CODE:
RETVAL = sqlite_db_busy_timeout(aTHX_ dbh, timeout );
OUTPUT:
RETVAL
static int
backup_from_file(dbh, filename)
SV *dbh
char *filename
ALIAS:
DBD::SQLite::db::sqlite_backup_from_file = 1
CODE:
RETVAL = sqlite_db_backup_from_file(aTHX_ dbh, filename);
OUTPUT:
RETVAL
static int
backup_to_file(dbh, filename)
SV *dbh
char *filename
ALIAS:
DBD::SQLite::db::sqlite_backup_to_file = 1
CODE:
RETVAL = sqlite_db_backup_to_file(aTHX_ dbh, filename);
OUTPUT:
RETVAL
MODULE = DBD::SQLite PACKAGE = DBD::SQLite::st
PROTOTYPES: DISABLE
void
reset(sth)
SV *sth
CODE:
{
sqlite_st_reset(aTHX_ sth);
}
MODULE = DBD::SQLite PACKAGE = DBD::SQLite
# a couple of constants exported from sqlite3.h
PROTOTYPES: ENABLE
static int
OK()
CODE:
RETVAL = SQLITE_OK;
OUTPUT:
RETVAL
static int
DENY()
CODE:
RETVAL = SQLITE_DENY;
OUTPUT:
RETVAL
static int
IGNORE()
CODE:
RETVAL = SQLITE_IGNORE;
OUTPUT:
RETVAL
static int
CREATE_INDEX()
CODE:
RETVAL = SQLITE_CREATE_INDEX;
OUTPUT:
RETVAL
static int
CREATE_TABLE()
CODE:
RETVAL = SQLITE_CREATE_TABLE;
OUTPUT:
RETVAL
static int
CREATE_TEMP_INDEX()
CODE:
RETVAL = SQLITE_CREATE_TEMP_INDEX;
OUTPUT:
RETVAL
static int
CREATE_TEMP_TABLE()
CODE:
RETVAL = SQLITE_CREATE_TEMP_TABLE;
OUTPUT:
RETVAL
static int
CREATE_TEMP_TRIGGER()
CODE:
RETVAL = SQLITE_CREATE_TEMP_TRIGGER;
OUTPUT:
RETVAL
static int
CREATE_TEMP_VIEW()
CODE:
RETVAL = SQLITE_CREATE_TEMP_VIEW;
OUTPUT:
RETVAL
static int
CREATE_TRIGGER()
CODE:
RETVAL = SQLITE_CREATE_TRIGGER;
OUTPUT:
RETVAL
static int
CREATE_VIEW()
CODE:
RETVAL = SQLITE_CREATE_VIEW;
OUTPUT:
RETVAL
static int
DELETE()
CODE:
RETVAL = SQLITE_DELETE;
OUTPUT:
RETVAL
static int
DROP_INDEX()
CODE:
RETVAL = SQLITE_DROP_INDEX;
OUTPUT:
RETVAL
static int
DROP_TABLE()
CODE:
RETVAL = SQLITE_DROP_TABLE;
OUTPUT:
RETVAL
static int
DROP_TEMP_INDEX()
CODE:
RETVAL = SQLITE_DROP_TEMP_INDEX;
OUTPUT:
RETVAL
static int
DROP_TEMP_TABLE()
CODE:
RETVAL = SQLITE_DROP_TEMP_TABLE;
OUTPUT:
RETVAL
static int
DROP_TEMP_TRIGGER()
CODE:
RETVAL = SQLITE_DROP_TEMP_TRIGGER;
OUTPUT:
RETVAL
static int
DROP_TEMP_VIEW()
CODE:
RETVAL = SQLITE_DROP_TEMP_VIEW;
OUTPUT:
RETVAL
static int
DROP_TRIGGER()
CODE:
RETVAL = SQLITE_DROP_TRIGGER;
OUTPUT:
RETVAL
static int
DROP_VIEW()
CODE:
RETVAL = SQLITE_DROP_VIEW;
OUTPUT:
RETVAL
static int
INSERT()
CODE:
RETVAL = SQLITE_INSERT;
OUTPUT:
RETVAL
static int
PRAGMA()
CODE:
RETVAL = SQLITE_PRAGMA;
OUTPUT:
RETVAL
static int
READ()
CODE:
RETVAL = SQLITE_READ;
OUTPUT:
RETVAL
static int
SELECT()
CODE:
RETVAL = SQLITE_SELECT;
OUTPUT:
RETVAL
static int
TRANSACTION()
CODE:
RETVAL = SQLITE_TRANSACTION;
OUTPUT:
RETVAL
static int
UPDATE()
CODE:
RETVAL = SQLITE_UPDATE;
OUTPUT:
RETVAL
static int
ATTACH()
CODE:
RETVAL = SQLITE_ATTACH;
OUTPUT:
RETVAL
static int
DETACH()
CODE:
RETVAL = SQLITE_DETACH;
OUTPUT:
RETVAL
static int
ALTER_TABLE()
CODE:
RETVAL = SQLITE_ALTER_TABLE;
OUTPUT:
RETVAL
static int
REINDEX()
CODE:
RETVAL = SQLITE_REINDEX;
OUTPUT:
RETVAL
static int
ANALYZE()
CODE:
RETVAL = SQLITE_ANALYZE;
OUTPUT:
RETVAL
static int
CREATE_VTABLE()
CODE:
RETVAL = SQLITE_CREATE_VTABLE;
OUTPUT:
RETVAL
static int
DROP_VTABLE()
CODE:
RETVAL = SQLITE_DROP_VTABLE;
OUTPUT:
RETVAL
static int
FUNCTION()
CODE:
RETVAL = SQLITE_FUNCTION;
OUTPUT:
RETVAL
static int
SAVEPOINT()
CODE:
RETVAL = SQLITE_SAVEPOINT;
OUTPUT:
RETVAL
INCLUDE: SQLite.xsi