Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -121,3 +121,6 @@ pytest
Radix
Zod
Dependabot
pymssql
sqlserver
SQLServerLoader
6 changes: 4 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Multi-stage build: Start with Python 3.12 base
FROM python:3.12-bookworm AS python-base
FROM python:3.12-trixie AS python-base

# Main stage: Use FalkorDB base and copy Python 3.12
FROM falkordb/falkordb:latest
Expand All @@ -15,7 +15,9 @@ COPY --from=python-base /usr/local /usr/local

# Install netcat for wait loop in start.sh and system build tools needed for
# compiling Python wheels (g++, make, libc-dev)
RUN apt-get update && apt-get install -y --no-install-recommends \
RUN apt-get update && apt-get install -y --no-install-recommends libtinfo6 \
&& apt-get install -y --no-install-recommends \
bash \
netcat-openbsd \
git \
build-essential \
Expand Down
4 changes: 4 additions & 0 deletions api/core/schema_loader.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
from api.loaders.postgres_loader import PostgresLoader
from api.loaders.mysql_loader import MySQLLoader
from api.loaders.snowflake_loader import SnowflakeLoader
from api.loaders.sqlserver_loader import SQLServerLoader

# Use the same delimiter as in the JavaScript frontend for streaming chunks
MESSAGE_DELIMITER = "|||FALKORDB_MESSAGE_BOUNDARY|||"
Expand Down Expand Up @@ -48,6 +49,9 @@ def _step_detect_db_type(steps_counter: int, url: str) -> tuple[type[BaseLoader]
elif url.startswith("snowflake://"):
db_type = "snowflake"
loader = SnowflakeLoader
elif url.startswith("sqlserver://"):
db_type = "sqlserver"
loader = SQLServerLoader
else:
raise InvalidArgumentError("Invalid database URL format")

Expand Down
3 changes: 3 additions & 0 deletions api/core/text2sql.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
from api.loaders.postgres_loader import PostgresLoader
from api.loaders.mysql_loader import MySQLLoader
from api.loaders.snowflake_loader import SnowflakeLoader
from api.loaders.sqlserver_loader import SQLServerLoader
from api.memory.graphiti_tool import MemoryTool
from api.sql_utils import SQLIdentifierQuoter, DatabaseSpecificQuoter

Expand Down Expand Up @@ -87,6 +88,8 @@ def get_database_type_and_loader(db_url: str):
return 'mysql', MySQLLoader
if db_url_lower.startswith('snowflake://'):
return 'snowflake', SnowflakeLoader
if db_url_lower.startswith('sqlserver://'):
return 'sqlserver', SQLServerLoader

# Default to PostgresLoader for backward compatibility
return 'postgresql', PostgresLoader
Expand Down
Loading