commit
879c2eb7e7
2 changed files with 15 additions and 0 deletions
|
|
@ -65,6 +65,16 @@ func String(value string) StringExpression {
|
||||||
return CAST(jet.String(value)).AS_TEXT()
|
return CAST(jet.String(value)).AS_TEXT()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Json creates new json literal expression
|
||||||
|
func Json(value interface{}) StringExpression {
|
||||||
|
switch value.(type) {
|
||||||
|
case string, []byte:
|
||||||
|
default:
|
||||||
|
panic("Bytea parameter value has to be of the type string or []byte")
|
||||||
|
}
|
||||||
|
return StringExp(CAST(jet.Literal(value)).AS("json"))
|
||||||
|
}
|
||||||
|
|
||||||
// UUID is a helper function to create string literal expression from uuid object
|
// UUID is a helper function to create string literal expression from uuid object
|
||||||
// value can be any uuid type with a String method
|
// value can be any uuid type with a String method
|
||||||
var UUID = jet.UUID
|
var UUID = jet.UUID
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,11 @@ func TestBytea(t *testing.T) {
|
||||||
assertSerialize(t, Bytea([]byte("Some byte array")), `$1::bytea`, []byte("Some byte array"))
|
assertSerialize(t, Bytea([]byte("Some byte array")), `$1::bytea`, []byte("Some byte array"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestJson(t *testing.T) {
|
||||||
|
assertSerialize(t, Json("{\"key\": \"value\"}"), `$1::json`, "{\"key\": \"value\"}")
|
||||||
|
assertSerialize(t, Json([]byte("{\"key\": \"value\"}")), `$1::json`, []byte("{\"key\": \"value\"}"))
|
||||||
|
}
|
||||||
|
|
||||||
func TestDate(t *testing.T) {
|
func TestDate(t *testing.T) {
|
||||||
assertSerialize(t, Date(2014, time.January, 2), `$1::date`, "2014-01-02")
|
assertSerialize(t, Date(2014, time.January, 2), `$1::date`, "2014-01-02")
|
||||||
assertSerialize(t, DateT(time.Now()), `$1::date`)
|
assertSerialize(t, DateT(time.Now()), `$1::date`)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue