Commit Graph

563 Commits

Author SHA1 Message Date
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
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
Marcus Boerger
0eb7282f98 - fetchSingle() was renamed to fetchColumn() 2005-05-21 14:47:33 +00:00
Ilia Alshanetsky
fa0e534f83 Various compiler warning fixes. 2005-05-18 22:40:56 +00:00
Ilia Alshanetsky
def27b9959 As per PDO meeting on PHP|Tropics fetchSingle is being renamed to
fetchColumn and now supports specification of the column to retrieve.
2005-05-17 01:41:51 +00:00
Wez Furlong
e8cd91adee Allow it build with PHP 5.0.x and up again. 2005-05-14 20:06:54 +00:00
foobar
626253940e - Added PHP_INSTALL_HEADERS() macro
- Fixed several VPATH build issues
- Changed all awk calls to use $AWK
- Changed all mkdir calls to use "$php_shtool mkdir"
2005-05-07 02:51:53 +00:00
foobar
9070204b93 Only test stuff if PDO is enabled 2005-05-06 22:58:42 +00:00
Ilia Alshanetsky
3be50385ab Allocation checks around persistent allocs that can fail. 2005-04-28 00:25:25 +00:00
Ilia Alshanetsky
d30a9ee96d removed debug code. 2005-04-27 03:12:18 +00:00
Wez Furlong
7dd430ff28 fix bug #32795 2005-04-22 02:40:48 +00:00
Ilia Alshanetsky
378776dc33 missing header (re2c 0.9.4 built .c file) 2005-04-14 14:01:11 +00:00
Ilia Alshanetsky
e546162f2c Added missing header. 2005-04-14 14:00:39 +00:00
Antony Dovgal
e499a1c296 fix segfault & buffer overrun when there is no PDO drivers plugged in
(patch by su1d@phpclub.net)
2005-03-29 17:23:36 +00:00
Marcus Boerger
d27be11233 - Fix null handling found by thies 2005-03-24 12:32:06 +00:00
Marcus Boerger
2906d6570c - Add new test 2005-03-24 12:31:37 +00:00
Marcus Boerger
dce82da87d - Add function pdo_drivers() 2005-03-22 10:36:25 +00:00
Marcus Boerger
73a6a31053 - the driver's key name is not zero terminated, hence we need to either
estrNcpy() it or use the driver struct.
- table headers do not support single column mode so change to two cols
- there should be only one table header
2005-03-22 10:26:51 +00:00
Marcus Boerger
a66e14645c - Add new tests 2005-03-21 00:29:25 +00:00
Marcus Boerger
c9108bba25 - Simplify code (only implement handlers that are necessary)
- Fix handling of read only property 'queryString'
- Fix overloading
- Move class init code to their defining .c files for simplification
- Mark class PDORow as final until there's a need to inherit this and
  someone implements the handlers correct then.
2005-03-21 00:29:06 +00:00
Marcus Boerger
360fbc09b7 - Interface name was changed 2005-03-19 10:55:35 +00:00
Marcus Boerger
7b2bee1d5b - Fix warnings by doing it the Zend way 2005-03-19 10:51:42 +00:00
Wez Furlong
5248f59d1a show list of PDO drivers in phpinfo.
Highlight a possible problem area; iterator leaks when used in foreach(),
at least with sqlite2 driver.
2005-03-12 01:16:59 +00:00
Wez Furlong
d88b4c734f build pdo statically on win32, so sqlite2 driver will build.
Alternatively, we could build sqlite as a shared ext, but that has more
of an impact to people upgrading.
2005-03-12 01:15:37 +00:00
Marcus Boerger
92af2b6194 - Update tests 2005-03-10 17:55:36 +00:00
Magnus M��tt�
72276d013a Add NOT NULL to create so the tests work with Firebird too. 2005-03-10 02:37:20 +00:00
Wez Furlong
5984f7f3e1 prep for release 2005-03-09 18:14:49 +00:00
Wez Furlong
f7ebff804d "thou shalt not throw exceptions except in really exceptional circumstances."
The only allowed places to throw them directly are from within the PDO class
constructors or when dealing with transaction level attributes, where
"hard-failure" is a feature.

