Commit Graph

255 Commits

Author SHA1 Message Date
Ard Biesheuvel
48d16437d6 Cleaned up array handling and optimize for the case where no array fields are used
Fix timestamp binding for Win32 (which doesn't have gmtime_r())
CS
2004-03-08 10:32:26 +00:00
Ard Biesheuvel
4fffb84005 Simplify / fix 2004-03-07 18:01:12 +00:00
Ard Biesheuvel
67cdc2c12f Added missing support for binding timestamps
# Returning timestamps was already supported
2004-03-07 14:25:08 +00:00
Ard Biesheuvel
8747289066 Fix some issues with persistent links 2004-02-20 10:59:24 +00:00
Ard Biesheuvel
c796a47690 Fixed unregistered bugs in event handling
Cleaned up some of the code
Removed ISC_QUAD from static initializers because it looks different on
	some platforms
2004-02-17 12:53:54 +00:00
Ard Biesheuvel
595d6a2d84 Reintroduce param NULL testing (see bug #26777) 2004-02-15 18:34:47 +00:00
Ard Biesheuvel
a3dd0efee2 Add version info about run-time client library
# A number of user crashes appear to be caused
# by using incorrect combinations of libraries
2004-02-11 12:08:44 +00:00
Ard Biesheuvel
9415013456 Fix build with Win32 Interbase 5.x 2004-02-06 15:11:17 +00:00
Ard Biesheuvel
1db65dfa93 Use correct flag for repair options 2004-02-02 14:57:20 +00:00
Ard Biesheuvel
80e3384756 Use php_ prefix for header files
Added nearly complete implementation of service API
2004-02-02 13:49:48 +00:00
Ard Biesheuvel
7b606b98d4 Remove extension internals from php_interbase.h 2004-02-01 17:52:36 +00:00
Ard Biesheuvel
69d53a7676 Added backup/restore functions
Split interbase.c into several files
# It was becoming too big to handle
2004-02-01 16:13:07 +00:00
Ard Biesheuvel
8992afd3dc MFB 2004-01-21 10:22:04 +00:00
Ard Biesheuvel
fad3a6e42f More handsome solution for previous fix 2004-01-12 20:03:49 +00:00
Ard Biesheuvel
961f398db5 Added sanity check on ibase_[p]connect() dialect argument (fixes obscure unregistered bug) 2004-01-12 19:47:28 +00:00
Andi Gutmans
dbeb4158d2 - A belated happy holidays and PHP 5 2004-01-08 08:18:22 +00:00
Ard Biesheuvel
ee8f019b68 Let DB handle NULL params, fixes bug #26777 2004-01-07 09:43:55 +00:00
Ard Biesheuvel
c40234b47e Let client library pick its own transaction param defaults 2003-09-26 10:06:22 +00:00
Ard Biesheuvel
50911d0904 Always return long from ibase_gen_id() on IB < 6 2003-09-23 23:08:59 +00:00
foobar
afdc20a094 ws fix 2003-09-23 22:17:40 +00:00
Ard Biesheuvel
f48f725348 Added ibase_gen_id()
# Lightweight shortcut to SELECT GEN_ID() ... function
2003-09-23 20:58:14 +00:00
Hartmut Holzgraefe
55d9ec0f6f proto thiko fix 2003-09-22 06:54:29 +00:00
Ard Biesheuvel
0cce471b0a Link to fbclient.dll if available
Add client lib name to dll version info
2003-09-17 01:25:08 +00:00
Ard Biesheuvel
b9a208d821 Use isc_get_version() for client lib info if available 2003-09-16 20:28:27 +00:00
Hartmut Holzgraefe
92b237f4c3 proto fix 2003-09-16 19:45:22 +00:00
Ard Biesheuvel
95b0fc58f7 Pointer size fix 2003-09-12 21:02:43 +00:00
Ard Biesheuvel
7ff3a3e4a3 Add client library info to phpinfo() function
Small inter-op fix for IB6
2003-09-11 23:08:48 +00:00
Ard Biesheuvel
c5b69dcb14 Changed unsigned ISC_LONG to ISC_LONG
# Build fix for FB 1.5
2003-09-11 08:50:30 +00:00
Ard Biesheuvel
6c0e21fc74 Add version info to Windows DLL 2003-09-07 19:59:55 +00:00
Ard Biesheuvel
2815169319 Be more relaxed about dimensions of array arguments 2003-09-05 14:21:25 +00:00
Ard Biesheuvel
e73be1cb4a Added support for binding arrays 2003-09-04 22:37:14 +00:00
Ard Biesheuvel
f4511d4aae Don't rely on sizeof(int) == 4 2003-09-04 14:44:34 +00:00
Ard Biesheuvel
cb8da7b090 Fix inter-op with IB < 6
Fixes for 64-bit archs
2003-09-04 14:18:39 +00:00
Ard Biesheuvel
6f998688b5 Fixed fetching of arrays
# Untested for multidimensional arrays
2003-09-04 11:09:46 +00:00
Ard Biesheuvel
912a834749 No scaling for double type
Added missing array types
Precompute scale factors
2003-09-04 01:26:36 +00:00
Ard Biesheuvel
b3b68834b5 Fix binding of 16-bit NUMERIC parameters 2003-09-03 15:15:30 +00:00
Ard Biesheuvel
d674159601 Nuke far pointers
# Unfortunately, this does break compatibility with Windows 3.x :-)
2003-09-02 22:37:26 +00:00
Ard Biesheuvel
f19dcfe8a3 CS fixes
# Boy, these guys are worse than -ansi -pedantic
2003-09-02 22:19:18 +00:00
Ard Biesheuvel
4545ea4666 Make ibase_{param|field}_info() return typenames that actually mean something 2003-09-02 19:30:20 +00:00
Ard Biesheuvel
0f1b506f20 Can't ignore variadic DEBUG macro for compilers
that don't support them. Revert.
2003-09-02 13:17:56 +00:00
Ard Biesheuvel
dbdd5b415d Changed some formatting/macro/debugging/variadic stuff 2003-09-02 12:46:42 +00:00
Ard Biesheuvel
6ee5a0db28 Prototype fixes
Return number of affected rows by ibase_query() and ibase_execute() if > 0
# Second change was actually introduced in 1.149, but never
# mentioned in the CVS log
2003-08-28 22:12:06 +00:00
Ard Biesheuvel
50006652ae Fixed some format strings 2003-08-28 16:48:22 +00:00
Ard Biesheuvel
fd89b9a783 Removed TSRMLS_FETCH from _php_ibase_module_error() 2003-08-28 00:11:16 +00:00
Ard Biesheuvel
2db5c7de85 Do not reuse data structure for ibase_execute() results.
Invalidate the results whose statement handle has been invalidated.
# EXEC PROCEDURE results don't need a statement handle, so
# the result doesn't have to be invalidated.
Fixed some add_{index|assoc}_*() bogosity
2003-08-27 22:55:06 +00:00
Ard Biesheuvel
84f995903b Fix false warning on zero-size BLOB fetch 2003-08-20 22:59:33 +00:00
Ard Biesheuvel
27582c4862 Reuse result data structure and resource id for consecutive executions
of a prepared query
# As previous resources are invalidated anyway because their statement
# handle is reused, we don't have to allocate a new result for every
# execution of a prepared query
2003-08-20 19:47:00 +00:00
Ard Biesheuvel
d70f744a63 Moved transaction defaults to header file 2003-08-20 16:13:51 +00:00
Ard Biesheuvel
8f869998b5 Cleaned up _php_ibase_var_zval() 2003-08-20 13:02:26 +00:00
Ard Biesheuvel
551526812b Fix Win32 build 2003-08-20 12:40:59 +00:00
Ard Biesheuvel
1b8e0440d2 Moved some local vars to stack 2003-08-20 12:40:05 +00:00
Ard Biesheuvel
d7c734edb9 Nuke link handle from BLOB id
# Now BLOB ids can survive disconnect/reconnect
Added link argument to ibase_blob_{open|info|echo}()
2003-08-20 12:22:58 +00:00
Ard Biesheuvel
f96efcbf90 Nuke bogus BLOB ids
# User-space BLOB id no longer contains transaction handle, so BLOB ids
# now remain valid throughout multiple transactions.
# Oh, and they look better too :-)
2003-08-18 00:14:53 +00:00
Ard Biesheuvel
a4bb353f2b Simplify previous fix 2003-08-17 16:30:15 +00:00
Ard Biesheuvel
008115b9ed Fixed leak in _php_ibase_bind() 2003-08-17 16:13:52 +00:00
Ard Biesheuvel
0e69444021 Fix possible leak in _php_ibase_fetch_hash() 2003-08-17 13:16:54 +00:00
Ard Biesheuvel
1967ceeda4 Apply fix for ibase_blob_get() to ibase_fetch_*()
Apply fix for ibase_blob_add() to ibase_query()/ibase_execute()
2003-08-17 12:31:55 +00:00
Ard Biesheuvel
841983fea0 Always fill entire buffer in ibase_blob_get() 2003-08-16 19:48:32 +00:00
Ard Biesheuvel
254f827c4b Fixed bug #18744 2003-08-16 16:09:24 +00:00
Ard Biesheuvel
b3058675c1 Fixed bug #24224
Some general cleaning up
Some preliminary changes for extensions to array functions
2003-08-16 15:30:22 +00:00
Ard Biesheuvel
78a3fe8fca Removed ibase_num_rows()
Converted some MACRO-isms
2003-08-16 01:58:29 +00:00
Ard Biesheuvel
654aa13c76 Added comment about ibase_num_rows() 2003-08-16 00:58:24 +00:00
Ard Biesheuvel
dfbed2aa24 Added ibase_free_event_handler() 2003-08-15 16:13:51 +00:00
Ard Biesheuvel
d348c64326 Moved TRMLS_FETCH to correct scope 2003-08-15 00:16:58 +00:00
Ard Biesheuvel
d5de1ad41c Added ibase_set_event_handler() 2003-08-15 00:06:07 +00:00
Ard Biesheuvel
970371efa2 Added ibase_wait_event() 2003-08-14 10:55:02 +00:00
foobar
e86d532430 Disable the debugging to prevent the tests from failing. 2003-08-13 10:35:14 +00:00
Ard Biesheuvel
05db087834 Allow the use of EXECUTE PROCEDURE statements 2003-08-13 02:19:14 +00:00
Ard Biesheuvel
c552c34b76 Re-commit of failed patch 2003-08-12 18:01:59 +00:00
foobar
72000ab8a5 Revert previous patch. 2003-08-12 17:41:37 +00:00
Ard Biesheuvel
b58fa703b4 Allow prepared execution of any non-query statement except CREATE DB
(fixes bug #7014)
2003-08-12 17:33:54 +00:00
Ard Biesheuvel
5a30b61eba Fixed bug #23936 (fail to select and fetch) 2003-08-12 13:19:36 +00:00
Ard Biesheuvel
dd5b49796c Added comment in code :-) 2003-08-12 11:35:26 +00:00
Ard Biesheuvel
9e445746e5 Revert ugly workaround for erroneous results of ibase_num_rows() (see comment in code) 2003-08-12 11:27:03 +00:00
Ard Biesheuvel
d6477e1b6d Fix for missing errmsg in test 005 2003-08-12 10:02:25 +00:00
Ard Biesheuvel
feb8bb7dfc Fix for failed tests except 005 2003-08-12 02:16:40 +00:00
foobar
b2ef50391b fix build 2003-08-12 02:11:41 +00:00
Ilia Alshanetsky
93bcd55eaf emalloc -> safe_emalloc 2003-08-12 00:58:52 +00:00
Ard Biesheuvel
69252c3c77 Added ibase_num_params() and ibase_param_info()
@- Added function ibase_num_params() (Ard)
@- Added function ibase_param_info() (Ard)
2003-08-10 20:53:19 +00:00
Ard Biesheuvel
9972e05ca1 Win32 fixes 2003-08-10 17:24:51 +00:00
Ard Biesheuvel
9510d999dc Added ibase_affected_rows() and ibase_num_rows()
Fix for ibase_fetch_*() error after exhaustion of result
@- Added ibase_affected_row() (Ard)
@- Added ibase_num_rows() (Ard)
2003-08-10 16:21:26 +00:00
Ard Biesheuvel
b676e9533b Changed ibase_query() to free transaction resource if SQL is COMMIT or
ROLLBACK
2003-08-10 13:20:38 +00:00
Ard Biesheuvel
b1db823ad1 Changes ibase_query() to support SET TRANSACTION statements
@- Added support for SET TRANSACTION statements in ibase_query() (Ard)
2003-08-08 13:47:20 +00:00
Ard Biesheuvel
870ba56375 Changed the names of some struct members for readability
Added function ibase_errcode()
@- Added function ibase_errcode() (Ard)
2003-08-08 11:04:12 +00:00
Ard Biesheuvel
f9ad8f236e Changed _php_ibase_trans_end() to allow committing of default transaction
of a non-default link
2003-08-08 01:42:09 +00:00
Ard Biesheuvel
712d7d561b Fixed crash in _php_ibase_error() after request shutdown 2003-08-07 01:00:22 +00:00
Ard Biesheuvel
fdb039dbef K&R cosmetics
# 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
2003-08-07 00:00:19 +00:00
Ard Biesheuvel
00d42286ec Added three new user functions
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.
2003-08-06 17:51:46 +00:00
Ard Biesheuvel
9f46081ca2 ibase_query() now returns a link resource if a CREATE DB was issued 2003-08-06 15:27:16 +00:00
Ard Biesheuvel
966663d3a0 Minor Win32 fixes/cleanups 2003-08-06 12:09:30 +00:00
Ard Biesheuvel
3ef8d3663d Changed ibase_trans() to allow multi-DB transactions with distinct
trans_args for each connection.
2003-08-05 23:40:30 +00:00
foobar
605619baa9 Fix CS/WS 2003-08-05 16:30:47 +00:00
Ard Biesheuvel
f98251f307 Significant changes to layout of internal data structures
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()
2003-08-05 13:17:16 +00:00
foobar
b645c60bd5 - Fixed bug #11924 (ibase_query() and ibase_execute() mangled passed
parameter variables)
2003-07-10 00:17:09 +00:00
Daniela Mariaschi
e537337398 proto fixes ibase_rollback and ibase_commit 2003-06-16 10:41:42 +00:00
Edin Kadribasic
244c706a0d Fixed ZTS build 2003-06-15 12:10:28 +00:00
Daniela Mariaschi
e8e4db8581 Added IBASE_REC_VERSION/IBASE_REC_NO_VERSION transaction constants
required from bugs #8797 #23887
(added IBASE_WRITE, IBASE_WAIT, IBASE_CONCURRENCY just for clarity)
2003-06-14 16:38:10 +00:00
Andrey Hristov
080eaaf573 proto fixes 2003-06-12 11:24:24 +00:00
James Cox
f68c7ff249 updating license information in the headers. 2003-06-10 20:04:29 +00:00
Daniela Mariaschi
234e7a3fed Fixed numeric/decimal +/-(x,y) +/-(x,0)
for all platforms
2003-06-02 12:37:16 +00:00