Commit Graph

628 Commits

Author SHA1 Message Date
Ilia Alshanetsky
7fb3715d43 Fixed bug #38319 (Remove bogus warnings from persistent PDO connections). 2006-12-04 03:07:44 +00:00
Ilia Alshanetsky
44045f8cb1 Fixed bug #38252 (Incorrect PDO error message on invalid default fetch mode). 2006-12-04 02:40:08 +00:00
Ilia Alshanetsky
4356aad0ae Fixed bug #39483 (Problem with handling of \ char in prepared statements). 2006-12-04 00:38:46 +00:00
Ilia Alshanetsky
44baca5aed Added missing check for mismatching number of tokens & bound params in
prepared statement emulation.
2006-12-03 23:27:44 +00:00
Ilia Alshanetsky
916673a345 Fixed bug #39527 (Failure to retrieve results when multiple unbuffered,
prepared statements are used in pdo_mysql).
2006-12-02 17:53:44 +00:00
Antony Dovgal
bb30875db6 add test 2006-11-28 16:55:05 +00:00
Ilia Alshanetsky
2d4b8e19e2 Fixed bug #39656 (crash when calling fetch() on a PDO statment object
after closeCursor()).
2006-11-28 16:27:53 +00:00
Ilia Alshanetsky
af16066603 Fixed a possible crash 2006-11-23 14:41:35 +00:00
Ilia Alshanetsky
6e9c7c4aa9 Fixed generated file 2006-11-12 17:55:44 +00:00
Ilia Alshanetsky
c32ed59e4e Fixed a memory leak when named & positional params are being used in the
same query.
2006-11-12 17:49:19 +00:00
Ilia Alshanetsky
887b3484f7 Fixed bug #39398 (Booleans are not automatically translated to integers). 2006-11-07 17:57:17 +00:00
Hannes Magnusson
8104df0547 Remove bogus ini entry 2006-10-14 15:06:11 +00:00
Antony Dovgal
5e34f6cf9e MFH 2006-09-28 23:27:59 +00:00
Antony Dovgal
d6eb64344d MFH 2006-09-28 23:03:56 +00:00
Ilia Alshanetsky
2332e4f9fc Fixed bug #37870 (pgo_pgsql tries to de-allocate unused statements).
Fixed bug #36681 (pdo_pgsql driver incorrectly ignored some errors).
Fixed test for bug #38253 not to use faulty SQL that generates errors in
PostgreSQL
2006-09-19 15:45:22 +00:00
Antony Dovgal
a5bb290f28 it's not a PEAR only issue 2006-08-24 16:00:43 +00:00
Antony Dovgal
b7f2d8f17e MFH: fix possible crash in free_statement() 2006-08-23 19:15:57 +00:00
Antony Dovgal
36dffb8e3b typo 2006-08-21 17:12:02 +00:00
Ilia Alshanetsky
8d770ee2ef Fixed bug #38535 (memory corruption in pdo_pgsql driver on error retrieval
inside a failed query executed via query() method).
2006-08-21 16:53:50 +00:00
Ilia Alshanetsky
3d87be2674 Added skip condition for sqlite2 driver, that uses more forgiving emulated
prepared statements.
2006-08-16 14:09:56 +00:00
Ilia Alshanetsky
43fca8a3f8 Fixed bug #38394 (PDO fails to recover from failed prepared statement
execution).
2006-08-09 14:45:00 +00:00
Ilia Alshanetsky
194b309d2d Fixed memory leak with persistent connections 2006-08-07 17:32:13 +00:00
Ilia Alshanetsky
2b5a53d6b6 Fixed memory leak on unused bound name parameters. 2006-08-01 15:06:01 +00:00
Ilia Alshanetsky
c6ace95236 Fixed bug #37445 (Fixed crash in pdo_mysql resulting from premature object
destruction).
2006-07-31 20:18:11 +00:00
Antony Dovgal
168f53b72b fix bug #38253 (PDO produces segfault with default fetch mode)
add test
2006-07-30 11:19:56 +00:00
Antony Dovgal
97ef557b97 initialize var 2006-07-27 08:00:54 +00:00
Dmitry Stogov
b6d2c54059 Destructors call order is changed (Fixed bug #36759 - Objects destructors are invoked in wrong order when script is finished) 2006-07-12 07:55:17 +00:00
Antony Dovgal
3aaf62d159 there is no Unicode in 5_2 2006-07-11 12:15:11 +00:00
Hartmut Holzgraefe
c1b67d83cc (MFH) "transaction" tests should test commit, too, not only rollback 2006-07-10 16:29:50 +00:00
Hartmut Holzgraefe
836e74ebee MFH 2006-07-10 14:06:13 +00:00
Hartmut Holzgraefe
098d3d2b02 MFH 2006-07-10 07:39:35 +00:00
Antony Dovgal
3ff986ecf7 init vatiables 2006-06-20 13:26:01 +00:00
Dmitry Stogov
1dbaae2795 Added automatic module globals management 2006-06-15 18:33:09 +00:00
Rasmus Lerdorf
76bff5194c Put the TODO back 2006-06-07 21:14:04 +00:00
Rasmus Lerdorf
658762a0b5 Get rid of useless function calls 2006-06-07 21:09:52 +00:00
Ilia Alshanetsky
a9c6e4be1e Fixed bug #37709 (Possible crash in PDO::errorCode()). 2006-06-07 03:33:16 +00:00
Antony Dovgal
e5c8f8c59b yet another dummy clone_obj handler to fix problems created by ze1 compat mode 2006-06-06 22:05:56 +00:00
Antony Dovgal
1b602e85d1 fix leak appearing on phpinfo() when there are no PDO modules available 2006-06-05 22:08:16 +00:00
Antony Dovgal
e4a3732c91 no need to call zend_is_callable() if callable is known to be invalid
free fname on failure and plug possible leak
2006-05-30 09:46:59 +00:00
Antony Dovgal
e2afb33e87 fix skip reason 2006-05-17 10:12:36 +00:00
Marcus Boerger
7bbab02633 - MFH
. Fix iterator based access
  . Add new attribute ATTR_DEFAULT_FETCH_MODE: $bdh->setAttribute()
  . Add new fetch mode: FETCH_PROPS_LATE, this fills object member
    variables after calling the constructor (fixes #36428).
2006-05-11 22:43:44 +00:00
Marcus Boerger
bf9f762b4d - MFH: add new test 2006-05-11 22:17:42 +00:00
Marcus Boerger
11f26c2c2a - Tweak version check 2006-05-09 23:54:48 +00:00
Sara Golemon
7e6beb9f28 Note addition of new class constants 2006-05-04 00:21:51 +00:00
Sara Golemon
91999f1175 mfh(r-1.129) Expose PARAM_EVT_* constants 2006-05-03 21:58:38 +00:00
Wez Furlong
7614368f8a prep for pecl release 2006-05-02 02:32:40 +00:00
Antony Dovgal
ea53739d30 MFB: don't segfault if an exception has been thrown from the fetch handler 2006-04-22 19:10:53 +00:00
Wez Furlong
687e6ffc58 Add "ATTR_EMULATE_PREPARES" general attribute to replace the custom
attributes employed by mysql and postgres drivers.
No functional change.
2006-04-09 08:05:01 +00:00
Antony Dovgal
08e6fded56 prevent possible NULL dereference 2006-03-28 20:19:44 +00:00
Wez Furlong
6387d83a05 add a test case for bug 35671 2006-03-28 16:47:35 +00:00
Wez Furlong
fb7d5bd780 The fix for #35332 caused #35671 (and thus PECL #6504).
Partially back out that fix and introduce an extra optional step for drivers to
canonicalize the "name" that is used for registering parameters.
2006-03-27 20:51:01 +00:00
Antony Dovgal
1ad4dd8795 return FALSE if driver doesn't support quoting (this is what docu says)
also fixed PECL bug #6365
2006-03-23 19:01:46 +00:00
Ilia Alshanetsky
3b1cb0e500 Added myself to PDO and PDO_MySQL credits
Added Wez to PDO_MySQL credits
Added Tony to Q&A team credits
Regenerated the credits file
2006-03-23 18:36:47 +00:00
Ilia Alshanetsky
4ccd89d147 Properly calculate the size of the result array. 2006-03-19 17:35:36 +00:00
Antony Dovgal
5c7c11c41d MFH: check stream for NULL before writing to it
remove unnecessary semicolons
2006-03-18 22:24:05 +00:00
Ilia Alshanetsky
92ba7cccad Fixed memory leak on unused bind var. 2006-03-15 15:25:50 +00:00
Marcus Boerger
6e93f3eb8f - MFH Proto fixes 2006-03-06 10:00:59 +00:00
Ilia Alshanetsky
6f66a63cda Fixed bug #36222 (errorInfo in PDOException is always NULL). 2006-01-31 17:20:32 +00:00
Ilia Alshanetsky
8fde2249c3 Properly rewrite queries where a bound parameter appears more then once. 2006-01-25 16:35:23 +00:00
Marcus Boerger
1d461a6bcc - MFH 2006-01-22 23:57:41 +00:00
Marcus Boerger
813a5651c1 - MFH Update test 2006-01-22 22:07:43 +00:00
Ilia Alshanetsky
64a7e46506 Fixed bug #35797 (segfault on PDOStatement::execute() with
zend.ze1_compatibility_mode = On).
2006-01-01 20:07:41 +00:00
foobar
5bd93221a8 bump year and license version 2006-01-01 12:51:34 +00:00
foobar
e3fd31503b bump the year and license version 2006-01-01 12:26:08 +00:00
Ilia Alshanetsky
2e50763315 Fixed memory corruption that affected pdo_sqlite2. 2005-12-24 17:41:04 +00:00
foobar
93d339bede touch with re2c 0.9.11 2005-12-18 20:01:22 +00:00
Ilia Alshanetsky
b83a0eb10c Fixed memory corruption when FETCH_LAZY mode is being used. 2005-12-17 20:00:00 +00:00
Ilia Alshanetsky
bdf9c4d15c Fixed bug #35694 (Improved error message for invalid fetch mode). 2005-12-15 22:33:02 +00:00
Marcus Boerger
9bb52c750c - MFH 2005-12-11 15:29:14 +00:00
Ilia Alshanetsky
24af85dfe9 Fixed memory leak 2005-12-07 01:29:14 +00:00
foobar
3e669bc950 MFH: nuke php3 legacy 2005-12-06 02:28:41 +00:00
foobar
f58f7f4e67 MFH: fix typo 2005-12-05 22:41:10 +00:00
foobar
66832decc5 MFH 2005-12-05 22:39:03 +00:00
Wez Furlong
17683295e4 switch to package2.xml 2005-12-04 22:34:26 +00:00
Antony Dovgal
d72347f7bc MFH: fix #35543 (php crash when calling non existing method of a class that extends PDO) 2005-12-04 11:41:13 +00:00
Antony Dovgal
06c57b7d55 tweak fix a bit
(by request of Wez)
2005-12-01 20:39:12 +00:00
foobar
b935f6f13a - Fix paths for --enable-gcov usage
# re2c -b -o ext/pdo/pdo_sql_parser.c ext/pdo/pdo_sql_parser.re
2005-12-01 20:28:27 +00:00
Antony Dovgal
59087fee52 MFH: fix #35508 (PDO fails when unknown fetch mode specified) 2005-12-01 19:59:58 +00:00
Wez Furlong
b15e33f85a prep for release 2005-11-28 06:39:53 +00:00
Wez Furlong
d0ea27b802 API for connection dependent objects to add/del refs to dbh's. 2005-11-28 05:23:22 +00:00
Wez Furlong
b4dd85ff46 update changelog here too 2005-11-27 21:18:24 +00:00
Wez Furlong
63dae4ee74 Fix #35431; LAZY fetch and fetchAll == crash.
Lazy makes no sense with fetchAll; disallow it.
2005-11-27 21:01:58 +00:00
Antony Dovgal
6543134dea MFH: fix #35430 (PDO crashes on incorrect FETCH_FUNC use) 2005-11-27 21:01:02 +00:00
Wez Furlong
ef08c58664 update the todo list 2005-11-26 21:29:31 +00:00
Wez Furlong
ab6a675131 going to release 1.0.1 2005-11-26 21:22:49 +00:00
Wez Furlong
426fb96cc9 Doh, need to canonicalize parameter names (by prefixing with :) before
attempting to remap them to positional args.
2005-11-26 21:20:52 +00:00
Wez Furlong
85ad81736c set to 1.0 stable. 2005-11-26 20:50:08 +00:00
foobar
366832fbd2 MFH: Fixed wrong usage of ZEND_EXTENSION_API_NO (these are not Zend exts :) 2005-11-25 16:01:41 +00:00
Wez Furlong
7107105429 Update the TODO list. 2005-11-25 07:23:55 +00:00
Wez Furlong
17f504a0ec actually, bytea is not required for LOBs in postgres; good! 2005-11-25 03:37:01 +00:00
Wez Furlong
2256ec00ef PDO support for LOBs in the postgres driver currently assumes bytea columns. 2005-11-25 03:24:32 +00:00
Wez Furlong
2618322506 Bug: when stringify fetch mode is on, and the driver returns a string instead
of a stream for a LOB parameter, PDO would incorrectly return NULL for that
column.
2005-11-25 03:23:17 +00:00
Wez Furlong
c2d53719c2 Fix for #35332.
The problem is caused by the user mixing positional and named parameters.
PDO was blindly adding the parameters, unaware that the same parameters were
already allocated by position.

What we do now is register the parameter with the driver before adding it to
any hash.  This gives the driver an opportunity to normalize the name and
parameter number.  PDO can then ensure that only one entry is occupied in the
hash for a given parameter.
2005-11-25 00:29:04 +00:00
Wez Furlong
bb2f034eff well, what do you know, it does do something. 2005-11-25 00:20:12 +00:00
Wez Furlong
94ab6069b8 prep for release 2005-11-24 22:25:37 +00:00
Wez Furlong
dfdd1e4caf CLASSTYPE is an internal flag.
Closes PECL #5640.
2005-11-24 21:46:56 +00:00
Wez Furlong
2814b749ec Fix PECL Bug #6014; config fails on PHP 5.0.3 2005-11-24 21:38:09 +00:00
Ilia Alshanetsky
8e49bacf95 Fixed bug #35358 (Incorrect error messages for PDO class constants). 2005-11-24 16:21:43 +00:00
Ilia Alshanetsky
4020933726 Fixed bug #35303 (PDO prepare() crashes with invalid parameters). 2005-11-20 20:06:28 +00:00
Antony Dovgal
493c9fcf93 MFH: fix #35293 (PDO segfaults when using persistent connections) 2005-11-19 16:41:08 +00:00
Wez Furlong
0bd9518f8c Closes PECL #5944; binding an invalid parameter can lead to segfaults.
Modified patch provided by curt@php.net.
2005-11-16 06:32:33 +00:00
Ilia Alshanetsky
8e2de517bb Fixed bug #35135 (PDOStatment without related PDO object may crash). 2005-11-07 16:53:15 +00:00
Wez Furlong
58a14f225d Prep for PECL release 2005-11-01 02:44:11 +00:00
Marcus Boerger
24a80c3ebf - Fix remaining memleaks
# all tests pass for me now for the first time in:
# pgsql, mysql, sqlite, sqlite2
2005-10-31 07:47:40 +00:00
Wez Furlong
b74698f135 fix misinterpretation of data when overriding types via bindColumn.
Very slightly modified patch from Marcus.
2005-10-31 03:23:38 +00:00
Wez Furlong
40c24a65c4 improve test portability.
improve infrastructure for LOB support.
2005-10-31 02:07:38 +00:00
Marcus Boerger
e7494a7e9e - Fix memleak 2005-10-30 22:17:52 +00:00
Wez Furlong
0139cd0e53 Closes PECL Bug #5772; FETCH_FUNC broken for mixed case function names 2005-10-29 03:11:46 +00:00
Wez Furlong
7af8089096 Closes PECL #5809; PDOStatement::execute(array(...)) would modify its args.
It should behave like bindValue() not bindParam().
2005-10-29 03:01:19 +00:00
Wez Furlong
588d88960c clean up the test2 table that some tests create 2005-10-29 02:58:24 +00:00
Antony Dovgal
a9cac89541 MFH: commit forgotten part 2005-10-27 19:39:38 +00:00
Wez Furlong
dcd7879556 fixes PECL Bug #5589 2005-10-27 03:51:23 +00:00
Dan Scott
97ec02ce81 Test PDO::ATTR_CASE attribute. 2005-10-26 23:09:06 +00:00
Dan Scott
f987de46b4 Correct non-standard SQL. Standard SQL would define "DEFAULT NULL" -- but
that is the default value if the DEFAULT clause is omitted anyways.
2005-10-26 06:23:12 +00:00
Antony Dovgal
2af3190a3d use correct enum type for the arg 2005-10-25 16:02:33 +00:00
Ilia Alshanetsky
6b46a441cd Fixed compiler warning 2005-10-25 03:53:25 +00:00
Wez Furlong
ea544cf38f Closes PECL Bug #5750; uri: dsn is not handled correctly.
Patch from curt@php.net
2005-10-23 04:10:20 +00:00
Marcus Boerger
001f506533 - MFH SPL example was changed, so change PDO test accordingly 2005-10-13 19:49:59 +00:00
Marcus Boerger
491674bea6 - Do not try to autoload the class, use internal only 2005-10-13 18:37:19 +00:00
Ilia Alshanetsky
a5fe9808aa MFH: Fixed bug #34809 (FETCH_INTO in PDO crashes without a destination object). 2005-10-10 14:44:16 +00:00
Marcus Boerger
470da4e960 - MFH Add new test 2005-10-07 23:23:44 +00:00
Antony Dovgal
b33c2d9b17 nuke unused variable 2005-10-05 22:17:38 +00:00
Derick Rethans
3abc925a8a - Committing some changes that make PDO+SPL not crash anymore. These are done
by Marcus. and I'm committing them in order to actually use PHP 5.1 without
segfaulting when apache starts. This is not necessary the best solution.
2005-10-05 13:51:46 +00:00
Marcus Boerger
0a50368580 - Add optional dep for SPL under windows too 2005-10-04 07:47:11 +00:00
Marcus Boerger
4d631ec31b - Add optional dependency to SPL 2005-10-04 07:44:56 +00:00
Antony Dovgal
ffe605f2ed free cls_methods correctly and fix segfault on shutdown
(no bug entry and MFB, though..)
2005-10-03 23:27:26 +00:00
Marcus Boerger
0a2e6f723e - MFH change require to require_once 2005-10-03 15:06:27 +00:00
Ilia Alshanetsky
9a0bed9863 MFH: Fixed memory leak. 2005-10-03 03:54:06 +00:00
Wez Furlong
612dab64ee fix type 2005-10-03 00:55:23 +00:00
Wez Furlong
a750f195cd Fix Bug #34687; error information from query() not passed back 2005-10-02 22:11:19 +00:00
Marcus Boerger
991a29cfd6 - MFH PDOException base 2005-10-02 20:38:18 +00:00
Marcus Boerger
ca9dd7d826 - Add PDO::setAttribute(PDO::ATTR_STATEMENT_CLASS) 2005-10-02 20:07:11 +00:00
Wez Furlong
932346c00f Allow compilation with PHP 5.0.x
Closes PECL #5514
2005-10-01 02:48:11 +00:00
Wez Furlong
4f7d14f8d9 a test for bug #34630 2005-09-24 18:54:50 +00:00
Edin Kadribasic
4566f48777 Build PDO and SQLite as shared 2005-09-24 15:13:13 +00:00
Edin Kadribasic
35b7ad00a6 Declare functions used by driver as PDO_API in php_pdo_driver.h 2005-09-24 14:18:01 +00:00
Marcus Boerger
f3c44f6065 - MFH Fixed Bug #34590 User defined PDOStatement class can't implement
methods
- Reimplement Traversable interface
# If there is a problem with this i need a backtrace. As far as i can
# tell by gdb/valgrind/logic there is no error here. But missuse leads to
# the same error report casing the exclusion of interface Traversable.
2005-09-21 22:58:39 +00:00
Marcus Boerger
a72a517e2f - Add ability to execute .php generated from .phpt on failure without the
need to manually set the environment.
2005-09-21 18:40:56 +00:00
Ilia Alshanetsky
4dff36f6b4 MFH: Allow overloading of PDO constructor. 2005-09-20 19:52:24 +00:00
Ilia Alshanetsky
bfe844e41e MFH: Make PDO use class constants 2005-09-20 00:35:21 +00:00
Antony Dovgal
9a1c6c55b8 fix build (declare extern HashTable pdo_driver_hash) 2005-09-18 18:05:59 +00:00
Wez Furlong
7e762989e7 move pdo_drivers -> PDO::getAvailableDrivers as part of namespacing sweep. 2005-09-18 14:13:08 +00:00
Wez Furlong
8dc3e7b147 When populating bound columns, override the returned type with the type
specified by the user in their bind.
2005-09-11 20:32:28 +00:00
Wez Furlong
9e9f413aeb Fix PECL Bug #5010 2005-09-11 19:44:26 +00:00
Wez Furlong
81151a5dbf remove traversable interface; apparently it's not enough, and this stuff is too
magical to figure out wtf should be added.
2005-09-11 14:27:10 +00:00
Wez Furlong
77d3a41f8a update package.xml files and version numbers, in anticipation of a big bunch of releases. 2005-09-11 05:27:30 +00:00
Wez Furlong
1e37cc7b82 set version numbers to 1.0 2005-09-11 05:06:30 +00:00
Wez Furlong
5f47b4178e and touch the generated file 2005-09-10 20:58:57 +00:00
Wez Furlong
e9c81e4983 actually register PDO_PARAM_BOOL as a constant (doh!).
When emulating bound parameters, pass booleans via the driver's quoter
method, so that is has an opportunity to tweak it.
Refs #33876: PDO misquotes/miscasts bool(false)
2005-09-10 20:58:19 +00:00
Wez Furlong
9c252b4b07 closes PECL #5027; PDO_FETCH_NAMED not handled via setFetchMode(). 2005-09-10 19:32:15 +00:00
Wez Furlong
efe24c0205 add __sleep and __wakeup functions to prevent serialize/deserialize from being used on PDO objects. Refs PECL #5217 2005-09-10 17:48:45 +00:00
Wez Furlong
0730fa2af9 Add PDOStatement::bindValue(), which is similar to bindParam(), except that
it binds the value of the zval at the time it is called, rather than keeping
a reference to the zval and taking the value at execute() time.
2005-09-10 15:32:04 +00:00
Edin Kadribasic
60b1f64cc7 touch 2005-09-04 00:48:59 +00:00
Edin Kadribasic
4e1b287b82 Fix for #34233 2005-09-04 00:47:59 +00:00
George Schlossnagle
248c30dad7 MFH. Protect against underflow - refs http://pecl.php.net/bugs/bug.php?id=5193 2005-09-01 14:44:11 +00:00
Ilia Alshanetsky
ecc34bddcc Fixed memory leak. 2005-08-03 18:26:16 +00:00
foobar
23e671a51e - Bumber up year 2005-08-03 14:08:58 +00:00
Wez Furlong
bf85bf515e add sanity checks 2005-07-27 14:18:01 +00:00
Wez Furlong
32cf3cc19f Yes, I can't count the months, and no, I'm not related to Ilia. 2005-07-27 04:07:44 +00:00
Wez Furlong
163c92510a Prep for PECL release 2005-07-27 02:39:46 +00:00
Marcus Boerger
d8eece2b43 - Add missing part to make colon in parameter binding optional 2005-07-22 14:31:20 +00:00
Marcus Boerger
e4b07b3ebe - Test the colon is optional in binding 2005-07-22 14:27:35 +00:00
Wez Furlong
cfe1dc3b46 this looks like a much better fix for refcounting/shutdown in lazy objects. 2005-07-22 04:33:56 +00:00
Wez Furlong
882503110d fix leak (ugh, this nuance gets me every time) 2005-07-22 02:09:19 +00:00
Wez Furlong
3560bb9c2b Fixes #33785 for me 2005-07-22 01:34:43 +00:00
Ilia Alshanetsky
3db688c6c9 Added test for PDO_FETCH_LAZY.
# This currently fails, see bug 33785
2005-07-21 19:33:48 +00:00
Wez Furlong
08891a1c1b some drivers want you to say that its ok to use NULL for these columns. 2005-07-20 05:27:00 +00:00
Ilia Alshanetsky
97e8c6f4a9 Proper handling for databases that need to pre-calculate length of large
columns, which is not normally done for performance reasons.
2005-07-20 03:38:33 +00:00
foobar
e63d1706cf touch with working re2c 2005-07-18 16:08:37 +00:00
Wez Furlong
be88f5a960 make a start on a debugging function. 2005-07-18 14:46:55 +00:00
Wez Furlong
d9826ec143 touch generated file 2005-07-18 14:44:56 +00:00
Wez Furlong
7f053e062c avoid :: when looking for named parameters.
Refs Bug #33736.
2005-07-18 14:44:14 +00:00
Wez Furlong
fbc568013a Add utility for driver-specific tests 2005-07-14 02:08:18 +00:00
foobar
2f558a3798 Touch with working re2c 2005-07-12 07:06:01 +00:00
Wez Furlong
0562581de8 touch generated file 2005-07-12 03:20:08 +00:00
Wez Furlong
9240c5f521 remember ? -> :pdox mapping so that binds by position can be mapped to names if required. 2005-07-12 03:19:44 +00:00
Wez Furlong
664ebfa499 expand oracle null handling compatability by offering the ability to convert
NULLs into empty strings as well as the other way around.  It still doesn't
help a great deal in the long run, but at least the option is there.

Make sure hash tables are nulled out to avoid double freeing them.
2005-07-12 02:40:59 +00:00
Wez Furlong
f5a09e87ee should always bind columns after execute.
There're probably more of these to fix.
2005-07-12 02:38:39 +00:00
Andrey Hristov
b3aa24ff98 fix a segfault with the following script:
<?php
$dbh = new PDO('mysql:dbname=test;host=localhost', "root", "secret");
$what = 1;
$stmt = $dbh->prepare('select a, b, c from t123 where a=:what');
$stmt->bindParam(1, $what, PDO_PARAM_INT, 12);
var_dump($stmt->execute());
var_dump($stmt->fetchObject());
?>
2005-07-11 14:14:56 +00:00
Wez Furlong
007f571beb for the transactions test case, detect working transactions before attempting to run the tests.
Additional ugliness required because mysql does stupid stuff like this:

mysql> CREATE TABLE foo (id int) TYPE=innodb;
Query OK, 0 rows affected, 2 warnings (0.00 sec)
mysql> SHOW CREATE TABLE foo;
CREATE TABLE `foo` (
  `id` int(11) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1

In addition, BEGIN, COMMIT and ROLLBACK all succeed, even when no tables
support transactions.
2005-07-09 04:28:45 +00:00
Wez Furlong
d3b653e97b Added:
proto bool PDOStatement::closeCursor()
Closes the cursor, leaving the statement ready for re-execution.

The purpose of the function is to free up the connection to the server so that
other queries may be issued, but leaving the statement in a state that it can
be re-executed.

This is implemented either as an optional driver specific method (allowing for
maximum efficiency), or as the generic PDO fallback if no driver specific
function is installed.

The PDO generic fallback is semantically the same as writing the following code
in your PHP script:

do {
	while ($stmt->fetch())
		;
	if (!$stmt->nextRowset())
		break;
} while (true);
2005-07-09 03:52:41 +00:00
Ilia Alshanetsky
5fe5da90ea Safer way of allowing 'blank' user/pass.
# Thanks Wez.
2005-07-09 02:53:07 +00:00
Ilia Alshanetsky
0b1931a8ff Fix needed for PostgreSQL driver to allow $user & $pass to be supplied via
DSN as NULL.
2005-07-08 23:33:35 +00:00
Marcus Boerger
ca59b1158e - Regenerate using re2c 0.9.8 2005-07-08 20:38:13 +00:00
Marcus Boerger
8d743e70e0 - std not needed -> avoid warning 2005-07-08 20:35:41 +00:00
Wez Furlong
7976182b94 Fix Bug #33111 2005-07-08 19:28:52 +00:00
Wez Furlong
dec54a98fa generated file 2005-07-08 17:00:48 +00:00
Wez Furlong
38a02b6244 For named-parameter-to-named-parameter rewrites, we need to map the original
names to the new names.
2005-07-08 17:00:28 +00:00
Wez Furlong
8f31f0cfaa Fix a shutdown order issue I saw in the pgsql driver. Hope this doesn't mess
up something in the OCI driver; I think I've been here before.
2005-07-08 15:25:15 +00:00
Wez Furlong
206c7b8372 And the generated version of the parser 2005-07-08 15:24:42 +00:00
Wez Furlong
ab1ba644db add a bit of a hack to cater for pgsql prepared statements.
These are effectively named statements with strong constraints on the naming
format.  We cater for this in a fairly generic way: allow a driver to replace
the format string we use to generate names from positional parameters.  In
addition, if that format is set, we always force a rewrite from regular names
to the strongly enforced names.
2005-07-08 15:24:21 +00:00
Wez Furlong
057e1973c7 and as a result, need to update the expected data 2005-07-08 15:21:43 +00:00
Wez Furlong
8e30a80733 we declare the column as NOT NULL, so inserting NULL is not a good idea. 2005-07-08 15:20:18 +00:00
Wez Furlong
49c1882837 Add a PDO_ATTR_STRINGIFY_FETCHES attribute, which is used to convert integer or
floating point values into strings during fetch.  This is a compatibility hack
for drivers that return native types rather than string representations.

We use this flag in the test suite to persuade postgres tests to pass.
2005-07-08 04:13:00 +00:00
Ilia Alshanetsky
5156c7b38f 1st set of fixes to make tests work with MySQL
# Additional changes pending
2005-07-07 18:49:58 +00:00
Wez Furlong
da7d537d49 populate the new dbh->driver field.
Implement PDO_ATTR_DRIVER_NAME.
2005-07-07 17:08:01 +00:00
Wez Furlong
294a44a9cb add an attribute for returning the driver name 2005-07-07 16:24:51 +00:00
Wez Furlong
5fe199fb0f remove old test files 2005-07-07 15:36:00 +00:00
Ilia Alshanetsky
721687e11c Stop on the 1st skip. 2005-07-07 15:32:32 +00:00
Wez Furlong
3c5b9a6e6a skip if we can't connect (include reason in skip output) 2005-07-07 15:15:01 +00:00