Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

SQL statement splitter breaks E'...' strings that contain a backslash-escaped quote

Đã đóng
#6,885 0 bình luận 0 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@7ttp đang làm issue này rồi.

Từ ngày 29/9/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

🐛 Bug supabase/cli

Affected area: Migrations

Supabase CLI version: current develop (d38ccd7e)

Operating system: Any. Reproduced with a unit test on Linux.

Installation method: Built from source

Command

supabase db push

Actual output

A migration containing this statement fails with a syntax error:

select E'it\'s; here';

The CLI splits the statement at the semicolon inside the string literal and sends select E'it\'s and here' as two statements.

Expected behavior

The statement is sent as one statement. In an escape string constant, \' is an escaped quote and does not end the literal.

Steps to reproduce

  1. Add a migration that contains select E'it\'s; here';.
  2. Run supabase db push against a database.
  3. See the syntax error caused by the split statement.

Additional context

The splitter in apps/cli/src/command-internal/sql-split.ts only treats a doubled quote as an escape inside single-quoted strings. PostgreSQL also accepts backslash escapes in E'...' strings, so the first \' is read as the end of the literal. A unit test for splitAndTrim fails on develop and passes when backslash escapes are honored for escape string constants only. Standard strings such as 'a\' are unchanged. The same splitter is used by seed files and the declarative schema commands.

I have a fix with a unit test ready and can open a PR if this is open for contribution.

Ngôn ngữ chính
TypeScript
Star
2.4k
Fork
526
Merge trung bình
1 ngày 2 giờ
Pull request đã merge (30 ngày)
327

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của supabase/cli

Tất cả issue của supabase/cli

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.