directly. This leads to multiple return values in some cases.
- new condition types
- raise conditions only in case of fatal errors
- rewrote odbc_sql_data_sources() and odbc_sql_drivers()
- removed hardcoded ODBC_RETVAL_BUFFER_INITIAL_SIZE, the return value
buffer size can now be read/set from Scheme.
- removed odbc_sql_bind_parameter_exec_out(), which is a poor
implementation of a SQLBindParameter() binding. TODO: make a
better one.
- use the p.c. SQL_SUCCEEDED()
- rewrote odbc_sql_get_data(): Resize return buffer value if necessary
- new modules: low-odbc (functions), low-odbc-constants (constants)
- major code cleanup
- dynamic memory allocation for return values in these functions:
- odbc_sql_get_info_string()
- odbc_sql_get_connect_attr_string()
- odbc_sql_get_stmt_attr_string()
- odbc_sql_get_desc_field_string()
- odbc_sql_get_cursor_name()
- odbc_sql_native_sql()
- odbc_sql_get_data()
- odbc_sql_describe_col()
- odbc_sql_get_diag_recs()
- odbc_sql_data_sources() is still broken: sometimes the result string
is truncated. I'm not sure if this not a unixODBC-bug...
(environment-handle, connection-handle, statement-handle,
database-handle)
- make ODBC functions these records
- Tons of constants for SQLGetInfo()
- get rid of some stupid pseudo-highlevel-ODBC-functions
- tons of function ids for usage with SQLGetFunctions (sql-api-*)
- some key values for SQLGetInfo (sql-get-info-*). Need to be sorted (renamed?) by type of return value.
- minor code cleanups
- new record type: sql-time (SQL_TIME_STRUCT)
- new record type: sql-timestamp (SQL_TIMESTAMP_STRUCT)
- added type identifier for SQL_C_*-types and SQL_*-types
- import c-functions: odbc_sql_bind_parameter_exec_out, odbc_sql_execute, odbc_sql_execute_direct, odbc_sql_get_data, odbc_sql_fetch
Tested partially: handle allocation, connection, prepare, execute
Missing: Support for SQLBindCol & several catalog functions. The scsh 0.53 API abstraction need
s to be implemented on top of the ODBC 3 API.