snapshot of https://github.com/sqlc-dev/sqlc.git (main, 2026-09-16; blobs > 131072B omitted)
Some checks failed
kotlin / test (push) Has been skipped
python / test (push) Has been skipped
typescript / test (push) Has been skipped
go / build darwin/amd64 (push) Has been cancelled
go / build linux/amd64 (push) Has been cancelled
go / build windows/amd64 (push) Has been cancelled
go / build darwin/arm64 (push) Has been cancelled
go / build linux/arm64 (push) Has been cancelled
go / build windows/arm64 (push) Has been cancelled
go / test (push) Has been cancelled
go / vuln_check (push) Has been cancelled
Some checks failed
kotlin / test (push) Has been skipped
python / test (push) Has been skipped
typescript / test (push) Has been skipped
go / build darwin/amd64 (push) Has been cancelled
go / build linux/amd64 (push) Has been cancelled
go / build windows/amd64 (push) Has been cancelled
go / build darwin/arm64 (push) Has been cancelled
go / build linux/arm64 (push) Has been cancelled
go / build windows/arm64 (push) Has been cancelled
go / test (push) Has been cancelled
go / vuln_check (push) Has been cancelled
This commit is contained in:
31
internal/endtoend/testdata/ddl_create_enum/mysql/go/db.go
vendored
Normal file
31
internal/endtoend/testdata/ddl_create_enum/mysql/go/db.go
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.31.1
|
||||
|
||||
package querytest
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
)
|
||||
|
||||
type DBTX interface {
|
||||
ExecContext(context.Context, string, ...any) (sql.Result, error)
|
||||
PrepareContext(context.Context, string) (*sql.Stmt, error)
|
||||
QueryContext(context.Context, string, ...any) (*sql.Rows, error)
|
||||
QueryRowContext(context.Context, string, ...any) *sql.Row
|
||||
}
|
||||
|
||||
func New(db DBTX) *Queries {
|
||||
return &Queries{db: db}
|
||||
}
|
||||
|
||||
type Queries struct {
|
||||
db DBTX
|
||||
}
|
||||
|
||||
func (q *Queries) WithTx(tx *sql.Tx) *Queries {
|
||||
return &Queries{
|
||||
db: tx,
|
||||
}
|
||||
}
|
||||
114
internal/endtoend/testdata/ddl_create_enum/mysql/go/models.go
vendored
Normal file
114
internal/endtoend/testdata/ddl_create_enum/mysql/go/models.go
vendored
Normal file
@@ -0,0 +1,114 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.31.1
|
||||
|
||||
package querytest
|
||||
|
||||
import (
|
||||
"database/sql/driver"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
type FooDigit string
|
||||
|
||||
const (
|
||||
FooDigit0 FooDigit = "0"
|
||||
FooDigit1 FooDigit = "1"
|
||||
FooDigit2 FooDigit = "2"
|
||||
FooDigit3 FooDigit = "3"
|
||||
FooDigit4 FooDigit = "4"
|
||||
FooDigit5 FooDigit = "5"
|
||||
FooDigit6 FooDigit = "6"
|
||||
FooDigit7 FooDigit = "7"
|
||||
FooDigit8 FooDigit = "8"
|
||||
FooDigit9 FooDigit = "9"
|
||||
FooDigitValue10 FooDigit = "#"
|
||||
FooDigitValue11 FooDigit = "*"
|
||||
)
|
||||
|
||||
func (e *FooDigit) Scan(src any) error {
|
||||
switch s := src.(type) {
|
||||
case []byte:
|
||||
*e = FooDigit(s)
|
||||
case string:
|
||||
*e = FooDigit(s)
|
||||
default:
|
||||
return fmt.Errorf("unsupported scan type for FooDigit: %T", src)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type NullFooDigit struct {
|
||||
FooDigit FooDigit
|
||||
Valid bool // Valid is true if FooDigit is not NULL
|
||||
}
|
||||
|
||||
// Scan implements the Scanner interface.
|
||||
func (ns *NullFooDigit) Scan(value any) error {
|
||||
if value == nil {
|
||||
ns.FooDigit, ns.Valid = "", false
|
||||
return nil
|
||||
}
|
||||
ns.Valid = true
|
||||
return ns.FooDigit.Scan(value)
|
||||
}
|
||||
|
||||
// Value implements the driver Valuer interface.
|
||||
func (ns NullFooDigit) Value() (driver.Value, error) {
|
||||
if !ns.Valid {
|
||||
return nil, nil
|
||||
}
|
||||
return string(ns.FooDigit), nil
|
||||
}
|
||||
|
||||
type FooFoobar string
|
||||
|
||||
const (
|
||||
FooFoobarFooA FooFoobar = "foo-a"
|
||||
FooFoobarFooB FooFoobar = "foo_b"
|
||||
FooFoobarFooC FooFoobar = "foo:c"
|
||||
FooFoobarFooD FooFoobar = "foo/d"
|
||||
FooFoobarFooe FooFoobar = "foo@e"
|
||||
FooFoobarFoof FooFoobar = "foo+f"
|
||||
FooFoobarFoog FooFoobar = "foo!g"
|
||||
)
|
||||
|
||||
func (e *FooFoobar) Scan(src any) error {
|
||||
switch s := src.(type) {
|
||||
case []byte:
|
||||
*e = FooFoobar(s)
|
||||
case string:
|
||||
*e = FooFoobar(s)
|
||||
default:
|
||||
return fmt.Errorf("unsupported scan type for FooFoobar: %T", src)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type NullFooFoobar struct {
|
||||
FooFoobar FooFoobar
|
||||
Valid bool // Valid is true if FooFoobar is not NULL
|
||||
}
|
||||
|
||||
// Scan implements the Scanner interface.
|
||||
func (ns *NullFooFoobar) Scan(value any) error {
|
||||
if value == nil {
|
||||
ns.FooFoobar, ns.Valid = "", false
|
||||
return nil
|
||||
}
|
||||
ns.Valid = true
|
||||
return ns.FooFoobar.Scan(value)
|
||||
}
|
||||
|
||||
// Value implements the driver Valuer interface.
|
||||
func (ns NullFooFoobar) Value() (driver.Value, error) {
|
||||
if !ns.Valid {
|
||||
return nil, nil
|
||||
}
|
||||
return string(ns.FooFoobar), nil
|
||||
}
|
||||
|
||||
type Foo struct {
|
||||
Foobar FooFoobar
|
||||
Digit FooDigit
|
||||
}
|
||||
37
internal/endtoend/testdata/ddl_create_enum/mysql/go/query.sql.go
vendored
Normal file
37
internal/endtoend/testdata/ddl_create_enum/mysql/go/query.sql.go
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.31.1
|
||||
// source: query.sql
|
||||
|
||||
package querytest
|
||||
|
||||
import (
|
||||
"context"
|
||||
)
|
||||
|
||||
const listFoo = `-- name: ListFoo :many
|
||||
SELECT foobar, digit FROM foo
|
||||
`
|
||||
|
||||
func (q *Queries) ListFoo(ctx context.Context) ([]Foo, error) {
|
||||
rows, err := q.db.QueryContext(ctx, listFoo)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []Foo
|
||||
for rows.Next() {
|
||||
var i Foo
|
||||
if err := rows.Scan(&i.Foobar, &i.Digit); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
2
internal/endtoend/testdata/ddl_create_enum/mysql/query.sql
vendored
Normal file
2
internal/endtoend/testdata/ddl_create_enum/mysql/query.sql
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
/* name: ListFoo :many */
|
||||
SELECT * FROM foo;
|
||||
4
internal/endtoend/testdata/ddl_create_enum/mysql/schema.sql
vendored
Normal file
4
internal/endtoend/testdata/ddl_create_enum/mysql/schema.sql
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
CREATE TABLE foo (
|
||||
foobar ENUM ('foo-a', 'foo_b', 'foo:c', 'foo/d', 'foo@e', 'foo+f', 'foo!g') NOT NULL,
|
||||
digit ENUM ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '#', '*') NOT NULL
|
||||
);
|
||||
12
internal/endtoend/testdata/ddl_create_enum/mysql/sqlc.json
vendored
Normal file
12
internal/endtoend/testdata/ddl_create_enum/mysql/sqlc.json
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"version": "1",
|
||||
"packages": [
|
||||
{
|
||||
"path": "go",
|
||||
"engine": "mysql",
|
||||
"name": "querytest",
|
||||
"schema": "schema.sql",
|
||||
"queries": "query.sql"
|
||||
}
|
||||
]
|
||||
}
|
||||
32
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v4/go/db.go
vendored
Normal file
32
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v4/go/db.go
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.31.1
|
||||
|
||||
package querytest
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/jackc/pgconn"
|
||||
"github.com/jackc/pgx/v4"
|
||||
)
|
||||
|
||||
type DBTX interface {
|
||||
Exec(context.Context, string, ...any) (pgconn.CommandTag, error)
|
||||
Query(context.Context, string, ...any) (pgx.Rows, error)
|
||||
QueryRow(context.Context, string, ...any) pgx.Row
|
||||
}
|
||||
|
||||
func New(db DBTX) *Queries {
|
||||
return &Queries{db: db}
|
||||
}
|
||||
|
||||
type Queries struct {
|
||||
db DBTX
|
||||
}
|
||||
|
||||
func (q *Queries) WithTx(tx pgx.Tx) *Queries {
|
||||
return &Queries{
|
||||
db: tx,
|
||||
}
|
||||
}
|
||||
113
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v4/go/models.go
vendored
Normal file
113
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v4/go/models.go
vendored
Normal file
@@ -0,0 +1,113 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.31.1
|
||||
|
||||
package querytest
|
||||
|
||||
import (
|
||||
"database/sql/driver"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
type Digit string
|
||||
|
||||
const (
|
||||
Digit0 Digit = "0"
|
||||
Digit1 Digit = "1"
|
||||
Digit2 Digit = "2"
|
||||
Digit3 Digit = "3"
|
||||
Digit4 Digit = "4"
|
||||
Digit5 Digit = "5"
|
||||
Digit6 Digit = "6"
|
||||
Digit7 Digit = "7"
|
||||
Digit8 Digit = "8"
|
||||
Digit9 Digit = "9"
|
||||
DigitValue10 Digit = "#"
|
||||
DigitValue11 Digit = "*"
|
||||
)
|
||||
|
||||
func (e *Digit) Scan(src any) error {
|
||||
switch s := src.(type) {
|
||||
case []byte:
|
||||
*e = Digit(s)
|
||||
case string:
|
||||
*e = Digit(s)
|
||||
default:
|
||||
return fmt.Errorf("unsupported scan type for Digit: %T", src)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type NullDigit struct {
|
||||
Digit Digit
|
||||
Valid bool // Valid is true if Digit is not NULL
|
||||
}
|
||||
|
||||
// Scan implements the Scanner interface.
|
||||
func (ns *NullDigit) Scan(value any) error {
|
||||
if value == nil {
|
||||
ns.Digit, ns.Valid = "", false
|
||||
return nil
|
||||
}
|
||||
ns.Valid = true
|
||||
return ns.Digit.Scan(value)
|
||||
}
|
||||
|
||||
// Value implements the driver Valuer interface.
|
||||
func (ns NullDigit) Value() (driver.Value, error) {
|
||||
if !ns.Valid {
|
||||
return nil, nil
|
||||
}
|
||||
return string(ns.Digit), nil
|
||||
}
|
||||
|
||||
type Foobar string
|
||||
|
||||
const (
|
||||
FoobarFooA Foobar = "foo-a"
|
||||
FoobarFooB Foobar = "foo_b"
|
||||
FoobarFooC Foobar = "foo:c"
|
||||
FoobarFooD Foobar = "foo/d"
|
||||
FoobarFooe Foobar = "foo@e"
|
||||
FoobarFoof Foobar = "foo+f"
|
||||
FoobarFoog Foobar = "foo!g"
|
||||
)
|
||||
|
||||
func (e *Foobar) Scan(src any) error {
|
||||
switch s := src.(type) {
|
||||
case []byte:
|
||||
*e = Foobar(s)
|
||||
case string:
|
||||
*e = Foobar(s)
|
||||
default:
|
||||
return fmt.Errorf("unsupported scan type for Foobar: %T", src)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type NullFoobar struct {
|
||||
Foobar Foobar
|
||||
Valid bool // Valid is true if Foobar is not NULL
|
||||
}
|
||||
|
||||
// Scan implements the Scanner interface.
|
||||
func (ns *NullFoobar) Scan(value any) error {
|
||||
if value == nil {
|
||||
ns.Foobar, ns.Valid = "", false
|
||||
return nil
|
||||
}
|
||||
ns.Valid = true
|
||||
return ns.Foobar.Scan(value)
|
||||
}
|
||||
|
||||
// Value implements the driver Valuer interface.
|
||||
func (ns NullFoobar) Value() (driver.Value, error) {
|
||||
if !ns.Valid {
|
||||
return nil, nil
|
||||
}
|
||||
return string(ns.Foobar), nil
|
||||
}
|
||||
|
||||
type Foo struct {
|
||||
Val Foobar
|
||||
}
|
||||
34
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v4/go/query.sql.go
vendored
Normal file
34
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v4/go/query.sql.go
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.31.1
|
||||
// source: query.sql
|
||||
|
||||
package querytest
|
||||
|
||||
import (
|
||||
"context"
|
||||
)
|
||||
|
||||
const listFoo = `-- name: ListFoo :many
|
||||
SELECT val FROM foo
|
||||
`
|
||||
|
||||
func (q *Queries) ListFoo(ctx context.Context) ([]Foobar, error) {
|
||||
rows, err := q.db.Query(ctx, listFoo)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []Foobar
|
||||
for rows.Next() {
|
||||
var val Foobar
|
||||
if err := rows.Scan(&val); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, val)
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
2
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v4/query.sql
vendored
Normal file
2
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v4/query.sql
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
-- name: ListFoo :many
|
||||
SELECT * FROM foo;
|
||||
28
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v4/schema.sql
vendored
Normal file
28
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v4/schema.sql
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
CREATE TYPE foobar AS ENUM (
|
||||
-- Valid separators
|
||||
'foo-a',
|
||||
'foo_b',
|
||||
'foo:c',
|
||||
'foo/d',
|
||||
-- Strip unknown characters
|
||||
'foo@e',
|
||||
'foo+f',
|
||||
'foo!g'
|
||||
);
|
||||
|
||||
CREATE TYPE "digit" AS ENUM (
|
||||
'0',
|
||||
'1',
|
||||
'2',
|
||||
'3',
|
||||
'4',
|
||||
'5',
|
||||
'6',
|
||||
'7',
|
||||
'8',
|
||||
'9',
|
||||
'#',
|
||||
'*'
|
||||
);
|
||||
|
||||
CREATE TABLE foo (val foobar NOT NULL);
|
||||
13
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v4/sqlc.json
vendored
Normal file
13
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v4/sqlc.json
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"version": "1",
|
||||
"packages": [
|
||||
{
|
||||
"path": "go",
|
||||
"engine": "postgresql",
|
||||
"sql_package": "pgx/v4",
|
||||
"name": "querytest",
|
||||
"schema": "schema.sql",
|
||||
"queries": "query.sql"
|
||||
}
|
||||
]
|
||||
}
|
||||
32
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v5/go/db.go
vendored
Normal file
32
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v5/go/db.go
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.31.1
|
||||
|
||||
package querytest
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/jackc/pgx/v5"
|
||||
"github.com/jackc/pgx/v5/pgconn"
|
||||
)
|
||||
|
||||
type DBTX interface {
|
||||
Exec(context.Context, string, ...any) (pgconn.CommandTag, error)
|
||||
Query(context.Context, string, ...any) (pgx.Rows, error)
|
||||
QueryRow(context.Context, string, ...any) pgx.Row
|
||||
}
|
||||
|
||||
func New(db DBTX) *Queries {
|
||||
return &Queries{db: db}
|
||||
}
|
||||
|
||||
type Queries struct {
|
||||
db DBTX
|
||||
}
|
||||
|
||||
func (q *Queries) WithTx(tx pgx.Tx) *Queries {
|
||||
return &Queries{
|
||||
db: tx,
|
||||
}
|
||||
}
|
||||
113
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v5/go/models.go
vendored
Normal file
113
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v5/go/models.go
vendored
Normal file
@@ -0,0 +1,113 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.31.1
|
||||
|
||||
package querytest
|
||||
|
||||
import (
|
||||
"database/sql/driver"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
type Digit string
|
||||
|
||||
const (
|
||||
Digit0 Digit = "0"
|
||||
Digit1 Digit = "1"
|
||||
Digit2 Digit = "2"
|
||||
Digit3 Digit = "3"
|
||||
Digit4 Digit = "4"
|
||||
Digit5 Digit = "5"
|
||||
Digit6 Digit = "6"
|
||||
Digit7 Digit = "7"
|
||||
Digit8 Digit = "8"
|
||||
Digit9 Digit = "9"
|
||||
DigitValue10 Digit = "#"
|
||||
DigitValue11 Digit = "*"
|
||||
)
|
||||
|
||||
func (e *Digit) Scan(src any) error {
|
||||
switch s := src.(type) {
|
||||
case []byte:
|
||||
*e = Digit(s)
|
||||
case string:
|
||||
*e = Digit(s)
|
||||
default:
|
||||
return fmt.Errorf("unsupported scan type for Digit: %T", src)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type NullDigit struct {
|
||||
Digit Digit
|
||||
Valid bool // Valid is true if Digit is not NULL
|
||||
}
|
||||
|
||||
// Scan implements the Scanner interface.
|
||||
func (ns *NullDigit) Scan(value any) error {
|
||||
if value == nil {
|
||||
ns.Digit, ns.Valid = "", false
|
||||
return nil
|
||||
}
|
||||
ns.Valid = true
|
||||
return ns.Digit.Scan(value)
|
||||
}
|
||||
|
||||
// Value implements the driver Valuer interface.
|
||||
func (ns NullDigit) Value() (driver.Value, error) {
|
||||
if !ns.Valid {
|
||||
return nil, nil
|
||||
}
|
||||
return string(ns.Digit), nil
|
||||
}
|
||||
|
||||
type Foobar string
|
||||
|
||||
const (
|
||||
FoobarFooA Foobar = "foo-a"
|
||||
FoobarFooB Foobar = "foo_b"
|
||||
FoobarFooC Foobar = "foo:c"
|
||||
FoobarFooD Foobar = "foo/d"
|
||||
FoobarFooe Foobar = "foo@e"
|
||||
FoobarFoof Foobar = "foo+f"
|
||||
FoobarFoog Foobar = "foo!g"
|
||||
)
|
||||
|
||||
func (e *Foobar) Scan(src any) error {
|
||||
switch s := src.(type) {
|
||||
case []byte:
|
||||
*e = Foobar(s)
|
||||
case string:
|
||||
*e = Foobar(s)
|
||||
default:
|
||||
return fmt.Errorf("unsupported scan type for Foobar: %T", src)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type NullFoobar struct {
|
||||
Foobar Foobar
|
||||
Valid bool // Valid is true if Foobar is not NULL
|
||||
}
|
||||
|
||||
// Scan implements the Scanner interface.
|
||||
func (ns *NullFoobar) Scan(value any) error {
|
||||
if value == nil {
|
||||
ns.Foobar, ns.Valid = "", false
|
||||
return nil
|
||||
}
|
||||
ns.Valid = true
|
||||
return ns.Foobar.Scan(value)
|
||||
}
|
||||
|
||||
// Value implements the driver Valuer interface.
|
||||
func (ns NullFoobar) Value() (driver.Value, error) {
|
||||
if !ns.Valid {
|
||||
return nil, nil
|
||||
}
|
||||
return string(ns.Foobar), nil
|
||||
}
|
||||
|
||||
type Foo struct {
|
||||
Val Foobar
|
||||
}
|
||||
34
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v5/go/query.sql.go
vendored
Normal file
34
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v5/go/query.sql.go
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.31.1
|
||||
// source: query.sql
|
||||
|
||||
package querytest
|
||||
|
||||
import (
|
||||
"context"
|
||||
)
|
||||
|
||||
const listFoo = `-- name: ListFoo :many
|
||||
SELECT val FROM foo
|
||||
`
|
||||
|
||||
func (q *Queries) ListFoo(ctx context.Context) ([]Foobar, error) {
|
||||
rows, err := q.db.Query(ctx, listFoo)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []Foobar
|
||||
for rows.Next() {
|
||||
var val Foobar
|
||||
if err := rows.Scan(&val); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, val)
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
2
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v5/query.sql
vendored
Normal file
2
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v5/query.sql
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
-- name: ListFoo :many
|
||||
SELECT * FROM foo;
|
||||
28
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v5/schema.sql
vendored
Normal file
28
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v5/schema.sql
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
CREATE TYPE foobar AS ENUM (
|
||||
-- Valid separators
|
||||
'foo-a',
|
||||
'foo_b',
|
||||
'foo:c',
|
||||
'foo/d',
|
||||
-- Strip unknown characters
|
||||
'foo@e',
|
||||
'foo+f',
|
||||
'foo!g'
|
||||
);
|
||||
|
||||
CREATE TYPE "digit" AS ENUM (
|
||||
'0',
|
||||
'1',
|
||||
'2',
|
||||
'3',
|
||||
'4',
|
||||
'5',
|
||||
'6',
|
||||
'7',
|
||||
'8',
|
||||
'9',
|
||||
'#',
|
||||
'*'
|
||||
);
|
||||
|
||||
CREATE TABLE foo (val foobar NOT NULL);
|
||||
13
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v5/sqlc.json
vendored
Normal file
13
internal/endtoend/testdata/ddl_create_enum/postgresql/pgx/v5/sqlc.json
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"version": "1",
|
||||
"packages": [
|
||||
{
|
||||
"path": "go",
|
||||
"engine": "postgresql",
|
||||
"sql_package": "pgx/v5",
|
||||
"name": "querytest",
|
||||
"schema": "schema.sql",
|
||||
"queries": "query.sql"
|
||||
}
|
||||
]
|
||||
}
|
||||
31
internal/endtoend/testdata/ddl_create_enum/postgresql/stdlib/go/db.go
vendored
Normal file
31
internal/endtoend/testdata/ddl_create_enum/postgresql/stdlib/go/db.go
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.31.1
|
||||
|
||||
package querytest
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
)
|
||||
|
||||
type DBTX interface {
|
||||
ExecContext(context.Context, string, ...any) (sql.Result, error)
|
||||
PrepareContext(context.Context, string) (*sql.Stmt, error)
|
||||
QueryContext(context.Context, string, ...any) (*sql.Rows, error)
|
||||
QueryRowContext(context.Context, string, ...any) *sql.Row
|
||||
}
|
||||
|
||||
func New(db DBTX) *Queries {
|
||||
return &Queries{db: db}
|
||||
}
|
||||
|
||||
type Queries struct {
|
||||
db DBTX
|
||||
}
|
||||
|
||||
func (q *Queries) WithTx(tx *sql.Tx) *Queries {
|
||||
return &Queries{
|
||||
db: tx,
|
||||
}
|
||||
}
|
||||
113
internal/endtoend/testdata/ddl_create_enum/postgresql/stdlib/go/models.go
vendored
Normal file
113
internal/endtoend/testdata/ddl_create_enum/postgresql/stdlib/go/models.go
vendored
Normal file
@@ -0,0 +1,113 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.31.1
|
||||
|
||||
package querytest
|
||||
|
||||
import (
|
||||
"database/sql/driver"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
type Digit string
|
||||
|
||||
const (
|
||||
Digit0 Digit = "0"
|
||||
Digit1 Digit = "1"
|
||||
Digit2 Digit = "2"
|
||||
Digit3 Digit = "3"
|
||||
Digit4 Digit = "4"
|
||||
Digit5 Digit = "5"
|
||||
Digit6 Digit = "6"
|
||||
Digit7 Digit = "7"
|
||||
Digit8 Digit = "8"
|
||||
Digit9 Digit = "9"
|
||||
DigitValue10 Digit = "#"
|
||||
DigitValue11 Digit = "*"
|
||||
)
|
||||
|
||||
func (e *Digit) Scan(src any) error {
|
||||
switch s := src.(type) {
|
||||
case []byte:
|
||||
*e = Digit(s)
|
||||
case string:
|
||||
*e = Digit(s)
|
||||
default:
|
||||
return fmt.Errorf("unsupported scan type for Digit: %T", src)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type NullDigit struct {
|
||||
Digit Digit
|
||||
Valid bool // Valid is true if Digit is not NULL
|
||||
}
|
||||
|
||||
// Scan implements the Scanner interface.
|
||||
func (ns *NullDigit) Scan(value any) error {
|
||||
if value == nil {
|
||||
ns.Digit, ns.Valid = "", false
|
||||
return nil
|
||||
}
|
||||
ns.Valid = true
|
||||
return ns.Digit.Scan(value)
|
||||
}
|
||||
|
||||
// Value implements the driver Valuer interface.
|
||||
func (ns NullDigit) Value() (driver.Value, error) {
|
||||
if !ns.Valid {
|
||||
return nil, nil
|
||||
}
|
||||
return string(ns.Digit), nil
|
||||
}
|
||||
|
||||
type Foobar string
|
||||
|
||||
const (
|
||||
FoobarFooA Foobar = "foo-a"
|
||||
FoobarFooB Foobar = "foo_b"
|
||||
FoobarFooC Foobar = "foo:c"
|
||||
FoobarFooD Foobar = "foo/d"
|
||||
FoobarFooe Foobar = "foo@e"
|
||||
FoobarFoof Foobar = "foo+f"
|
||||
FoobarFoog Foobar = "foo!g"
|
||||
)
|
||||
|
||||
func (e *Foobar) Scan(src any) error {
|
||||
switch s := src.(type) {
|
||||
case []byte:
|
||||
*e = Foobar(s)
|
||||
case string:
|
||||
*e = Foobar(s)
|
||||
default:
|
||||
return fmt.Errorf("unsupported scan type for Foobar: %T", src)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type NullFoobar struct {
|
||||
Foobar Foobar
|
||||
Valid bool // Valid is true if Foobar is not NULL
|
||||
}
|
||||
|
||||
// Scan implements the Scanner interface.
|
||||
func (ns *NullFoobar) Scan(value any) error {
|
||||
if value == nil {
|
||||
ns.Foobar, ns.Valid = "", false
|
||||
return nil
|
||||
}
|
||||
ns.Valid = true
|
||||
return ns.Foobar.Scan(value)
|
||||
}
|
||||
|
||||
// Value implements the driver Valuer interface.
|
||||
func (ns NullFoobar) Value() (driver.Value, error) {
|
||||
if !ns.Valid {
|
||||
return nil, nil
|
||||
}
|
||||
return string(ns.Foobar), nil
|
||||
}
|
||||
|
||||
type Foo struct {
|
||||
Val Foobar
|
||||
}
|
||||
37
internal/endtoend/testdata/ddl_create_enum/postgresql/stdlib/go/query.sql.go
vendored
Normal file
37
internal/endtoend/testdata/ddl_create_enum/postgresql/stdlib/go/query.sql.go
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.31.1
|
||||
// source: query.sql
|
||||
|
||||
package querytest
|
||||
|
||||
import (
|
||||
"context"
|
||||
)
|
||||
|
||||
const listFoo = `-- name: ListFoo :many
|
||||
SELECT val FROM foo
|
||||
`
|
||||
|
||||
func (q *Queries) ListFoo(ctx context.Context) ([]Foobar, error) {
|
||||
rows, err := q.db.QueryContext(ctx, listFoo)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []Foobar
|
||||
for rows.Next() {
|
||||
var val Foobar
|
||||
if err := rows.Scan(&val); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, val)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
2
internal/endtoend/testdata/ddl_create_enum/postgresql/stdlib/query.sql
vendored
Normal file
2
internal/endtoend/testdata/ddl_create_enum/postgresql/stdlib/query.sql
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
-- name: ListFoo :many
|
||||
SELECT * FROM foo;
|
||||
28
internal/endtoend/testdata/ddl_create_enum/postgresql/stdlib/schema.sql
vendored
Normal file
28
internal/endtoend/testdata/ddl_create_enum/postgresql/stdlib/schema.sql
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
CREATE TYPE foobar AS ENUM (
|
||||
-- Valid separators
|
||||
'foo-a',
|
||||
'foo_b',
|
||||
'foo:c',
|
||||
'foo/d',
|
||||
-- Strip unknown characters
|
||||
'foo@e',
|
||||
'foo+f',
|
||||
'foo!g'
|
||||
);
|
||||
|
||||
CREATE TYPE "digit" AS ENUM (
|
||||
'0',
|
||||
'1',
|
||||
'2',
|
||||
'3',
|
||||
'4',
|
||||
'5',
|
||||
'6',
|
||||
'7',
|
||||
'8',
|
||||
'9',
|
||||
'#',
|
||||
'*'
|
||||
);
|
||||
|
||||
CREATE TABLE foo (val foobar NOT NULL);
|
||||
12
internal/endtoend/testdata/ddl_create_enum/postgresql/stdlib/sqlc.json
vendored
Normal file
12
internal/endtoend/testdata/ddl_create_enum/postgresql/stdlib/sqlc.json
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"version": "1",
|
||||
"packages": [
|
||||
{
|
||||
"path": "go",
|
||||
"engine": "postgresql",
|
||||
"name": "querytest",
|
||||
"schema": "schema.sql",
|
||||
"queries": "query.sql"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user