Repository: sqlc-dev/sqlc
Pull request #3890 (2025-03-24 11:34:47)

build(deps): bump pyparsing from 3.2.1 to 3.2.2 in /docs in the production-dependencies group
Bumps the production-dependencies group in /docs with 1 update: [pyparsing](https://github.com/pyparsing/pyparsing).

Updates `pyparsing` from 3.2.1 to 3.2.2
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/pyparsing/pyparsing/blob/master/CHANGES">pyparsing's changelog</a>.</em></p>
<blockquote>
<h2>Version 3.2.2 - March, 2025</h2>
<ul>
<li>
<p>Released <code>cvt_pyparsing_pep8_names.py</code> conversion utility to upgrade pyparsing-based
programs and libraries that use legacy camelCase names to use the new PEP8-compliant
snake_case method names. The converter can also be imported into other scripts as</p>
<pre><code>  from pyparsing.tools.cvt_pyparsing_pep8_names import pep8_converter
</code></pre>
</li>
<li>
<p>Fixed bug in <code>nested_expr</code> where nested contents were stripped of whitespace when
the default whitespace characters were cleared (raised in this StackOverflow
question <a href="https://stackoverflow.com/questions/79327649">https://stackoverflow.com/questions/79327649</a> by Ben Alan). Also addressed
bug in resolving PEP8 compliant argument name and legacy argument name.</p>
</li>
<li>
<p>Fixed bug in <code>rest_of_line</code> and the underlying <code>Regex</code> class, in which matching a
pattern that could match an empty string (such as <code>&quot;.*&quot;</code> or <code>&quot;[A-Z]*&quot;</code> would not raise
a <code>ParseException</code> at or beyond the end of the input string. This could cause an
infinite parsing loop when parsing <code>rest_of_line</code> at the end of the input string.
Reported by user Kylotan, thanks! (Issue <a href="https://redirect.github.com/pyparsing/pyparsing/issues/593">#593</a>)</p>
</li>
<li>
<p>Enhancements and extra input validation for <code>pyparsing.util.make_compressed_re</code> - see
usage in <code>examples/complex_chemical_formulas.py</code> and result in the generated railroad
diagram <code>examples/complex_chemical_formulas_diagram.html</code>. Properly escapes characters
like &quot;.&quot; and &quot;*&quot; that have special meaning in regular expressions.</p>
</li>
<li>
<p>Fixed bug in <code>one_of()</code> to properly escape characters that are regular expression markers
(such as '*', '+', '?', etc.) before building the internal regex.</p>
</li>
<li>
<p>Better exception message for <code>MatchFirst</code> and <code>Or</code> expressions, showing all alternatives
rather than just the first one. Fixes Issue <a href="https://redirect.github.com/pyparsing/pyparsing/issues/592">#592</a>, reported by Focke, thanks!</p>
</li>
<li>
<p>Added return type annotation of &quot;-&gt; None&quot; for all <code>__init__()</code> methods, to satisfy
<code>mypy --strict</code> type checking. PR submitted by FeRD, thank you!</p>
</li>
<li>
<p>Added optional argument <code>show_hidden</code> to <code>create_diagram</code> to show
elements that are used internally by pyparsing, but are not part of the actual
parser grammar. For instance, the <code>Tag</code> class can insert values into the parsed
results but it does not actually parse any input, so by default it is not included
in a railroad diagram. By calling <code>create_diagram</code> with <code>show_hidden</code> = <code>True</code>,
these internal elements will be included. (You can see this in the tag_metadata.py
script in the examples directory.)</p>
</li>
<li>
<p>Fixed bug in <code>number_words.py</code> example. Also added <code>ebnf_number_words.py</code> to demonstrate
using the <code>ebnf.py</code> EBNF parser generator to build a similar parser directly from
EBNF.</p>
</li>
<li>
<p>Fixed syntax warning raised in <code>bigquery_view_parser.py</code>, invalid escape sequence &quot;\s&quot;.
Reported by sameer-google, nice catch! (Issue <a href="https://redirect.github.com/pyparsing/pyparsing/issues/598">#598</a>)</p>
</li>
<li>
<p>Added support for Python 3.14.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/pyparsing/pyparsing/commit/b0a8be6b031b9948eab10438dec4face566b52da"><code>b0a8be6</code></a> Prep for 3.2.2 release</li>
<li><a href="https://github.com/pyparsing/pyparsing/commit/f3abd5e86cd6352eeae7e329323a9e0392dd30a9"><code>f3abd5e</code></a> Changes to adventureEngine.py to make a better diagram</li>
<li><a href="https://github.com/pyparsing/pyparsing/commit/0a030b411a3703a5492476651799f41337be8c3f"><code>0a030b4</code></a> Some code cleanup, black</li>
<li><a href="https://github.com/pyparsing/pyparsing/commit/52ed22473b43f4ba6f88b2bf101bb1f5ef1b6a2b"><code>52ed224</code></a> Update docs with PEP8 names</li>
<li><a href="https://github.com/pyparsing/pyparsing/commit/274ed9840bfc841c7af0b937abbe24d4fb279b06"><code>274ed98</code></a> Fix one_of to use re.escape when merging strings into a regular expression</li>
<li><a href="https://github.com/pyparsing/pyparsing/commit/0f4c884e7c64410a6c29d6151454827c6207a5ed"><code>0f4c884</code></a> Add <code>non_capturing_groups</code> argument and extra input validation to `pyparsing....</li>
<li><a href="https://github.com/pyparsing/pyparsing/commit/67d3078c6fce59f2bc03b762220ea4eea8463c40"><code>67d3078</code></a> Some code cleanup in Forward._generateDefaultName and srange</li>
<li><a href="https://github.com/pyparsing/pyparsing/commit/28ef77eb0392ec592a0a22a770a95ef9405c9ef1"><code>28ef77e</code></a> Rewrite to remove return from finally block (Issue <a href="https://redirect.github.com/pyparsing/pyparsing/issues/578">#578</a>)</li>
<li><a href="https://github.com/pyparsing/pyparsing/commit/626cca75e362109a6d9f64e725c57bd0c678fcab"><code>626cca7</code></a> Convert mayReturnEmpty to computed property, for proper handling of Regex exp...</li>
<li><a href="https://github.com/pyparsing/pyparsing/commit/4bb24bafd35bf41a3fe206d253cfda46d57df8ab"><code>4bb24ba</code></a> Removed cached_property definition of mayReturnEmpty (conflicted with attribu...</li>
<li>Additional commits viewable in <a href="https://github.com/pyparsing/pyparsing/compare/3.2.1...3.2.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyparsing&package-manager=pip&previous-version=3.2.1&new-version=3.2.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions


</details>


Patch:
diff --git a/.github/workflows/ci-kotlin.yml b/.github/workflows/ci-kotlin.yml
index 59c96a7ec..3b93c2b25 100644
--- a/.github/workflows/ci-kotlin.yml
+++ b/.github/workflows/ci-kotlin.yml
@@ -12,7 +12,7 @@ jobs:
       - uses: actions/checkout@v4
       - uses: actions/setup-go@v5
         with:
-          go-version: '1.21.3'
+          go-version: '1.24.1'
       - name: install ./...
         run: go install ./...
       - uses: actions/checkout@v4
diff --git a/.github/workflows/ci-python.yml b/.github/workflows/ci-python.yml
index a0e34ce03..1a231c900 100644
--- a/.github/workflows/ci-python.yml
+++ b/.github/workflows/ci-python.yml
@@ -12,7 +12,7 @@ jobs:
       - uses: actions/checkout@v4
       - uses: actions/setup-go@v5
         with:
-          go-version: '1.21.3'
+          go-version: '1.24.1'
       - name: install ./...
         run: go install ./...
       - uses: actions/checkout@v4
diff --git a/.github/workflows/ci-typescript.yml b/.github/workflows/ci-typescript.yml
index f4b94e6c1..d3b21c6b4 100644
--- a/.github/workflows/ci-typescript.yml
+++ b/.github/workflows/ci-typescript.yml
@@ -12,7 +12,7 @@ jobs:
       - uses: actions/checkout@v4
       - uses: actions/setup-go@v5
         with:
-          go-version: '1.21.3'
+          go-version: '1.24.1'
       - name: install ./...
         run: go install ./...
       - uses: actions/checkout@v4
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 34d625bf7..431789b77 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -30,7 +30,7 @@ jobs:
     - uses: actions/checkout@v4
     - uses: actions/setup-go@v5
       with:
-        go-version: '1.23.5'
+        go-version: '1.24.1'
 
     - name: install gotestsum
       run: go install gotest.tools/gotestsum@latest
diff --git a/devenv.lock b/devenv.lock
index 6f61ce9a0..ff48a49f1 100644
--- a/devenv.lock
+++ b/devenv.lock
@@ -3,11 +3,10 @@
     "devenv": {
       "locked": {
         "dir": "src/modules",
-        "lastModified": 1693830477,
-        "narHash": "sha256-6j1oNRpjGseDbgg6mJ9H3gmX5U+VAubOLV+iFL9WW30=",
+        "lastModified": 1742659231,
         "owner": "cachix",
         "repo": "devenv",
-        "rev": "f839f486b98609f3477c0410b31a6f831b390d48",
+        "rev": "c651cb04013be972767aaecb3e9a98fc930d080e",
         "type": "github"
       },
       "original": {
@@ -20,11 +19,10 @@
     "flake-compat": {
       "flake": false,
       "locked": {
-        "lastModified": 1673956053,
-        "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
+        "lastModified": 1733328505,
         "owner": "edolstra",
         "repo": "flake-compat",
-        "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
+        "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
         "type": "github"
       },
       "original": {
@@ -33,24 +31,6 @@
         "type": "github"
       }
     },
-    "flake-utils": {
-      "inputs": {
-        "systems": "systems"
-      },
-      "locked": {
-        "lastModified": 1685518550,
-        "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
-        "owner": "numtide",
-        "repo": "flake-utils",
-        "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
-        "type": "github"
-      },
-      "original": {
-        "owner": "numtide",
-        "repo": "flake-utils",
-        "type": "github"
-      }
-    },
     "gitignore": {
       "inputs": {
         "nixpkgs": [
@@ -59,11 +39,10 @@
         ]
       },
       "locked": {
-        "lastModified": 1660459072,
-        "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
+        "lastModified": 1709087332,
         "owner": "hercules-ci",
         "repo": "gitignore.nix",
-        "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
+        "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
         "type": "github"
       },
       "original": {
@@ -74,11 +53,10 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1693844670,
-        "narHash": "sha256-t69F2nBB8DNQUWHD809oJZJVE+23XBrth4QZuVd6IE0=",
+        "lastModified": 1742707865,
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "3c15feef7770eb5500a4b8792623e2d6f598c9c1",
+        "rev": "dd613136ee91f67e5dba3f3f41ac99ae89c5406b",
         "type": "github"
       },
       "original": {
@@ -88,38 +66,19 @@
         "type": "github"
       }
     },
-    "nixpkgs-stable": {
-      "locked": {
-        "lastModified": 1685801374,
-        "narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=",
-        "owner": "NixOS",
-        "repo": "nixpkgs",
-        "rev": "c37ca420157f4abc31e26f436c1145f8951ff373",
-        "type": "github"
-      },
-      "original": {
-        "owner": "NixOS",
-        "ref": "nixos-23.05",
-        "repo": "nixpkgs",
-        "type": "github"
-      }
-    },
     "pre-commit-hooks": {
       "inputs": {
         "flake-compat": "flake-compat",
-        "flake-utils": "flake-utils",
         "gitignore": "gitignore",
         "nixpkgs": [
           "nixpkgs"
-        ],
-        "nixpkgs-stable": "nixpkgs-stable"
+        ]
       },
       "locked": {
-        "lastModified": 1692274144,
-        "narHash": "sha256-BxTQuRUANQ81u8DJznQyPmRsg63t4Yc+0kcyq6OLz8s=",
+        "lastModified": 1742649964,
         "owner": "cachix",
         "repo": "pre-commit-hooks.nix",
-        "rev": "7e3517c03d46159fdbf8c0e5c97f82d5d4b0c8fa",
+        "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
         "type": "github"
       },
       "original": {
@@ -134,21 +93,6 @@
         "nixpkgs": "nixpkgs",
         "pre-commit-hooks": "pre-commit-hooks"
       }
-    },
-    "systems": {
-      "locked": {
-        "lastModified": 1681028828,
-        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
-        "owner": "nix-systems",
-        "repo": "default",
-        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
-        "type": "github"
-      },
-      "original": {
-        "owner": "nix-systems",
-        "repo": "default",
-        "type": "github"
-      }
     }
   },
   "root": "root",
diff --git a/devenv.nix b/devenv.nix
index 572e83e19..8a25b78d5 100644
--- a/devenv.nix
+++ b/devenv.nix
@@ -4,7 +4,7 @@
   # https://devenv.sh/packages/
   packages = [ 
     pkgs.buf
-    pkgs.go_1_21
+    pkgs.go_1_24
     pkgs.git
     pkgs.git-cliff
     pkgs.govulncheck
diff --git a/docs/requirements.txt b/docs/requirements.txt
index 7157ad09d..cd1ef5b6f 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -11,7 +11,7 @@ idna==3.10
 imagesize==1.4.1
 myst-parser==4.0.1 
 packaging==24.2
-pyparsing==3.2.1
+pyparsing==3.2.2
 pytz==2025.1
 requests==2.32.3
 snowballstemmer==2.2.0
diff --git a/go.mod b/go.mod
index 2117b209a..71f8c689f 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,8 @@
 module github.com/sqlc-dev/sqlc
 
-go 1.22.9
+go 1.23
+
+toolchain go1.24.1
 
 require (
 	github.com/antlr4-go/antlr/v4 v4.13.1
@@ -14,13 +16,13 @@ require (
 	github.com/jackc/pgx/v5 v5.7.2
 	github.com/jinzhu/inflection v1.0.0
 	github.com/lib/pq v1.10.9
-	github.com/pganalyze/pg_query_go/v5 v5.1.0
-	github.com/pingcap/tidb/pkg/parser v0.0.0-20241203170126-9812d85d0d25
+	github.com/pganalyze/pg_query_go/v6 v6.0.0
+	github.com/pingcap/tidb/pkg/parser v0.0.0-20250324122243-d51e00e5bbf0
 	github.com/riza-io/grpc-go v0.2.0
 	github.com/spf13/cobra v1.8.1
 	github.com/spf13/pflag v1.0.6
-	github.com/tetratelabs/wazero v1.8.2
-	github.com/wasilibs/go-pgquery v0.0.0-20240606042535-c0843d6592cc
+	github.com/tetratelabs/wazero v1.9.0
+	github.com/wasilibs/go-pgquery v0.0.0-20250219053243-148840c597e6
 	github.com/xeipuuv/gojsonschema v1.2.0
 	golang.org/x/sync v0.11.0
 	google.golang.org/grpc v1.70.0
@@ -51,7 +53,7 @@ require (
 	github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
 	github.com/rogpeppe/go-internal v1.10.0 // indirect
 	github.com/stoewer/go-strcase v1.2.0 // indirect
-	github.com/wasilibs/wazero-helpers v0.0.0-20240604052452-61d7981e9a38 // indirect
+	github.com/wasilibs/wazero-helpers v0.0.0-20240620070341-3dff1577cd52 // indirect
 	github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect
 	github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
 	go.uber.org/atomic v1.11.0 // indirect
diff --git a/go.sum b/go.sum
index 45a026225..487c69ca5 100644
--- a/go.sum
+++ b/go.sum
@@ -127,8 +127,8 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE
 github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
 github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4=
 github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
-github.com/pganalyze/pg_query_go/v5 v5.1.0 h1:MlxQqHZnvA3cbRQYyIrjxEjzo560P6MyTgtlaf3pmXg=
-github.com/pganalyze/pg_query_go/v5 v5.1.0/go.mod h1:FsglvxidZsVN+Ltw3Ai6nTgPVcK2BPukH3jCDEqc1Ug=
+github.com/pganalyze/pg_query_go/v6 v6.0.0 h1:in6RkR/apfqlAtvqgDxd4Y4o87a5Pr8fkKDB4DrDo2c=
+github.com/pganalyze/pg_query_go/v6 v6.0.0/go.mod h1:nvTHIuoud6e1SfrUaFwHqT0i4b5Nr+1rPWVds3B5+50=
 github.com/pingcap/errors v0.11.0/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
 github.com/pingcap/errors v0.11.5-0.20240311024730-e056997136bb h1:3pSi4EDG6hg0orE1ndHkXvX6Qdq2cZn8gAPir8ymKZk=
 github.com/pingcap/errors v0.11.5-0.20240311024730-e056997136bb/go.mod h1:X2r9ueLEUZgtx2cIogM0v4Zj5uvvzhuuiu7Pn8HzMPg=
@@ -138,6 +138,8 @@ github.com/pingcap/log v1.1.0 h1:ELiPxACz7vdo1qAvvaWJg1NrYFoY6gqAh/+Uo6aXdD8=
 github.com/pingcap/log v1.1.0/go.mod h1:DWQW5jICDR7UJh4HtxXSM20Churx4CQL0fwL/SoOSA4=
 github.com/pingcap/tidb/pkg/parser v0.0.0-20241203170126-9812d85d0d25 h1:sAHMshrilTiR9ue2SktI/tVVT2gB4kNaQaY5pbs0YQQ=
 github.com/pingcap/tidb/pkg/parser v0.0.0-20241203170126-9812d85d0d25/go.mod h1:Hju1TEWZvrctQKbztTRwXH7rd41Yq0Pgmq4PrEKcq7o=
+github.com/pingcap/tidb/pkg/parser v0.0.0-20250324122243-d51e00e5bbf0 h1:W3rpAI3bubR6VWOcwxDIG0Gz9G5rl5b3SL116T0vBt0=
+github.com/pingcap/tidb/pkg/parser v0.0.0-20250324122243-d51e00e5bbf0/go.mod h1:+8feuexTKcXHZF/dkDfvCwEyBAmgb4paFc3/WeYV2eE=
 github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
 github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -177,12 +179,12 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5
 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
 github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
-github.com/tetratelabs/wazero v1.8.2 h1:yIgLR/b2bN31bjxwXHD8a3d+BogigR952csSDdLYEv4=
-github.com/tetratelabs/wazero v1.8.2/go.mod h1:yAI0XTsMBhREkM/YDAK/zNou3GoiAce1P6+rp/wQhjs=
-github.com/wasilibs/go-pgquery v0.0.0-20240606042535-c0843d6592cc h1:Hgim1Xgk1+viV7p0aZh9OOrMRfG+E4mGA+JsI2uB0+k=
-github.com/wasilibs/go-pgquery v0.0.0-20240606042535-c0843d6592cc/go.mod h1:ah6UfXIl/oA0K3SbourB/UHggVJOBXwPZ2XudDmmFac=
-github.com/wasilibs/wazero-helpers v0.0.0-20240604052452-61d7981e9a38 h1:RBu75fhabyxyGJ2zhkoNuRyObBMhVeMoXqmeaPTg2CQ=
-github.com/wasilibs/wazero-helpers v0.0.0-20240604052452-61d7981e9a38/go.mod h1:Z80JvMwvze8KUlVQIdw9L7OSskZJ1yxlpi4AQhoQe4s=
+github.com/tetratelabs/wazero v1.9.0 h1:IcZ56OuxrtaEz8UYNRHBrUa9bYeX9oVY93KspZZBf/I=
+github.com/tetratelabs/wazero v1.9.0/go.mod h1:TSbcXCfFP0L2FGkRPxHphadXPjo1T6W+CseNNY7EkjM=
+github.com/wasilibs/go-pgquery v0.0.0-20250219053243-148840c597e6 h1:dYn0B5w0a3CMqespZ0ieD/6JIeu37POqB/uBHBI2u94=
+github.com/wasilibs/go-pgquery v0.0.0-20250219053243-148840c597e6/go.mod h1:svJEu6OUmHY0+ySptMcgctboO29ON5U3hG3Wabfmwnk=
+github.com/wasilibs/wazero-helpers v0.0.0-20240620070341-3dff1577cd52 h1:OvLBa8SqJnZ6P+mjlzc2K7PM22rRUPE1x32G9DTPrC4=
+github.com/wasilibs/wazero-helpers v0.0.0-20240620070341-3dff1577cd52/go.mod h1:jMeV4Vpbi8osrE/pKUxRZkVaA0EX7NZN0A9/oRzgpgY=
 github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c=
 github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
 github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0=
diff --git a/internal/codegen/golang/postgresql_type.go b/internal/codegen/golang/postgresql_type.go
index 4518e1aba..398d01e2e 100644
--- a/internal/codegen/golang/postgresql_type.go
+++ b/internal/codegen/golang/postgresql_type.go
@@ -165,7 +165,7 @@ func postgresType(req *plugin.GenerateRequest, options *opts.Options, col *plugi
 		}
 		return "sql.NullBool"
 
-	case "json":
+	case "json", "pg_catalog.json":
 		switch driver {
 		case opts.SQLDriverPGXV5:
 			return "[]byte"
@@ -181,7 +181,7 @@ func postgresType(req *plugin.GenerateRequest, options *opts.Options, col *plugi
 			return "interface{}"
 		}
 
-	case "jsonb":
+	case "jsonb", "pg_catalog.jsonb":
 		switch driver {
 		case opts.SQLDriverPGXV5:
 			return "[]byte"
diff --git a/internal/engine/postgresql/convert.go b/internal/engine/postgresql/convert.go
index 0c77beecf..f56a572c1 100644
--- a/internal/engine/postgresql/convert.go
+++ b/internal/engine/postgresql/convert.go
@@ -3,7 +3,7 @@ package postgresql
 import (
 	"fmt"
 
-	pg "github.com/pganalyze/pg_query_go/v5"
+	pg "github.com/pganalyze/pg_query_go/v6"
 
 	"github.com/sqlc-dev/sqlc/internal/sql/ast"
 )
diff --git a/internal/engine/postgresql/parse.go b/internal/engine/postgresql/parse.go
index d1082bb7f..40af12596 100644
--- a/internal/engine/postgresql/parse.go
+++ b/internal/engine/postgresql/parse.go
@@ -6,7 +6,7 @@ import (
 	"io"
 	"strings"
 
-	nodes "github.com/pganalyze/pg_query_go/v5"
+	nodes "github.com/pganalyze/pg_query_go/v6"
 
 	"github.com/sqlc-dev/sqlc/internal/engine/postgresql/parser"
 	"github.com/sqlc-dev/sqlc/internal/source"
diff --git a/internal/engine/postgresql/parse_default.go b/internal/engine/postgresql/parse_default.go
index 6fdd10693..272f18964 100644
--- a/internal/engine/postgresql/parse_default.go
+++ b/internal/engine/postgresql/parse_default.go
@@ -3,7 +3,7 @@
 package postgresql
 
 import (
-	nodes "github.com/pganalyze/pg_query_go/v5"
+	nodes "github.com/pganalyze/pg_query_go/v6"
 )
 
 var Parse = nodes.Parse
diff --git a/internal/engine/postgresql/parser/parser_default.go b/internal/engine/postgresql/parser/parser_default.go
index 317c5c034..706c3bb09 100644
--- a/internal/engine/postgresql/parser/parser_default.go
+++ b/internal/engine/postgresql/parser/parser_default.go
@@ -2,6 +2,6 @@
 
 package parser
 
-import "github.com/pganalyze/pg_query_go/v5/parser"
+import "github.com/pganalyze/pg_query_go/v6/parser"
 
 type Error = parser.Error
diff --git a/internal/engine/postgresql/utils.go b/internal/engine/postgresql/utils.go
index 05d4ecc30..b8d49b1a9 100644
--- a/internal/engine/postgresql/utils.go
+++ b/internal/engine/postgresql/utils.go
@@ -1,7 +1,7 @@
 package postgresql
 
 import (
-	nodes "github.com/pganalyze/pg_query_go/v5"
+	nodes "github.com/pganalyze/pg_query_go/v6"
 )
 
 func isArray(n *nodes.TypeName) bool {


Test patch:
diff --git a/internal/endtoend/testdata/mysql_default_value/mysql/go/db.go b/internal/endtoend/testdata/mysql_default_value/mysql/go/db.go
new file mode 100644
index 000000000..cbb2bcd8e
--- /dev/null
+++ b/internal/endtoend/testdata/mysql_default_value/mysql/go/db.go
@@ -0,0 +1,31 @@
+// Code generated by sqlc. DO NOT EDIT.
+// versions:
+//   sqlc v1.28.0
+
+package querytest
+
+import (
+	"context"
+	"database/sql"
+)
+
+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,
+	}
+}
diff --git a/internal/endtoend/testdata/mysql_default_value/mysql/go/models.go b/internal/endtoend/testdata/mysql_default_value/mysql/go/models.go
new file mode 100644
index 000000000..fb3204ce3
--- /dev/null
+++ b/internal/endtoend/testdata/mysql_default_value/mysql/go/models.go
@@ -0,0 +1,12 @@
+// Code generated by sqlc. DO NOT EDIT.
+// versions:
+//   sqlc v1.28.0
+
+package querytest
+
+type Author struct {
+	ID          int32
+	Name        string
+	Bio         string
+	Explanation string
+}
diff --git a/internal/endtoend/testdata/mysql_default_value/mysql/go/query.sql.go b/internal/endtoend/testdata/mysql_default_value/mysql/go/query.sql.go
new file mode 100644
index 000000000..2a59fdc09
--- /dev/null
+++ b/internal/endtoend/testdata/mysql_default_value/mysql/go/query.sql.go
@@ -0,0 +1,42 @@
+// Code generated by sqlc. DO NOT EDIT.
+// versions:
+//   sqlc v1.28.0
+// source: query.sql
+
+package querytest
+
+import (
+	"context"
+)
+
+const selectAuthor = `-- name: SelectAuthor :many
+SELECT id, name, bio, explanation FROM authors
+`
+
+func (q *Queries) SelectAuthor(ctx context.Context) ([]Author, error) {
+	rows, err := q.db.QueryContext(ctx, selectAuthor)
+	if err != nil {
+		return nil, err
+	}
+	defer rows.Close()
+	var items []Author
+	for rows.Next() {
+		var i Author
+		if err := rows.Scan(
+			&i.ID,
+			&i.Name,
+			&i.Bio,
+			&i.Explanation,
+		); 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
+}
diff --git a/internal/endtoend/testdata/mysql_default_value/mysql/query.sql b/internal/endtoend/testdata/mysql_default_value/mysql/query.sql
new file mode 100644
index 000000000..00b1f3c46
--- /dev/null
+++ b/internal/endtoend/testdata/mysql_default_value/mysql/query.sql
@@ -0,0 +1,2 @@
+-- name: SelectAuthor :many
+SELECT * FROM authors;
diff --git a/internal/endtoend/testdata/mysql_default_value/mysql/schema.sql b/internal/endtoend/testdata/mysql_default_value/mysql/schema.sql
new file mode 100644
index 000000000..be6634420
--- /dev/null
+++ b/internal/endtoend/testdata/mysql_default_value/mysql/schema.sql
@@ -0,0 +1,7 @@
+CREATE TABLE authors (
+  id   INT  PRIMARY KEY,
+  name text NOT NULL,
+  bio  text NOT NULL
+);
+
+ALTER TABLE authors ADD COLUMN explanation text NOT NULL DEFAULT ('');
diff --git a/internal/endtoend/testdata/mysql_default_value/mysql/sqlc.json b/internal/endtoend/testdata/mysql_default_value/mysql/sqlc.json
new file mode 100644
index 000000000..7dabfeef7
--- /dev/null
+++ b/internal/endtoend/testdata/mysql_default_value/mysql/sqlc.json
@@ -0,0 +1,14 @@
+{
+  "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"
+    }
+  ]
+}