on master help sign in
fixed the same issue with get_table
commit083440b0954c96a27d12141ffbb8f8c2b5537d7b authormelissam <mfm6@st-andrews.ac.uk> dateTue 17 Jul 2012, 15:09 (14 years ago) parentb4bf889
2 files changed+6−5
contribs/lib/SQLite3/sqlite3.idr+5−5 contribs/lib/SQLite3/sqlite3api.c+1
contribs/lib/SQLite3/sqlite3.idr+5−5
@@ -153,8 +153,8 @@ get_table (MkDBPointer pointer) name = do
153153 x <- liftIO(mkForeign (FFun "sqlite3_get_table_idr" [FPtr, FString] FPtr)pointer name)
154154 flag <- liftIO(nullPtr x)
155155 if flag
156− then fail "Boooo"
157− else return (MkTBPointer x)
156+ then do x <- liftIO(get_error_table pointer) ; fail x
157+ else return (MkTBPointer x)
158158 where
159159 get_error_table : Ptr-> IO String
160160 get_error_table pointer = do x <- mkForeign (FFun "sqlite3_get_error" [FPtr] FString)pointer
@@ -269,11 +269,11 @@ test = do db <- liftIO (open_db "somedb.db")
269269
270270test2 : DB ()
271271test2 = do db <- liftIO (open_db "somedb.db")
272− stmt <- (prepare_db db "insert into tbl1 values (?,?);")
273− -- tbl <- (get_table db "SELECT Student.Name FROM Student, Module, Enrollment WHERE Module.Credits = 30 AND Student.School_student = Enrollment.School_Student AND Student.School = Enrollment.School AND Enrollment.Code = Module.Code")
272+
273+ tbl <- (get_table db "SELECT Student.Name FROM Student, Module, Enrollment WHERE Module.Credits = 30 AND Student.School_student = Enrollment.School_Student AND Student.School = Enrollment.School AND Enrollment.Code = Module.Code")
274274 --res <- (toList "Student" "select *from Student;" db)
275275 -- mydata <- liftIO ( get_data db "Student" 1 1)
276− finalize_db stmt
276+
277277 c <- liftIO (close_db db)
278278 return ()
279279
contribs/lib/SQLite3/sqlite3api.c+1
@@ -106,6 +106,7 @@ void* sqlite3_get_table_idr(void* db,
106106 if( res != SQLITE_OK && err != NULL){
107107 strncpy(dbi->buffer, err, sizeof(dbi->buffer));
108108 sqlite3_free(err);
109+ return NULL;
109110 }
110111
111112 tbl -> data_size = array_size;