diff --git a/mssql_python/__init__.py b/mssql_python/__init__.py index 390cc88a..779cc312 100644 --- a/mssql_python/__init__.py +++ b/mssql_python/__init__.py @@ -293,6 +293,221 @@ def _cleanup_connections(): SQL_IC_MIXED, ) +__all__ = [ + # Exception classes + "Warning", + "Error", + "InterfaceError", + "DatabaseError", + "DataError", + "OperationalError", + "IntegrityError", + "InternalError", + "ProgrammingError", + "NotSupportedError", + "ConnectionStringParseError", + # Type objects and functions + "Date", + "Time", + "Timestamp", + "DateFromTicks", + "TimeFromTicks", + "TimestampFromTicks", + "Binary", + "STRING", + "BINARY", + "NUMBER", + "DATETIME", + "ROWID", + # Connection and cursor classes + "connect", + "Connection", + "Cursor", + "Row", + # Settings + "Settings", + "get_settings", + # Logging + "logger", + "setup_logging", + "driver_logger", + # Decimal functions + "setDecimalSeparator", + "getDecimalSeparator", + # Pooling + "pooling", + "PoolingManager", + # Constants - Enum classes + "AuthType", + "SQLTypes", + "get_info_constants", + # SQL Type constants + "SQL_CHAR", + "SQL_VARCHAR", + "SQL_LONGVARCHAR", + "SQL_WCHAR", + "SQL_WVARCHAR", + "SQL_WLONGVARCHAR", + "SQL_DECIMAL", + "SQL_NUMERIC", + "SQL_BIT", + "SQL_TINYINT", + "SQL_SMALLINT", + "SQL_INTEGER", + "SQL_BIGINT", + "SQL_REAL", + "SQL_FLOAT", + "SQL_DOUBLE", + "SQL_BINARY", + "SQL_VARBINARY", + "SQL_LONGVARBINARY", + "SQL_DATE", + "SQL_TIME", + "SQL_TIMESTAMP", + "SQL_TYPE_DATE", + "SQL_TYPE_TIME", + "SQL_TYPE_TIMESTAMP", + "SQL_GUID", + "SQL_XML", + # Connection attribute constants + "SQL_ATTR_ACCESS_MODE", + "SQL_ATTR_CONNECTION_TIMEOUT", + "SQL_ATTR_CURRENT_CATALOG", + "SQL_ATTR_LOGIN_TIMEOUT", + "SQL_ATTR_PACKET_SIZE", + "SQL_ATTR_TXN_ISOLATION", + # Transaction isolation levels + "SQL_TXN_READ_UNCOMMITTED", + "SQL_TXN_READ_COMMITTED", + "SQL_TXN_REPEATABLE_READ", + "SQL_TXN_SERIALIZABLE", + # Access modes + "SQL_MODE_READ_WRITE", + "SQL_MODE_READ_ONLY", + # Special constants + "SQL_WMETADATA", + # GetInfo constants + "SQL_DRIVER_NAME", + "SQL_DRIVER_VER", + "SQL_DRIVER_ODBC_VER", + "SQL_DRIVER_HLIB", + "SQL_DRIVER_HENV", + "SQL_DRIVER_HDBC", + "SQL_DATA_SOURCE_NAME", + "SQL_DATABASE_NAME", + "SQL_SERVER_NAME", + "SQL_USER_NAME", + "SQL_SQL_CONFORMANCE", + "SQL_KEYWORDS", + "SQL_IDENTIFIER_CASE", + "SQL_IDENTIFIER_QUOTE_CHAR", + "SQL_SPECIAL_CHARACTERS", + "SQL_SQL92_ENTRY_SQL", + "SQL_SQL92_INTERMEDIATE_SQL", + "SQL_SQL92_FULL_SQL", + "SQL_SUBQUERIES", + "SQL_EXPRESSIONS_IN_ORDERBY", + "SQL_CORRELATION_NAME", + "SQL_SEARCH_PATTERN_ESCAPE", + "SQL_CATALOG_TERM", + "SQL_CATALOG_NAME_SEPARATOR", + "SQL_SCHEMA_TERM", + "SQL_TABLE_TERM", + "SQL_PROCEDURES", + "SQL_ACCESSIBLE_TABLES", + "SQL_ACCESSIBLE_PROCEDURES", + "SQL_CATALOG_NAME", + "SQL_CATALOG_USAGE", + "SQL_SCHEMA_USAGE", + "SQL_COLUMN_ALIAS", + "SQL_DESCRIBE_PARAMETER", + "SQL_TXN_CAPABLE", + "SQL_TXN_ISOLATION_OPTION", + "SQL_DEFAULT_TXN_ISOLATION", + "SQL_MULTIPLE_ACTIVE_TXN", + "SQL_TXN_ISOLATION_LEVEL", + "SQL_NUMERIC_FUNCTIONS", + "SQL_STRING_FUNCTIONS", + "SQL_DATETIME_FUNCTIONS", + "SQL_SYSTEM_FUNCTIONS", + "SQL_CONVERT_FUNCTIONS", + "SQL_LIKE_ESCAPE_CLAUSE", + "SQL_MAX_COLUMN_NAME_LEN", + "SQL_MAX_TABLE_NAME_LEN", + "SQL_MAX_SCHEMA_NAME_LEN", + "SQL_MAX_CATALOG_NAME_LEN", + "SQL_MAX_IDENTIFIER_LEN", + "SQL_MAX_STATEMENT_LEN", + "SQL_MAX_CHAR_LITERAL_LEN", + "SQL_MAX_BINARY_LITERAL_LEN", + "SQL_MAX_COLUMNS_IN_TABLE", + "SQL_MAX_COLUMNS_IN_SELECT", + "SQL_MAX_COLUMNS_IN_GROUP_BY", + "SQL_MAX_COLUMNS_IN_ORDER_BY", + "SQL_MAX_COLUMNS_IN_INDEX", + "SQL_MAX_TABLES_IN_SELECT", + "SQL_MAX_CONCURRENT_ACTIVITIES", + "SQL_MAX_DRIVER_CONNECTIONS", + "SQL_MAX_ROW_SIZE", + "SQL_MAX_USER_NAME_LEN", + "SQL_ACTIVE_CONNECTIONS", + "SQL_ACTIVE_STATEMENTS", + "SQL_DATA_SOURCE_READ_ONLY", + "SQL_NEED_LONG_DATA_LEN", + "SQL_GETDATA_EXTENSIONS", + "SQL_CURSOR_COMMIT_BEHAVIOR", + "SQL_CURSOR_ROLLBACK_BEHAVIOR", + "SQL_CURSOR_SENSITIVITY", + "SQL_BOOKMARK_PERSISTENCE", + "SQL_DYNAMIC_CURSOR_ATTRIBUTES1", + "SQL_DYNAMIC_CURSOR_ATTRIBUTES2", + "SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1", + "SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2", + "SQL_STATIC_CURSOR_ATTRIBUTES1", + "SQL_STATIC_CURSOR_ATTRIBUTES2", + "SQL_KEYSET_CURSOR_ATTRIBUTES1", + "SQL_KEYSET_CURSOR_ATTRIBUTES2", + "SQL_SCROLL_OPTIONS", + "SQL_SCROLL_CONCURRENCY", + "SQL_FETCH_DIRECTION", + "SQL_ROWSET_SIZE", + "SQL_CONCURRENCY", + "SQL_ROW_NUMBER", + "SQL_STATIC_SENSITIVITY", + "SQL_BATCH_SUPPORT", + "SQL_BATCH_ROW_COUNT", + "SQL_PARAM_ARRAY_ROW_COUNTS", + "SQL_PARAM_ARRAY_SELECTS", + "SQL_PROCEDURE_TERM", + "SQL_POSITIONED_STATEMENTS", + "SQL_GROUP_BY", + "SQL_OJ_CAPABILITIES", + "SQL_ORDER_BY_COLUMNS_IN_SELECT", + "SQL_OUTER_JOINS", + "SQL_QUOTED_IDENTIFIER_CASE", + "SQL_CONCAT_NULL_BEHAVIOR", + "SQL_NULL_COLLATION", + "SQL_ALTER_TABLE", + "SQL_UNION", + "SQL_DDL_INDEX", + "SQL_MULT_RESULT_SETS", + "SQL_OWNER_USAGE", + "SQL_QUALIFIER_USAGE", + "SQL_TIMEDATE_ADD_INTERVALS", + "SQL_TIMEDATE_DIFF_INTERVALS", + "SQL_IC_UPPER", + "SQL_IC_LOWER", + "SQL_IC_SENSITIVE", + "SQL_IC_MIXED", + # API level globals + "apilevel", + "paramstyle", + "threadsafety", + # Module properties + "lowercase", + "native_uuid", +] + def pooling(max_size: int = 100, idle_timeout: int = 600, enabled: bool = True) -> None: """