Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
sarus_sql / sarus_sql / engine / utils.py
Size: Mime:
from typing import Any


from sarus_sql.dialects import SQLDialect
from sarus_sql.engine import SQLEngine


def engine_from_dialect(dialect: SQLDialect) -> Any:
    """return an SQLEngine (a smartnoise noition of dialect)
    from a dialect (a sarus_sql noition of dialect).

    For the moment we support 3 SQLEngines:
        BIG_QUERY, SQL_SERVER and POSTGRES.
    if dialect outside these 3, SQLEngine.POSTGRES is returned

    Returns:
        SQLEngine:
    """
    if dialect == SQLDialect.BIG_QUERY:
        return SQLEngine.BIG_QUERY
    elif dialect == SQLDialect.SQL_SERVER:
        return SQLEngine.SQL_SERVER
    else:
        return SQLEngine.POSTGRES


def dialect_from_engine(engine: SQLEngine) -> SQLDialect:
    """returns an st.SQLDialect (a sarus_sql noition of dialect)
    from an SQLEngine (a smartnoise noition of dialect).

    For the moment we support 3 SQLEngines:
        BIG_QUERY, SQL_SERVER and POSTGRES.
    if dialect outside these 3, st.SQLDialect.POSTGRES is returned

    known dialects:
        POSTGRES
        SQL_SERVER
        MY_SQL
        SQLLITE
        ORACLE
        BIG_QUERY
        REDSHIFT

    Returns:
        SQLEngine:
    """

    if engine == SQLEngine.BIG_QUERY:
        return SQLDialect.BIG_QUERY
    elif engine == SQLEngine.SQL_SERVER:
        return SQLDialect.SQL_SERVER
    else:
        return SQLDialect.POSTGRES