DBD-SQLcipher
view release on metacpan or search on metacpan
#ifndef _DBDIMP_H
#define _DBDIMP_H 1
#include "SQLcipherXS.h"
#include "sqlite3.h"
#define MY_CXT_KEY "DBD::SQLcipher::_guts" XS_VERSION
typedef struct {
int last_dbh_is_unicode;
} my_cxt_t;
#define PERL_UNICODE_DOES_NOT_WORK_WELL \
(PERL_REVISION <= 5) && ((PERL_VERSION < 8) \
|| (PERL_VERSION == 8 && PERL_SUBVERSION < 5))
/* 30 second timeout by default */
#define SQL_TIMEOUT 30000
#ifndef sqlite3_int64
#define sqlite3_int64 sqlite_int64
#endif
/* A linked list of statements prepared by this module */
typedef struct stmt_list_s stmt_list_s;
struct stmt_list_s {
sqlite3_stmt * stmt;
stmt_list_s * prev;
};
/* Driver Handle */
struct imp_drh_st {
dbih_drc_t com;
/* sqlite specific bits */
};
/* Database Handle */
struct imp_dbh_st {
dbih_dbc_t com;
/* sqlite specific bits */
sqlite3 *db;
bool unicode;
bool handle_binary_nulls;
int timeout;
AV *functions;
AV *aggregates;
SV *collation_needed_callback;
bool allow_multiple_statements;
bool use_immediate_transaction;
bool see_if_its_a_number;
int extended_result_codes;
stmt_list_s * stmt_list;
};
/* Statement Handle */
struct imp_sth_st {
dbih_stc_t com;
/* sqlite specific bits */
sqlite3_stmt *stmt;
/*
char **results;
char **coldata;
*/
int retval;
int nrow;
AV *params;
AV *col_types;
const char *unprepared_statements;
};
#define dbd_init sqlite_init
#define dbd_discon_all sqlite_discon_all
#define dbd_db_login6 sqlite_db_login6
#define dbd_db_commit sqlite_db_commit
#define dbd_db_rollback sqlite_db_rollback
#define dbd_db_disconnect sqlite_db_disconnect
#define dbd_db_destroy sqlite_db_destroy
#define dbd_db_STORE_attrib sqlite_db_STORE_attrib
#define dbd_db_FETCH_attrib sqlite_db_FETCH_attrib
#define dbd_db_last_insert_id sqlite_db_last_insert_id
#define dbd_st_prepare_sv sqlite_st_prepare_sv
#define dbd_st_rows sqlite_st_rows
#define dbd_st_execute sqlite_st_execute
#define dbd_st_fetch sqlite_st_fetch
#define dbd_st_finish3 sqlite_st_finish3
#define dbd_st_finish sqlite_st_finish
#define dbd_st_destroy sqlite_st_destroy
#define dbd_st_blob_read sqlite_st_blob_read
#define dbd_st_STORE_attrib sqlite_st_STORE_attrib
#define dbd_st_FETCH_attrib sqlite_st_FETCH_attrib
#define dbd_bind_ph sqlite_bind_ph
#define dbd_st_bind_col sqlite_bind_col
typedef struct aggrInfo aggrInfo;
struct aggrInfo {
SV *aggr_inst;
SV *err;
int inited;
};
int sqlite_db_create_function(pTHX_ SV *dbh, const char *name, int argc, SV *func, int flags);
( run in 0.524 second using v1.01-cache-2.11-cpan-f5b5a18a01a )