myddas fixes

This commit is contained in:
Vitor Santos Costa 2015-02-11 10:33:35 +00:00
parent afd8c9b9c4
commit eef8bc8629
4 changed files with 29 additions and 11 deletions

View File

@ -60,8 +60,14 @@ void Yap_InitMYDDAS_ODBCPreds(void);
void Yap_InitBackMYDDAS_ODBCPreds(void); void Yap_InitBackMYDDAS_ODBCPreds(void);
#endif #endif
/* myddas_shared.c */ /* myddas_odbc.c */
#if defined MYDDAS_ODBC || defined MYDDAS_MYSQL #if defined MYDDAS_SQLITE3
void Yap_InitMYDDAS_SQLITE3Preds(void);
void Yap_InitBackMYDDAS_SQLITE3Preds(void);
#endif
/* Myddas_shared.c */
#if defined USE_MYDDAS
void Yap_MYDDAS_delete_all_myddas_structs(void); void Yap_MYDDAS_delete_all_myddas_structs(void);
void Yap_InitMYDDAS_SharedPreds(void); void Yap_InitMYDDAS_SharedPreds(void);
void Yap_InitBackMYDDAS_SharedPreds(void); void Yap_InitBackMYDDAS_SharedPreds(void);

View File

@ -707,7 +707,10 @@ init_myddas(void)
#if defined MYDDAS_ODBC #if defined MYDDAS_ODBC
Yap_InitBackMYDDAS_ODBCPreds(); Yap_InitBackMYDDAS_ODBCPreds();
#endif #endif
#if defined MYDDAS_ODBC || defined MYDDAS_MYSQL #if defined MYDDAS_SQLITE3
Yap_InitBackMYDDAS_SQLITE3Preds();
#endif
#if defined USE_MYDDAS
Yap_InitBackMYDDAS_SharedPreds(); Yap_InitBackMYDDAS_SharedPreds();
#endif #endif
#if defined MYDDAS_MYSQL #if defined MYDDAS_MYSQL
@ -716,7 +719,10 @@ init_myddas(void)
#if defined MYDDAS_ODBC #if defined MYDDAS_ODBC
Yap_InitMYDDAS_ODBCPreds(); Yap_InitMYDDAS_ODBCPreds();
#endif #endif
#if defined MYDDAS_ODBC || defined MYDDAS_MYSQL #if defined MYDDAS_SQLITE3
Yap_InitMYDDAS_SQLITE3Preds();
#endif
#if defined USE_MYDDAS
Yap_InitMYDDAS_SharedPreds(); Yap_InitMYDDAS_SharedPreds();
#endif #endif
#if defined MYDDAS_TOP_LEVEL && defined MYDDAS_MYSQL // && defined HAVE_LIBREADLINE #if defined MYDDAS_TOP_LEVEL && defined MYDDAS_MYSQL // && defined HAVE_LIBREADLINE

View File

@ -65,8 +65,8 @@ typedef struct result_set {
int length; int length;
} resultSet; } resultSet;
void Yap_InitMYDDAS_SQLitePreds(void); void Yap_InitMYDDAS_SQLITE3Preds(void);
void Yap_InitBackMYDDAS_sqlite3Preds(void); void Yap_InitBackMYDDAS_SQLITE3Preds(void);
static Int c_sqlite3_connect( USES_REGS1 ); static Int c_sqlite3_connect( USES_REGS1 );
@ -82,10 +82,10 @@ static Int c_sqlite3_get_next_result_set( USES_REGS1 );
static Int c_sqlite3_get_database( USES_REGS1 ); static Int c_sqlite3_get_database( USES_REGS1 );
static Int c_sqlite3_change_database( USES_REGS1 ); static Int c_sqlite3_change_database( USES_REGS1 );
void Yap_InitMYDDAS_SQLitePreds(void) void Yap_InitMYDDAS_SQLITE3Preds(void)
{ {
/* db_dbect: Host x User x Passwd x Database x dbection x ERROR_CODE */ /* db_dbect: Host x User x Passwd x Database x dbection x ERROR_CODE */
Yap_InitCPred("c_sqlite3_connect", 7, c_sqlite3_connect, 0); Yap_InitCPred("c_db_sqlite3_connect", 4, c_sqlite3_connect, 0);
/* db_number_of_fields: Relation x connection x NumberOfFields */ /* db_number_of_fields: Relation x connection x NumberOfFields */
Yap_InitCPred("c_sqlite3_number_of_fields",3, c_sqlite3_number_of_fields, 0); Yap_InitCPred("c_sqlite3_number_of_fields",3, c_sqlite3_number_of_fields, 0);
@ -116,7 +116,7 @@ void Yap_InitMYDDAS_SQLitePreds(void)
} }
void Yap_InitBackMYDDAS_sqlite3Preds(void) void Yap_InitBackMYDDAS_SQLITE3Preds(void)
{ {
/* db_row: ResultSet x Arity x ListOfArgs */ /* db_row: ResultSet x Arity x ListOfArgs */
Yap_InitCPredBackCut("c_sqlite3_row", 3, sizeof(Int), Yap_InitCPredBackCut("c_sqlite3_row", 3, sizeof(Int),
@ -130,7 +130,7 @@ static Int
c_sqlite3_connect( USES_REGS1 ) { c_sqlite3_connect( USES_REGS1 ) {
Term arg_file = Deref(ARG1); Term arg_file = Deref(ARG1);
Term arg_db = ARG2; Term arg_db = ARG4;
MYDDAS_UTIL_CONNECTION new = NULL; MYDDAS_UTIL_CONNECTION new = NULL;
sqlite3 *db; sqlite3 *db;

View File

@ -15,7 +15,7 @@
* * * *
*************************************************************************/ *************************************************************************/
#if defined MYDDAS_MYSQL || defined MYDDAS_ODBC #if USE_MYDDAS
:- load_foreign_files([myddas], [], init_myddas). :- load_foreign_files([myddas], [], init_myddas).
@ -890,6 +890,12 @@ db_open(odbc,Connection,ODBCEntry,User,Password) :-
c_db_odbc_connect(ODBCEntry,User,Password,Con), c_db_odbc_connect(ODBCEntry,User,Password,Con),
set_value(Connection,Con). set_value(Connection,Con).
#endif #endif
#ifdef MYDDAS_SQLITE3
db_open(sqlite3,Connection,ODBCEntry,User,Password) :-
'$error_checks'(db_open(odbc,Connection,ODBCEntry,User,Password)),
c_db_sqlite3_connect(ODBCEntry,User,Password,Con),
set_value(Connection,Con).
#endif
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%