All other errors should use the PDO error handling mechanism and respect the
users selected error mode.
2005-03-09 05:50:03 +00:00
Wez Furlong
de1d8b91f0 prep package file for release.
fix my favourite typo.
fix compile warnings
2005-03-09 05:03:58 +00:00
Dan Scott
e90582a990 Add test for PDOStatement::getColumnMeta().
Note that PDO_ODBC test fails as it is currently unimplemented.
2005-03-09 00:20:07 +00:00
Dan Scott
83dfcbf3f6 Add simple tests for insert through PDO::prepare/PDOStatement::execute.
Tests both question mark placeholders and named parameters.
2005-03-08 18:12:22 +00:00
Dan Scott
570976d236 Add a test for PDOStatement::columnCount(). 2005-03-08 17:39:41 +00:00
Marcus Boerger
bbccc37f84 - Add new tests 2005-03-07 22:43:27 +00:00
Marcus Boerger
efb3529b7f - Add new tests 2005-03-07 22:36:12 +00:00
Marcus Boerger
9c08e3ccae - Update signature 2005-03-07 22:27:29 +00:00
Dan Scott
48a6151051 Test PDO::beginTransaction and PDO::rollBack. 2005-03-05 21:03:12 +00:00
Marcus Boerger
f76f510185 - Add tests
- Fix testname
- Drop unnecessary include line (was wrong anyway)
2005-03-04 01:29:27 +00:00
Marcus Boerger
a4521139da - Reserve some bits for flags 2005-02-28 22:37:13 +00:00
Marcus Boerger
6ce9bcc31e - Need to drop ce until engine gets fixed 2005-02-28 19:23:56 +00:00
Marcus Boerger
eb330a95f6 - Fix warning 2005-02-28 18:44:14 +00:00
Marcus Boerger
d072f6de54 - Changing handler table definitively results in SEGVs 2005-02-28 18:40:02 +00:00
Joe Orton
bc1c0c2e12 Fix type mismatch. 2005-02-28 13:30:50 +00:00
Marcus Boerger
fdc3fce335 - Fix missapplied logic inversion 2005-02-28 01:08:07 +00:00
Marcus Boerger
fef7cb4e29 - Disable direct serializing for PHP 5.0 2005-02-27 22:58:08 +00:00
Marcus Boerger
6b18b88b2c - Allow default fetch mode to contain fetch flags 2005-02-27 22:48:14 +00:00
Marcus Boerger
03a4a8c11d - Add some fetch column related capailities
- Add direct (classtype based) unserializing capabilities
2005-02-27 22:32:11 +00:00
Wez Furlong
2c5b2fc105 Alan: moved your fields away, but reserved you a pointer.
Changed PDO::lastInsertId() to have following proto:

	string PDO::lastInsertId([string name])

this allows arbitrary unique identitifers to be returned from the driver.

The optional name parameter is for databases that require additional contextual
information to be able to return the correct identifier.  None currently use
it, but pgsql will be on the list of drivers that do.
2005-02-26 17:27:51 +00:00
Wez Furlong
31239f2130 *cough* 2005-02-26 16:03:55 +00:00
Wez Furlong
09fee0bf21 and the generated file 2005-02-26 15:45:43 +00:00
Wez Furlong
b4ad599df2 fix for PECL #3545 2005-02-26 15:44:38 +00:00
Wez Furlong
8be87fbab0 fix broken line endings 2005-02-26 15:35:41 +00:00
Marcus Boerger
f982890a58 - Missed during last committs somehow 2005-02-24 00:14:50 +00:00
Marcus Boerger
b786b93b7a - Delay ctor call so that it can overwrite everything and the data can
already be accessed from the ctor.
2005-02-23 23:28:30 +00:00
Marcus Boerger
40d180a87d - Reorganize ctor_args handling (fixes some bugs) 2005-02-23 00:52:46 +00:00
Marcus Boerger
effe989d91 - Show that PDOStatement implements Traversable 2005-02-23 00:52:14 +00:00
Marcus Boerger
77cf78caa1 - Make ctor args optional 2005-02-23 00:29:44 +00:00
Marcus Boerger
994006abd4 - Need to also revert operator 2005-02-22 21:22:23 +00:00
Marcus Boerger
d235a2bf4a - Put this back in (forgot to revert) 2005-02-22 20:59:52 +00:00
Marcus Boerger
cb9658feef - Revert signature of PDO:prepare()
old: proto object PDO::prepare(string statment [, array driver_options [, string classname ]])
  now: proto object PDO::prepare(string statment [, array options])
  param 'classname' and and 'ctor_args' are now set through options
  using index PDO_ATTR_STATEMENT_CLASS
- Change all deriver_options parameters to 'options' to reflect the fact
  that they may contain statement as well as driver specific flags
2005-02-22 20:25:56 +00:00
Marcus Boerger
3c743e3a98 - Allow to derive PDOStatement
- Verify fetch modes
- Add last fetch mode PDO_FETCH_FUNC (only valid inside fetchAll()) that
  allows to completley customize the way data is treated on the fly
