Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion postgres/parser/parser/sql.y
Original file line number Diff line number Diff line change
Expand Up @@ -717,7 +717,7 @@ func (u *sqlSymUnion) vacuumTableAndColsList() tree.VacuumTableAndColsList {
%token <str> BOOLEAN BOTH BOX2D BUFFER_USAGE_LIMIT BUNDLE BY BYPASSRLS

%token <str> CACHE CHAIN CALL CALLED CANCEL CANCELQUERY CANONICAL CASCADE CASCADED CASE CAST CATEGORY CBRT
%token <str> CHANGEFEED CHAR CHARACTER CHARACTERISTICS CHECK CHECK_OPTION CLASS CLOSE
%token <str> CHANGEFEED BPCHAR CHAR CHARACTER CHARACTERISTICS CHECK CHECK_OPTION CLASS CLOSE
%token <str> CLUSTER COALESCE COLLATABLE COLLATE COLLATION COLLATION_VERSION COLUMN COLUMNS COMBINEFUNC COMMENT COMMENTS
%token <str> BLOCK_COMMENT HINT
%token <str> COMMIT COMMITTED COMPACT COMPLETE COMPRESSION CONCAT CONCURRENTLY CONFIGURATION CONFIGURATIONS CONFIGURE
Expand Down Expand Up @@ -12047,6 +12047,11 @@ character_base:
{
$$.val = types.String
}
| BPCHAR
{
$$.val = types.MakeChar(0)
}


char_aliases:
CHAR
Expand Down Expand Up @@ -15115,6 +15120,7 @@ col_name_keyword:
| BIT
| BOOLEAN
| BOX2D
| BPCHAR
| CHAR
| CHARACTER
| CHARACTERISTICS
Expand Down
2 changes: 1 addition & 1 deletion testing/go/enginetest/doltgres_harness_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -865,7 +865,7 @@ func columns(rows pgx.Rows) (sql.Schema, []interface{}, error) {
colVal := gosql.NullBool{}
columnVals = append(columnVals, &colVal)
schema = append(schema, &sql.Column{Name: field.Name, Type: gmstypes.Int8, Nullable: true})
case uint32(oid.T_text), uint32(oid.T_varchar), uint32(oid.T_name), uint32(oid.T__text):
case uint32(oid.T_text), uint32(oid.T_varchar), uint32(oid.T_name), uint32(oid.T__text), uint32(oid.T_bpchar):
colVal := gosql.NullString{}
columnVals = append(columnVals, &colVal)
schema = append(schema, &sql.Column{Name: field.Name, Type: gmstypes.LongText, Nullable: true})
Expand Down
38 changes: 38 additions & 0 deletions testing/go/types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -349,6 +349,44 @@ var typesTests = []ScriptTest{
},
},
},
{
// https://github.com/dolthub/doltgresql/issues/2145
Name: "bpchar type",
Assertions: []ScriptTestAssertion{
{
Query: "create table bptest1 (pk int primary key, c1 bpchar, c2 bpchar(12));",
Expected: nil,
},
{
Query: "insert into bptest1 values (1, '1', '1');",
Expected: nil,
},
{
Query: "select * from bptest1;",
Expected: []sql.Row{
{1, "1", "1 "},
},
},
{
Query: "SELECT '!'::bpchar;",
Expected: []sql.Row{
{"!"},
},
},
{
Query: "SELECT '!'::bpchar(1);",
Expected: []sql.Row{
{"!"},
},
},
{
Query: "SELECT '!'::bpchar(2);",
Expected: []sql.Row{
{"! "},
},
},
},
},
{
Name: "Character type",
SetUpScript: []string{
Expand Down