Skip to content

Commit

Permalink
updates from other projects
Browse files Browse the repository at this point in the history
  • Loading branch information
klahnakoski committed Mar 11, 2024
1 parent b4d8283 commit 84cfdd6
Show file tree
Hide file tree
Showing 17 changed files with 42 additions and 23 deletions.
5 changes: 3 additions & 2 deletions mo_sqlite/expressions/_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,11 @@
from jx_base.expressions import FalseOp, NullOp, TrueOp
from mo_future import extend, decorate
from mo_logs import Log
from mo_sqlite.expressions.sql_script import SqlScript, SQLang
from mo_sqlite.expressions.sql_script import SqlScript, SQLang, SQL
from mo_sqlite.utils import SQL_NULL, SQL_TRUE, SQL_FALSE, TYPE_CHECK

__all__ = ["check", "SQLang", "SqlScript"]

__all__ = ["check", "SQLang", "SqlScript", "SQL"]


def check(func):
Expand Down
4 changes: 2 additions & 2 deletions mo_sqlite/expressions/sql_add_op.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
# Contact: Kyle Lahnakoski (kyle@lahnakoski.com)
#
from jx_base.expressions import AddOp as _AddOp
from mo_sql import NO_SQL
from mo_sqlite.utils import SQL_ADD, SQL
from mo_sql import NO_SQL, SQL_ADD
from mo_sqlite.expressions._utils import SQL


class AddOp(_AddOp, SQL):
Expand Down
3 changes: 2 additions & 1 deletion mo_sqlite/expressions/sql_alias_op.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
# Contact: Kyle Lahnakoski (kyle@lahnakoski.com)
#
from jx_base.expressions import SqlAliasOp as _SqlAliasOp
from mo_sql import SQL, SQL_AS
from mo_sqlite.expressions._utils import SQL
from mo_sql import SQL_AS
from mo_sql import SQL_OP, SQL_CP
from mo_sqlite.utils import quote_column

Expand Down
5 changes: 2 additions & 3 deletions mo_sqlite/expressions/sql_and_op.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,9 @@
from jx_base.expressions import SqlAndOp as _SqlAndOp
from mo_json import JX_BOOLEAN
from mo_sql import NO_SQL, SQL_LP, SQL_RP, SQL_AND, SQL

# from mo_sqlite.expressions.sql_script import SQLang, SqlScript
from mo_sqlite.expressions.sql_not_op import NotOp as SqlNotOp
from mo_sqlite.expressions.sql_or_op import SqlOrOp
from mo_sqlite.expressions.sql_script import SqlScript, SQLang


class SqlAndOp(_SqlAndOp, SQL):
Expand Down Expand Up @@ -77,7 +76,7 @@ def partial_eval(self, lang):
elif len(and_terms) == 1:
return and_terms[0]
else:
return lang.SqlAndOp(*and_terms, nulls=self.decisive)
return lang.SqlAndOp(*and_terms)

