Sanitize workspace name used as Cassandra keyspace (#1043) (#1053)

This commit is contained in:
01AtharvR 2026-07-20 15:04:24 +05:30 committed by Cyber MacGeddon
parent 80ef18a0be
commit 6d51773e00

View file

@ -2,7 +2,7 @@
import datetime
import os
import logging
import re
from cassandra.cluster import Cluster
from cassandra.auth import PlainTextAuthProvider
from cassandra.query import BatchStatement, SimpleStatement
@ -548,7 +548,7 @@ class EntityCentricKnowledgeGraph:
if hosts is None:
hosts = ["localhost"]
self.keyspace = keyspace
self.keyspace = self.sanitize_name(keyspace)
self.replication_factor = replication_factor
self.username = username
@ -572,6 +572,13 @@ class EntityCentricKnowledgeGraph:
self.init()
self.prepare_statements()
def sanitize_name(self, name: str) -> str:
"""Sanitize names for Cassandra compatibility"""
safe_name = re.sub(r'[^a-zA-Z0-9_]', '_', name)
if safe_name and not safe_name[0].isalpha():
safe_name = 'r_' + safe_name
return safe_name.lower()
def clear(self):
self.session.execute(f"""