Mercurial > urweb
comparison src/sqlite.sml @ 1352:703c2c94afd5
Use proper string time format for SQLite
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Mon, 20 Dec 2010 13:22:44 -0500 |
parents | 929981850d9d |
children | e525ad571e15 |
comparison
equal
deleted
inserted
replaced
1351:74d35d9a5d16 | 1352:703c2c94afd5 |
---|---|
400 string "}", | 400 string "}", |
401 newline, | 401 newline, |
402 newline] | 402 newline] |
403 end | 403 end |
404 | 404 |
405 val fmt = "\"%Y-%m-%d %H:%M:%S\"" | |
406 | |
405 fun p_getcol {loc, wontLeakStrings, col = i, typ = t} = | 407 fun p_getcol {loc, wontLeakStrings, col = i, typ = t} = |
406 let | 408 let |
407 fun p_unsql t = | 409 fun p_unsql t = |
408 case t of | 410 case t of |
409 Int => box [string "sqlite3_column_int64(stmt, ", string (Int.toString i), string ")"] | 411 Int => box [string "sqlite3_column_int64(stmt, ", string (Int.toString i), string ")"] |
413 box [string "(uw_Basis_string)sqlite3_column_text(stmt, ", string (Int.toString i), string ")"] | 415 box [string "(uw_Basis_string)sqlite3_column_text(stmt, ", string (Int.toString i), string ")"] |
414 else | 416 else |
415 box [string "uw_strdup(ctx, (uw_Basis_string)sqlite3_column_text(stmt, ", string (Int.toString i), string "))"] | 417 box [string "uw_strdup(ctx, (uw_Basis_string)sqlite3_column_text(stmt, ", string (Int.toString i), string "))"] |
416 | Char => box [string "sqlite3_column_text(stmt, ", string (Int.toString i), string ")[0]"] | 418 | Char => box [string "sqlite3_column_text(stmt, ", string (Int.toString i), string ")[0]"] |
417 | Bool => box [string "(uw_Basis_bool)sqlite3_column_int(stmt, ", string (Int.toString i), string ")"] | 419 | Bool => box [string "(uw_Basis_bool)sqlite3_column_int(stmt, ", string (Int.toString i), string ")"] |
418 | Time => box [string "uw_Basis_stringToTime_error(ctx, (uw_Basis_string)sqlite3_column_text(stmt, ", string (Int.toString i), string "))"] | 420 | Time => box [string "uw_Basis_stringToTimef_error(ctx, ", |
421 string fmt, | |
422 string ", (uw_Basis_string)sqlite3_column_text(stmt, ", | |
423 string (Int.toString i), | |
424 string "))"] | |
419 | Blob => box [string "({", | 425 | Blob => box [string "({", |
420 newline, | 426 newline, |
421 string "char *data = (char *)sqlite3_column_blob(stmt, ", | 427 string "char *data = (char *)sqlite3_column_blob(stmt, ", |
422 string (Int.toString i), | 428 string (Int.toString i), |
423 string ");", | 429 string ");", |
589 string ", ", | 595 string ", ", |
590 arg, | 596 arg, |
591 string ")"] | 597 string ")"] |
592 | Time => box [string "sqlite3_bind_text(stmt, ", | 598 | Time => box [string "sqlite3_bind_text(stmt, ", |
593 string (Int.toString (i + 1)), | 599 string (Int.toString (i + 1)), |
594 string ", uw_Basis_attrifyTime(ctx, ", | 600 string ", uw_Basis_timeToStringf(ctx, ", |
601 string fmt, | |
602 string ", ", | |
595 arg, | 603 arg, |
596 string "), -1, SQLITE_TRANSIENT)"] | 604 string "), -1, SQLITE_TRANSIENT)"] |
597 | Blob => box [string "sqlite3_bind_blob(stmt, ", | 605 | Blob => box [string "sqlite3_bind_blob(stmt, ", |
598 string (Int.toString (i + 1)), | 606 string (Int.toString (i + 1)), |
599 string ", ", | 607 string ", ", |