return SqlOrOp(
*(lang.AndOp(*and_terms) if len(and_terms) > 1 else and_terms[0] for and_terms in or_terms)
Expand Down
5 changes: 5 additions & 0 deletions mo_sqlite/expressions/sql_case_op.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
from jx_base import NULL, TRUE, FALSE, is_op
from jx_base.expressions import CaseOp as _CaseOp, ZERO, is_literal
from jx_base.expressions import WhenOp as _WhenOp
from mo_imports import export
from mo_json import JX_BOOLEAN
from mo_sql import (
SQL_CASE,
Expand Down Expand Up @@ -81,3 +82,7 @@ def partial_eval(self, lang):
if len(whens) == 0:
return _else
return lang.CaseOp(*whens, _else=_else)


export("mo_sqlite.expressions.sql_script", "SqlCaseOp", CaseOp)
export("mo_sqlite.expressions.sql_script", "SqlWhenOp", WhenOp)
3 changes: 2 additions & 1 deletion mo_sqlite/expressions/sql_coalesce_op.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
# Contact: Kyle Lahnakoski (kyle@lahnakoski.com)
#
from jx_base.expressions import CoalesceOp as _CoalesceOp, is_literal, NULL
from mo_sql import SQL, sql_call
from mo_sqlite.expressions._utils import SQL
from mo_sql import sql_call


class CoalesceOp(_CoalesceOp, SQL):
Expand Down
4 changes: 2 additions & 2 deletions mo_sqlite/expressions/sql_inner_join_op.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
#

from jx_base.expressions import SqlInnerJoinOp as _SqlInnerJoinOp
from mo_sqlite.utils import SQL, SQL_INNER_JOIN, SQL_ON

from mo_sql import SQL_INNER_JOIN, SQL_ON
from mo_sqlite.expressions._utils import SQL

class SqlInnerJoinOp(_SqlInnerJoinOp, SQL):
def __iter__(self):
Expand Down
3 changes: 2 additions & 1 deletion mo_sqlite/expressions/sql_instr_op.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
from jx_base.expressions import SqlInstrOp as _SqlInstrOp, FALSE
from jx_base.expressions._utils import simplified
from mo_json import JX_INTEGER
from mo_sql import SQL, sql_call
from mo_sqlite.expressions._utils import SQL
from mo_sql import sql_call
from mo_sqlite.expressions._utils import SQLang
from mo_sqlite.expressions.sql_script import SqlScript

Expand Down
2 changes: 1 addition & 1 deletion mo_sqlite/expressions/sql_is_null_op.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#
from jx_base.expressions import SqlIsNullOp as _SqlIsNullOp
from mo_sql import SQL_IS_NULL, sql_iso
from mo_sqlite.utils import SQL
from mo_sqlite.expressions._utils import SQL


class SqlIsNullOp(_SqlIsNullOp, SQL):
Expand Down
3 changes: 2 additions & 1 deletion mo_sqlite/expressions/sql_literal.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
#
from jx_base.expressions import Literal as SqlLiteral
from mo_future import extend
from mo_sql import SQL, SQL_EMPTY_STRING
from mo_sqlite.expressions._utils import SQL
from mo_sql import SQL_EMPTY_STRING
from mo_sqlite.utils import quote_value


Expand Down
2 changes: 1 addition & 1 deletion mo_sqlite/expressions/sql_not_op.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#
from jx_base.expressions import NotOp as _NotOp
from mo_sql import SQL_NOT, SQL_OP, SQL_CP
from mo_sqlite.utils import SQL
from mo_sqlite.expressions._utils import SQL


class NotOp(_NotOp, SQL):
Expand Down
2 changes: 1 addition & 1 deletion mo_sqlite/expressions/sql_or_op.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
from jx_base import FALSE, TRUE, NULL, is_op
from jx_base.expressions import SqlOrOp as _SqlOrOp
from mo_sql import NO_SQL, SQL_OR, SQL_OP, SQL_CP
from mo_sqlite.utils import SQL
from mo_sqlite.expressions._utils import SQL


class SqlOrOp(_SqlOrOp, SQL):
Expand Down
14 changes: 12 additions & 2 deletions mo_sqlite/expressions/sql_script.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,25 @@
from jx_base.expressions._utils import TYPE_CHECK
from jx_base.expressions.sql_not_op import SqlNotOp
from jx_base.expressions.variable import is_variable
from mo_sqlite.expressions.sql_case_op import CaseOp as SqlCaseOp, WhenOp as SqlWhenOp
from jx_base.language import is_op, Expression, Language
from mo_future import extend
from mo_imports import expect
from mo_json import JxType
from mo_logs import Log, logger
from mo_sql import SQL, SQL_CASE, SQL_END, SQL_NULL, SQL_THEN, SQL_WHEN, ConcatSQL, sql_iso, SQL_NOT, SQL_OP, SQL_CP
from mo_sql import SQL
from mo_sql import SQL_CASE, SQL_END, SQL_NULL, SQL_THEN, SQL_WHEN, SQL_NOT, SQL_OP, SQL_CP

SqlCaseOp, SqlWhenOp = expect("SqlCaseOp", "SqlWhenOp")


SQLang = Language("SQLang")


@extend(SQL)
def to_sql(self, schema):
return SqlScript(jx_type=self.jx_type, expr=self, frum=self, schema=schema)


class SqlScript(_SqlScript, SQL):
"""
DESCRIBE AN UNSTRUCTURED SQL SCRIPT
Expand Down
3 changes: 2 additions & 1 deletion mo_sqlite/expressions/sql_select_op.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
from jx_base.language import is_expression, is_op, Expression
from mo_json import union_type
from mo_sqlite.expressions.sql_alias_op import SqlAliasOp
from mo_sqlite.utils import SQL_SELECT, sql_iso, SQL_FROM, SQL, quote_column, TYPE_CHECK
from mo_sqlite.utils import SQL_SELECT, sql_iso, SQL_FROM, quote_column, TYPE_CHECK
from mo_sqlite.expressions._utils import SQL


class SqlSelectOp(_SqlSelectOp, SQL):
Expand Down
3 changes: 2 additions & 1 deletion mo_sqlite/expressions/sql_substr_op.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
# Contact: Kyle Lahnakoski (kyle@lahnakoski.com)
#
from jx_base.expressions import NULL, SqlSubstrOp as _SqlSubstrOp, is_literal
from mo_sql import SQL, SQL_OP, SQL_CP
from mo_sqlite.expressions._utils import SQL
from mo_sql import SQL_OP, SQL_CP
from mo_sqlite.expressions._utils import SQLang


Expand Down
3 changes: 1 addition & 2 deletions mo_sqlite/expressions/sql_variable.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@
# Contact: Kyle Lahnakoski (kyle@lahnakoski.com)
#
from jx_base.expressions import SqlVariable as _SqlVariable
from mo_sqlite.expressions._utils import SQLang, SqlScript
from mo_sql import SQL
from mo_sqlite.expressions._utils import SQLang, SqlScript, SQL
from mo_sqlite.utils import quote_column


Expand Down
1 change: 0 additions & 1 deletion mo_sqlite/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,6 @@ def sql_insert(table, records):
sql_list(sql_iso(sql_list([quote_value(r[k]) for k in keys])) for r in records),
)


BEGIN = "BEGIN"
COMMIT = "COMMIT"
ROLLBACK = "ROLLBACK"

0 comments on commit 84cfdd6

Please sign in to comment.