# Summary of the changes in recent revisions for the NEWS file
@- Changes to Interbase extension: (Ard)
@ . Support in ibase_trans() for multiple databases
@ . New functions ibase_commit_ret() and ibase_rollback_ret(), which retain
@ the transaction context after execution
@ . Support in ibase_query() for CREATE DATABASE statements
@ . New function ibase_drop_db()
@ . New function ibase_name_result(), which assigns a name to a result for use
@ with SELECT ... FOR UPDATE statements
ibase_{commit|rollback}_ret()
Commit or rollback a transaction without losing the transaction context.
ibase_name_result()
Assign a name to a result so {UPDATE|DELETE} ... WHERE CURRENT OF <name>
statements can be used.
in order to accomodate and carry out the following changes:
* Removal of arbitrary 'transactions-per-link' limit,
* Transactions over multiple databases.
Leak fixes in ibase_query() and ibase_execute() by replacing
emalloc() with do_alloca()
Changes to ibase_query() to enable the use of CREATE DATABASE ...
Added ibase_drop_db()
zend_call_function() now takes a structure that should contain all of the
necessary information. If further information is necessary in the future,
then we'll be able to add it without having to introduce a new function.
As for caching - the 2nd, optional argument is a struct that can hold all
of the information that's necessary to invoke the function, including its
handler, scope and object it operates on (if any). Note that you may only
use a cache if the arguments you provide to zend_call_function() are
identical to the ones of the last call, except for the argument and return
value information.
The recently introduced fast_call_user_function() was removed
I fixed most of the places that used fast_call_user_function() to use caching
but there are still some that need to be fixed (XML and reflection)