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:
51
internal/endtoend/testdata/copyfrom_multicolumn_parameter_limit/mysql/go/copyfrom.go
vendored
Normal file
51
internal/endtoend/testdata/copyfrom_multicolumn_parameter_limit/mysql/go/copyfrom.go
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.31.1
|
||||
// source: copyfrom.go
|
||||
|
||||
package querytest
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"io"
|
||||
"sync/atomic"
|
||||
|
||||
"github.com/go-sql-driver/mysql"
|
||||
"github.com/hexon/mysqltsv"
|
||||
)
|
||||
|
||||
var readerHandlerSequenceForInsertMultipleValues uint32 = 1
|
||||
|
||||
func convertRowsForInsertMultipleValues(w *io.PipeWriter, arg []InsertMultipleValuesParams) {
|
||||
e := mysqltsv.NewEncoder(w, 2, nil)
|
||||
for _, row := range arg {
|
||||
e.AppendValue(row.A)
|
||||
e.AppendValue(row.B)
|
||||
}
|
||||
w.CloseWithError(e.Close())
|
||||
}
|
||||
|
||||
// InsertMultipleValues uses MySQL's LOAD DATA LOCAL INFILE and is not atomic.
|
||||
//
|
||||
// Errors and duplicate keys are treated as warnings and insertion will
|
||||
// continue, even without an error for some cases. Use this in a transaction
|
||||
// and use SHOW WARNINGS to check for any problems and roll back if you want to.
|
||||
//
|
||||
// Check the documentation for more information:
|
||||
// https://dev.mysql.com/doc/refman/8.0/en/load-data.html#load-data-error-handling
|
||||
func (q *Queries) InsertMultipleValues(ctx context.Context, arg []InsertMultipleValuesParams) (int64, error) {
|
||||
pr, pw := io.Pipe()
|
||||
defer pr.Close()
|
||||
rh := fmt.Sprintf("InsertMultipleValues_%d", atomic.AddUint32(&readerHandlerSequenceForInsertMultipleValues, 1))
|
||||
mysql.RegisterReaderHandler(rh, func() io.Reader { return pr })
|
||||
defer mysql.DeregisterReaderHandler(rh)
|
||||
go convertRowsForInsertMultipleValues(pw, arg)
|
||||
// The string interpolation is necessary because LOAD DATA INFILE requires
|
||||
// the file name to be given as a literal string.
|
||||
result, err := q.db.ExecContext(ctx, fmt.Sprintf("LOAD DATA LOCAL INFILE '%s' INTO TABLE `foo` %s (a, b)", "Reader::"+rh, mysqltsv.Escaping))
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
return result.RowsAffected()
|
||||
}
|
||||
31
internal/endtoend/testdata/copyfrom_multicolumn_parameter_limit/mysql/go/db.go
vendored
Normal file
31
internal/endtoend/testdata/copyfrom_multicolumn_parameter_limit/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,
|
||||
}
|
||||
}
|
||||
14
internal/endtoend/testdata/copyfrom_multicolumn_parameter_limit/mysql/go/models.go
vendored
Normal file
14
internal/endtoend/testdata/copyfrom_multicolumn_parameter_limit/mysql/go/models.go
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.31.1
|
||||
|
||||
package querytest
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
)
|
||||
|
||||
type Foo struct {
|
||||
A sql.NullString
|
||||
B sql.NullString
|
||||
}
|
||||
19
internal/endtoend/testdata/copyfrom_multicolumn_parameter_limit/mysql/go/query.sql.go
vendored
Normal file
19
internal/endtoend/testdata/copyfrom_multicolumn_parameter_limit/mysql/go/query.sql.go
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.31.1
|
||||
// source: query.sql
|
||||
|
||||
package querytest
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
)
|
||||
|
||||
const insertMultipleValues = `-- name: InsertMultipleValues :copyfrom
|
||||
INSERT INTO foo (a, b) VALUES (?, ?)
|
||||
`
|
||||
|
||||
type InsertMultipleValuesParams struct {
|
||||
A sql.NullString
|
||||
B sql.NullString
|
||||
}
|
||||
2
internal/endtoend/testdata/copyfrom_multicolumn_parameter_limit/mysql/query.sql
vendored
Normal file
2
internal/endtoend/testdata/copyfrom_multicolumn_parameter_limit/mysql/query.sql
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
-- name: InsertMultipleValues :copyfrom
|
||||
INSERT INTO foo (a, b) VALUES (?, ?);
|
||||
1
internal/endtoend/testdata/copyfrom_multicolumn_parameter_limit/mysql/schema.sql
vendored
Normal file
1
internal/endtoend/testdata/copyfrom_multicolumn_parameter_limit/mysql/schema.sql
vendored
Normal file
@@ -0,0 +1 @@
|
||||
CREATE TABLE foo (a text, b text);
|
||||
15
internal/endtoend/testdata/copyfrom_multicolumn_parameter_limit/mysql/sqlc.json
vendored
Normal file
15
internal/endtoend/testdata/copyfrom_multicolumn_parameter_limit/mysql/sqlc.json
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"version": "1",
|
||||
"packages": [
|
||||
{
|
||||
"path": "go",
|
||||
"sql_package": "database/sql",
|
||||
"sql_driver": "github.com/go-sql-driver/mysql",
|
||||
"engine": "mysql",
|
||||
"name": "querytest",
|
||||
"schema": "schema.sql",
|
||||
"queries": "query.sql",
|
||||
"query_parameter_limit": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user