Skip to content

Commit 4705620

Browse files
liuxy0551JackWang032
authored andcommitted
fix: #438 syntaxContextType not duplicate
1 parent b8519a6 commit 4705620

File tree

7 files changed

+63
-7
lines changed

7 files changed

+63
-7
lines changed

src/parser/flink/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,15 @@ export class FlinkSQL extends BasicSQL<FlinkSqlLexer, ProgramContext, FlinkSqlPa
168168
break;
169169
}
170170

171-
if (syntaxContextType) {
171+
if (
172+
syntaxContextType &&
173+
!originalSyntaxSuggestions.some(
174+
(syn) =>
175+
syn.syntaxContextType === syntaxContextType &&
176+
syn.wordRanges.map((wordRange: Token) => wordRange.text)?.join(',') ===
177+
tokenRanges.map((tokenRange: Token) => tokenRange.text)?.join(',')
178+
)
179+
) {
172180
originalSyntaxSuggestions.push({
173181
syntaxContextType,
174182
wordRanges: tokenRanges,

src/parser/hive/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,15 @@ export class HiveSQL extends BasicSQL<HiveSqlLexer, ProgramContext, HiveSqlParse
150150
break;
151151
}
152152

153-
if (syntaxContextType) {
153+
if (
154+
syntaxContextType &&
155+
!originalSyntaxSuggestions.some(
156+
(syn) =>
157+
syn.syntaxContextType === syntaxContextType &&
158+
syn.wordRanges.map((wordRange: Token) => wordRange.text)?.join(',') ===
159+
tokenRanges.map((tokenRange: Token) => tokenRange.text)?.join(',')
160+
)
161+
) {
154162
originalSyntaxSuggestions.push({
155163
syntaxContextType,
156164
wordRanges: tokenRanges,

src/parser/impala/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,15 @@ export class ImpalaSQL extends BasicSQL<ImpalaSqlLexer, ProgramContext, ImpalaSq
138138
break;
139139
}
140140

141-
if (syntaxContextType) {
141+
if (
142+
syntaxContextType &&
143+
!originalSyntaxSuggestions.some(
144+
(syn) =>
145+
syn.syntaxContextType === syntaxContextType &&
146+
syn.wordRanges.map((wordRange: Token) => wordRange.text)?.join(',') ===
147+
tokenRanges.map((tokenRange: Token) => tokenRange.text)?.join(',')
148+
)
149+
) {
142150
originalSyntaxSuggestions.push({
143151
syntaxContextType,
144152
wordRanges: tokenRanges,

src/parser/mysql/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,15 @@ export class MySQL extends BasicSQL<MySqlLexer, ProgramContext, MySqlParser> {
127127
break;
128128
}
129129

130-
if (syntaxContextType) {
130+
if (
131+
syntaxContextType &&
132+
!originalSyntaxSuggestions.some(
133+
(syn) =>
134+
syn.syntaxContextType === syntaxContextType &&
135+
syn.wordRanges.map((wordRange: Token) => wordRange.text)?.join(',') ===
136+
tokenRanges.map((tokenRange: Token) => tokenRange.text)?.join(',')
137+
)
138+
) {
131139
originalSyntaxSuggestions.push({
132140
syntaxContextType,
133141
wordRanges: tokenRanges,

src/parser/postgresql/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,15 @@ export class PostgreSQL extends BasicSQL<PostgreSqlLexer, ProgramContext, Postgr
168168
break;
169169
}
170170

171-
if (syntaxContextType) {
171+
if (
172+
syntaxContextType &&
173+
!originalSyntaxSuggestions.some(
174+
(syn) =>
175+
syn.syntaxContextType === syntaxContextType &&
176+
syn.wordRanges.map((wordRange: Token) => wordRange.text)?.join(',') ===
177+
tokenRanges.map((tokenRange: Token) => tokenRange.text)?.join(',')
178+
)
179+
) {
172180
originalSyntaxSuggestions.push({
173181
syntaxContextType,
174182
wordRanges: tokenRanges,

src/parser/spark/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,15 @@ export class SparkSQL extends BasicSQL<SparkSqlLexer, ProgramContext, SparkSqlPa
149149
break;
150150
}
151151

152-
if (syntaxContextType) {
152+
if (
153+
syntaxContextType &&
154+
!originalSyntaxSuggestions.some(
155+
(syn) =>
156+
syn.syntaxContextType === syntaxContextType &&
157+
syn.wordRanges.map((wordRange: Token) => wordRange.text)?.join(',') ===
158+
tokenRanges.map((tokenRange: Token) => tokenRange.text)?.join(',')
159+
)
160+
) {
153161
originalSyntaxSuggestions.push({
154162
syntaxContextType,
155163
wordRanges: tokenRanges,

src/parser/trino/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,15 @@ export class TrinoSQL extends BasicSQL<TrinoSqlLexer, ProgramContext, TrinoSqlPa
151151
break;
152152
}
153153

154-
if (syntaxContextType) {
154+
if (
155+
syntaxContextType &&
156+
!originalSyntaxSuggestions.some(
157+
(syn) =>
158+
syn.syntaxContextType === syntaxContextType &&
159+
syn.wordRanges.map((wordRange: Token) => wordRange.text)?.join(',') ===
160+
tokenRanges.map((tokenRange: Token) => tokenRange.text)?.join(',')
161+
)
162+
) {
155163
originalSyntaxSuggestions.push({
156164
syntaxContextType,
157165
wordRanges: tokenRanges,

0 commit comments

Comments
 (0)