1- //------------------------------------------------------------------------------
1+ //------------------------------------------------------------------------------
22// <copyright file="SqlScriptGeneratorVisitor.CreateExternalModelStatement.cs" company="Microsoft">
33// Copyright (c) Microsoft Corporation. All rights reserved.
44// </copyright>
@@ -17,9 +17,9 @@ public override void ExplicitVisit(CreateExternalModelStatement node)
1717 GenerateSpaceAndIdentifier ( CodeGenerationSupporter . Model ) ;
1818 GenerateCreateExternalModelStatementBody ( node ) ;
1919 }
20- protected static Dictionary < ExternalModelTypeOption , string > _externalModelTypeOption = new Dictionary < ExternalModelTypeOption , string > ( )
20+ protected static Dictionary < ExternalModelTypeOptionKind , string > _externalModelTypeOptionKind = new Dictionary < ExternalModelTypeOptionKind , string > ( )
2121 {
22- { ExternalModelTypeOption . EMBEDDINGS , CodeGenerationSupporter . Embeddings }
22+ { ExternalModelTypeOptionKind . Embeddings , CodeGenerationSupporter . Embeddings }
2323 } ;
2424
2525 protected void GenerateCreateExternalModelStatementBody ( CreateExternalModelStatement node )
@@ -54,17 +54,15 @@ protected void GenerateCreateExternalModelStatementBody(CreateExternalModelState
5454 }
5555
5656 // external model Model Type options
57- if ( node . ModelType == ExternalModelTypeOption . EMBEDDINGS )
57+ if ( node . ModelType != null )
5858 {
5959 if ( ! ifFirst )
6060 {
6161 GenerateSymbol ( TSqlTokenType . Comma ) ;
6262 }
6363 ifFirst = false ;
64- ExternalModelTypeOption typeOption = ExternalModelTypeOption . EMBEDDINGS ;
65- string externalModelTypeOption = GetValueForEnumKey ( _externalModelTypeOption , typeOption ) ;
6664 NewLine ( ) ;
67- GenerateNameEqualsValue ( CodeGenerationSupporter . ModelType , externalModelTypeOption ) ;
65+ GenerateFragmentIfNotNull ( node . ModelType ) ;
6866 }
6967
7068 // external model name options
@@ -118,5 +116,11 @@ protected void GenerateCreateExternalModelStatementBody(CreateExternalModelState
118116 NewLine ( ) ;
119117 GenerateKeyword ( TSqlTokenType . RightParenthesis ) ;
120118 }
119+
120+ public override void ExplicitVisit ( ExternalModelTypeOption node )
121+ {
122+ string optionKindString = GetValueForEnumKey ( _externalModelTypeOptionKind , node . OptionKind ) ;
123+ GenerateNameEqualsValue ( CodeGenerationSupporter . ModelType , optionKindString ) ;
124+ }
121125 }
122126}
0 commit comments