7a0d846e25
20190107: - A chapter about the handling of errors in interpreter and run-time library has been added to the manual. - The new database driver sql_fire.c has been added. This driver provides database access functions for Firebird/InterBase. - The database drivers sql_lite.c, sql_my.c, sql_odbc.c and sql_post.c have been improved to check that all parameters of a prepared statement are bound. This check takes place when a prepared statement is executed. - The bind functions in sql_lite.c and sql_my.c have been improved to check, that a parameter with the given index exists. - The bind functions of sql_my.c and sql_odbc.c have been improved to allow that the same parameter can be bound again with a different bind function (e.g. as integer instead of a bigInteger). - The database driver sql_lite.c has been improved: - The function sqlBindBigRat has been improved to convert a bigRational to a double via the decimal representation. - The functions sqlColumnBigInt and sqlColumnInt have been improved to accept blob values with a decimal content that ends with ".0". - The function sqlColumnFloat has been improved to accept integer values. - The function sqlExecute has been improved to reset a prepared statement, when necessary. - The database driver sql_my.c has been improved: - Medium and large blobs are supported now. - The function sqlColumnStri() has been improved to read BLOB data. - The function processEscapesInStatement() has been introduced. This function assures that string literals in prepared statements do not allow backslash escape sequences (e.g. \n or \t). This way a backslash in a SQL statement has no special meaning (like it is common practice in all other SQL databases). - The function sqlExecute() has been improved to call mysql_stmt_store_result(). This way the complete result set is buffered on the client. Doing so avoids the "Commands out of sync" error (e.g. which is triggered (without mysql_stmt_store_result()), when a new statement is prepared before all data of an old statement is fetched). - The function resizeBindArray() has been removed. - The database driver sql_odbc.c has been improved: - The function SQLGetTypeInfo is used to determine if the driver supports the type SQL_WCHAR. - It is recognized when the function SQLDescribeParam() is missing and reasonable default values are used instead. - The function SQLFreeStmt() is used now without the precondition fetchOkay or fetchFinished. - The function setupParameterColumn has been introduced. This function allocates memory for parameter buffers. - One call of SQLDescribeCol() is used to determine the properties of result columns instead of many calls of SQLColAttribute(). - Blob result data is now recognized by data type (SQL_LONGVARCHAR, SQL_WLONGVARCHAR or SQL_LONGVARBINARY) instead of data length. - The bind functions have been improved to use a switch depending on the data type. - Calls of SQLBindParameter() have been changed to use parameters determined with SQLDescribeParam(). - At several places switch statements depending on the c_type are used. - The function sqlColumnDuration has been improved to accept a duration in a VARCHAR field. - Experimental code to search for an ODBC driver has been added (but it is deactivated for now). - The database driver sql_post.c has been improved: - The function setupParameterColumn() has been introduced. This function allocates memory for parameter buffers. The buffers are part of the bindDataRecord. - The conversion of the internal NUMERIC representation to integer, float, bigInteger and bigRational values has been improved. Now sqlColumnInt() and sqlColumnFloat() can also read NUMERIC data. - The functions getNumericAsCStri(), getNumericAsStri(), getNumericAsInt(), getNumericAsBigInt(), getNumericAsBigRat() and getNumericAsFloat() have been added. - The function sqlColumnStri() has been improved to read BLOB data. - The memory management has been improved to recogize out of memory situations reliable. - The handling of exceptions has been improved. - The function literal() has been added to bigint.s7i, bigrat.s7i, boolean.s7i, bstring.s7i, duration.s7i and time.s7i. - The function integer (it converts a bigInteger to an integer) has been added to bigint.s7i. - The function string (it converts a bstring to a string) has been added to bstring.s7i. - The example program chkdb.sd7 has been improved to test the functionality of a database with much more detail. Chkdb.sd7 now supports parameters to specify the database to be checked. - The programs sql7.sd7 and db7.sd7 has been improved to support Firebird/Interbase databases. - The tests of shift operators have been improved in chkbig.sd7. - The program chkccomp.c has been improved to determine the settings for directory access and for the database driver sql_fire.c. - An #if instruction has been added to dir_win.c, soc_none.c and soc_rtl.c, such that the object file can always be linked. - The function stri_to_cstri8_buf() has been changed to work without err_info parameter. - Experimental code, to avoid the gmp error "overflow in mpz type" for shift operations, has been added to big_gmp.c. - In big_rtl.c, big_gmp.c and big_drv.h the functions bigToInt16(), bigToInt32() and bigToInt64() have been changed to have the additional parameter err_info. - The function setupBig() has been added to big_rtl.c and big_gmp.c. Additionally interpreter and compiler have been improved to call setupBig(). - Documentation comments have been improved in integer.s7i, sql_base.s7i, big_gmp.c, big_rtl.c, sql_rtl.c, intlib.c, int_rtl.c and striutl.c - The file soc_dos.c has been renamed to soc_none.c. |
||
---|---|---|
.. | ||
distinfo | ||
Makefile | ||
pkg-descr | ||
pkg-plist |