Commit Graph

171 Commits

Author SHA1 Message Date
Wez Furlong
fdd42afa6c Fixup LOB handling for inserts (refs #34630).
Also tripped over the return of PECL #5200; looks like mysql doesn't return an
accurate length for the columns.  The PDO driver will sanity check the real
length against the buffer size it allocated (based on the info provided by
mysql), so that we won't overrun the buffer.  In addition, if a varchar field
is reported as having a length of less than 128, we'll allocate 128 just in
case.

If the data is truncated, report it via the appropriate sqlstate code.

There must be a better way to do this stuff.
2005-09-25 02:05:03 +00:00
foobar
1536082186 fix typo 2005-09-24 23:23:25 +00:00
Ilia Alshanetsky
fe9db9ab0a Remove pointless PDO_ prefix 2005-09-20 00:44:51 +00:00
Ilia Alshanetsky
bfe844e41e MFH: Make PDO use class constants 2005-09-20 00:35:21 +00:00
Ilia Alshanetsky
766e4b3c15 MFH: Fix error detection for queries such as OPTIMIZE 2005-09-14 15:34:58 +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
2d16ed7706 Add test for this bug report; can't repeat the problem. 2005-09-10 19:27:29 +00:00
Ilia Alshanetsky
156a899e4a MFH: Fixed bug #34001 (pdo_mysql truncates numberic fields at 4 chars) 2005-09-01 01:57:01 +00:00
George Schlossnagle
b247dc3418 MFH, fix 34072 2005-08-31 04:06:10 +00:00
foobar
417f113940 MFH 2005-08-11 23:45:22 +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
Ilia Alshanetsky
4b6d351cd3 Missing bit of the previous commits 2005-07-20 16:22:09 +00:00
Ilia Alshanetsky
99d8090cb2 Fixed memory corruption (wrong order of operations of stored prep. stmt).
Optimize the max length calculation process.
2005-07-20 04:30:14 +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
Ilia Alshanetsky
9438584d76 Only set attribute if result set contains some columns. 2005-07-20 02:36:34 +00:00
Ilia Alshanetsky
1e1d2e2b0d clean up 2005-07-20 02:19:20 +00:00
Wez Furlong
8adbc92d4b this hack can and does segv; let's remove it. 2005-07-20 01:59:14 +00:00
Wez Furlong
8c446726cf Add test case 2005-07-14 02:21:03 +00:00
Wez Furlong
fc48f9096d gah! 2005-07-14 02:20:52 +00:00
Wez Furlong
d025a14d33 Thanks 'james' (a visitor to my blog) for reporting this bug. 2005-07-14 02:09:54 +00:00
Wez Furlong
695e195a27 keep this as a placeholder for debugging weird regressions 2005-07-14 02:09:08 +00:00
Wez Furlong
0601249f82 it is not an error for a statement to return 0 rows.
Andrey: please run the test suite before each commit!
This broke beta 3 and was clearly visible as a result of running the tests.

Running further tests now.
2005-07-14 02:03:54 +00:00
Andrey Hristov
5232c4a544 ok, call pdo_mysql_error() before returning -1 2005-07-12 19:32:13 +00:00
Andrey Hristov
8899425e26 strictly check the result of mysql_affected_rows() 2005-07-12 19:22:05 +00:00
Ilia Alshanetsky
e21f5f9592 A bit of further tuning. 2005-07-11 14:46:01 +00:00
Andrey Hristov
9749926224 - mysql_affected_rows() already returns an unsigned long
- optimize a bit the real_escape
- handle the situation when libmysql bails out because of lack of memory
2005-07-11 13:52:13 +00:00
Andrey Hristov
31de8e9018 stmt->column_count is set only if the result has been already bound, don't
rely on that and use the real count which is kept in st_mysql_stmt
#of course using internal values is bad idea but the comment already says
#that this should be fixed
2005-07-10 02:58:51 +00:00
Andrey Hristov
55ab9b75a6 ok, calculate max_length only in case of a blob (normal, medium, long).
in case of a varchar lets allocate 255 bytes and be quick without asking
libmysql to update max_length
2005-07-10 02:49:14 +00:00
Andrey Hristov
2711d70d33 if the result set is buffered ask libmysql to compute the lengths, so
later allocate buffer as big as the largest value of the column in the
result set (max_legth positive).
2005-07-10 02:20:26 +00:00
Wez Furlong
5602a5ba65 Get precise lengths from the server, as suggested by Andrey. 2005-07-10 02:00:35 +00:00
Ilia Alshanetsky
eb4aff5a91 Added safety checks. 2005-07-09 05:08:54 +00:00
Ilia Alshanetsky
4c18dfc852 Make cursor closer work with emulation as well. 2005-07-09 05:04:43 +00:00
Ilia Alshanetsky
df60983b75 Added missing header check. 2005-07-09 04:43:16 +00:00
Ilia Alshanetsky
c58e878513 Implement cursor_closer for MySQL driver. 2005-07-09 04:30:49 +00:00
Ilia Alshanetsky
ba66cac1cf Fixed memory leak 2005-07-09 04:21:14 +00:00
Wez Furlong
c2f3636cf2 Fix two bugs:
- execute() would not re-fetch meta data after nextRowset() had been called.

- buffered mode would only be enabled on the first execute on a statement handle.
2005-07-09 03:54:13 +00:00
Wez Furlong
168b6500fd Fix #33618 2005-07-08 19:25:37 +00:00
Ilia Alshanetsky
e7b930ea9a Make prepared statements obey buffering flag in MySQL. 2005-07-07 17:53:34 +00:00
Ilia Alshanetsky
22896664a8 Fixed memory leak 2005-07-07 16:27:46 +00:00
Ilia Alshanetsky
307f622817 Fixed memory leak. 2005-07-07 15:54:00 +00:00
Wez Furlong
3fbb2081a1 adopt new tests 2005-07-07 15:04:45 +00:00
Wez Furlong
d7e5dfb2de Enable native mysql 4.1.x prepared statement support
# the hardest part was installing 4.1.x on a gentoo box over a 56k modem
2005-07-03 02:20:08 +00:00
Wez Furlong
1bbab25455 Experimental support for queries returning multiple rowsets under mysql 5.0.
Patch from Guy Harrison (guy dot a dot harrison (at) gmail dot com)
2005-07-02 21:01:38 +00:00
Ilia Alshanetsky
fb7c1f0561 Remove "custom" PDDRV sqlstate. 2005-06-27 14:52:46 +00:00
Ilia Alshanetsky
09f052358f Fixed bogus query failure claim, on some queries such as OPTIMIZE table. 2005-06-24 23:58:06 +00:00
Ilia Alshanetsky
348c0cddae Added PDO_MYSQL_ATTR_USE_BUFFERED_QUERY parameter for pdo_mysql, to toggle
usage of buffered queries.
2005-06-24 19:45:59 +00:00
Ilia Alshanetsky
e956cc30d7 Skip the test, it fails due to missing transaction support. 2005-06-24 19:20:59 +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