2005-02-22 19:27:34 +00:00
Marcus Boerger
18985accc4 - Call dtor 2005-02-22 11:37:53 +00:00
Marcus Boerger
ab8f1f316b - Add new test 2005-02-21 18:55:51 +00:00
Marcus Boerger
fc2276c955 - Change tests to use ' instead of " for string values becuase that is
working for more SQL dialects.
2005-02-20 19:25:17 +00:00
Marcus Boerger
94c286f2ef - Attempt at an unified test suite 2005-02-20 17:56:19 +00:00
Marcus Boerger
d56ce00b85 - Add fetch flag PDO_FETCH_CLASSTYPE 2005-02-20 16:12:57 +00:00
Marcus Boerger
3239a56526 - Only call the ctor once 2005-02-20 15:28:09 +00:00
Marcus Boerger
dcf89ff197 - Bump API 2005-02-20 15:07:29 +00:00
Marcus Boerger
5a2620349e - Fix memleak and optimize PDO_FETCH_CLASS 2005-02-20 14:31:44 +00:00
Marcus Boerger
883ee83478 - Call ctor after initializing the props like regular db exts do 2005-02-20 13:42:03 +00:00
Marcus Boerger
07a8ea220f - Need to specify class_entry in PDO_FETCH_CLASS mode 2005-02-20 13:33:45 +00:00
Marcus Boerger
b788dc9d2a - Add fetch mode PDO_FETCH_UNIQUE 2005-02-19 23:48:30 +00:00
Marcus Boerger
a452a445cf - Simplify 2005-02-19 23:36:58 +00:00
Marcus Boerger
474fcab623 - Add PDO_FETCH_GROUP to fetchAll() 2005-02-19 23:11:23 +00:00
Marcus Boerger
41674da59f - Add full PDO_FETCH_CLASS capabilities to fetchAll() 2005-02-19 21:49:42 +00:00
Marcus Boerger
e6a5ebbdab - Default to stdClass in PDO_FETCH_CLASS mode if no classname is given 2005-02-19 21:35:31 +00:00
Wez Furlong
cdbe7b7afa add this note. 2005-02-18 15:39:22 +00:00
Wez Furlong
9653864fbd prep for release 2005-02-18 15:32:14 +00:00
Wez Furlong
3f0f701639 Update for pending PEAR release. 2005-02-18 01:39:36 +00:00
Wez Furlong
55f53a5a96 symlinked pdo drivers under ext.
Enabled PDO and PDO_SQLITE by default.
Fixup PDO header detection so that it searches in the correct order, and
correctly picks up the headers when building from outside of the source
tree.

TODO: make pdo_XXX auto-enable when XXX is enabled.  Volunteers welcome.
2005-02-17 04:23:15 +00:00
Wez Furlong
6c1c64c2e7 experimental hooks for alan.
Off limits to everyone else... pretend they are not there :)
2005-02-14 15:52:06 +00:00
Edin Kadribasic
6ff3368e1b Simplify 2005-02-13 23:40:30 +00:00
Edin Kadribasic
14819d0f14 Allow pdo to be statically compiled in, while modules remain dynamic 2005-02-13 23:19:00 +00:00
Marcus Boerger
ef2b59f772 - Expand tests to have it work inside PHP 5.0 2005-02-13 18:13:44 +00:00
Marcus Boerger
f860c70362 - In fetch mode PDO_FETCH_CLASS handle constructor args
- Add PDOStatement::fetchObject
2005-02-13 17:04:04 +00:00
Marcus Boerger
746d5490cf - Use runtimeException as base if present (synch with other dbs) 2005-02-13 15:40:15 +00:00
Wez Furlong
0be93c95c9 prep for release 2005-02-13 06:56:16 +00:00
Wez Furlong
81999fdeba Fix variable declaration 2005-02-13 06:42:19 +00:00
Wez Furlong
078b77619a commit generated version of the .re 2005-02-13 06:30:36 +00:00
Wez Furlong
0da6a84edf implement mapping of :name to ? parameters for drivers that only support ?
placeholders.
The current restriction is that you may not use the same named parameter
more than one in a given query, as there is a danger of scary things happen
with the zval if it gets bound multiple times.
2005-02-13 06:29:35 +00:00
Wez Furlong
fc51fd11b6 it's only an error in emulation mode; rewrite happens in prepare, which
happens before bindParam
2005-02-13 04:00:22 +00:00
Edin Kadribasic
ab9821d8c3 Do not shout :) 2005-02-13 03:27:48 +00:00
Wez Furlong
1051e7076f Fixes the crash part of PECL Bug #3434. 2005-02-13 03:26:43 +00:00
Wez Furlong
4d80aaf47a try to handle OSX issues more gracefully 2005-02-13 01:54:59 +00:00
Ilia Alshanetsky
e5a906dcb9 Updated version without compiler warnings. 2005-02-12 20:34:20 +00:00
Wez Furlong
91eab3e5bc typo 2005-02-11 02:05:05 +00:00
Wez Furlong
1f06eb1c5c update in anticipation of a release later tonight 2005-02-11 01:22:44 +00:00
Wez Furlong
ccd242665b Fix PDO::query() for drivers that emulate bound parameters. 2005-02-11 01:20:59 +00:00
Wez Furlong
69cbb7f958 prep for release 2005-02-10 01:56:20 +00:00
Wez Furlong
3b857ea987 rename ancient method 2005-02-09 23:34:53 +00:00
Ilia Alshanetsky
ee0e2d0ea3 Touch file. 2005-02-09 17:06:13 +00:00
Ilia Alshanetsky
2196c4335b kill unused var 2005-02-09 16:14:50 +00:00
Ilia Alshanetsky
1b3dd5db8b remove unused vars. 2005-02-09 15:56:27 +00:00
Wez Furlong
94d5261f73 cosmetic changes 2005-02-09 15:12:41 +00:00
Wez Furlong
f6aa8f5d90 keep a log here for now 2005-02-09 06:44:08 +00:00
Wez Furlong
902ca8c1cf Expose the quoter method of the driver as PDO::quote().
Closes PECL Bug #3393
2005-02-09 06:43:15 +00:00
Wez Furlong
d57a169500 typo fix 2005-02-09 06:14:48 +00:00
Wez Furlong
b9a951aa1a be realistic... 2005-02-09 04:56:10 +00:00
Wez Furlong
5a2cb4154a update ready for release
# includes big hack to help guide people into running "make install" so
# that the headers get installed; works around a pear bug.
2005-02-09 04:54:56 +00:00
Wez Furlong
5304374fc5 fix typo 2005-02-09 00:38:11 +00:00
Wez Furlong
36e3ea8cb2 add input/output parameter type flag 2005-02-07 01:12:49 +00:00
Wez Furlong
504afcfc5a and the generated file 2005-02-07 00:26:38 +00:00
Wez Furlong
2bd3536041 handle input LOBs (which are passed as streams) in bound parameter emulation.
Update error handling.
2005-02-07 00:26:22 +00:00
Wez Furlong
ccf0a6a557 add a caller_frees parameter to get_col() to allow drivers that need
to allocate data on demand to do so without worrying about cleaning it up.

