APPX Software Library

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 propertyReported value
SQL_DRIVER_VER14.01.00.0000
SQL_DBMS_VER14.01.00.0000
SQL_IDENTIFIER_QUOTE_CHAR"
SQL_MAX_COLUMN_NAME_LEN64
SQL_MAX_COLUMNS_IN_SELECT0
SQL_MAX_COLUMNS_IN_TABLE2000
SQL_MAX_STATEMENT_LEN35000
SQL_MAX_IDENTIFIER_LEN64
SQL_MAX_TABLE_NAME_LEN64
SQL_MAX_SCHEMA_NAME_LEN64
SQL_MAX_CATALOG_NAME_LEN0
SQL_MAX_COLUMNS_IN_GROUP_BY0
SQL_MAX_COLUMNS_IN_INDEX100
SQL_MAX_COLUMNS_IN_ORDER_BY0
SQL_MAX_INDEX_SIZE0
SQL_MAX_ROW_SIZE0
SQL_MAX_ROW_SIZE_INCLUDES_LONGN
SQL_MAX_TABLES_IN_SELECT250
SQL_MAX_CHAR_LITERAL_LEN2000
SQL_MAX_BINARY_LITERAL_LEN2000
SQL_MAX_DRIVER_CONNECTIONS0
SQL_MAX_CONCURRENT_ACTIVITIES0

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, charactersCompleted execution resultConnection-only observations
36Count 8.A later independent connection waited at Open.
32768Count 8.None accepted as a contrary SQL result.
32769Count 8 in repeated fresh workers.None accepted as a contrary SQL result.
33000k0k14, native -30034, in repeated fresh workers.None accepted as a contrary SQL result.
34000No completed execution in the bounded worker.Waited at Open.
34999k0k14, native -30034.Keep its completed execution separate from other lengths.
35000k0k14, native -30034, in the earlier independent worker.A later independent worker waited at Open.
35001HY090, 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.