Skip to content

Releases: sqlc-dev/sqlc

v1.9.0

13 Aug 03:45
607aff1
Compare
Choose a tag to compare
  • Add support for pgx/v4 (#1037)
  • Customizable output file names (#998)
  • Mark fields as nullable for JOINs (#983)
  • VIEW support (#1044)
  • Multi-arch Docker builds (#1111)
  • Handle subqueries in SELECT statements (#11113)

v1.9.0-beta1

04 Aug 15:54
5ddbe61
Compare
Choose a tag to compare
v1.9.0-beta1 Pre-release
Pre-release

Beta release of v1.9.0. Please report any issues in the linked discussion.

v1.8.0

03 May 00:09
Compare
Choose a tag to compare

Core

  • cmd: Fix sqlc init (#959)

MySQL

  • Generate correct code for booleans
  • Calling mysql LAST_INSERT_ID(expr) function (#977)

PostgreSQL

  • Support PostgreSQL 12 and 13 features by upgrading to pg_query_go/v2 (#949)
  • Fix ALTER TYPE to update column types (#973)

Python

  • Add experimental Python support behind the --experimental flag

v1.7.0

01 Mar 03:18
b8759a0
Compare
Choose a tag to compare

Changelog

Core

  • Initial Windows Support (#886)
  • UNION support (#896)
  • Publish documentation at https://docs.sqlc.dev
  • cmd: Allow config file location to be specified (#863)
  • Exit with non-zero error code when parsing fails (#870)

MySQL

  • Compile tinyint(1) to bool (#873)
  • Support joins in update statements (#883)

v1.6.0

23 Nov 03:14
c1f847b
Compare
Choose a tag to compare

Notes

The new MySQL engine, code-named Dolphin, is now default. The old engine has been removed. Your generated code will be different, but should be easy to adapt. Please open an issue if your code is now broken. If you were using the mysql:beta engine, you'll need to change that to mysql.

Changelog

Core

  • Add option to return emit db tags for struct fields (#656)
  • Add support for variadic stored procedures and functions (#798)
  • Fix issue installing sqlc via go get (#744)
  • Add support for nontrivial import paths for overrides (#785)

Go

  • You can now specify the go_type import path of an override using an object instead of a string.
overrides:
  - db_type: "uuid"
    go_type:
      import: "gopkg.in/guregu/null.v3"
      package: "null"
      type: "Bool"

MySQL

  • Add function definitions for all built-in MySQL functions (#796)
  • Upgrade to the latest version of pingcap/parser (#744)

v1.5.0

05 Aug 18:49
Compare
Choose a tag to compare

Notes

The new MySQL engine, code-named Dolphin, has finally landed. To try it out, use mysql:beta for the engine value in sqlc.json. This uses the same compiler infrastructure as the PostgreSQL engine, giving it feature parity and making it easier to maintain.

The old engine is official deprecated and will be placed behind the mysql:deprecated name in v1.6.0. The engine will be completely removed in v1.7.0. For more information, see the MySQL roadmap.

On the PostgreSQL side of things, I've used some magic to generate function signatures for all built-in functions. This also includes many of the most popular PostgreSQL extensions. You will need to make sure to have CREATE EXTENSION ... in your schema to get this functionality.

Changelog

Core

  • Add option to return empty slices (instead of nil slices) in :many queries
  • Use "nullable" instead of "null" in configuration file (#571)
  • Add debugging support via SQLCDEBUG (#573)
  • Support calling functions with defaults (#635)

PostgreSQL

  • Add support for the money type (#552)
  • Add support for 'cidr' and 'interval' types (#601)
  • Generate all functions in pg_catalog (#550)

MySQL

  • Add the mysql:beta engine, which will be the default next release

v1.4.0

17 Jun 16:03
f85eecf
Compare
Choose a tag to compare

Notes

This release includes a complete refactor of the compiler internals. The compiler now uses a database-agnostic SQL AST. The PostgreSQL backend uses this new code path by default. I've tested the new path extensively, but you still may run into bugs. If you do, you can use the old code path by setting the the following environment variable: SQLC_EXPERIMENTAL_PARSER=off. The old code path will be removed in v1.5.0, so please report any bugs you run into.

A new :execresult query command has been added. The generated methods will return (sql.Result, error), the same as DB.ExecContext.

Changelog

Core

  • Post the compiler to the new, database-agnostic SQL AST
  • Add support for dbmate migrations (#511)
  • Apply rename rules to enum constants (#523)
  • Add the :execresult query annotation (#542)

PostgreSQL

  • Support columns from subselect statements (#489)
  • Temporary fix for typecast function parameters (#530)
  • Support functions with table parameters (#541)

v1.3.0

12 May 17:40
a0a2dd9
Compare
Choose a tag to compare

Core

  • Exclude golang-migrate .down.sql files in dirs + single files (#445)
  • Add EmitExactTableNames config option (#474)

PostgreSQL

v1.2.0

07 Apr 20:31
1066e05
Compare
Choose a tag to compare

Core

  • Publish an official Docker container (#422)
  • Configuration values for schema and queries can now be a list of paths (#426)
  • Rename rules correctly apply to table names (#435)

SQLite

  • Add support for ALTER TABLE DDL (#414)

PostgreSQL

  • Generate correct type for SELECT EXISTS (#411)
  • Add support for ALTER TYPE RENAME / ADD VALUE (#433)
  • Properly quote reserved keywords when expanding SELECT * (#436)

v1.1.0

17 Mar 23:45
248e72b
Compare
Choose a tag to compare

Core

  • Allow sqlc.arg('argname') form for named params (#351)
  • Apply changes to the ValuesList slice (#372)

PostgreSQL

  • Add support for create-if-not-exists for 'create schema' (#362)
  • Add support for the ltree extension (#385)

Go

  • Support Postgres macaddr type in Go (#358)
  • Scan enums when using pgx (#386)
  • Fix column comment (#392

Kotlin

  • Add Query class to support timeout and cancellation (#368)