When you use SQLBindCol, SQLBindParameter, or SQLGetData, a C data type is specified for the column or parameter. On certain platforms, the storage (memory) provided for each column must be properly aligned to fetch or store a value of the specified type. The following table lists memory alignment requirements for processors such as Sun Sparc, Itanium-IA64, and ARM-based devices.
C Data Type | Alignment required |
---|---|
SQL_C_CHAR | none |
SQL_C_BINARY | none |
SQL_C_GUID | none |
SQL_C_BIT | none |
SQL_C_STINYINT | none |
SQL_C_UTINYINT | none |
SQL_C_TINYINT | none |
SQL_C_NUMERIC | none |
SQL_C_DEFAULT | none |
SQL_C_SSHORT | 2 |
SQL_C_USHORT | 2 |
SQL_C_SHORT | 2 |
SQL_C_DATE | 2 |
SQL_C_TIME | 2 |
SQL_C_TIMESTAMP | 2 |
SQL_C_TYPE_DATE | 2 |
SQL_C_TYPE_TIME | 2 |
SQL_C_TYPE_TIMESTAMP | 2 |
SQL_C_WCHAR | 2 (buffer size must be a multiple of 2 on all platforms) |
SQL_C_SLONG | 4 |
SQL_C_ULONG | 4 |
SQL_C_LONG | 4 |
SQL_C_FLOAT | 4 |
SQL_C_DOUBLE | 8 |
SQL_C_SBIGINT | 8 |
SQL_C_UBIGINT | 8 |
The x86, x64, and PowerPC platforms do not require memory alignment. The x64 platform includes Advanced Micro Devices (AMD) AMD64 processors and Intel Extended Memory 64 Technology (EM64T) processors.
Discuss this page in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |