2025-03-29 23:17:10 +00:00
|
|
|
# vim: set et sta sw=4 ts=4 :
|
|
|
|
|
|
|
|
|
|
import
|
|
|
|
|
std/re
|
2025-11-04 09:06:11 -08:00
|
|
|
import lbug
|
2025-03-29 23:17:10 +00:00
|
|
|
|
2025-11-04 09:06:11 -08:00
|
|
|
let db = newLbugDatabase()
|
2025-03-29 23:17:10 +00:00
|
|
|
let conn = db.connect
|
|
|
|
|
|
|
|
|
|
var q = conn.query( "CREATE NODE TABLE Doop ( id SERIAL, created DATE, PRIMARY KEY(id) )" )
|
2025-11-04 09:06:11 -08:00
|
|
|
assert typeOf( q ) is LbugQueryResult
|
2025-03-29 23:17:10 +00:00
|
|
|
|
|
|
|
|
var p = conn.prepare( "CREATE (d:Doop {created: $created})" )
|
2025-11-04 09:06:11 -08:00
|
|
|
assert typeOf( p ) is LbugPreparedStatement
|
2025-03-29 23:17:10 +00:00
|
|
|
|
|
|
|
|
# Typecast binding failure
|
|
|
|
|
#
|
|
|
|
|
try:
|
|
|
|
|
discard p.execute( (created: "1111-1111") )
|
2025-11-04 09:06:11 -08:00
|
|
|
except LbugQueryError as err:
|
|
|
|
|
assert err.msg.contains( re"""Conversion exception: Error occurred during parsing date.""" )
|
2025-03-29 23:17:10 +00:00
|
|
|
|
|
|
|
|
# Invalid value for typecast
|
|
|
|
|
#
|
|
|
|
|
p = conn.prepare( "CREATE (d:Doop {created: DATE($created)})" )
|
|
|
|
|
try:
|
|
|
|
|
discard p.execute( (created: "1111-1111") )
|
2025-11-04 09:06:11 -08:00
|
|
|
except LbugQueryError as err:
|
2025-03-29 23:17:10 +00:00
|
|
|
assert err.msg.contains( re"""Given: "1111-1111". Expected format: \(YYYY-MM-DD\)""" )
|
|
|
|
|
|
|
|
|
|
|