From 24805a70c6924b4857e3cc16d91bc7d11c25ba66 Mon Sep 17 00:00:00 2001 From: Brian Schubert Date: Thu, 26 Feb 2026 21:38:24 -0500 Subject: [PATCH 1/3] Mark constants as `Final` --- stubs/ibm-db/ibm_db.pyi | 346 ++++++++++++++++++++-------------------- 1 file changed, 173 insertions(+), 173 deletions(-) diff --git a/stubs/ibm-db/ibm_db.pyi b/stubs/ibm-db/ibm_db.pyi index 685dc05245a5..142c869d3648 100644 --- a/stubs/ibm-db/ibm_db.pyi +++ b/stubs/ibm-db/ibm_db.pyi @@ -1,179 +1,179 @@ -from typing import Any, final, overload +from typing import Any, Final, final, overload from typing_extensions import Self -ATTR_CASE: int -CASE_LOWER: int -CASE_NATURAL: int -CASE_UPPER: int -PARAM_FILE: int -QUOTED_LITERAL_REPLACEMENT_OFF: int -QUOTED_LITERAL_REPLACEMENT_ON: int -SQL_API_SQLROWCOUNT: int -SQL_ATTR_AUTOCOMMIT: int -SQL_ATTR_CALL_RETURN: int -SQL_ATTR_CURRENT_SCHEMA: int -SQL_ATTR_CURSOR_TYPE: int -SQL_ATTR_INFO_ACCTSTR: int -SQL_ATTR_INFO_APPLNAME: int -SQL_ATTR_INFO_PROGRAMNAME: int -SQL_ATTR_INFO_USERID: int -SQL_ATTR_INFO_WRKSTNNAME: int -SQL_ATTR_PARAMSET_SIZE: int -SQL_ATTR_PARAM_BIND_TYPE: int -SQL_ATTR_QUERY_TIMEOUT: int -SQL_ATTR_ROWCOUNT_PREFETCH: int -SQL_ATTR_TRUSTED_CONTEXT_PASSWORD: int -SQL_ATTR_TRUSTED_CONTEXT_USERID: int -SQL_ATTR_TXN_ISOLATION: int -SQL_ATTR_USE_TRUSTED_CONTEXT: int -SQL_ATTR_XML_DECLARATION: int -SQL_AUTOCOMMIT_OFF: int -SQL_AUTOCOMMIT_ON: int -SQL_BIGINT: int -SQL_BINARY: int -SQL_BIT: int -SQL_BLOB: int -SQL_BLOB_LOCATOR: int -SQL_BOOLEAN: int -SQL_CHAR: int -SQL_CLOB: int -SQL_CLOB_LOCATOR: int -SQL_CURSOR_DYNAMIC: int -SQL_CURSOR_FORWARD_ONLY: int -SQL_CURSOR_KEYSET_DRIVEN: int -SQL_CURSOR_STATIC: int -SQL_DBCLOB: int -SQL_DBCLOB_LOCATOR: int -SQL_DBMS_NAME: int -SQL_DBMS_VER: int -SQL_DECFLOAT: int -SQL_DECIMAL: int -SQL_DOUBLE: int -SQL_FALSE: int -SQL_FLOAT: int -SQL_GRAPHIC: int -SQL_INDEX_CLUSTERED: int -SQL_INDEX_OTHER: int -SQL_INTEGER: int -SQL_LONGVARBINARY: int -SQL_LONGVARCHAR: int -SQL_LONGVARGRAPHIC: int -SQL_NUMERIC: int -SQL_PARAM_BIND_BY_COLUMN: int -SQL_PARAM_INPUT: int -SQL_PARAM_INPUT_OUTPUT: int -SQL_PARAM_OUTPUT: int -SQL_REAL: int -SQL_ROWCOUNT_PREFETCH_OFF: int -SQL_ROWCOUNT_PREFETCH_ON: int -SQL_SMALLINT: int -SQL_TABLE_STAT: int -SQL_TINYINT: int -SQL_TRUE: int -SQL_TXN_NO_COMMIT: int -SQL_TXN_READ_COMMITTED: int -SQL_TXN_READ_UNCOMMITTED: int -SQL_TXN_REPEATABLE_READ: int -SQL_TXN_SERIALIZABLE: int -SQL_TYPE_DATE: int -SQL_TYPE_TIME: int -SQL_TYPE_TIMESTAMP: int -SQL_VARBINARY: int -SQL_VARCHAR: int -SQL_VARGRAPHIC: int -SQL_WCHAR: int -SQL_WLONGVARCHAR: int -SQL_WVARCHAR: int -SQL_XML: int -USE_WCHAR: int -WCHAR_NO: int -WCHAR_YES: int +ATTR_CASE: Final[int] +CASE_LOWER: Final[int] +CASE_NATURAL: Final[int] +CASE_UPPER: Final[int] +PARAM_FILE: Final[int] +QUOTED_LITERAL_REPLACEMENT_OFF: Final[int] +QUOTED_LITERAL_REPLACEMENT_ON: Final[int] +SQL_API_SQLROWCOUNT: Final[int] +SQL_ATTR_AUTOCOMMIT: Final[int] +SQL_ATTR_CALL_RETURN: Final[int] +SQL_ATTR_CURRENT_SCHEMA: Final[int] +SQL_ATTR_CURSOR_TYPE: Final[int] +SQL_ATTR_INFO_ACCTSTR: Final[int] +SQL_ATTR_INFO_APPLNAME: Final[int] +SQL_ATTR_INFO_PROGRAMNAME: Final[int] +SQL_ATTR_INFO_USERID: Final[int] +SQL_ATTR_INFO_WRKSTNNAME: Final[int] +SQL_ATTR_PARAMSET_SIZE: Final[int] +SQL_ATTR_PARAM_BIND_TYPE: Final[int] +SQL_ATTR_QUERY_TIMEOUT: Final[int] +SQL_ATTR_ROWCOUNT_PREFETCH: Final[int] +SQL_ATTR_TRUSTED_CONTEXT_PASSWORD: Final[int] +SQL_ATTR_TRUSTED_CONTEXT_USERID: Final[int] +SQL_ATTR_TXN_ISOLATION: Final[int] +SQL_ATTR_USE_TRUSTED_CONTEXT: Final[int] +SQL_ATTR_XML_DECLARATION: Final[int] +SQL_AUTOCOMMIT_OFF: Final[int] +SQL_AUTOCOMMIT_ON: Final[int] +SQL_BIGINT: Final[int] +SQL_BINARY: Final[int] +SQL_BIT: Final[int] +SQL_BLOB: Final[int] +SQL_BLOB_LOCATOR: Final[int] +SQL_BOOLEAN: Final[int] +SQL_CHAR: Final[int] +SQL_CLOB: Final[int] +SQL_CLOB_LOCATOR: Final[int] +SQL_CURSOR_DYNAMIC: Final[int] +SQL_CURSOR_FORWARD_ONLY: Final[int] +SQL_CURSOR_KEYSET_DRIVEN: Final[int] +SQL_CURSOR_STATIC: Final[int] +SQL_DBCLOB: Final[int] +SQL_DBCLOB_LOCATOR: Final[int] +SQL_DBMS_NAME: Final[int] +SQL_DBMS_VER: Final[int] +SQL_DECFLOAT: Final[int] +SQL_DECIMAL: Final[int] +SQL_DOUBLE: Final[int] +SQL_FALSE: Final[int] +SQL_FLOAT: Final[int] +SQL_GRAPHIC: Final[int] +SQL_INDEX_CLUSTERED: Final[int] +SQL_INDEX_OTHER: Final[int] +SQL_INTEGER: Final[int] +SQL_LONGVARBINARY: Final[int] +SQL_LONGVARCHAR: Final[int] +SQL_LONGVARGRAPHIC: Final[int] +SQL_NUMERIC: Final[int] +SQL_PARAM_BIND_BY_COLUMN: Final[int] +SQL_PARAM_INPUT: Final[int] +SQL_PARAM_INPUT_OUTPUT: Final[int] +SQL_PARAM_OUTPUT: Final[int] +SQL_REAL: Final[int] +SQL_ROWCOUNT_PREFETCH_OFF: Final[int] +SQL_ROWCOUNT_PREFETCH_ON: Final[int] +SQL_SMALLINT: Final[int] +SQL_TABLE_STAT: Final[int] +SQL_TINYINT: Final[int] +SQL_TRUE: Final[int] +SQL_TXN_NO_COMMIT: Final[int] +SQL_TXN_READ_COMMITTED: Final[int] +SQL_TXN_READ_UNCOMMITTED: Final[int] +SQL_TXN_REPEATABLE_READ: Final[int] +SQL_TXN_SERIALIZABLE: Final[int] +SQL_TYPE_DATE: Final[int] +SQL_TYPE_TIME: Final[int] +SQL_TYPE_TIMESTAMP: Final[int] +SQL_VARBINARY: Final[int] +SQL_VARCHAR: Final[int] +SQL_VARGRAPHIC: Final[int] +SQL_WCHAR: Final[int] +SQL_WLONGVARCHAR: Final[int] +SQL_WVARCHAR: Final[int] +SQL_XML: Final[int] +USE_WCHAR: Final[int] +WCHAR_NO: Final[int] +WCHAR_YES: Final[int] -SQL_ATTR_ACCESS_MODE: int -SQL_ATTR_ALLOW_INTERLEAVED_GETDATA: int -SQL_ATTR_ANSI_APP: int -SQL_ATTR_APPEND_FOR_FETCH_ONLY: int -SQL_ATTR_APP_USES_LOB_LOCATOR: int -SQL_ATTR_ASYNC_ENABLE: int -SQL_ATTR_AUTO_IPD: int -SQL_ATTR_CACHE_USRLIBL: int -SQL_ATTR_CLIENT_APPLCOMPAT: int -SQL_ATTR_CLIENT_CODEPAGE: int -SQL_ATTR_COLUMNWISE_MRI: int -SQL_ATTR_COMMITONEOF: int -SQL_ATTR_CONCURRENT_ACCESS_RESOLUTION: int -SQL_ATTR_CONFIG_KEYWORDS_ARRAY_SIZE: int -SQL_ATTR_CONFIG_KEYWORDS_MAXLEN: int -SQL_ATTR_CONNECTION_DEAD: int -SQL_ATTR_CONNECTTYPE: int -SQL_ATTR_CONNECT_NODE: int -SQL_ATTR_CONNECT_PASSIVE: int -SQL_ATTR_CONN_CONTEXT: int -SQL_ATTR_CURRENT_CATALOG: int -SQL_ATTR_CURRENT_IMPLICIT_XMLPARSE_OPTION: int -SQL_ATTR_CURRENT_PACKAGE_PATH: int -SQL_ATTR_CURRENT_PACKAGE_SET: int -SQL_ATTR_DATE_FMT: int -SQL_ATTR_DATE_SEP: int -SQL_ATTR_DB2EXPLAIN: int -SQL_ATTR_DB2_APPLICATION_HANDLE: int -SQL_ATTR_DB2_APPLICATION_ID: int -SQL_ATTR_DB2_SQLERRP: int -SQL_ATTR_DECFLOAT_ROUNDING_MODE: int -SQL_ATTR_DECIMAL_SEP: int -SQL_ATTR_DESCRIBE_CALL: int -SQL_ATTR_DESCRIBE_OUTPUT_LEVEL: int -SQL_ATTR_DETECT_READ_ONLY_TXN: int -SQL_ATTR_ENLIST_IN_DTC: int -SQL_ATTR_EXTENDED_INDICATORS: int -SQL_ATTR_FET_BUF_SIZE: int -SQL_ATTR_FORCE_ROLLBACK: int -SQL_ATTR_FREE_LOCATORS_ON_FETCH: int -SQL_ATTR_GET_LATEST_MEMBER: int -SQL_ATTR_GET_LATEST_MEMBER_NAME: int -SQL_ATTR_IGNORE_SERVER_LIST: int -SQL_ATTR_INFO_CRRTKN: int -SQL_ATTR_INFO_PROGRAMID: int -SQL_ATTR_KEEP_DYNAMIC: int -SQL_ATTR_LOB_CACHE_SIZE: int -SQL_ATTR_LOB_FILE_THRESHOLD: int -SQL_ATTR_LOGIN_TIMEOUT: int -SQL_ATTR_LONGDATA_COMPAT: int -SQL_ATTR_MAPCHAR: int -SQL_ATTR_MAXBLKEXT: int -SQL_ATTR_MAX_LOB_BLOCK_SIZE: int -SQL_ATTR_NETWORK_STATISTICS: int -SQL_ATTR_OVERRIDE_CHARACTER_CODEPAGE: int -SQL_ATTR_OVERRIDE_CODEPAGE: int -SQL_ATTR_OVERRIDE_PRIMARY_AFFINITY: int -SQL_ATTR_PARC_BATCH: int -SQL_ATTR_PING_DB: int -SQL_ATTR_PING_NTIMES: int -SQL_ATTR_PING_REQUEST_PACKET_SIZE: int -SQL_ATTR_QUERY_PREFETCH: int -SQL_ATTR_QUIET_MODE: int -SQL_ATTR_READ_ONLY_CONNECTION: int -SQL_ATTR_RECEIVE_TIMEOUT: int -SQL_ATTR_REOPT: int -SQL_ATTR_REPORT_ISLONG_FOR_LONGTYPES_OLEDB: int -SQL_ATTR_REPORT_SEAMLESSFAILOVER_WARNING: int -SQL_ATTR_REPORT_TIMESTAMP_TRUNC_AS_WARN: int -SQL_ATTR_RETRYONERROR: int -SQL_ATTR_RETRY_ON_MERGE: int -SQL_ATTR_SERVER_MSGTXT_MASK: int -SQL_ATTR_SERVER_MSGTXT_SP: int -SQL_ATTR_SESSION_GLOBAL_VAR: int -SQL_ATTR_SESSION_TIME_ZONE: int -SQL_ATTR_SPECIAL_REGISTER: int -SQL_ATTR_SQLCOLUMNS_SORT_BY_ORDINAL_OLEDB: int -SQL_ATTR_STMT_CONCENTRATOR: int -SQL_ATTR_STREAM_GETDATA: int -SQL_ATTR_STREAM_OUTPUTLOB_ON_CALL: int -SQL_ATTR_TIME_FMT: int -SQL_ATTR_TIME_SEP: int -SQL_ATTR_TRUSTED_CONTEXT_ACCESSTOKEN: int -SQL_ATTR_USER_REGISTRY_NAME: int -SQL_ATTR_WCHARTYPE: int +SQL_ATTR_ACCESS_MODE: Final[int] +SQL_ATTR_ALLOW_INTERLEAVED_GETDATA: Final[int] +SQL_ATTR_ANSI_APP: Final[int] +SQL_ATTR_APPEND_FOR_FETCH_ONLY: Final[int] +SQL_ATTR_APP_USES_LOB_LOCATOR: Final[int] +SQL_ATTR_ASYNC_ENABLE: Final[int] +SQL_ATTR_AUTO_IPD: Final[int] +SQL_ATTR_CACHE_USRLIBL: Final[int] +SQL_ATTR_CLIENT_APPLCOMPAT: Final[int] +SQL_ATTR_CLIENT_CODEPAGE: Final[int] +SQL_ATTR_COLUMNWISE_MRI: Final[int] +SQL_ATTR_COMMITONEOF: Final[int] +SQL_ATTR_CONCURRENT_ACCESS_RESOLUTION: Final[int] +SQL_ATTR_CONFIG_KEYWORDS_ARRAY_SIZE: Final[int] +SQL_ATTR_CONFIG_KEYWORDS_MAXLEN: Final[int] +SQL_ATTR_CONNECTION_DEAD: Final[int] +SQL_ATTR_CONNECTTYPE: Final[int] +SQL_ATTR_CONNECT_NODE: Final[int] +SQL_ATTR_CONNECT_PASSIVE: Final[int] +SQL_ATTR_CONN_CONTEXT: Final[int] +SQL_ATTR_CURRENT_CATALOG: Final[int] +SQL_ATTR_CURRENT_IMPLICIT_XMLPARSE_OPTION: Final[int] +SQL_ATTR_CURRENT_PACKAGE_PATH: Final[int] +SQL_ATTR_CURRENT_PACKAGE_SET: Final[int] +SQL_ATTR_DATE_FMT: Final[int] +SQL_ATTR_DATE_SEP: Final[int] +SQL_ATTR_DB2EXPLAIN: Final[int] +SQL_ATTR_DB2_APPLICATION_HANDLE: Final[int] +SQL_ATTR_DB2_APPLICATION_ID: Final[int] +SQL_ATTR_DB2_SQLERRP: Final[int] +SQL_ATTR_DECFLOAT_ROUNDING_MODE: Final[int] +SQL_ATTR_DECIMAL_SEP: Final[int] +SQL_ATTR_DESCRIBE_CALL: Final[int] +SQL_ATTR_DESCRIBE_OUTPUT_LEVEL: Final[int] +SQL_ATTR_DETECT_READ_ONLY_TXN: Final[int] +SQL_ATTR_ENLIST_IN_DTC: Final[int] +SQL_ATTR_EXTENDED_INDICATORS: Final[int] +SQL_ATTR_FET_BUF_SIZE: Final[int] +SQL_ATTR_FORCE_ROLLBACK: Final[int] +SQL_ATTR_FREE_LOCATORS_ON_FETCH: Final[int] +SQL_ATTR_GET_LATEST_MEMBER: Final[int] +SQL_ATTR_GET_LATEST_MEMBER_NAME: Final[int] +SQL_ATTR_IGNORE_SERVER_LIST: Final[int] +SQL_ATTR_INFO_CRRTKN: Final[int] +SQL_ATTR_INFO_PROGRAMID: Final[int] +SQL_ATTR_KEEP_DYNAMIC: Final[int] +SQL_ATTR_LOB_CACHE_SIZE: Final[int] +SQL_ATTR_LOB_FILE_THRESHOLD: Final[int] +SQL_ATTR_LOGIN_TIMEOUT: Final[int] +SQL_ATTR_LONGDATA_COMPAT: Final[int] +SQL_ATTR_MAPCHAR: Final[int] +SQL_ATTR_MAXBLKEXT: Final[int] +SQL_ATTR_MAX_LOB_BLOCK_SIZE: Final[int] +SQL_ATTR_NETWORK_STATISTICS: Final[int] +SQL_ATTR_OVERRIDE_CHARACTER_CODEPAGE: Final[int] +SQL_ATTR_OVERRIDE_CODEPAGE: Final[int] +SQL_ATTR_OVERRIDE_PRIMARY_AFFINITY: Final[int] +SQL_ATTR_PARC_BATCH: Final[int] +SQL_ATTR_PING_DB: Final[int] +SQL_ATTR_PING_NTIMES: Final[int] +SQL_ATTR_PING_REQUEST_PACKET_SIZE: Final[int] +SQL_ATTR_QUERY_PREFETCH: Final[int] +SQL_ATTR_QUIET_MODE: Final[int] +SQL_ATTR_READ_ONLY_CONNECTION: Final[int] +SQL_ATTR_RECEIVE_TIMEOUT: Final[int] +SQL_ATTR_REOPT: Final[int] +SQL_ATTR_REPORT_ISLONG_FOR_LONGTYPES_OLEDB: Final[int] +SQL_ATTR_REPORT_SEAMLESSFAILOVER_WARNING: Final[int] +SQL_ATTR_REPORT_TIMESTAMP_TRUNC_AS_WARN: Final[int] +SQL_ATTR_RETRYONERROR: Final[int] +SQL_ATTR_RETRY_ON_MERGE: Final[int] +SQL_ATTR_SERVER_MSGTXT_MASK: Final[int] +SQL_ATTR_SERVER_MSGTXT_SP: Final[int] +SQL_ATTR_SESSION_GLOBAL_VAR: Final[int] +SQL_ATTR_SESSION_TIME_ZONE: Final[int] +SQL_ATTR_SPECIAL_REGISTER: Final[int] +SQL_ATTR_SQLCOLUMNS_SORT_BY_ORDINAL_OLEDB: Final[int] +SQL_ATTR_STMT_CONCENTRATOR: Final[int] +SQL_ATTR_STREAM_GETDATA: Final[int] +SQL_ATTR_STREAM_OUTPUTLOB_ON_CALL: Final[int] +SQL_ATTR_TIME_FMT: Final[int] +SQL_ATTR_TIME_SEP: Final[int] +SQL_ATTR_TRUSTED_CONTEXT_ACCESSTOKEN: Final[int] +SQL_ATTR_USER_REGISTRY_NAME: Final[int] +SQL_ATTR_WCHARTYPE: Final[int] @final class IBM_DBClientInfo: From 6916d518f1a2e81c415b9dfc363bbc5e47e89ea6 Mon Sep 17 00:00:00 2001 From: Brian Schubert Date: Thu, 26 Feb 2026 21:40:01 -0500 Subject: [PATCH 2/3] Set literal values for hard-coded constants --- stubs/ibm-db/ibm_db.pyi | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/stubs/ibm-db/ibm_db.pyi b/stubs/ibm-db/ibm_db.pyi index 142c869d3648..c33f4c431d3a 100644 --- a/stubs/ibm-db/ibm_db.pyi +++ b/stubs/ibm-db/ibm_db.pyi @@ -1,13 +1,13 @@ from typing import Any, Final, final, overload from typing_extensions import Self -ATTR_CASE: Final[int] -CASE_LOWER: Final[int] -CASE_NATURAL: Final[int] -CASE_UPPER: Final[int] -PARAM_FILE: Final[int] -QUOTED_LITERAL_REPLACEMENT_OFF: Final[int] -QUOTED_LITERAL_REPLACEMENT_ON: Final[int] +ATTR_CASE: Final = 3271982 +CASE_LOWER: Final = 1 +CASE_NATURAL: Final = 0 +CASE_UPPER: Final = 2 +PARAM_FILE: Final = 11 +QUOTED_LITERAL_REPLACEMENT_OFF: Final = 0 +QUOTED_LITERAL_REPLACEMENT_ON: Final = 1 SQL_API_SQLROWCOUNT: Final[int] SQL_ATTR_AUTOCOMMIT: Final[int] SQL_ATTR_CALL_RETURN: Final[int] @@ -85,9 +85,9 @@ SQL_WCHAR: Final[int] SQL_WLONGVARCHAR: Final[int] SQL_WVARCHAR: Final[int] SQL_XML: Final[int] -USE_WCHAR: Final[int] -WCHAR_NO: Final[int] -WCHAR_YES: Final[int] +USE_WCHAR: Final = 100 +WCHAR_NO: Final = 0 +WCHAR_YES: Final = 1 SQL_ATTR_ACCESS_MODE: Final[int] SQL_ATTR_ALLOW_INTERLEAVED_GETDATA: Final[int] From 97d49cc6e88c5914018380284bb9927e2476aef5 Mon Sep 17 00:00:00 2001 From: Brian Schubert Date: Thu, 26 Feb 2026 21:51:49 -0500 Subject: [PATCH 3/3] Add missing `__version__` --- stubs/ibm-db/ibm_db.pyi | 1 + 1 file changed, 1 insertion(+) diff --git a/stubs/ibm-db/ibm_db.pyi b/stubs/ibm-db/ibm_db.pyi index c33f4c431d3a..d37970bb08c3 100644 --- a/stubs/ibm-db/ibm_db.pyi +++ b/stubs/ibm-db/ibm_db.pyi @@ -1,6 +1,7 @@ from typing import Any, Final, final, overload from typing_extensions import Self +__version__: Final[str] ATTR_CASE: Final = 3271982 CASE_LOWER: Final = 1 CASE_NATURAL: Final = 0