summaryrefslogtreecommitdiff
path: root/src/sqlite.sml
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adamc@hcoop.net>2009-07-18 10:27:32 -0400
committerGravatar Adam Chlipala <adamc@hcoop.net>2009-07-18 10:27:32 -0400
commitfdca372b5e04a3f460fb3a635076b0fb81a492e7 (patch)
treea26160e55fe25f54defba930744c0345a4ddf7a9 /src/sqlite.sml
parent28caa2aa78f1dbfd7119ec742da0181f8863c6fa (diff)
Blobs tested in MySQL and SQLite
Diffstat (limited to 'src/sqlite.sml')
-rw-r--r--src/sqlite.sml13
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