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

This commit is contained in:
upstream-mirror
2026-09-16 02:17:34 +05:00
commit 0f4df23290
7340 changed files with 238743 additions and 0 deletions

View File

@@ -0,0 +1 @@
https://github.com/sqlc-dev/sqlc/issues/2153

View File

@@ -0,0 +1,3 @@
{
"contexts": ["managed-db"]
}

View 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,
}
}

View File

@@ -0,0 +1,20 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.31.1
package querytest
import (
"github.com/jackc/pgx/v5/pgtype"
)
type L struct {
ID int64
ParentID pgtype.Int4
}
type T struct {
ID int64
LID pgtype.Int4
F pgtype.Text
}

View File

@@ -0,0 +1,164 @@
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.31.1
// source: query.sql
package querytest
import (
"context"
"github.com/jackc/pgx/v5/pgtype"
)
const getAll = `-- name: GetAll :many
SELECT id, parent_id FROM L
`
func (q *Queries) GetAll(ctx context.Context) ([]L, error) {
rows, err := q.db.Query(ctx, getAll)
if err != nil {
return nil, err
}
defer rows.Close()
var items []L
for rows.Next() {
var i L
if err := rows.Scan(&i.ID, &i.ParentID); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const getAll1 = `-- name: GetAll1 :many
with recursive cte as (
select id, L_ID, F from T
union all
select c.id, c.L_ID, c.F from T as c where c.L_ID = $1
) select id, l_id, f from cte
`
type GetAll1Row struct {
ID int64
LID pgtype.Int4
F pgtype.Text
}
func (q *Queries) GetAll1(ctx context.Context, lID pgtype.Int4) ([]GetAll1Row, error) {
rows, err := q.db.Query(ctx, getAll1, lID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []GetAll1Row
for rows.Next() {
var i GetAll1Row
if err := rows.Scan(&i.ID, &i.LID, &i.F); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const getAll2 = `-- name: GetAll2 :many
with recursive cte as (
select id, L_ID, F from T where T.ID=2
union all
select c.id, c.L_ID, c.F from T as c where c.L_ID = $1
) select id, l_id, f from cte
`
type GetAll2Row struct {
ID int64
LID pgtype.Int4
F pgtype.Text
}
func (q *Queries) GetAll2(ctx context.Context, lID pgtype.Int4) ([]GetAll2Row, error) {
rows, err := q.db.Query(ctx, getAll2, lID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []GetAll2Row
for rows.Next() {
var i GetAll2Row
if err := rows.Scan(&i.ID, &i.LID, &i.F); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const getAll3 = `-- name: GetAll3 :many
select id from T where L_ID in(
with recursive cte as (
select id, L_ID, F from T where T.ID =2
union all
select c.id, c.L_ID, c.F from T as c where c.L_ID = $1
) select l_id from cte
)
`
func (q *Queries) GetAll3(ctx context.Context, dollar_1 pgtype.Int4) ([]int64, error) {
rows, err := q.db.Query(ctx, getAll3, dollar_1)
if err != nil {
return nil, err
}
defer rows.Close()
var items []int64
for rows.Next() {
var id int64
if err := rows.Scan(&id); err != nil {
return nil, err
}
items = append(items, id)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const getAll4 = `-- name: GetAll4 :many
select id from T where L_ID in(
with recursive L as (
select id, L_ID, F from T where T.ID =2
union all
select c.id, c.L_ID, c.F from T as c where c.L_ID = $1
) select l_id from L
)
`
func (q *Queries) GetAll4(ctx context.Context, lID pgtype.Int4) ([]int64, error) {
rows, err := q.db.Query(ctx, getAll4, lID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []int64
for rows.Next() {
var id int64
if err := rows.Scan(&id); err != nil {
return nil, err
}
items = append(items, id)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}

View File

@@ -0,0 +1,34 @@
-- name: GetAll :many
SELECT * FROM L;
-- name: GetAll1 :many
with recursive cte as (
select id, L_ID, F from T
union all
select c.id, c.L_ID, c.F from T as c where c.L_ID = $1
) select id, l_id, f from cte;
-- name: GetAll2 :many
with recursive cte as (
select id, L_ID, F from T where T.ID=2
union all
select c.id, c.L_ID, c.F from T as c where c.L_ID = $1
) select id, l_id, f from cte;
-- name: GetAll4 :many
select id from T where L_ID in(
with recursive L as (
select id, L_ID, F from T where T.ID =2
union all
select c.id, c.L_ID, c.F from T as c where c.L_ID = $1
) select l_id from L
);
-- name: GetAll3 :many
select id from T where L_ID in(
with recursive cte as (
select id, L_ID, F from T where T.ID =2
union all
select c.id, c.L_ID, c.F from T as c where c.L_ID = $1
) select l_id from cte
);

View File

@@ -0,0 +1,12 @@
-- https://github.com/sqlc-dev/sqlc/issues/2153
CREATE TABLE L (
id BIGSERIAL PRIMARY KEY,
parent_id int null
);
CREATE TABLE T (
id BIGSERIAL PRIMARY KEY,
L_ID int,
F varchar(256)
);

View File

@@ -0,0 +1,14 @@
{
"version": "1",
"packages": [
{
"path": "go",
"name": "querytest",
"engine": "postgresql",
"schema": "schema.sql",
"queries": "query.sql",
"sql_package": "pgx/v5"
}
]
}