Spec out how LOB parameters are returned.
2005-02-06 22:11:12 +00:00
Wez Furlong
e3ba31e899 better handling of pdo-level errors 2005-02-06 21:05:59 +00:00
Wez Furlong
ec98e744be touch again 2005-02-06 21:05:28 +00:00
Wez Furlong
ca4dc0361c this one too 2005-02-06 17:33:12 +00:00
Wez Furlong
9ba84360e3 handle some generic attributes here 2005-02-06 17:25:09 +00:00
Wez Furlong
b2126a848a This will probably fix PECL Bug #3273 2005-02-06 16:46:18 +00:00
Wez Furlong
257dfcdde7 touch file 2005-02-06 16:29:33 +00:00
Edin Kadribasic
0d9b0606b9 Don't segault when we have placeholders but no bound params 2005-02-06 00:46:17 +00:00
Edin Kadribasic
64e8c3105c Return lobs as strings for now 2005-02-05 22:46:26 +00:00
Wez Furlong
74821473e2 update separately 2005-02-05 21:30:19 +00:00
Wez Furlong
15e754201f pass param type to quoter functions 2005-02-05 21:29:42 +00:00
Wez Furlong
ebaf95b13a make this the right size... 2005-01-23 15:34:48 +00:00
Wez Furlong
7a137a5f84 fix leak 2005-01-21 04:41:52 +00:00
Wez Furlong
8ebcbfdf1b hrmm. Really really really really touch the timestamp in CVS to avoid
crappy makefile annoyance.
2005-01-21 04:34:41 +00:00
Wez Furlong
53af3dc4f2 update 2005-01-21 04:02:41 +00:00
Wez Furlong
dede3c59fe fix encoding nastiness that snuck in from the copy-n-paste of error code
descriptions from a web page.
2005-01-21 03:59:41 +00:00
Wez Furlong
88640832be and check in the generated c file later, to avoid remaking it in fresh checkouts. 2005-01-21 03:58:09 +00:00
Wez Furlong
6ddbfa0733 Revise query parser so that it can rewrite from one bind syntax to another.
Expose it as PDO_API.  No drivers utilize this feature yet.
2005-01-21 03:57:06 +00:00
Wez Furlong
dcd3d84ddb Eliminate unused parameter 2005-01-21 00:38:09 +00:00
Wez Furlong
a39d50c95f don't propogate an unspecified length to the driver.
Drivers will used a 0 length as a hint that the parameter is an in-out or out
parameter.
2005-01-19 05:25:40 +00:00
Wez Furlong
a536e31fb1 leak/segv less 2005-01-19 03:44:49 +00:00
Wez Furlong
544d61873d proto bool PDOStatement::nextRowset()
Advances to the next rowset in a multi-rowset statement handle. Returns true if
it succeded, false otherwise
2005-01-19 01:12:52 +00:00