Commit Graph

15971 Commits

Author SHA1 Message Date
Wez Furlong
93962139fb Avoid estrdup(NULL), modified patch from Zhao ming sen. 2005-07-12 11:02:23 +00:00
Georg Richter
9caaee66bd removed charset structure. libmysql now provides a function
mysqli_get_character_set_info (Vers. 5.0.10)
2005-07-12 09:35:16 +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
1bd3483dea fix bug when query was rewritten from ? to :name 2005-07-12 03:18:17 +00:00
Wez Furlong
4f22ac0cdd improve handling of bound input parameters when no maximal length value is set;
default to 4000 as the maximal length, which is the biggest size possible
without using a LONG type (if you specify anything larger than this, you'll end
up with ORA-1461).

Don't assume that all parameters were output parameters after execution, as
this would clobber the input values when used in a loop.
2005-07-12 02:43:39 +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
Ilia Alshanetsky
e21f5f9592 A bit of further tuning. 2005-07-11 14:46:01 +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
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
Ilia Alshanetsky
35df0e5571 Compiler warning fix. 2005-07-11 03:24:28 +00:00
foobar
21ed9234a0 - Moved ext/dbx and ext/ircg to PECL. 2005-07-10 19:05:09 +00:00
foobar
08f8fcf8f4 touch 2005-07-10 17:56:35 +00:00
Wez Furlong
0d7fa88b4e Fix #33624, mysterious crashes on shutdown on win32 2005-07-10 14:56:36 +00:00
Marcus Boerger
000ef9c4b5 - use three digit octal character definition 2005-07-10 14:04:20 +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
Wez Furlong
3d373f86f0 Related to #33624. Crashes for me on shutdown, but seems ok for the rest of the world. 2005-07-09 18:52:36 +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
Wez Furlong
f21084cb0b don't free the cols until we know we have another rowset 2005-07-09 05:01:14 +00:00
Ilia Alshanetsky
858d827790 Added cursor closer handler.
Fixed memory leak.
2005-07-09 04:54:04 +00:00
Ilia Alshanetsky
df60983b75 Added missing header check. 2005-07-09 04:43:16 +00:00
Ilia Alshanetsky
d3a9f93111 cursor_closer for SQLite. 2005-07-09 04:37:27 +00:00
Ilia Alshanetsky
c58e878513 Implement cursor_closer for MySQL driver. 2005-07-09 04:30:49 +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
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
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
foobar
15e772ce13 - No need to use convert_to_string_ex() when dealing with strings 2005-07-09 00:59:49 +00:00
foobar
fcee086982 - Fixed bug #33588 (LDAP: RootDSE query not possible). 2005-07-09 00:46:45 +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
Wez Furlong
6ee00c8199 fix leak 2005-07-08 20:45:19 +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
168b6500fd Fix #33618 2005-07-08 19:25:37 +00:00
Wez Furlong
6377c0ccca Fix PECL #4753 2005-07-08 19:05:57 +00:00
Antony Dovgal
38e4fb09e0 fix tsrm build 2005-07-08 18:16:46 +00:00
Wez Furlong
512af63a63 rewrite original names to our preferred format 2005-07-08 17:01:20 +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
Ilia Alshanetsky
2301d93156 Some of us don't have PostgreSQL 8.0 :) 2005-07-08 16:20:13 +00:00
Ilia Alshanetsky
bf020f87e1 Missing bit of the previous patch. 2005-07-08 16:17:04 +00:00
Ilia Alshanetsky
046635075b Fixed compiler warning. 2005-07-08 16:06:05 +00:00