Merge pull request #434 from formica2/master

Add additional postgres reserved keywords
This commit is contained in:
go-jet 2025-01-15 18:24:29 +01:00 committed by GitHub
commit 269bb4a3c9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 29 additions and 4 deletions

View file

@ -2,8 +2,9 @@ package postgres
import (
"fmt"
"github.com/go-jet/jet/v2/internal/jet"
"strconv"
"github.com/go-jet/jet/v2/internal/jet"
)
// Dialect is implementation of postgres dialect for SQL Builder serialisation.
@ -121,17 +122,23 @@ var reservedWords = []string{
"AS",
"ASC",
"ASYMMETRIC",
"AUTHORIZATION",
"BINARY",
"BOTH",
"CASE",
"CAST",
"CHECK",
"COLLATE",
"COLLATION",
"COLUMN",
"CONCURRENTLY",
"CONSTRAINT",
"CREATE",
"CROSS",
"CURRENT_CATALOG",
"CURRENT_DATE",
"CURRENT_ROLE",
"CURRENT_SCHEMA",
"CURRENT_TIME",
"CURRENT_TIMESTAMP",
"CURRENT_USER",
@ -147,26 +154,39 @@ var reservedWords = []string{
"FETCH",
"FOR",
"FOREIGN",
"FREEZE",
"FROM",
"FULL",
"GRANT",
"GROUP",
"HAVING",
"ILIKE",
"IN",
"INITIALLY",
"INNER",
"INTERSECT",
"INTO",
"IS",
"ISNULL",
"JOIN",
"LATERAL",
"LEADING",
"LEFT",
"LIKE",
"LIMIT",
"LOCALTIME",
"LOCALTIMESTAMP",
"NATURAL",
"NOT",
"NOTNULL",
"NULL",
"OFFSET",
"ON",
"ONLY",
"OR",
"ORDER",
"OUTER",
"OVERLAPS",
"PLACING",
"PRIMARY",
"REFERENCES",
@ -174,9 +194,12 @@ var reservedWords = []string{
"RIGHT",
"SELECT",
"SESSION_USER",
"SIMILAR",
"SOME",
"SYMMETRIC",
"SYSTEM_USER",
"TABLE",
"TABLESAMPLE",
"THEN",
"TO",
"TRAILING",
@ -186,6 +209,7 @@ var reservedWords = []string{
"USER",
"USING",
"VARIADIC",
"VERBOSE",
"WHEN",
"WHERE",
"WINDOW",

View file

@ -1,10 +1,11 @@
package postgres
import (
"testing"
"github.com/go-jet/jet/v2/internal/utils/ptr"
"github.com/go-jet/jet/v2/qrm"
"github.com/google/uuid"
"testing"
"github.com/stretchr/testify/require"
@ -452,8 +453,8 @@ SELECT "User"."column" AS "User.column",
"User"."desc" AS "User.desc",
"User".empty AS "User.empty",
"User".float AS "User.float",
"User".join AS "User.join",
"User".like AS "User.like",
"User"."join" AS "User.join",
"User"."like" AS "User.like",
"User".max AS "User.max",
"User".rank AS "User.rank"
FROM test_sample."User";