|
|
|
@ -16,13 +16,13 @@ func TestRestoreExprToSQL(t *testing.T) {
|
|
|
|
|
}{
|
|
|
|
|
{
|
|
|
|
|
filter: `tag in ["tag1", "tag2"]`,
|
|
|
|
|
want: "(memo.payload->'tags' @> $1::jsonb OR memo.payload->'tags' @> $2::jsonb)",
|
|
|
|
|
args: []any{[]any{"tag1"}, []any{"tag2"}},
|
|
|
|
|
want: "(memo.payload->'tags' @> jsonb_build_array($1) OR memo.payload->'tags' @> jsonb_build_array($2))",
|
|
|
|
|
args: []any{"tag1", "tag2"},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
filter: `!(tag in ["tag1", "tag2"])`,
|
|
|
|
|
want: `NOT ((memo.payload->'tags' @> $1::jsonb OR memo.payload->'tags' @> $2::jsonb))`,
|
|
|
|
|
args: []any{[]any{"tag1"}, []any{"tag2"}},
|
|
|
|
|
want: `NOT ((memo.payload->'tags' @> jsonb_build_array($1) OR memo.payload->'tags' @> jsonb_build_array($2)))`,
|
|
|
|
|
args: []any{"tag1", "tag2"},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
filter: `content.contains("memos")`,
|
|
|
|
@ -46,8 +46,8 @@ func TestRestoreExprToSQL(t *testing.T) {
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
filter: `tag in ['tag1'] || content.contains('hello')`,
|
|
|
|
|
want: "(memo.payload->'tags' @> $1::jsonb OR memo.content ILIKE $2)",
|
|
|
|
|
args: []any{[]any{"tag1"}, "%hello%"},
|
|
|
|
|
want: "(memo.payload->'tags' @> jsonb_build_array($1) OR memo.content ILIKE $2)",
|
|
|
|
|
args: []any{"tag1", "%hello%"},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
filter: `1`,
|
|
|
|
|