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 GitHub
parent 80ca41f8d2
commit 44bbfc1473
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

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"""