Title: Panics when using UNION operator within IN operator · Issue #2139 · sqlc-dev/sqlc · GitHub
Open Graph Title: Panics when using UNION operator within IN operator · Issue #2139 · sqlc-dev/sqlc
X Title: Panics when using UNION operator within IN operator · Issue #2139 · sqlc-dev/sqlc
Description: Version 1.17.2 What happened? Generation fails even though the SQL is correct syntax. Relevant log output sqlc generate failed. panic: runtime error: index out of range [0] with length 0 goroutine 19 [running]: github.com/kyleconroy/sqlc...
Open Graph Description: Version 1.17.2 What happened? Generation fails even though the SQL is correct syntax. Relevant log output sqlc generate failed. panic: runtime error: index out of range [0] with length 0 goroutine ...
X Description: Version 1.17.2 What happened? Generation fails even though the SQL is correct syntax. Relevant log output sqlc generate failed. panic: runtime error: index out of range [0] with length 0 goroutine ...
Opengraph URL: https://github.com/sqlc-dev/sqlc/issues/2139
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Panics when using UNION operator within IN operator","articleBody":"### Version\r\n\r\n1.17.2\r\n\r\n### What happened?\r\n\r\nGeneration fails even though the SQL is correct syntax.\r\n\r\n### Relevant log output\r\n\r\n```shell\r\nsqlc generate failed.\r\npanic: runtime error: index out of range [0] with length 0\r\n\r\ngoroutine 19 [running]:\r\ngithub.com/kyleconroy/sqlc/internal/compiler.paramSearch.Visit({{0x0, 0x0}, 0x0, 0xc00047a3a8, 0xc000467f50, 0xc00047a3c0, {0x0, 0x0}, {0x0, 0x0}}, ...)\r\n\t/go/pkg/mod/github.com/kyleconroy/sqlc@v1.17.2/internal/compiler/find_params.go:197 +0xad5\r\ngithub.com/kyleconroy/sqlc/internal/sql/astutils.Walk({0x1f73840?, 0xc00023bc70?}, {0x1f6de80?, 0xc00023bbd0?})\r\n\t/go/pkg/mod/github.com/kyleconroy/sqlc@v1.17.2/internal/sql/astutils/walk.go:21 +0x51\r\ngithub.com/kyleconroy/sqlc/internal/sql/astutils.Walk({0x1f73840?, 0xc00023bc20?}, {0x1f6e6c0?, 0xc0003c38c0?})\r\n\t/go/pkg/mod/github.com/kyleconroy/sqlc@v1.17.2/internal/sql/astutils/walk.go:1818 +0x2972\r\ngithub.com/kyleconroy/sqlc/internal/compiler.findParameters({0x1f6e6c0, 0xc0003c38c0})\r\n\t/go/pkg/mod/github.com/kyleconroy/sqlc@v1.17.2/internal/compiler/find_params.go:14 +0x15e\r\ngithub.com/kyleconroy/sqlc/internal/compiler.(*Compiler).parseQuery(0xc0002dfc00, {0x1f6e460?, 0xc000472400?}, {0xc0003ff680, 0x204}, {{0x89?, 0xea?, {0x0?, 0x2?}}})\r\n\t/go/pkg/mod/github.com/kyleconroy/sqlc@v1.17.2/internal/compiler/parse.go:76 +0x635\r\ngithub.com/kyleconroy/sqlc/internal/compiler.(*Compiler).parseQueries(0xc0002dfc00, {{0xb0?, 0xc8?, {0x0?, 0x1?}}})\r\n\t/go/pkg/mod/github.com/kyleconroy/sqlc@v1.17.2/internal/compiler/compile.go:108 +0x4df\r\ngithub.com/kyleconroy/sqlc/internal/compiler.(*Compiler).ParseQueries(...)\r\n\t/go/pkg/mod/github.com/kyleconroy/sqlc@v1.17.2/internal/compiler/engine.go:49\r\ngithub.com/kyleconroy/sqlc/internal/cmd.parse({_, _}, {_, _}, {_, _}, {{0xc000218fc6, 0x5}, {0xc00030c8b0, 0x1, ...}, ...}, ...)\r\n\t/go/pkg/mod/github.com/kyleconroy/sqlc@v1.17.2/internal/cmd/generate.go:276 +0x25b\r\ngithub.com/kyleconroy/sqlc/internal/cmd.Generate.func1()\r\n\t/go/pkg/mod/github.com/kyleconroy/sqlc@v1.17.2/internal/cmd/generate.go:213 +0x975\r\ngolang.org/x/sync/errgroup.(*Group).Go.func1()\r\n\t/go/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:75 +0x64\r\ncreated by golang.org/x/sync/errgroup.(*Group).Go\r\n\t/go/pkg/mod/golang.org/x/sync@v0.1.0/errgroup/errgroup.go:72 +0xa5\r\n```\r\n\r\n\r\n### Database schema\r\n\r\n```sql\r\n-- Example queries for sqlc\r\nCREATE TABLE authors (\r\n id int PRIMARY KEY,\r\n name text NOT NULL,\r\n bio text\r\n);\r\nCREATE TABLE book1 (\r\n author_id int PRIMARY KEY,\r\n name text,\r\n FOREIGN KEY (`author_id`) REFERENCES `authors` (`id`) ON DELETE CASCADE\r\n);\r\nCREATE TABLE book2 (\r\n author_id int PRIMARY KEY,\r\n name text,\r\n FOREIGN KEY (`author_id`) REFERENCES `authors` (`id`) ON DELETE CASCADE\r\n);\r\n```\r\n\r\n\r\n### SQL queries\r\n\r\n```sql\r\n-- name: GetAuthors :many\r\nSELECT * FROM authors\r\nwhere authors.id not in (select author_id from book1 union select author_id from book2)\r\n```\r\n\r\n\r\n### Configuration\r\n\r\n```yaml\r\n{\r\n \"version\": \"1\",\r\n \"packages\": [\r\n {\r\n \"path\": \"db\",\r\n \"engine\": \"mysql\",\r\n \"schema\": \"query.sql\",\r\n \"queries\": \"query.sql\"\r\n }\r\n ]\r\n}\r\n```\r\n\r\n\r\n### Playground URL\r\n\r\nhttps://play.sqlc.dev/p/af4016069178c0a6b6aa0836af1845909b60ba84ec3da78a616231ffd1ecca9f\r\n\r\n### What operating system are you using?\r\n\r\nmacOS\r\n\r\n### What database engines are you using?\r\n\r\nMySQL\r\n\r\n### What type of code are you generating?\r\n\r\nGo","author":{"url":"https://github.com/SRkuma","@type":"Person","name":"SRkuma"},"datePublished":"2023-03-10T11:16:07.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/2139/sqlc/issues/2139"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:d8dabd12-bb9f-c83c-08ea-887060ce0453 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | E892:2DC8D1:6809D83:9249D8A:6A5045CC |
| html-safe-nonce | 0da4bdc6b234f8c68e77f7d2827d761313dab545219dbeb4efad770e213c7905 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFODkyOjJEQzhEMTo2ODA5RDgzOjkyNDlEOEE6NkE1MDQ1Q0MiLCJ2aXNpdG9yX2lkIjoiNDE1MzUxOTA1MjQ3MDM3MTc4OCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 7e0bb9d840f9ec6334e8cd5071d1f42374e8d7ce86e890c1f87c2484286ca949 |
| hovercard-subject-tag | issue:1618813940 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/sqlc-dev/sqlc/2139/issue_layout |
| twitter:image | https://opengraph.githubassets.com/011e3590238a2051393c28daa3f7a4d070a9a9fe256f353764074cc5dd92c5da/sqlc-dev/sqlc/issues/2139 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/011e3590238a2051393c28daa3f7a4d070a9a9fe256f353764074cc5dd92c5da/sqlc-dev/sqlc/issues/2139 |
| og:image:alt | Version 1.17.2 What happened? Generation fails even though the SQL is correct syntax. Relevant log output sqlc generate failed. panic: runtime error: index out of range [0] with length 0 goroutine ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | SRkuma |
| hostname | github.com |
| expected-hostname | github.com |
| None | d6dc8294eb500fa36bbc57472d61fe87c522f9c3c1d64f70f4926f66a66a7efb |
| turbo-cache-control | no-preview |
| go-import | github.com/sqlc-dev/sqlc git https://github.com/sqlc-dev/sqlc.git |
| octolytics-dimension-user_id | 136738596 |
| octolytics-dimension-user_login | sqlc-dev |
| octolytics-dimension-repository_id | 193160679 |
| octolytics-dimension-repository_nwo | sqlc-dev/sqlc |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 193160679 |
| octolytics-dimension-repository_network_root_nwo | sqlc-dev/sqlc |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 5741a45fe07e5f377d0d4c524a92e3056acc51bb |
| ui-target | canary-1 |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width