Skip to content

Commit d619d1a

Browse files
Merge pull request taozhi8833998#2626 from taozhi8833998/feat-text-search-type-pg
feat: support text search type in pg
2 parents 781e33b + 6c27959 commit d619d1a

2 files changed

Lines changed: 13 additions & 0 deletions

File tree

pegjs/postgresql.pegjs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5787,6 +5787,8 @@ KW_TEXT = "TEXT"i !ident_start { return 'TEXT'; }
57875787
KW_MEDIUMTEXT = "MEDIUMTEXT"i !ident_start { return 'MEDIUMTEXT'; }
57885788
KW_LONGTEXT = "LONGTEXT"i !ident_start { return 'LONGTEXT'; }
57895789
KW_MEDIUMINT = "MEDIUMINT"i !ident_start { return 'MEDIUMINT'; }
5790+
KW_TSVECTOR = "TSVECTOR"i !ident_start { return 'TSVECTOR'; }
5791+
KW_TSQUERY = "TSQUERY"i !ident_start { return 'TSQUERY'; }
57905792
KW_BIGINT = "BIGINT"i !ident_start { return 'BIGINT'; }
57915793
KW_ENUM = "ENUM"i !ident_start { return 'ENUM'; }
57925794
KW_FLOAT = "FLOAT"i !ident_start { return 'FLOAT'; }
@@ -6309,6 +6311,7 @@ text_type
63096311
/* => data_type */
63106312
return { dataType: `${t}${s ? '[]' : ''}` }
63116313
}
6314+
/ t:(KW_TSVECTOR / KW_TSQUERY) {/* => data_type */ return { dataType: t }; }
63126315

63136316
uuid_type
63146317
= t:KW_UUID {/* => data_type */ return { dataType: t }}

test/postgres.spec.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1950,6 +1950,16 @@ describe('Postgres', () => {
19501950
'ALTER TABLE "table_name" REPLICA IDENTITY FULL',
19511951
]
19521952
},
1953+
{
1954+
title: 'tsvector data type',
1955+
sql: [
1956+
`CREATE TABLE test_table (
1957+
id int not null,
1958+
vector tsvector
1959+
);`,
1960+
'CREATE TABLE "test_table" (id INT NOT NULL, vector TSVECTOR)'
1961+
]
1962+
},
19531963
]
19541964
function neatlyNestTestedSQL(sqlList){
19551965
sqlList.forEach(sqlInfo => {

0 commit comments

Comments
 (0)