Skip to content

Commit 3c46555

Browse files
committed
fixing the parser
1 parent 0c53470 commit 3c46555

7 files changed

Lines changed: 13 additions & 14 deletions

File tree

SqlScriptDom/Parser/TSql/OptionsHelper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ internal SqlVersionFlags MapSqlVersionToSqlVersionFlags(SqlVersion sqlVersion)
135135
}
136136
}
137137

138-
internal OptionType ParseOption(antlr.IToken token, SqlVersionFlags version)
138+
internal virtual OptionType ParseOption(antlr.IToken token, SqlVersionFlags version)
139139
{
140140
OptionInfo optionInfo;
141141
if (_stringToOptionInfo.TryGetValue(token.getText(), out optionInfo) &&

SqlScriptDom/Parser/TSql/TSql170.g

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27724,22 +27724,23 @@ xmlCompressionOption returns [XmlCompressionOption vResult = FragmentFactory.Cre
2772427724
;
2772527725

2772627726
vectorMetricOption returns [VectorMetricIndexOption vResult = FragmentFactory.CreateFragment<VectorMetricIndexOption>()]
27727-
: tMetric:Identifier EqualsSign tMetricValue:StringLiteral
27727+
: tMetric:Identifier EqualsSign tMetricValue:AsciiStringLiteral
2772827728
{
2772927729
Match(tMetric, CodeGenerationSupporter.Metric);
2773027730
vResult.OptionKind = IndexOptionKind.VectorMetric;
2773127731
vResult.MetricType = VectorMetricTypeHelper.Instance.ParseOption(tMetricValue);
27732-
UpdateTokenInfo(vResult, tMetricValue);
27732+
27733+
UpdateTokenInfo(vResult, tMetric);
2773327734
}
2773427735
;
2773527736

2773627737
vectorTypeOption returns [VectorTypeIndexOption vResult = FragmentFactory.CreateFragment<VectorTypeIndexOption>()]
27737-
: tType:Identifier EqualsSign tTypeValue:StringLiteral
27738+
: tType:Identifier EqualsSign tTypeValue:AsciiStringLiteral
2773827739
{
2773927740
Match(tType, CodeGenerationSupporter.Type);
2774027741
vResult.OptionKind = IndexOptionKind.VectorType;
2774127742
vResult.VectorType = VectorIndexTypeHelper.Instance.ParseOption(tTypeValue);
27742-
UpdateTokenInfo(vResult, tTypeValue);
27743+
UpdateTokenInfo(vResult, tType);
2774327744
}
2774427745
;
2774527746

SqlScriptDom/Parser/TSql/VectorIndexTypeHelper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ internal class VectorIndexTypeHelper : OptionsHelper<VectorIndexType>
1313
{
1414
private VectorIndexTypeHelper()
1515
{
16-
AddOptionMapping(VectorIndexType.DiskANN, CodeGenerationSupporter.DiskANN);
16+
AddOptionMapping(VectorIndexType.DiskANN, "'" + CodeGenerationSupporter.DiskANN + "'");
1717
}
1818

1919
public static readonly VectorIndexTypeHelper Instance = new VectorIndexTypeHelper();

SqlScriptDom/Parser/TSql/VectorMetricTypeHelper.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,18 @@
66

77

88

9+
using static Microsoft.SqlServer.TransactSql.ScriptDom.SensitivityClassification;
10+
911
namespace Microsoft.SqlServer.TransactSql.ScriptDom
1012
{
1113

1214
internal class VectorMetricTypeHelper : OptionsHelper<VectorMetricType>
1315
{
1416
private VectorMetricTypeHelper()
1517
{
16-
AddOptionMapping(VectorMetricType.Cosine, CodeGenerationSupporter.Cosine);
17-
AddOptionMapping(VectorMetricType.Dot, CodeGenerationSupporter.Dot);
18-
AddOptionMapping(VectorMetricType.Euclidean, CodeGenerationSupporter.Euclidean);
18+
AddOptionMapping(VectorMetricType.Cosine, "'" + CodeGenerationSupporter.Cosine + "'");
19+
AddOptionMapping(VectorMetricType.Dot, "'" + CodeGenerationSupporter.Dot + "'");
20+
AddOptionMapping(VectorMetricType.Euclidean, "'" + CodeGenerationSupporter.Euclidean + "'");
1921
}
2022

2123
public static readonly VectorMetricTypeHelper Instance = new VectorMetricTypeHelper();

SqlScriptDom/ScriptDom/SqlServer/ScriptGenerator/SqlScriptGeneratorVisitor.VectorMetricIndexOption.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@ public override void ExplicitVisit(VectorMetricIndexOption node)
1313
IndexOptionHelper.Instance.GenerateSourceForOption(_writer, node.OptionKind);
1414
GenerateSpaceAndSymbol(TSqlTokenType.EqualsSign);
1515
GenerateSpace();
16-
GenerateSymbol(TSqlTokenType.SingleQuote);
1716
VectorMetricTypeHelper.Instance.GenerateSourceForOption(_writer, node.MetricType);
18-
GenerateSymbol(TSqlTokenType.SingleQuote);
1917
}
2018
}
2119
}

SqlScriptDom/ScriptDom/SqlServer/ScriptGenerator/SqlScriptGeneratorVisitor.VectorTypeIndexOption.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@ public override void ExplicitVisit(VectorTypeIndexOption node)
1313
IndexOptionHelper.Instance.GenerateSourceForOption(_writer, node.OptionKind);
1414
GenerateSpaceAndSymbol(TSqlTokenType.EqualsSign);
1515
GenerateSpace();
16-
GenerateSymbol(TSqlTokenType.SingleQuote);
1716
VectorIndexTypeHelper.Instance.GenerateSourceForOption(_writer, node.VectorType);
18-
GenerateSymbol(TSqlTokenType.SingleQuote);
1917
}
2018
}
2119
}

Test/SqlDom/Only170SyntaxTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public partial class SqlDomTests
1111
{
1212
new ParserTest170("RegexpTVFTests170.sql", nErrors80: 1, nErrors90: 1, nErrors100: 0, nErrors110: 0, nErrors120: 0, nErrors130: 0, nErrors140: 0, nErrors150: 0, nErrors160: 0),
1313
new ParserTest170("JsonIndexTests170.sql", nErrors80: 2, nErrors90: 8, nErrors100: 8, nErrors110: 8, nErrors120: 8, nErrors130: 8, nErrors140: 8, nErrors150: 8, nErrors160: 8),
14-
new ParserTest170("VectorIndexTests170.sql", nErrors80: 12, nErrors90: 12, nErrors100: 12, nErrors110: 12, nErrors120: 12, nErrors130: 12, nErrors140: 12, nErrors150: 12, nErrors160: 12),
14+
new ParserTest170("VectorIndexTests170.sql", nErrors80: 2, nErrors90: 12, nErrors100: 12, nErrors110: 12, nErrors120: 12, nErrors130: 12, nErrors140: 12, nErrors150: 12, nErrors160: 12),
1515
new ParserTest170("AlterDatabaseManualCutoverTests170.sql", nErrors80: 4, nErrors90: 4, nErrors100: 4, nErrors110: 4, nErrors120: 4, nErrors130: 4, nErrors140: 4, nErrors150: 4, nErrors160: 4),
1616
new ParserTest170("CreateColumnStoreIndexTests170.sql", nErrors80: 3, nErrors90: 3, nErrors100: 3, nErrors110: 3, nErrors120: 3, nErrors130: 0, nErrors140: 0, nErrors150: 0, nErrors160: 0)
1717
};

0 commit comments

Comments
 (0)