php_pqtxn_object_t *obj = o;
PGresult *res;
- if ((obj->intern->readonly = zend_is_true(value))) {
+ if ((obj->intern->readonly = z_is_true(value))) {
res = PQexec(obj->intern->conn->intern->conn, "SET TRANSACTION READ ONLY");
} else {
res = PQexec(obj->intern->conn->intern->conn, "SET TRANSACTION READ WRITE");
php_pqtxn_object_t *obj = o;
PGresult *res;
- if ((obj->intern->deferrable = zend_is_true(value))) {
+ if ((obj->intern->deferrable = z_is_true(value))) {
res = PQexec(obj->intern->conn->intern->conn, "SET TRANSACTION DEFERRABLE");
} else {
res = PQexec(obj->intern->conn->intern->conn, "SET TRANSACTION NOT DEFERRABLE");
if (!conn_obj->intern) {
throw_exce(EX_UNINITIALIZED TSRMLS_CC, "pq\\Connection not initialized");
} else {
+
+ switch (ZEND_NUM_ARGS()) {
+ case 1:
+ case 2:
+ isolation = conn_obj->intern->default_txn_isolation;
+ /* no break */
+ case 3:
+ readonly = conn_obj->intern->default_txn_readonly;
+ /* no break */
+ case 4:
+ deferrable = conn_obj->intern->default_txn_deferrable;
+ break;
+ }
+
if (async) {
rv = php_pqconn_start_transaction_async(zconn, conn_obj, isolation, readonly, deferrable TSRMLS_CC);
} else {
if (!obj->intern) {
throw_exce(EX_UNINITIALIZED TSRMLS_CC, "pq\\Transacation not initialized");
} else if (!obj->intern->open) {
- throw_exce(EX_RUNTIME TSRMLS_CC, "pq\\Transacation already closed");
+ throw_exce(EX_RUNTIME TSRMLS_CC, "pq\\Transaction already closed");
} else {
PGresult *res;
smart_str cmd = {0};