Chapter 3: Make APPX Files Available to SQL
Check Limits for Large Tables and Long SQL Statements
Distinguish an ODBC-reported capacity, an observed boundary and an ASQL source constant. The supplied 64-bit Dharma 14.01 driver reports 64-character identifiers, 2000 columns per table and a 35000-character statement limit.
ASQL's reviewed 6.2.1 source allocates and grows its generated script in 1024-byte chunks. That allocation unit is not a 1024-character SQL limit. The DDL editor and the driver/gateway statement transport remain separate constraints. Shorten names and remove unnecessary whitespace without changing field positions, semantics or quoted literal values; execute separate valid statements individually where supported.
The complete property inventory follows.
| SQLGetInfo property | Reported value |
|---|---|
SQL_DRIVER_VER | 14.01.00.0000 |
SQL_DBMS_VER | 14.01.00.0000 |
SQL_IDENTIFIER_QUOTE_CHAR | " |
SQL_MAX_COLUMN_NAME_LEN | 64 |
SQL_MAX_COLUMNS_IN_SELECT | 0 |
SQL_MAX_COLUMNS_IN_TABLE | 2000 |
SQL_MAX_STATEMENT_LEN | 35000 |
SQL_MAX_IDENTIFIER_LEN | 64 |
SQL_MAX_TABLE_NAME_LEN | 64 |
SQL_MAX_SCHEMA_NAME_LEN | 64 |
SQL_MAX_CATALOG_NAME_LEN | 0 |
SQL_MAX_COLUMNS_IN_GROUP_BY | 0 |
SQL_MAX_COLUMNS_IN_INDEX | 100 |
SQL_MAX_COLUMNS_IN_ORDER_BY | 0 |
SQL_MAX_INDEX_SIZE | 0 |
SQL_MAX_ROW_SIZE | 0 |
SQL_MAX_ROW_SIZE_INCLUDES_LONG | N |
SQL_MAX_TABLES_IN_SELECT | 250 |
SQL_MAX_CHAR_LITERAL_LEN | 2000 |
SQL_MAX_BINARY_LITERAL_LEN | 2000 |
SQL_MAX_DRIVER_CONNECTIONS | 0 |
SQL_MAX_CONCURRENT_ACTIVITIES | 0 |
A reported zero does not prove an unlimited usable capacity. ODBC's DBMS version identifies the SQL component, not APPX. No maximum-size table or row acceptance is claimed by these property calls.
Observed statement lengths
The 36-character SELECT COUNT(*) FROM DMO_DMO_COUNTRY query, padded with ASCII trailing spaces, succeeds at 32769 characters. Fresh independent execution at 33000 fails with SQLSTATE k0k14, Dharma -30034. At 35001 the driver returns HY090/-19. Earlier independent 34999/35000 executions also failed; a shared-connection diagnostic varied after an earlier failure. No exact maximum is established.
| SQL text length, characters | Completed execution result | Connection-only observations |
|---|---|---|
| 36 | Count 8. | A later independent connection waited at Open. |
| 32768 | Count 8. | None accepted as a contrary SQL result. |
| 32769 | Count 8 in repeated fresh workers. | None accepted as a contrary SQL result. |
| 33000 | k0k14, native -30034, in repeated fresh workers. | None accepted as a contrary SQL result. |
| 34000 | No completed execution in the bounded worker. | Waited at Open. |
| 34999 | k0k14, native -30034. | Keep its completed execution separate from other lengths. |
| 35000 | k0k14, native -30034, in the earlier independent worker. | A later independent worker waited at Open. |
| 35001 | HY090, native -19, Invalid string or buffer length. | An earlier worker waited at Open. |
Some fresh workers stall during connection Open, before executing any SQL. Those cases do not measure statement length. A per-process test bound contains a stall; it is not a driver-enforced timeout or a retry repair.