@@ -17873,39 +17873,47 @@ simpleOptimizerHint returns [OptimizerHint vResult = FragmentFactory.CreateFragm
1787317873 : tHashLoop:Identifier Join
1787417874 {
1787517875 vResult.HintKind = ParseJoinOptimizerHint(tHashLoop);
17876+ UpdateTokenInfo(vResult, tHashLoop);
1787617877 }
17877- | Merge Join
17878+ | tMerge: Merge Join
1787817879 {
1787917880 vResult.HintKind = OptimizerHintKind.MergeJoin;
17881+ UpdateTokenInfo(vResult, tMerge);
1788017882 }
17881- | tConcatHashKeep:Identifier Union
17883+ | tConcatHashKeep:Identifier Union
1788217884 {
1788317885 vResult.HintKind = ParseUnionOptimizerHint(tConcatHashKeep);
17886+ UpdateTokenInfo(vResult, tConcatHashKeep);
1788417887 }
17885- | Merge Union
17888+ | tMergeUnion: Merge Union
1788617889 {
1788717890 vResult.HintKind = OptimizerHintKind.MergeUnion;
17891+ UpdateTokenInfo(vResult, tMergeUnion);
1788817892 }
1788917893 | tForce:Identifier Order
1789017894 {
1789117895 Match(tForce, CodeGenerationSupporter.Force);
1789217896 vResult.HintKind = OptimizerHintKind.ForceOrder;
17897+ UpdateTokenInfo(vResult, tForce);
1789317898 }
1789417899 | tHash:Identifier Group
1789517900 {
1789617901 Match(tHash, CodeGenerationSupporter.Hash);
1789717902 vResult.HintKind = OptimizerHintKind.HashGroup;
17903+ UpdateTokenInfo(vResult, tHash);
1789817904 }
1789917905 | tOrder:Order Group
1790017906 {
1790117907 vResult.HintKind = OptimizerHintKind.OrderGroup;
17908+ UpdateTokenInfo(vResult, tOrder);
1790217909 }
1790317910 | tPlan:Identifier Plan
1790417911 {
1790517912 vResult.HintKind = PlanOptimizerHintHelper.Instance.ParseOption(tPlan, SqlVersionFlags.TSql110);
17913+ UpdateTokenInfo(vResult, tPlan);
1790617914 }
1790717915 | tFirstWord:Identifier tSecondWord:Identifier
17908- (
17916+ (
1790917917 /* empty */
1791017918 {
1791117919 if (TryMatch(tFirstWord, CodeGenerationSupporter.Expand))
@@ -17928,13 +17936,15 @@ simpleOptimizerHint returns [OptimizerHint vResult = FragmentFactory.CreateFragm
1792817936 Match(tFirstWord, CodeGenerationSupporter.Bypass);
1792917937 Match(tSecondWord, CodeGenerationSupporter.OptimizerQueue);
1793017938 vResult.HintKind = OptimizerHintKind.BypassOptimizerQueue;
17931- }
17939+ }
17940+ UpdateTokenInfo(vResult, tFirstWord);
1793217941 }
1793317942 | tUnion2:Union All
1793417943 {
1793517944 Match(tFirstWord, CodeGenerationSupporter.Optimize);
1793617945 Match(tSecondWord, CodeGenerationSupporter.Correlated);
1793717946 vResult.HintKind = OptimizerHintKind.OptimizeCorrelatedUnionAll;
17947+ UpdateTokenInfo(vResult, tUnion2);
1793817948 }
1793917949 )
1794017950 | tRecompileOrColumnStore:Identifier
@@ -17949,6 +17959,7 @@ simpleOptimizerHint returns [OptimizerHint vResult = FragmentFactory.CreateFragm
1794917959 Match(tRecompileOrColumnStore, CodeGenerationSupporter.IgnoreNonClusteredColumnStoreIndex);
1795017960 vResult.HintKind = OptimizerHintKind.IgnoreNonClusteredColumnStoreIndex;
1795117961 }
17962+ UpdateTokenInfo(vResult, tRecompileOrColumnStore);
1795217963 }
1795317964 ;
1795417965
0 commit comments