ValidateDefiningSQL API

The ValidateDefiningSQL API is an endpoint used to validate definingSQL in Synapse, such as for the MaterializedView or VirtualTable definingSQL fields. Note: in order to validate definingSQL, the specific definingSQLEntityType must be known.

 

ValidateDefiningSQL Request Body

{ "title": "DefiningSQLValidationObject", "description": "The request body for validateDefiningSql", "properties": { "definingSQL": { "type": "string", "description": "The synapse SQL statement that defines the data in the table." }, "entityType": { "$ref": "org.sagebionetworks.repo.model.table.DefiningSqlEntityType", "description": "Which type of entity is this definingSQL for." } } }

 

ValidateDefiningSQL Response Body

{ "title": "DefiningSqlValidationResponse", "description": "The response body from validateDefiningSql", "properties": { "isValid": { "type": "boolean", "description": "True if the provided SQL is valid, false otherwise." }, "invalidReason": { "type": "string", "description": "If the definingSQL is invalid, this will contain a string describing why it is invalid. Otherwise, this will be null." } } }

 

DefiningSqlEntityType.json

{ "description": "Type of the entity containing definingSQL", "type": "string", "enum": [ { "name": "materializedview", "description": "A materialized view is a view whose content is defined by a Synapse SQL query and it is persisted as a synapse table." }, { "name": "virtualtable", "description": "A virtual table is represents the results of Synapse SQL query. The results are not persisted and the query is run each time the virtual table is queried." } ] }

 

HTTP Types

URL

HTTP Method

Description

Request Object

Response

URL

HTTP Method

Description

Request Object

Response

/validateDefiningSql

POST

Validate the definingSQL that is included in the request body.

DefiningSQLValidationObject

DefiningSQLValidationResponse