Skip to content

Commit 372ffbd

Browse files
committed
fix: update remaining private calls
1 parent a0cd2d3 commit 372ffbd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+508
-553
lines changed

sqlspec/_sql.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -724,16 +724,15 @@ def raw(sql_fragment: str, **parameters: Any) -> "Union[exp.Expression, SQL]":
724724
if not parameters:
725725
try:
726726
parsed: exp.Expression = exp.maybe_parse(sql_fragment)
727-
return parsed
728727
except Exception as e:
729728
msg = f"Failed to parse raw SQL fragment '{sql_fragment}': {e}"
730729
raise SQLBuilderError(msg) from e
730+
return parsed
731731

732732
return SQL(sql_fragment, parameters)
733733

734-
@staticmethod
735734
def count(
736-
column: Union[str, exp.Expression, "ExpressionWrapper", "Case", "Column"] = "*", distinct: bool = False
735+
self, column: Union[str, exp.Expression, "ExpressionWrapper", "Case", "Column"] = "*", distinct: bool = False
737736
) -> AggregateExpression:
738737
"""Create a COUNT expression.
739738
@@ -747,7 +746,7 @@ def count(
747746
if isinstance(column, str) and column == "*":
748747
expr = exp.Count(this=exp.Star(), distinct=distinct)
749748
else:
750-
col_expr = SQLFactory._extract_expression(column)
749+
col_expr = self._extract_expression(column)
751750
expr = exp.Count(this=col_expr, distinct=distinct)
752751
return AggregateExpression(expr)
753752

sqlspec/adapters/adbc/driver.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -521,9 +521,7 @@ def _execute_many(self, cursor: "Cursor", statement: SQL) -> "ExecutionResult":
521521

522522
try:
523523
if not prepared_parameters:
524-
# TODO: Replace with proper cursor protocol method
525-
if hasattr(cursor, "_rowcount"):
526-
cursor._rowcount = 0
524+
cursor._rowcount = 0 # pyright: ignore[reportPrivateUsage]
527525
row_count = 0
528526
elif isinstance(prepared_parameters, list) and prepared_parameters:
529527
processed_params = []

sqlspec/adapters/psycopg/config.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -173,8 +173,7 @@ def _close_pool(self) -> None:
173173
logger.info("Closing Psycopg connection pool", extra={"adapter": "psycopg"})
174174

175175
try:
176-
if hasattr(self.pool_instance, "_closed"):
177-
self.pool_instance._closed = True
176+
self.pool_instance._closed = True # pyright: ignore[reportPrivateUsage]
178177

179178
self.pool_instance.close()
180179
logger.info("Psycopg connection pool closed successfully", extra={"adapter": "psycopg"})
@@ -350,8 +349,7 @@ async def _close_pool(self) -> None:
350349
return
351350

352351
try:
353-
if hasattr(self.pool_instance, "_closed"):
354-
self.pool_instance._closed = True
352+
self.pool_instance._closed = True # pyright: ignore[reportPrivateUsage]
355353

356354
await self.pool_instance.close()
357355
finally:

sqlspec/builder/_parsing_utils.py

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,27 @@
1818
)
1919

2020

21+
def extract_column_name(column: Union[str, exp.Column]) -> str:
22+
"""Extract column name from column expression for parameter naming.
23+
24+
Args:
25+
column: Column expression (string or SQLGlot Column)
26+
27+
Returns:
28+
Column name as string for use as parameter name
29+
"""
30+
if isinstance(column, str):
31+
if "." in column:
32+
return column.split(".")[-1]
33+
return column
34+
if isinstance(column, exp.Column):
35+
try:
36+
return str(column.this.this)
37+
except AttributeError:
38+
return str(column.this) if column.this else "column"
39+
return "column"
40+
41+
2142
def parse_column_expression(
2243
column_input: Union[str, exp.Expression, Any], builder: Optional[Any] = None
2344
) -> exp.Expression:
@@ -139,9 +160,7 @@ def parse_condition_expression(
139160
if value is None:
140161
return exp.Is(this=column_expr, expression=exp.null())
141162
if builder and has_parameter_builder(builder):
142-
from sqlspec.builder.mixins._where_clause import _extract_column_name
143-
144-
column_name = _extract_column_name(column)
163+
column_name = extract_column_name(column)
145164
param_name = builder.generate_unique_parameter_name(column_name)
146165
_, param_name = builder.add_parameter(value, name=param_name)
147166
return exp.EQ(this=column_expr, expression=exp.Placeholder(this=param_name))

sqlspec/builder/_update.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ def join(
131131
subquery_exp = exp.paren(exp.maybe_parse(subquery.sql, dialect=self.dialect))
132132
table_expr = exp.alias_(subquery_exp, alias) if alias else subquery_exp
133133

134-
subquery_parameters = table._parameters
134+
subquery_parameters = table.parameters
135135
if subquery_parameters:
136136
for p_name, p_value in subquery_parameters.items():
137137
self.add_parameter(p_value, name=p_name)

sqlspec/builder/mixins/_cte_and_set_ops.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# pyright: reportPrivateUsage=false
12
"""CTE and set operation mixins.
23
34
Provides mixins for Common Table Expressions (WITH clause) and

