From 6dc2bb24d29169365f39eba554de860e31b1fb3b Mon Sep 17 00:00:00 2001 From: Juan Carlos Jose Camacho Date: Tue, 23 Apr 2024 11:42:23 -0600 Subject: [PATCH] [DH-5756] Raise an error when sql is not valid --- dataherald/api/types/requests.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/dataherald/api/types/requests.py b/dataherald/api/types/requests.py index fcb90348..32488af9 100644 --- a/dataherald/api/types/requests.py +++ b/dataherald/api/types/requests.py @@ -1,4 +1,5 @@ -from pydantic import BaseModel +from pydantic import BaseModel, validator +from sql_metadata import Parser from dataherald.types import LLMConfig @@ -17,6 +18,14 @@ class SQLGenerationRequest(BaseModel): sql: str | None metadata: dict | None + @validator("sql") + def validate_model_name(cls, v: str | None): + try: + Parser(v).tables # noqa: B018 + except Exception as e: + raise ValueError(f"SQL {v} is malformed. Please check the syntax.") from e + return v + class StreamSQLGenerationRequest(BaseModel): finetuning_id: str | None