sqlc-hs-0.3.0.0: test/golden/hasql-features.input
settings {
engine: "postgresql"
}
catalog {
default_schema: "public"
schemas {
name: "public"
enums {
name: "organization_role"
vals: "owner"
vals: "admin"
vals: "member"
}
}
}
queries {
text: "SELECT id FROM users WHERE $1::TEXT IS NULL OR $1::TEXT = users.name;"
name: "FindUserByName"
cmd: ":many"
filename: "query/users.sql"
columns {
name: "id"
not_null: true
type {
name: "int"
}
}
params {
number: 1
column {
name: "name"
not_null: true
type {
name: "text"
}
}
}
}
queries {
text: "SELECT id FROM users WHERE name IN ($1) AND email NOT IN ($2) AND age > $3;"
name: "FindUsers"
cmd: ":many"
filename: "query/users.sql"
columns {
name: "id"
not_null: true
type {
name: "int"
}
}
params {
number: 1
column {
name: "names"
not_null: true
is_sqlc_slice: true
type {
name: "text"
}
}
}
params {
number: 2
column {
name: "emails"
not_null: true
is_sqlc_slice: true
type {
name: "text"
}
}
}
params {
number: 3
column {
name: "age"
not_null: true
type {
name: "int"
}
}
}
}
queries {
text: "SELECT tags, labels FROM posts WHERE tags && $1;"
name: "FindPosts"
cmd: ":many"
filename: "query/posts.sql"
columns {
name: "tags"
not_null: true
is_array: true
type {
name: "text"
}
}
columns {
name: "labels"
is_array: true
type {
name: "pg_catalog.varchar"
}
}
params {
number: 1
column {
name: "tags"
not_null: true
is_array: true
type {
name: "text"
}
}
}
}
queries {
text: "SELECT role, previous_role FROM members WHERE role = $1;"
name: "FindMembers"
cmd: ":many"
filename: "query/members.sql"
columns {
name: "role"
not_null: true
type {
name: "organization_role"
}
}
columns {
name: "previous_role"
type {
name: "organization_role"
}
}
params {
number: 1
column {
name: "role"
not_null: true
type {
name: "organization_role"
}
}
}
}
queries {
text: "SELECT id, created_at, updated_at, legacy_at FROM events WHERE id = $1 AND legacy_at > $2;"
name: "GetEvent"
cmd: ":one"
filename: "query/events.sql"
columns {
name: "id"
not_null: true
type {
name: "uuid"
}
}
columns {
name: "created_at"
not_null: true
type {
name: "pg_catalog.timestamptz"
}
}
columns {
name: "updated_at"
type {
name: "pg_catalog.timestamptz"
}
}
columns {
name: "legacy_at"
not_null: true
type {
name: "pg_catalog.timestamp"
}
}
params {
number: 1
column {
name: "id"
not_null: true
type {
name: "uuid"
}
}
}
params {
number: 2
column {
name: "since"
not_null: true
type {
name: "pg_catalog.timestamp"
}
}
}
}
queries {
text: "DELETE FROM users;"
name: "DeleteUsers"
cmd: ":exec"
filename: "query/users.sql"
}
plugin_options: "{\"cabal_package_name\":\"hasql-features\",\"driver\":\"hasql\",\"overrides\":[{\"db_type\":\"pg_catalog.timestamptz\",\"haskell_type\":{\"package\":\"time\",\"module\":\"Data.Time\",\"type\":\"Data.Time.UTCTime\"}},{\"db_type\":\"pg_catalog.timestamptz\",\"nullable\":true,\"haskell_type\":{\"package\":\"time\",\"module\":\"Data.Time\",\"type\":\"Maybe Data.Time.UTCTime\"}},{\"db_type\":\"uuid\",\"haskell_type\":{\"package\":\"uuid\",\"module\":\"Data.UUID\",\"type\":\"Data.UUID.UUID\"}},{\"db_type\":\"pg_catalog.timestamp\",\"haskell_type\":{\"package\":\"time\",\"module\":\"Data.Time\",\"type\":\"Data.Time.UTCTime\"},\"hasql_encoder\":\"Data.Functor.Contravariant.contramap (Data.Time.utcToLocalTime Data.Time.utc) Hasql.Encoders.timestamp\",\"hasql_decoder\":\"fmap (Data.Time.localTimeToUTC Data.Time.utc) Hasql.Decoders.timestamp\"}]}"