Skip to content

Commit 883ec29

Browse files
committed
feat(sqlite) add support sqlc functions
1 parent c13b156 commit 883ec29

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+4944
-3643
lines changed

internal/codegen/golang/sqlite_type.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,5 @@ func sqliteType(req *plugin.CodeGenRequest, col *plugin.Column) string {
7070
default:
7171
log.Printf("unknown SQLite type: %s\n", dt)
7272
return "interface{}"
73-
7473
}
7574
}

internal/endtoend/testdata/join_left/sqlite/go/query.sql.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/named_param/sqlite/go/db.go

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/named_param/sqlite/go/models.go

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/named_param/sqlite/go/query.sql.go

Lines changed: 96 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
CREATE TABLE foo (name text not null, bio text not null);
2+
3+
-- name: FuncParams :many
4+
SELECT name FROM foo WHERE name = sqlc.arg('slug');
5+
6+
-- name: AtParams :many
7+
SELECT name FROM foo WHERE name = @slug;
8+
9+
-- name: InsertFuncParams :one
10+
INSERT INTO foo(name, bio) values (sqlc.arg('name'), sqlc.arg('bio')) returning name;
11+
12+
-- name: InsertAtParams :one
13+
INSERT INTO foo(name, bio) values (@name, @bio) returning name;
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"version": "1",
3+
"packages": [
4+
{
5+
"path": "go",
6+
"engine": "sqlite",
7+
"name": "querytest",
8+
"schema": "query.sql",
9+
"queries": "query.sql"
10+
}
11+
]
12+
}

internal/endtoend/testdata/sqlc_arg/sqlite/go/db.go

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/sqlc_arg/sqlite/go/models.go

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/endtoend/testdata/sqlc_arg/sqlite/go/query.sql.go

Lines changed: 64 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
CREATE TABLE foo (name text not null);
2+
3+
/* name: FuncParamIdent :many */
4+
SELECT name FROM foo WHERE name = sqlc.arg(slug);
5+
6+
/* name: FuncParamString :many */
7+
SELECT name FROM foo WHERE name = sqlc.arg('slug');
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"version": "1",
3+
"packages": [
4+
{
5+
"engine": "sqlite",
6+
"path": "go",
7+
"name": "querytest",
8+
"schema": "query.sql",
9+
"queries": "query.sql"
10+
}
11+
]
12+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
CREATE TABLE users (
2+
id serial,
3+
first_name text not null
4+
);
5+
6+
-- name: WrongFunc :one
7+
select id, first_name from users where id = sqlc.argh(target_id);
8+
9+
-- name: TooManyArgs :one
10+
select id, first_name from users where id = sqlc.arg('foo', 'bar');
11+
12+
-- name: TooFewArgs :one
13+
select id, first_name from users where id = sqlc.arg();
14+
15+
-- name: InvalidArgFunc :one
16+
select id, first_name from users where id = sqlc.arg(sqlc.arg(target_id));
17+
18+
-- name: InvalidArgPlaceholder :one
19+
select id, first_name from users where id = sqlc.arg(?);
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"version": "1",
3+
"packages": [
4+
{
5+
"name": "querytest",
6+
"path": "go",
7+
"schema": "query.sql",
8+
"queries": "query.sql",
9+
"engine": "sqlite"
10+
}
11+
]
12+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# package querytest
2+
query.sql:7:1: function "sqlc.argh" does not exist
3+
query.sql:10:45: expected 1 parameter to sqlc.arg; got 2
4+
query.sql:13:45: expected 1 parameter to sqlc.arg; got 0
5+
query.sql:16:54: Invalid argument to sqlc.arg()
6+
query.sql:19:54: Invalid argument to sqlc.arg()

internal/endtoend/testdata/sqlc_embed/sqlite/go/db.go

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)