sqlspec/builder/mixins/_delete_operations.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# pyright: reportPrivateUsage=false
12
"""DELETE operation mixins.
23
34
Provides mixins for DELETE statement functionality including

sqlspec/builder/mixins/_insert_operations.py

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# pyright: reportPrivateUsage=false
12
"""INSERT operation mixins.
23
34
Provides mixins for INSERT statement functionality including
@@ -137,8 +138,8 @@ def values(self, *values: Any, **kwargs: Any) -> Self:
137138
msg = "Cannot mix positional values with keyword values."
138139
raise SQLBuilderError(msg)
139140
try:
140-
_columns = self._columns
141-
if not _columns:
141+
cols = self._columns
142+
if not cols:
142143
self.columns(*kwargs.keys())
143144
except AttributeError:
144145
pass
@@ -156,8 +157,8 @@ def values(self, *values: Any, **kwargs: Any) -> Self:
156157
elif len(values) == 1 and hasattr(values[0], "items"):
157158
mapping = values[0]
158159
try:
159-
_columns = self._columns
160-
if not _columns:
160+
cols = self._columns
161+
if not cols:
161162
self.columns(*mapping.keys())
162163
except AttributeError:
163164
pass
@@ -174,9 +175,9 @@ def values(self, *values: Any, **kwargs: Any) -> Self:
174175
row_exprs.append(exp.Placeholder(this=param_name))
175176
else:
176177
try:
177-
_columns = self._columns
178-
if _columns and len(values) != len(_columns):
179-
msg = f"Number of values ({len(values)}) does not match the number of specified columns ({len(_columns)})."
178+
cols = self._columns
179+
if cols and len(values) != len(cols):
180+
msg = f"Number of values ({len(values)}) does not match the number of specified columns ({len(cols)})."
180181
raise SQLBuilderError(msg)
181182
except AttributeError:
182183
pass
@@ -186,11 +187,9 @@ def values(self, *values: Any, **kwargs: Any) -> Self:
186187
row_exprs.append(v)
187188
else:
188189
try:
189-
_columns = self._columns
190-
if _columns and i < len(_columns):
191-
column_name = (
192-
str(_columns[i]).split(".")[-1] if "." in str(_columns[i]) else str(_columns[i])
193-
)
190+
cols = self._columns
191+
if cols and i < len(cols):
192+
column_name = str(cols[i]).split(".")[-1] if "." in str(cols[i]) else str(cols[i])
194193
param_name = self._generate_unique_parameter_name(column_name)
195194
else:
196195
param_name = self._generate_unique_parameter_name(f"value_{i + 1}")

sqlspec/builder/mixins/_join_operations.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# pyright: reportPrivateUsage=false
12
"""JOIN operation mixins.
23
34
Provides mixins for JOIN operations in SELECT statements.

sqlspec/builder/mixins/_merge_operations.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# pyright: reportPrivateUsage=false
12
"""MERGE operation mixins.
23
34
Provides mixins for MERGE statement functionality including INTO,

0 commit comments

Comments
 (0)