mirror of
https://github.com/hanzo-ds/connect.git
synced 2026-10-30 20:31:24 +00:00
Imports read `datastore_connect`, distribution `datastore-connect`, so nothing has to import another product's name to talk to Hanzo Datastore. Cut from upstream 0.8.17 — the version this stack already ran — rather than from upstream HEAD, so it is a PURE RENAME with no behaviour change. Forking from HEAD would have dragged versions along with the name (connect alone jumped 0.8.17 -> 1.6.0, a major), which is a different and much riskier change wearing a rename's clothes. X-ClickHouse-* headers are untouched: they are wire protocol the server sends and expects, and a different token shape from the module name.
16 lines
461 B
Python
16 lines
461 B
Python
from typing import Optional
|
|
|
|
from sqlalchemy import Table
|
|
|
|
from datastore_connect.driver.binding import quote_identifier
|
|
|
|
|
|
def full_table(table_name: str, schema: Optional[str] = None) -> str:
|
|
if table_name.startswith('(') or '.' in table_name or not schema:
|
|
return quote_identifier(table_name)
|
|
return f'{quote_identifier(schema)}.{quote_identifier(table_name)}'
|
|
|
|
|
|
def format_table(table: Table):
|
|
return full_table(table.name, table.schema)
|