stuck with a bitch of a problem
[goDBhammer.git] / src / dbibridge.go
index 64b7d1b..fe26e60 100644 (file)
@@ -6,10 +6,11 @@ import "C"
 
 import (
        "unsafe";
+       "fmt";
 )
 
 type DBIConnection struct {
-       dbconn C.dbi_conn;
+       dbconn unsafe.Pointer;
        dbinit bool;
 }
 
@@ -29,23 +30,26 @@ func DBIConnect(thisDBConn *DBIConnection, dbtype string, host string, username
 {
        C.dbi_initialize(nil);
        
-       thisDBConn.dbconn = C.dbi_conn_new(C.CString(dbtype));
+       thisDBConn.dbconn = (unsafe.Pointer)(C.dbi_conn_new(C.CString(dbtype)));
        
-       C.dbi_conn_set_option((unsafe.Pointer)(thisDBConn.dbconn), C.CString("host"), C.CString(host));
-       C.dbi_conn_set_option((unsafe.Pointer)(thisDBConn.dbconn), C.CString("username"), C.CString(username));
-       C.dbi_conn_set_option((unsafe.Pointer)(thisDBConn.dbconn), C.CString("password"), C.CString(password));
-       C.dbi_conn_set_option((unsafe.Pointer)(thisDBConn.dbconn), C.CString("dbname"), C.CString(database));
-       C.dbi_conn_connect((unsafe.Pointer)(thisDBConn.dbconn));
+       C.dbi_conn_set_option(thisDBConn.dbconn, C.CString("host"), C.CString(host));
+       C.dbi_conn_set_option(thisDBConn.dbconn, C.CString("username"), C.CString(username));
+       C.dbi_conn_set_option(thisDBConn.dbconn, C.CString("password"), C.CString(password));
+       C.dbi_conn_set_option(thisDBConn.dbconn, C.CString("dbname"), C.CString(database));
+       C.dbi_conn_connect(thisDBConn.dbconn);
        
        thisDBConn.dbinit = true;
 }
 
 func ExecSQL(thisDBConn *DBIConnection, SQL string)
 {
-       C.dbi_conn_query((unsafe.Pointer)(thisDBConn.dbconn), C.CString(SQL));
+       fmt.Printf("%s;\n", SQL);
+       res := C.dbi_conn_query(thisDBConn.dbconn, C.CString(SQL));
+       
+       C.dbi_result_free((unsafe.Pointer)(res));
 }
 
 func DBIDisconnect(thisDBConn *DBIConnection)
 {
-       C.dbi_conn_close((unsafe.Pointer)(thisDBConn.dbconn));
+       C.dbi_conn_close(thisDBConn.dbconn);
 }
\ No newline at end of file