Ilia Alshanetsky
75555bc472
Allow overloading of PDO constructor.
2005-09-20 19:52:05 +00:00
Marcus Boerger
97bedcc064
- Provide helper function to avoid TSRM issues with exception base and root
2005-09-20 18:46:15 +00:00
Dmitry Stogov
140b23620b
ZTS fix
2005-09-20 06:17:30 +00:00
Ilia Alshanetsky
3953b14024
Make PDO use class constants
2005-09-20 00:33:42 +00:00
Marcus Boerger
2568c8a0cb
- More TSRM fixes
2005-09-19 18:17:39 +00:00
Marcus Boerger
a3aa58fdea
- Fix building with 5.0
2005-09-19 18:05:00 +00:00
Dmitry Stogov
b81255d4fd
ZTS fix
2005-09-12 06:31:54 +00:00
Wez Furlong
d84239ae87
touch file
2005-09-11 05:04:43 +00:00
Wez Furlong
434fa24dfa
Merge changes from 5.1 branch.
...
Add compat header that allows PDO head to compile against PHP 5.0 and PHP 5.1.
2005-09-11 05:04:00 +00:00
Edin Kadribasic
856b81ff0c
touch
2005-09-04 00:58:49 +00:00
Edin Kadribasic
baecb3d18d
MFB
2005-09-04 00:58:21 +00:00
George Schlossnagle
fbd6ce4db5
Resolution to http://pecl.php.net/bugs/bug.php?id=5193 for all drivers.
2005-09-01 14:39:58 +00:00
Dmitry Stogov
f4b8f4e958
Unicode support cleanup
2005-08-23 09:33:46 +00:00
Dmitry Stogov
6b622046dc
zend_is_callable() and zend_make_callable() were changed to return readable function name as zval (instead of string).
2005-08-22 12:22:16 +00:00
Andrei Zmievski
c79fbfe6f3
And here
2005-08-16 19:43:23 +00:00
Andrei Zmievski
b477936661
And here.
2005-08-16 18:22:22 +00:00
Dmitry Stogov
27f39c6826
Unicode support
2005-08-16 16:29:16 +00:00
Dmitry Stogov
82a504721e
Unicode support
2005-08-15 16:13:02 +00:00
Dmitry Stogov
08fe0d1da3
Test engine is improved to support unicode mode
2005-08-15 14:37:55 +00:00
Dmitry Stogov
0bdfac1169
Tests are fixed according to new var_dump()/pront_r() format (to pass in non-unicode mode)
2005-08-15 07:55:41 +00:00
Wez Furlong
f6276a2b8a
zts fixes
2005-08-12 23:32:31 +00:00
Dmitry Stogov
21c1109e0c
Unicode support
2005-08-12 11:29:33 +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
Ilia Alshanetsky
86028ad122
Return an empty array rather then FALSE in fetchAll() on no results.
2005-07-07 15:14:10 +00:00
Wez Furlong
c80b4c7440
Need to state NOT NULL here, as DB2 won't allow the UNIQUE constraint without it.
2005-07-07 14:09:58 +00:00
Wez Furlong
32663f7da7
make column names lower case
2005-07-07 13:59:34 +00:00
Wez Furlong
1095da42e0
extra paranoia about the attribute param
2005-07-07 13:56:09 +00:00
Wez Furlong
68caaadc6a
Fix bug in bindColumn() for drivers that implement native prepared statements
...
and that use the PDO rewriter to handle non-native parameter syntax.
2005-07-07 12:45:40 +00:00
Wez Furlong
576ff830a9
pedantic WS
2005-07-07 12:44:44 +00:00
Wez Furlong
f4681fd86b
It's not portable to expect any consistency between drivers in the return value
...
of an exec() when running DDL; revise test.
2005-07-07 12:42:52 +00:00
Dmitry Stogov
0eb0b781e0
Fixed memory leaks
2005-07-07 11:19:56 +00:00
Wez Furlong
30c916f21a
rename pdo_test.php to pdo_test.inc, add it, and update tests.
2005-07-06 13:19:25 +00:00
Wez Furlong
277f9357f4
juggling to track down a problem with odbc
2005-07-06 13:16:40 +00:00
Wez Furlong
72a75a87ea
last minute debug stuff sneaked in
2005-07-06 06:13:44 +00:00
Wez Furlong
14dbb2dfe9
Add tests that can be redirected to with new test harness feature.
2005-07-06 06:07:26 +00:00
Wez Furlong
d4a158260b
Add PDO_FETCH_NAMED; closes PECL #4641 by providing a way to access columns
...
by name, even when multiple columns have the same name:
$sql = "SELECT 1 a, 2 a, 3 b, 4 c, 5 d, 6 c, 7 a";
echo "$sql\n";
print_r($db->query($sql)->fetchAll(PDO_FETCH_NAMED));
Array
(
[0] => Array
(
[a] => Array
(
[0] => 1
[1] => 2
[2] => 7
)
[b] => 3
[c] => Array
(
[0] => 4
[1] => 6
)
[d] => 5
)
)
Also added two new attributes for use at prepare time;
PDO_ATTR_FETCH_TABLE_NAMES and PDO_ATTR_FETCH_CATALOG_NAMES instruct the driver
that the names of the columns that they return to PDO should include the table
and catalog names respectively. Both attributes may be used together or
independently. The catalog, table and column name components should be
separated by a . character.
2005-07-03 03:49:44 +00:00
Ilia Alshanetsky
6fd9e5a64f
Fixed memory leak on PDO_FETCH_OBJ.
2005-07-02 17:19:58 +00:00
Edin Kadribasic
00855fcc34
Add sqlstates defined in PostgreSQL documentation.
...
Source: http://www.postgresql.org/docs/8.0/static/errcodes-appendix.html
2005-07-01 23:32:39 +00:00
Edin Kadribasic
5d65789877
Added class 55 sqlstates
2005-07-01 22:12:00 +00:00
foobar
fa6c536c26
fix tests when error_reporting is E_ALL
2005-06-28 23:33:42 +00:00
Ilia Alshanetsky
fb7c1f0561
Remove "custom" PDDRV sqlstate.
2005-06-27 14:52:46 +00:00
Ilia Alshanetsky
866283d43f
Missing part of the previous patch.
2005-06-24 19:46:37 +00:00
Ilia Alshanetsky
e80a144fce
Fixed PDO Mysql tests.
2005-06-24 19:10:41 +00:00
Marcus Boerger
5cf2c9dc45
- Add +ifdefs to still allow PHP 5.0 builds of PDO
...
# PDO is a PECL extension and at the moment is still meant to compile on
# both PHP 5.0 and PHP 5.1.
2005-06-23 00:19:16 +00:00
Dmitry Stogov
f47c78487b
Improved PHP extension loading mechanism with support for module dependencies and conflicts
2005-06-17 09:39:23 +00:00
foobar
23ffaecc7d
If the macro exists, use it, otherwise use the Makefile.frag
2005-06-14 13:09:23 +00:00
Wez Furlong
13ac7169af
and the lesson is, test everything before you commit at 2am
2005-06-11 12:36:12 +00:00
Wez Furlong
f124c2086e
couple of conceptual errors here
2005-06-11 02:50:20 +00:00
Wez Furlong
fcff6a079a
"Fix" PECL #4411
...
SPL is not initialized before PDO, so inheriting from SPL's runtime exception class gives PDO a broken exception class.
We don't currently have a way to express this kind of "soft" dependency in the build system, so I'm disabling inheriting from the runtime exception for now.
2005-06-10 06:11:29 +00:00
Wez Furlong
49e7b3da4c
Fix a dumb bug that would effecively ignore persistent connections and create a
...
new one each time.
Add a hook for persistent connections: it is called when the object goes out of
scope, and offers the driver an opportunity to release per-request scoped data
at the right time.
This hook is used by pdo_sqlite to unregister UDFs, which are dangerous to keep
registered between requests.
2005-06-10 05:47:55 +00:00
Wez Furlong
5c16028eb5
initialize type of function
2005-06-10 04:03:43 +00:00
Dmitry Stogov
cf5a6f81e3
Fixed zval_ptr_dtor(&return_value) on uninicialized zval
2005-06-08 19:51:56 +00:00
foobar
a20383ba06
- Unify the "configure --help" texts
2005-05-29 23:17:16 +00:00
Marcus Boerger
9b3929a7e9
- Need to make PDO::__construct() final to prevent SEGV it isn't called 1st
2005-05-26 18:36:18 +00:00
Marcus Boerger
2ac0540323
- Add test for deriving PDO
2005-05-24 14:26:22 +00:00
Marcus Boerger
88157ad284
- Add new tests for PDO_FETCH_INTO
2005-05-24 12:39:09 +00:00