diff --git a/metadata-ingestion/src/datahub/ingestion/source/sql/stored_procedures/base.py b/metadata-ingestion/src/datahub/ingestion/source/sql/stored_procedures/base.py index c694632817..c04dec093c 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/sql/stored_procedures/base.py +++ b/metadata-ingestion/src/datahub/ingestion/source/sql/stored_procedures/base.py @@ -26,6 +26,7 @@ from datahub.metadata.schema_classes import ( DataPlatformInstanceClass, DataTransformClass, DataTransformLogicClass, + QueryLanguageClass, QueryStatementClass, SubTypesClass, ) @@ -176,7 +177,17 @@ def _generate_job_workunits( DataTransformClass( queryStatement=QueryStatementClass( value=procedure.procedure_definition, - language=procedure.language, + language=( + QueryLanguageClass.SQL + if procedure.language == "SQL" + # The language field uses a pretty limited enum. + # The "UNKNOWN" enum value is pretty new, so we don't want to + # emit it until it has broader server-side support. As a + # short-term solution, we map all languages to "SQL". + # TODO: Once we've released server 1.1.0, we should change + # this to be "UNKNOWN" for all languages except "SQL". + else QueryLanguageClass.SQL + ), ), ) ] diff --git a/metadata-models/src/main/pegasus/com/linkedin/query/QueryStatement.pdl b/metadata-models/src/main/pegasus/com/linkedin/query/QueryStatement.pdl index 385ee88ecb..844362bc0d 100644 --- a/metadata-models/src/main/pegasus/com/linkedin/query/QueryStatement.pdl +++ b/metadata-models/src/main/pegasus/com/linkedin/query/QueryStatement.pdl @@ -17,5 +17,10 @@ record QueryStatement { * A SQL Query */ SQL + + /** + * Unknown query language + */ + UNKNOWN } = "SQL" } \ No newline at end of file