Commit Graph

390 Commits

Author SHA1 Message Date
Ard Biesheuvel
d6838a86f3 ibase_query(): Be careful not to return true on error conditions 2004-05-04 12:42:54 +00:00
Edin Kadribasic
9bf6b05b87 No need to export anything. Fixes win32 build 2004-04-19 14:13:41 +00:00
Ard Biesheuvel
ff66870b4c Changed ibase_user_[add|modify|delete]() to use service resources 2004-04-09 18:45:30 +00:00
Ard Biesheuvel
59f0817205 Don't define ibase_service struct type unless its member types are defined 2004-04-07 10:36:00 +00:00
Ard Biesheuvel
18fa461119 More divide & conquer 2004-04-05 13:22:34 +00:00
Ard Biesheuvel
2680fb4a9d CS 2004-04-04 13:51:56 +00:00
Ard Biesheuvel
4493bbb809 Skip on Windows 2004-04-03 15:29:10 +00:00
Ard Biesheuvel
2daf7303b2 Don't rely on OS-based authentication (as it is not supported under Win32) 2004-04-03 15:24:11 +00:00
Ard Biesheuvel
b04eb1d3da fclose() tempfile so unlink() doesn't choke on Win32 2004-04-03 11:04:21 +00:00
Ard Biesheuvel
cd7e8bdf8c Change definition of ISC_LONG_[MIN|MAX] to please MSVC. 2004-04-03 11:00:14 +00:00
Ard Biesheuvel
0956f5133c CS/WS 2004-04-01 18:23:45 +00:00
Ard Biesheuvel
75df505fe6 Test binding of numeric timestamps 2004-04-01 16:42:25 +00:00
Ard Biesheuvel
563e9dd664 Don't rely on isql anymore, as creating databases is now supported by the API
Changed tests to include ibase_query("SET TRANSACTION ...")
2004-04-01 16:25:51 +00:00
Ard Biesheuvel
0d5a3f0b91 WS 2004-04-01 11:38:23 +00:00
Ard Biesheuvel
1eb428e76d Fix unregistered bug (crash when closing db opened with "CREATE DATABASE ...") 2004-04-01 10:56:28 +00:00
Ard Biesheuvel
6bfc0d06cf Merged some more odd fixes from my own branch 2004-03-08 10:49:17 +00:00
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
3cc26de38d Added event handling test
CS
2004-02-17 12:24:42 +00:00
Ard Biesheuvel
595d6a2d84 Reintroduce param NULL testing (see bug #26777) 2004-02-15 18:34:47 +00:00
Ard Biesheuvel
b625b03493 Look in the right place for lib 2004-02-11 16:20:48 +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
9925c63be5 CS/WS 2004-02-11 11:59:08 +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
f7e1724096 Fix Win32 build 2004-02-02 14:01:41 +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
2430a27d7f Use php_ prefix for header files. 2004-02-02 13:47:56 +00:00
Ard Biesheuvel
1932317844 No explicit inline (fixes Win32 linkage issue) 2004-02-01 18:42:47 +00:00
Ard Biesheuvel
7b606b98d4 Remove extension internals from php_interbase.h 2004-02-01 17:52:36 +00:00
Ard Biesheuvel
254eb0f05d Test for Interbase version 6 API in 'configure'
# Always enable in Win32 for the time being
2004-02-01 17:42:26 +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
eb7aca4ea8 Check for both Firebird 1+ and Interbase/FB1 2004-01-25 12:03:24 +00:00
Ard Biesheuvel
8992afd3dc MFB 2004-01-21 10:22:04 +00:00
foobar
f4983c0d3f - Renamed all *php4* files to *php5*, changed all php4/PHP4 to php5/PHP5 2004-01-17 13:00:38 +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
foobar
ccfc46b0aa - Happy new year and PHP 5 for rest of the files too..
# Should the LICENSE and Zend/LICENSE dates be updated too?
2004-01-08 17:33:29 +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
Wez Furlong
0c126e1233 make these build with new win32 build system.
mcve untested (I don't have those libs/headers)
2003-12-19 15:04:31 +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
be16d129c5 Check for Firebird libfbclient.so first 2003-09-16 19:25:11 +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
19f69336e2 Don't include unnecessary headers in other configuration too 2003-09-08 00:41:03 +00:00
Ard Biesheuvel
e9ca738200 Don't include unnecessary headers 2003-09-08 00:32:22 +00:00
Ard Biesheuvel
366a4b7f94 Zero-terminate strings
Add fileflags for DEBUG build
2003-09-07 20:35:09 +00:00
Ard Biesheuvel
6c0e21fc74 Add version info to Windows DLL 2003-09-07 19:59:55 +00:00
Ard Biesheuvel
193f5a67db Add missing CVS Ids 2003-09-05 17:02:02 +00:00
Ard Biesheuvel
2815169319 Be more relaxed about dimensions of array arguments 2003-09-05 14:21:25 +00:00
Ard Biesheuvel
c9d082ef21 Test array handling 2003-09-05 13:08:41 +00:00
Ard Biesheuvel
2802293dd3 Make the test fail if anything goes wrong :-)
Some CS
2003-09-05 12:18:03 +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
4ff5341fb0 WS 2003-09-03 17:15:40 +00:00
Ard Biesheuvel
804312c4a1 Test correct binding of 16-bit NUMERIC parameters 2003-09-03 15:24:50 +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
c78169086b Test multiple execution of a prepared EXEC PROCEDURE statement 2003-08-28 00:18:27 +00:00
Ard Biesheuvel
36716c2525 Test for BLOB ID survival of close()/connect() 2003-08-28 00:17:25 +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
91e3344eec Test immediate BLOB inserts 2003-08-17 16:14:29 +00:00
Ard Biesheuvel
008115b9ed Fixed leak in _php_ibase_bind() 2003-08-17 16:13:52 +00:00
Ard Biesheuvel
e5bae36a1a Test fetching BLOBs >64k 2003-08-17 14:58:33 +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
812758b73e Fix failure on accidental fread() of 0 bytes 2003-08-16 20:04:41 +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
6561a0546b Some general cleaning up
Some preliminary changes for extensions to array functions
2003-08-16 15:31:06 +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
69c8bac05e Test for bug #24224 2003-08-16 15:22:36 +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
b220a551f6 .... and again 2003-08-12 18:08:13 +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
cba7a31245 Tiny fix 2003-08-12 09:57:57 +00:00
Ard Biesheuvel
8d34c2b4ba Changed to reflect corrected ibase_trans() behaviour 2003-08-12 09:57:17 +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
e1accb81c0 Added myself 2003-08-11 00:49:08 +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
foobar
c3c6f6d5d7 Adding -lcrypt here is not necessary 2003-08-05 16:30:32 +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
676d4fca3c Revert bad fix. 2003-07-10 01:40:01 +00:00
foobar
3396cb340a Fix crashes in certain situations (whenever there is an error, basically..) 2003-07-10 01:17:34 +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
6203058381 Added test for IBASE_REC_VERSION/IBASE_REC_NO_VERSION trans constants 2003-06-14 16:45:38 +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