Commit Graph

251 Commits

Author SHA1 Message Date
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
Daniela Mariaschi
82d513ee72 better fix bug #20641.
Overflow numeric/decimal datatype on NT
2003-05-14 08:22:54 +00:00
Daniela Mariaschi
46b1372de7 - removed error message in dtor
(causing segfault when user doesn't free statement)
- removed erroneous controls as for bug #23436
2003-05-05 22:25:29 +00:00
foobar
fcb43b70ef WS & CS fixes + some TSRM_FETCH() removals + pval -> zval 2003-03-16 05:00:50 +00:00
foobar
d4a72592a4 - Fixed bug #22709 (crash within interbase when database unavailable) 2003-03-16 00:37:01 +00:00