diff options
author | Adam Chlipala <adamc@hcoop.net> | 2009-07-18 10:27:32 -0400 |
---|---|---|
committer | Adam Chlipala <adamc@hcoop.net> | 2009-07-18 10:27:32 -0400 |
commit | fdca372b5e04a3f460fb3a635076b0fb81a492e7 (patch) | |
tree | a26160e55fe25f54defba930744c0345a4ddf7a9 /src/sqlite.sml | |
parent | 28caa2aa78f1dbfd7119ec742da0181f8863c6fa (diff) |
Blobs tested in MySQL and SQLite
Diffstat (limited to 'src/sqlite.sml')
-rw-r--r-- | src/sqlite.sml | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/sqlite.sml b/src/sqlite.sml index b515d313..b1252b95 100644 --- a/src/sqlite.sml +++ b/src/sqlite.sml @@ -374,13 +374,15 @@ fun p_getcol {loc, wontLeakStrings, col = i, typ = t} = | Time => box [string "uw_Basis_stringToTime_error(ctx, sqlite3_column_text(stmt, ", string (Int.toString i), string "))"] | Blob => box [string "({", newline, - string "char *data = sqlite3_column_blob(stmt, ", + string "char *data = (char *)sqlite3_column_blob(stmt, ", string (Int.toString i), string ");", newline, - string "uw_Basis_blob b = {sqlite3_column_bytes(stmt, ", + string "int len = sqlite3_column_bytes(stmt, ", string (Int.toString i), - string "), data};", + string ");", + newline, + string "uw_Basis_blob b = {len, uw_memdup(ctx, data, len)};", newline, string "b;", newline, @@ -537,7 +539,7 @@ fun p_inputs loc = arg, string ".data, ", arg, - string ".size, SQLITE_TRANSIENT"] + string ".size, SQLITE_TRANSIENT)"] | Channel => box [string "sqlite3_bind_int64(stmt, ", string (Int.toString (i + 1)), string ", ((sqlite3_int64)", @@ -767,6 +769,7 @@ val () = addDbms {name = "sqlite", textKeysNeedLengths = false, supportsNextval = false, supportsNestedPrepared = false, - sqlPrefix = ""} + sqlPrefix = "", + supportsOctetLength = false} end |