Skip to content

Commit 61285cd

Browse files
committed
fix: #438 syntaxContextType not duplicate
1 parent d40a3d5 commit 61285cd

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
@@ -156,7 +156,15 @@ export class FlinkSQL extends BasicSQL<FlinkSqlLexer, ProgramContext, FlinkSqlPa
156156
break;
157157
}
158158

159-
if (syntaxContextType) {
159+
if (
160+
syntaxContextType &&
161+
!originalSyntaxSuggestions.some(
162+
(syn) =>
163+
syn.syntaxContextType === syntaxContextType &&
164+
syn.wordRanges.map((wordRange: Token) => wordRange.text)?.join(',') ===
165+
tokenRanges.map((tokenRange: Token) => tokenRange.text)?.join(',')
166+
)
167+
) {
160168
originalSyntaxSuggestions.push({
161169
syntaxContextType,
162170
wordRanges: tokenRanges,

src/parser/hive/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,15 @@ export class HiveSQL extends BasicSQL<HiveSqlLexer, ProgramContext, HiveSqlParse
144144
break;
145145
}
146146

147-
if (syntaxContextType) {
147+
if (
148+
syntaxContextType &&
149+
!originalSyntaxSuggestions.some(
150+
(syn) =>
151+
syn.syntaxContextType === syntaxContextType &&
152+
syn.wordRanges.map((wordRange: Token) => wordRange.text)?.join(',') ===
153+
tokenRanges.map((tokenRange: Token) => tokenRange.text)?.join(',')
154+
)
155+
) {
148156
originalSyntaxSuggestions.push({
149157
syntaxContextType,
150158
wordRanges: tokenRanges,

src/parser/impala/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,15 @@ export class ImpalaSQL extends BasicSQL<ImpalaSqlLexer, ProgramContext, ImpalaSq
132132
break;
133133
}
134134

135-
if (syntaxContextType) {
135+
if (
136+
syntaxContextType &&
137+
!originalSyntaxSuggestions.some(
138+
(syn) =>
139+
syn.syntaxContextType === syntaxContextType &&
140+
syn.wordRanges.map((wordRange: Token) => wordRange.text)?.join(',') ===
141+
tokenRanges.map((tokenRange: Token) => tokenRange.text)?.join(',')
142+
)
143+
) {
136144
originalSyntaxSuggestions.push({
137145
syntaxContextType,
138146
wordRanges: tokenRanges,

src/parser/mysql/index.ts

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

124-
if (syntaxContextType) {
124+
if (
125+
syntaxContextType &&
126+
!originalSyntaxSuggestions.some(
127+
(syn) =>
128+
syn.syntaxContextType === syntaxContextType &&
129+
syn.wordRanges.map((wordRange: Token) => wordRange.text)?.join(',') ===
130+
tokenRanges.map((tokenRange: Token) => tokenRange.text)?.join(',')
131+
)
132+
) {
125133
originalSyntaxSuggestions.push({
126134
syntaxContextType,
127135
wordRanges: tokenRanges,

src/parser/postgresql/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,15 @@ export class PostgreSQL extends BasicSQL<PostgreSqlLexer, ProgramContext, Postgr
156156
break;
157157
}
158158

159-
if (syntaxContextType) {
159+
if (
160+
syntaxContextType &&
161+
!originalSyntaxSuggestions.some(
162+
(syn) =>
163+
syn.syntaxContextType === syntaxContextType &&
164+
syn.wordRanges.map((wordRange: Token) => wordRange.text)?.join(',') ===
165+
tokenRanges.map((tokenRange: Token) => tokenRange.text)?.join(',')
166+
)
167+
) {
160168
originalSyntaxSuggestions.push({
161169
syntaxContextType,
162170
wordRanges: tokenRanges,

src/parser/spark/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,15 @@ export class SparkSQL extends BasicSQL<SparkSqlLexer, ProgramContext, SparkSqlPa
139139
break;
140140
}
141141

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

src/parser/trino/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,15 @@ export class TrinoSQL extends BasicSQL<TrinoSqlLexer, ProgramContext, TrinoSqlPa
145145
break;
146146
}
147147

148-
if (syntaxContextType) {
148+
if (
149+
syntaxContextType &&
150+
!originalSyntaxSuggestions.some(
151+
(syn) =>
152+
syn.syntaxContextType === syntaxContextType &&
153+
syn.wordRanges.map((wordRange: Token) => wordRange.text)?.join(',') ===
154+
tokenRanges.map((tokenRange: Token) => tokenRange.text)?.join(',')
155+
)
156+
) {
149157
originalSyntaxSuggestions.push({
150158
syntaxContextType,
151159
wordRanges: tokenRanges,

0 commit comments

Comments
 (0)