static int pgsql_stmt_execute(pdo_stmt_t *stmt TSRMLS_DC)
{
- pdo_dbh_t *dbh = stmt->dbh;
pdo_pgsql_stmt *S = (pdo_pgsql_stmt*)stmt->driver_data;
pdo_pgsql_db_handle *H = S->H;
ExecStatusType status;
S->result = NULL;
}
}
+
+ S->current_row = 0;
if (S->cursor_name) {
char *q = NULL;
pdo_pgsql_stmt *S = (pdo_pgsql_stmt*)stmt->driver_data;
if (S->cursor_name) {
- char *ori_str = NULL;
+ char *ori_str;
char *q = NULL;
ExecStatusType status;
case PDO_FETCH_ORI_NEXT: ori_str = "NEXT"; break;
case PDO_FETCH_ORI_PRIOR: ori_str = "PRIOR"; break;
case PDO_FETCH_ORI_REL: ori_str = "RELATIVE"; break;
- }
- if (!ori_str) {
- return 0;
+ default:
+ return 0;
}
- spprintf(&q, 0, "FETCH %s %d FROM %s", ori_str, offset, S->cursor_name);
+ spprintf(&q, 0, "FETCH %s %ld FROM %s", ori_str, offset, S->cursor_name);
S->result = PQexec(S->H->server, q);
status = PQresultStatus(S->result);
require_once('connection.inc');
require_once('prepare.inc');
+require_once($PDO_TESTS . 'pdo.inc');
+
+set_sql('create1', 'CREATE TABLE classtypes(id int PRIMARY KEY, name VARCHAR(20) UNIQUE)');
+set_sql('insert1', 'INSERT INTO classtypes VALUES(0, \'stdClass\')');
+set_sql('insert2', 'INSERT INTO classtypes VALUES(1, \'TestBase\')');
+set_sql('insert3', 'INSERT INTO classtypes VALUES(2, \'TestDerived\')');
+set_sql('selectC', 'SELECT COUNT(*) FROM classtypes');
+set_sql('select0', 'SELECT id, name FROM classtypes ORDER by id');
+set_sql('create2', 'CREATE TABLE test(id int PRIMARY KEY, classtype int, val VARCHAR(255))');
+set_sql('insert4', 'INSERT INTO test VALUES(:id, :classtype, :val)');
+set_sql('select1', 'SELECT id FROM classtypes WHERE name=:cname');
+set_sql('select2', 'SELECT test.val FROM test');
+set_sql('select3', 'SELECT classtypes.name AS name, test.val AS val FROM test LEFT JOIN classtypes ON test.classtype=classtypes.id');
+set_sql('select4', 'SELECT COUNT(*) FROM test LEFT JOIN classtypes ON test.classtype=classtypes.id WHERE (classtypes.id IS NULL OR classtypes.id > 0)');
+set_sql('select5', 'SELECT classtypes.name AS name, test.val AS val FROM test LEFT JOIN classtypes ON test.classtype=classtypes.id WHERE (classtypes.id IS NULL OR classtypes.id > 0)');
+
require_once($PDO_TESTS . 'pdo_018.inc');
?>
===FAILURE===
Exception:SQLSTATE[HY000]: General error: cannot unserialize class
===COUNT===
-int(3)
+string(1) "3"
===DATABASE===
array(3) {
[0]=>