From e026614a227f442bb84ffe4947f8a184a5270f68 Mon Sep 17 00:00:00 2001 From: Kyle Conroy Date: Thu, 27 Feb 2020 16:29:05 -0800 Subject: [PATCH] config: Remove "emit_single_file" option I figured out a better way to do the playground, so this short-lived option is no longer needed. --- internal/config/config.go | 1 - internal/config/v_one.go | 2 - internal/dinosql/gen.go | 43 +-- .../testdata/ondeck_single_file/db.go | 316 ------------------ .../testdata/ondeck_single_file/query.sql | 62 ---- .../testdata/ondeck_single_file/schema.sql | 17 - .../testdata/ondeck_single_file/sqlc.json | 12 - 7 files changed, 2 insertions(+), 451 deletions(-) delete mode 100644 internal/endtoend/testdata/ondeck_single_file/db.go delete mode 100644 internal/endtoend/testdata/ondeck_single_file/query.sql delete mode 100644 internal/endtoend/testdata/ondeck_single_file/schema.sql delete mode 100644 internal/endtoend/testdata/ondeck_single_file/sqlc.json diff --git a/internal/config/config.go b/internal/config/config.go index 1c81ff7d8b..8aaae365dc 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -81,7 +81,6 @@ type SQLGo struct { EmitInterface bool `json:"emit_interface" yaml:"emit_interface"` EmitJSONTags bool `json:"emit_json_tags" yaml:"emit_json_tags"` EmitPreparedQueries bool `json:"emit_prepared_queries" yaml:"emit_prepared_queries":` - EmitSingleFile bool `json:"emit_single_file" yaml:"emit_single_file":` Package string `json:"package" yaml:"package"` Out string `json:"out" yaml:"out"` Overrides []Override `json:"overrides,omitempty" yaml:"overrides"` diff --git a/internal/config/v_one.go b/internal/config/v_one.go index 03b7f0cc13..0826914399 100644 --- a/internal/config/v_one.go +++ b/internal/config/v_one.go @@ -24,7 +24,6 @@ type v1PackageSettings struct { EmitInterface bool `json:"emit_interface" yaml:"emit_interface"` EmitJSONTags bool `json:"emit_json_tags" yaml:"emit_json_tags"` EmitPreparedQueries bool `json:"emit_prepared_queries" yaml:"emit_prepared_queries"` - EmitSingleFile bool `json:"emit_single_file" yaml:"emit_single_file"` Overrides []Override `json:"overrides" yaml:"overrides"` } @@ -104,7 +103,6 @@ func (c *V1GenerateSettings) Translate() Config { EmitInterface: pkg.EmitInterface, EmitJSONTags: pkg.EmitJSONTags, EmitPreparedQueries: pkg.EmitPreparedQueries, - EmitSingleFile: pkg.EmitSingleFile, Package: pkg.Name, Out: pkg.Path, Overrides: pkg.Overrides, diff --git a/internal/dinosql/gen.go b/internal/dinosql/gen.go index b6251d64bc..51ddf40ff4 100644 --- a/internal/dinosql/gen.go +++ b/internal/dinosql/gen.go @@ -222,15 +222,6 @@ func mergeImports(imps ...fileImports) [][]string { func Imports(r Generateable, settings config.CombinedSettings) func(string) [][]string { return func(filename string) [][]string { - if filename == "all.go" { - var imps []fileImports - imps = append(imps, dbImports(r, settings)) - imps = append(imps, modelImports(r, settings)) - imps = append(imps, interfaceImports(r, settings)) - imps = append(imps, queryImports(r, settings, filename)) - return mergeImports(imps...) - } - if filename == "db.go" { return mergeImports(dbImports(r, settings)) } @@ -401,7 +392,7 @@ func queryImports(r Generateable, settings config.CombinedSettings, filename str // } var gq []GoQuery for _, query := range r.GoQueries(settings) { - if query.SourceName == filename || settings.Go.EmitSingleFile { + if query.SourceName == filename { gq = append(gq, query) } } @@ -1272,26 +1263,6 @@ func (q *Queries) {{.MethodName}}(ctx context.Context, {{.Arg.Pair}}) (int64, er {{end}} {{end}} {{end}} - -{{define "singleFile"}}// Code generated by sqlc. DO NOT EDIT. - -package {{.Package}} - -import ( - {{range imports "all.go"}} - {{range .}}"{{.}}" - {{end}} - {{end}} -) - -{{template "modelsCode" . }} - -{{template "queryCode" . }} - -{{template "dbCode" . }} - -{{template "interfaceCode" . }} -{{end}} ` type tmplCtx struct { @@ -1308,11 +1279,10 @@ type tmplCtx struct { EmitJSONTags bool EmitPreparedQueries bool EmitInterface bool - EmitSingleFile bool } func (t *tmplCtx) OutputQuery(sourceName string) bool { - return t.SourceName == sourceName || t.EmitSingleFile + return t.SourceName == sourceName } func LowerTitle(s string) string { @@ -1340,7 +1310,6 @@ func Generate(r Generateable, settings config.CombinedSettings) (map[string]stri EmitInterface: golang.EmitInterface, EmitJSONTags: golang.EmitJSONTags, EmitPreparedQueries: golang.EmitPreparedQueries, - EmitSingleFile: golang.EmitSingleFile, Q: "`", Package: golang.Package, GoQueries: r.GoQueries(settings), @@ -1371,14 +1340,6 @@ func Generate(r Generateable, settings config.CombinedSettings) (map[string]stri return nil } - // Output a single file with all code - if golang.EmitSingleFile { - if err := execute("db.go", "singleFile"); err != nil { - return nil, err - } - return output, nil - } - if err := execute("db.go", "dbFile"); err != nil { return nil, err } diff --git a/internal/endtoend/testdata/ondeck_single_file/db.go b/internal/endtoend/testdata/ondeck_single_file/db.go deleted file mode 100644 index dda71733e4..0000000000 --- a/internal/endtoend/testdata/ondeck_single_file/db.go +++ /dev/null @@ -1,316 +0,0 @@ -// Code generated by sqlc. DO NOT EDIT. - -package ondeck - -import ( - "context" - "database/sql" - "time" -) - -type Status string - -const ( - StatusOpen Status = "open" - StatusClosed Status = "closed" -) - -func (e *Status) Scan(src interface{}) error { - *e = Status(src.([]byte)) - return nil -} - -type City struct { - Slug string - Name string -} - -type Venue struct { - ID int32 - CreateAt time.Time - Status Status - Slug string - Name string - City string - SpotifyPlaylist string - SongkickID sql.NullString -} - -const createCity = `-- name: CreateCity :one -INSERT INTO city ( - name, - slug -) VALUES ( - $1, - $2 -) RETURNING slug, name -` - -type CreateCityParams struct { - Name string - Slug string -} - -func (q *Queries) CreateCity(ctx context.Context, arg CreateCityParams) (City, error) { - row := q.db.QueryRowContext(ctx, createCity, arg.Name, arg.Slug) - var i City - err := row.Scan(&i.Slug, &i.Name) - return i, err -} - -const createVenue = `-- name: CreateVenue :one -INSERT INTO venue ( - slug, - name, - city, - created_at, - spotify_playlist, - status -) VALUES ( - $1, - $2, - $3, - NOW(), - $4, - $5 -) RETURNING id -` - -type CreateVenueParams struct { - Slug string - Name string - City string - SpotifyPlaylist string - Status Status -} - -func (q *Queries) CreateVenue(ctx context.Context, arg CreateVenueParams) (int32, error) { - row := q.db.QueryRowContext(ctx, createVenue, - arg.Slug, - arg.Name, - arg.City, - arg.SpotifyPlaylist, - arg.Status, - ) - var id int32 - err := row.Scan(&id) - return id, err -} - -const deleteVenue = `-- name: DeleteVenue :exec -DELETE FROM venue -WHERE slug = $1 AND slug = $1 -` - -func (q *Queries) DeleteVenue(ctx context.Context, slug string) error { - _, err := q.db.ExecContext(ctx, deleteVenue, slug) - return err -} - -const getCity = `-- name: GetCity :one -SELECT slug, name FROM city WHERE slug = $1 -` - -func (q *Queries) GetCity(ctx context.Context, slug string) (City, error) { - row := q.db.QueryRowContext(ctx, getCity, slug) - var i City - err := row.Scan(&i.Slug, &i.Name) - return i, err -} - -const getVenue = `-- name: GetVenue :one -SELECT id, create_at, status, slug, name, city, spotify_playlist, songkick_id -FROM venue -WHERE slug = $1 AND city = $2 -` - -type GetVenueParams struct { - Slug string - City string -} - -func (q *Queries) GetVenue(ctx context.Context, arg GetVenueParams) (Venue, error) { - row := q.db.QueryRowContext(ctx, getVenue, arg.Slug, arg.City) - var i Venue - err := row.Scan( - &i.ID, - &i.CreateAt, - &i.Status, - &i.Slug, - &i.Name, - &i.City, - &i.SpotifyPlaylist, - &i.SongkickID, - ) - return i, err -} - -const listCityByName = `-- name: ListCityByName :many -SELECT slug, name FROM city ORDER BY name -` - -func (q *Queries) ListCityByName(ctx context.Context) ([]City, error) { - rows, err := q.db.QueryContext(ctx, listCityByName) - if err != nil { - return nil, err - } - defer rows.Close() - var items []City - for rows.Next() { - var i City - if err := rows.Scan(&i.Slug, &i.Name); 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 -} - -const listVenues = `-- name: ListVenues :many -SELECT id, create_at, status, slug, name, city, spotify_playlist, songkick_id -FROM venue -WHERE city = $1 -ORDER BY name -` - -func (q *Queries) ListVenues(ctx context.Context, city string) ([]Venue, error) { - rows, err := q.db.QueryContext(ctx, listVenues, city) - if err != nil { - return nil, err - } - defer rows.Close() - var items []Venue - for rows.Next() { - var i Venue - if err := rows.Scan( - &i.ID, - &i.CreateAt, - &i.Status, - &i.Slug, - &i.Name, - &i.City, - &i.SpotifyPlaylist, - &i.SongkickID, - ); 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 -} - -const updateCity = `-- name: UpdateCity :exec -UPDATE city SET name = $2 WHERE slug = $1 -` - -type UpdateCityParams struct { - Slug string - Name string -} - -func (q *Queries) UpdateCity(ctx context.Context, arg UpdateCityParams) error { - _, err := q.db.ExecContext(ctx, updateCity, arg.Slug, arg.Name) - return err -} - -const updateVenueName = `-- name: UpdateVenueName :one -UPDATE venue -SET name = $2 -WHERE slug = $1 -RETURNING id -` - -type UpdateVenueNameParams struct { - Slug string - Name string -} - -func (q *Queries) UpdateVenueName(ctx context.Context, arg UpdateVenueNameParams) (int32, error) { - row := q.db.QueryRowContext(ctx, updateVenueName, arg.Slug, arg.Name) - var id int32 - err := row.Scan(&id) - return id, err -} - -const venueCountByCity = `-- name: VenueCountByCity :many -SELECT city, count(*) -FROM venue -GROUP BY 1 -ORDER BY 1 -` - -type VenueCountByCityRow struct { - City string - Count int64 -} - -func (q *Queries) VenueCountByCity(ctx context.Context) ([]VenueCountByCityRow, error) { - rows, err := q.db.QueryContext(ctx, venueCountByCity) - if err != nil { - return nil, err - } - defer rows.Close() - var items []VenueCountByCityRow - for rows.Next() { - var i VenueCountByCityRow - if err := rows.Scan(&i.City, &i.Count); 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 -} - -type DBTX interface { - ExecContext(context.Context, string, ...interface{}) (sql.Result, error) - PrepareContext(context.Context, string) (*sql.Stmt, error) - QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error) - QueryRowContext(context.Context, string, ...interface{}) *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, - } -} - -type Querier interface { - CreateCity(ctx context.Context, arg CreateCityParams) (City, error) - CreateVenue(ctx context.Context, arg CreateVenueParams) (int32, error) - DeleteVenue(ctx context.Context, slug string) error - GetCity(ctx context.Context, slug string) (City, error) - GetVenue(ctx context.Context, arg GetVenueParams) (Venue, error) - ListCityByName(ctx context.Context) ([]City, error) - ListVenues(ctx context.Context, city string) ([]Venue, error) - UpdateCity(ctx context.Context, arg UpdateCityParams) error - UpdateVenueName(ctx context.Context, arg UpdateVenueNameParams) (int32, error) - VenueCountByCity(ctx context.Context) ([]VenueCountByCityRow, error) -} - -var _ Querier = (*Queries)(nil) diff --git a/internal/endtoend/testdata/ondeck_single_file/query.sql b/internal/endtoend/testdata/ondeck_single_file/query.sql deleted file mode 100644 index 86193a205c..0000000000 --- a/internal/endtoend/testdata/ondeck_single_file/query.sql +++ /dev/null @@ -1,62 +0,0 @@ --- name: ListCityByName :many -SELECT * FROM city ORDER BY name; - --- name: GetCity :one -SELECT * FROM city WHERE slug = $1; - --- name: CreateCity :one -INSERT INTO city ( - name, - slug -) VALUES ( - $1, - $2 -) RETURNING *; - --- name: UpdateCity :exec -UPDATE city SET name = $2 WHERE slug = $1; - --- name: ListVenues :many -SELECT * -FROM venue -WHERE city = $1 -ORDER BY name; - --- name: DeleteVenue :exec -DELETE FROM venue -WHERE slug = $1 AND slug = $1; - --- name: GetVenue :one -SELECT * -FROM venue -WHERE slug = $1 AND city = $2; - --- name: CreateVenue :one -INSERT INTO venue ( - slug, - name, - city, - created_at, - spotify_playlist, - status -) VALUES ( - $1, - $2, - $3, - NOW(), - $4, - $5 -) RETURNING id; - - --- name: UpdateVenueName :one -UPDATE venue -SET name = $2 -WHERE slug = $1 -RETURNING id; - --- name: VenueCountByCity :many -SELECT city, count(*) -FROM venue -GROUP BY 1 -ORDER BY 1; diff --git a/internal/endtoend/testdata/ondeck_single_file/schema.sql b/internal/endtoend/testdata/ondeck_single_file/schema.sql deleted file mode 100644 index 62768b9e9a..0000000000 --- a/internal/endtoend/testdata/ondeck_single_file/schema.sql +++ /dev/null @@ -1,17 +0,0 @@ -CREATE TABLE city ( - slug text PRIMARY KEY, - name text NOT NULL -); - -CREATE TYPE status AS ENUM ('open', 'closed'); - -CREATE TABLE venue ( - id SERIAL primary key, - create_at timestamp not null, - status status not null, - slug text not null, - name varchar(255) not null, - city text not null references city(slug), - spotify_playlist varchar not null, - songkick_id text -); diff --git a/internal/endtoend/testdata/ondeck_single_file/sqlc.json b/internal/endtoend/testdata/ondeck_single_file/sqlc.json deleted file mode 100644 index 4b1a4f8b44..0000000000 --- a/internal/endtoend/testdata/ondeck_single_file/sqlc.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "version": "1", - "packages": [ - { - "path": ".", - "name": "ondeck", - "schema": "schema.sql", - "queries": "query.sql", - "emit_single_file": true - } - ] -}