in nl2sql/datasets/base.py [0:0]
def id_structure(cls, ids: list[str]) -> list[str]:
"""
Validates incoming IDs
"""
for curr_id in ids:
assert curr_id != "*.*.*", '"*.*.*" is not allowed'
assert (
len(id_parts := curr_id.split(".")) == 3
), f"Malformed Entity ID {curr_id}"
for id_part, part_type in zip(id_parts, ["database", "table", "column"]):
assert id_part == "*" or re.match(
"^[a-zA-Z0-9_-]+$", id_part
), f"Malformed {part_type} '{id_part}' in {curr_id}"
return ids