Build any, all, contains requests
Build all One commands.
build_all(command, sqle)
Build an all request.
Parameters: |
|
---|
Returns: |
|
---|
Exceptions: |
|
---|
Source code in py_linq_sql/build_request/one.py
def build_all(command: Command, sqle: SQLEnumerableData) -> str:
"""
Build an all request.
Args:
command: Command to build.
sqle: SQLEnumerable with connection, flags, list of commands and a table.
Returns:
Request to execute.
Raises:
psycopg.Error: Indirect raise by `get_predicates_as_str`.
TableError: Indirect raise by `get_predicates_as_str`.
TypeError: Indirect raise by `get_predicates_as_str`.
TypeOperatorError: Indirect raise by `get_predicates_as_str`.
"""
fquery = command.args.fquery
result = [f"SELECT CASE WHEN ((SELECT COUNT(*) FROM {sqle.table} WHERE"]
get_predicates_as_str(result, fquery, sqle)
result.append(
f") = (SELECT COUNT(*) FROM {sqle.table})) THEN 1 ELSE 0 END FROM {sqle.table}",
)
return " ".join(result)
build_any(command, sqle)
Build an any request.
Parameters: |
|
---|
Returns: |
|
---|
Exceptions: |
|
---|
Source code in py_linq_sql/build_request/one.py
def build_any(command: Command, sqle: SQLEnumerableData) -> str:
"""
Build an any request.
Args:
command: Command to build.
sqle: SQLEnumerable with connection, flags, list of commands and a table.
Returns:
Request to execute.
Raises:
psycopg.Error: Indirect raise by `get_predicates_as_str`.
TableError: Indirect raise by `get_predicates_as_str`.
TypeError: Indirect raise by `get_predicates_as_str`.
TypeOperatorError: Indirect raise by `get_predicates_as_str`.
"""
fquery = command.args.fquery
result = [f"SELECT * FROM {sqle.table}"]
if not fquery:
return result[0]
result.append("WHERE")
get_predicates_as_str(result, fquery, sqle)
return " ".join(result)
build_contains(command, sqle)
Build an contains request.
Parameters: |
|
---|
Returns: |
|
---|
Exceptions: |
|
---|
Source code in py_linq_sql/build_request/one.py
def build_contains(command: Command, sqle: SQLEnumerableData) -> str:
"""
Build an contains request.
Args:
command: Command to build.
sqle: SQLEnumerable with connection, flags, list of commands and a table.
Returns:
Request to execute.
Raises:
psycopg.Error: Indirect raise by `build_any`.
TableError: Indirect raise by `build_any`.
TypeError: Indirect raise by `build_any`.
TypeOperatorError: Indirect raise by `build_any`.
ValueError: Indirect raise by `_contains_dict`.
"""
fquery = command.args.fquery
match fquery:
case dict():
return _contains_dict(sqle, fquery)
case _:
return build_any(command, sqle)