Let insert IDs be 64-bit values

This commit is contained in:
Pierre Pronchery 2012-11-30 16:01:40 +01:00
parent e560d964dc
commit 06c0de2204
7 changed files with 14 additions and 13 deletions

View File

@ -19,6 +19,7 @@
# define LIBDATABASE_DATABASE_DATABASE_H # define LIBDATABASE_DATABASE_DATABASE_H
# include <stdarg.h> # include <stdarg.h>
# include <stdint.h>
# include <System.h> # include <System.h>
@ -49,7 +50,7 @@ typedef struct _DatabasePluginDefinition
DatabasePlugin * (*init)(Config * config, char const * section); DatabasePlugin * (*init)(Config * config, char const * section);
void (*destroy)(DatabasePlugin * plugin); void (*destroy)(DatabasePlugin * plugin);
/* accessors */ /* accessors */
int (*get_last_id)(DatabasePlugin * plugin); int64_t (*get_last_id)(DatabasePlugin * plugin);
/* useful */ /* useful */
int (*query)(DatabasePlugin * plugin, char const * query, int (*query)(DatabasePlugin * plugin, char const * query,
DatabaseCallback callback, void * data); DatabaseCallback callback, void * data);
@ -72,7 +73,7 @@ Database * database_new(char const * engine, Config * config,
void database_delete(Database * database); void database_delete(Database * database);
/* accessors */ /* accessors */
int database_get_last_id(Database * database); int64_t database_get_last_id(Database * database);
/* useful */ /* useful */
DatabaseStatement * database_prepare_new( DatabaseStatement * database_prepare_new(

View File

@ -68,7 +68,7 @@ void database_delete(Database * database)
/* accessors */ /* accessors */
/* database_get_last_id */ /* database_get_last_id */
int database_get_last_id(Database * database) int64_t database_get_last_id(Database * database)
{ {
return database->dplugin->get_last_id(database->database); return database->dplugin->get_last_id(database->database);
} }

View File

@ -56,7 +56,7 @@ typedef struct _DatabaseStatement
static PDO * _pdo_init(Config * config, char const * section); static PDO * _pdo_init(Config * config, char const * section);
static void _pdo_destroy(PDO * pdo); static void _pdo_destroy(PDO * pdo);
static int _pdo_get_last_id(PDO * pdo); static int64_t _pdo_get_last_id(PDO * pdo);
static int _pdo_query(PDO * pdo, char const * query, DatabaseCallback callback, static int _pdo_query(PDO * pdo, char const * query, DatabaseCallback callback,
void * data); void * data);
@ -203,7 +203,7 @@ static void _pdo_destroy(PDO * pdo)
/* accessors */ /* accessors */
/* _pdo_get_last_id */ /* _pdo_get_last_id */
static int _pdo_get_last_id(PDO * pdo) static int64_t _pdo_get_last_id(PDO * pdo)
{ {
return pdo->dplugin->get_last_id(pdo->database); return pdo->dplugin->get_last_id(pdo->database);
} }

View File

@ -55,7 +55,7 @@ static int _pgsql_process(PgSQL * pgsql, PGresult * res,
static PgSQL * _pgsql_init(Config * config, char const * section); static PgSQL * _pgsql_init(Config * config, char const * section);
static void _pgsql_destroy(PgSQL * pgsql); static void _pgsql_destroy(PgSQL * pgsql);
static int _pgsql_get_last_id(PgSQL * pgsql); static int64_t _pgsql_get_last_id(PgSQL * pgsql);
static int _pgsql_query(PgSQL * pgsql, char const * query, static int _pgsql_query(PgSQL * pgsql, char const * query,
DatabaseCallback callback, void * data); DatabaseCallback callback, void * data);
@ -148,7 +148,7 @@ static void _pgsql_destroy(PgSQL * pgsql)
/* accessors */ /* accessors */
/* pgsql_get_last_id */ /* pgsql_get_last_id */
static int _pgsql_get_last_id(PgSQL * pgsql) static int64_t _pgsql_get_last_id(PgSQL * pgsql)
{ {
/* FIXME use currval() of the relevant instead */ /* FIXME use currval() of the relevant instead */
if(pgsql->last == InvalidOid) if(pgsql->last == InvalidOid)

View File

@ -46,7 +46,7 @@ typedef struct _DatabaseStatement
static SQLite2 * _sqlite2_init(Config * config, char const * section); static SQLite2 * _sqlite2_init(Config * config, char const * section);
static void _sqlite2_destroy(SQLite2 * pgsql); static void _sqlite2_destroy(SQLite2 * pgsql);
static int _sqlite2_get_last_id(SQLite2 * pgsql); static int64_t _sqlite2_get_last_id(SQLite2 * pgsql);
static int _sqlite2_query(SQLite2 * pgsql, char const * query, static int _sqlite2_query(SQLite2 * pgsql, char const * query,
DatabaseCallback callback, void * data); DatabaseCallback callback, void * data);
@ -116,7 +116,7 @@ static void _sqlite2_destroy(SQLite2 * sqlite)
/* accessors */ /* accessors */
/* _sqlite2_get_last_id */ /* _sqlite2_get_last_id */
static int _sqlite2_get_last_id(SQLite2 * sqlite) static int64_t _sqlite2_get_last_id(SQLite2 * sqlite)
{ {
/* FIXME really implement */ /* FIXME really implement */
return -1; return -1;

View File

@ -46,7 +46,7 @@ typedef struct _DatabaseStatement
static SQLite3 * _sqlite3_init(Config * config, char const * section); static SQLite3 * _sqlite3_init(Config * config, char const * section);
static void _sqlite3_destroy(SQLite3 * sqlite3); static void _sqlite3_destroy(SQLite3 * sqlite3);
static int _sqlite3_get_last_id(SQLite3 * sqlite3); static int64_t _sqlite3_get_last_id(SQLite3 * sqlite3);
static int _sqlite3_query(SQLite3 * sqlite3, char const * query, static int _sqlite3_query(SQLite3 * sqlite3, char const * query,
DatabaseCallback callback, void * data); DatabaseCallback callback, void * data);
@ -115,7 +115,7 @@ static void _sqlite3_destroy(SQLite3 * sqlite3)
/* accessors */ /* accessors */
/* _sqlite3_get_last_id */ /* _sqlite3_get_last_id */
static int _sqlite3_get_last_id(SQLite3 * sqlite3) static int64_t _sqlite3_get_last_id(SQLite3 * sqlite3)
{ {
/* XXX returns an int64_t */ /* XXX returns an int64_t */
return sqlite3_last_insert_rowid(sqlite3->handle); return sqlite3_last_insert_rowid(sqlite3->handle);

View File

@ -45,7 +45,7 @@ typedef struct _DatabaseStatement
static Template * _template_init(Config * config, char const * section); static Template * _template_init(Config * config, char const * section);
static void _template_destroy(Template * pgsql); static void _template_destroy(Template * pgsql);
static int _template_get_last_id(Template * pgsql); static int64_t _template_get_last_id(Template * pgsql);
static int _template_query(Template * pgsql, char const * query, static int _template_query(Template * pgsql, char const * query,
DatabaseCallback callback, void * data); DatabaseCallback callback, void * data);
@ -97,7 +97,7 @@ static void _template_destroy(Template * template)
/* accessors */ /* accessors */
/* _template_get_last_id */ /* _template_get_last_id */
static int _template_get_last_id(Template * template) static int64_t _template_get_last_id(Template * template)
{ {
/* FIXME really implement */ /* FIXME really implement */
return -1; return -1;