Lines Matching refs:statement

52 	php_oci_statement *statement;  in php_oci_statement_create()  local
57 statement = ecalloc(1,sizeof(php_oci_statement)); in php_oci_statement_create()
61 …PHP_OCI_CALL(OCIHandleAlloc, (connection->env, (dvoid **)&(statement->stmt), OCI_HTYPE_STMT, 0, NU… in php_oci_statement_create()
64 …PHP_OCI_CALL(OCIHandleAlloc, (connection->env, (dvoid **)&(statement->err), OCI_HTYPE_ERROR, 0, NU… in php_oci_statement_create()
70 &(statement->stmt), in php_oci_statement_create()
82 DTRACE_OCI8_SQLTEXT(connection, connection->client_id, statement, query); in php_oci_statement_create()
89 PHP_OCI_CALL(OCIStmtRelease, (statement->stmt, statement->err, NULL, 0, OCI_STRLS_CACHE_DELETE)); in php_oci_statement_create()
90 PHP_OCI_CALL(OCIHandleFree,(statement->err, OCI_HTYPE_ERROR)); in php_oci_statement_create()
92 efree(statement); in php_oci_statement_create()
98 statement->last_query = ecalloc(1, query_len + 1); in php_oci_statement_create()
99 memcpy(statement->last_query, query, query_len); in php_oci_statement_create()
100 statement->last_query_len = query_len; in php_oci_statement_create()
103 statement->last_query = NULL; in php_oci_statement_create()
104 statement->last_query_len = 0; in php_oci_statement_create()
107 statement->connection = connection; in php_oci_statement_create()
108 statement->has_data = 0; in php_oci_statement_create()
109 statement->has_descr = 0; in php_oci_statement_create()
110 statement->parent_stmtid = 0; in php_oci_statement_create()
111 statement->impres_child_stmt = NULL; in php_oci_statement_create()
112 statement->impres_count = 0; in php_oci_statement_create()
113statement->impres_flag = PHP_OCI_IMPRES_UNKNOWN; /* may or may not have Implicit Result Set child… in php_oci_statement_create()
115 ++GC_REFCOUNT(statement->connection->id); in php_oci_statement_create()
117 GC_ADDREF(statement->connection->id); in php_oci_statement_create()
121 php_oci_statement_set_prefetch(statement, (ub4)OCI_G(default_prefetch)); in php_oci_statement_create()
123 php_oci_statement_set_prefetch(statement, (ub4)100); /* semi-arbitrary, "sensible default" */ in php_oci_statement_create()
126 PHP_OCI_REGISTER_RESOURCE(statement, le_statement); in php_oci_statement_create()
130 return statement; in php_oci_statement_create()
136 php_oci_statement *php_oci_get_implicit_resultset(php_oci_statement *statement) in php_oci_get_implicit_resultset() argument
147 …PHP_OCI_CALL_RETURN(errstatus, OCIStmtGetNextResult, (statement->stmt, statement->err, &result, &r… in php_oci_get_implicit_resultset()
159 …PHP_OCI_CALL(OCIHandleAlloc, (statement->connection->env, (dvoid **)&(statement2->err), OCI_HTYPE_… in php_oci_get_implicit_resultset()
161 statement2->parent_stmtid = statement->id; in php_oci_get_implicit_resultset()
165 statement2->connection = statement->connection; in php_oci_get_implicit_resultset()
179 GC_REFCOUNT(statement->id)++; in php_oci_get_implicit_resultset()
182 GC_ADDREF(statement->id); in php_oci_get_implicit_resultset()
186 php_oci_statement_set_prefetch(statement2, statement->prefetch_count); in php_oci_get_implicit_resultset()
200 int php_oci_statement_set_prefetch(php_oci_statement *statement, ub4 prefetch ) in php_oci_statement_set_prefetch() argument
208 …CALL_RETURN(errstatus, OCIAttrSet, (statement->stmt, OCI_HTYPE_STMT, &prefetch, 0, OCI_ATTR_PREFET… in php_oci_statement_set_prefetch()
211 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_statement_set_prefetch()
212 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_statement_set_prefetch()
213 statement->prefetch_count = 0; in php_oci_statement_set_prefetch()
216 statement->prefetch_count = prefetch; in php_oci_statement_set_prefetch()
217 statement->errcode = 0; /* retain backwards compat with OCI8 1.4 */ in php_oci_statement_set_prefetch()
258 int php_oci_statement_fetch(php_oci_statement *statement, ub4 nrows) in php_oci_statement_fetch() argument
268 statement->errcode = 0; /* retain backwards compat with OCI8 1.4 */ in php_oci_statement_fetch()
270 if (statement->has_descr && statement->columns) { in php_oci_statement_fetch()
271 zend_hash_apply(statement->columns, php_oci_cleanup_pre_fetch); in php_oci_statement_fetch()
274 …PHP_OCI_CALL_RETURN(errstatus, OCIStmtFetch, (statement->stmt, statement->err, nrows, OCI_FETCH_NE… in php_oci_statement_fetch()
277 if (statement->last_query == NULL) { in php_oci_statement_fetch()
279 if (statement->columns) { in php_oci_statement_fetch()
280 zend_hash_destroy(statement->columns); in php_oci_statement_fetch()
281 efree(statement->columns); in php_oci_statement_fetch()
282 statement->columns = NULL; in php_oci_statement_fetch()
283 statement->ncolumns = 0; in php_oci_statement_fetch()
285 statement->executed = 0; in php_oci_statement_fetch()
288 statement->has_data = 0; in php_oci_statement_fetch()
298 for (i = 0; i < statement->ncolumns; i++) { in php_oci_statement_fetch()
299 column = php_oci_statement_get_column(statement, i + 1, NULL, 0); in php_oci_statement_fetch()
311 statement->stmt, in php_oci_statement_fetch()
312 statement->err, in php_oci_statement_fetch()
323 for (i = 0; i < statement->ncolumns; i++) { in php_oci_statement_fetch()
324 column = php_oci_statement_get_column(statement, i + 1, NULL, 0); in php_oci_statement_fetch()
338 statement->err, in php_oci_statement_fetch()
350 …PHP_OCI_CALL_RETURN(errstatus, OCIStmtFetch, (statement->stmt, statement->err, nrows, OCI_FETCH_NE… in php_oci_statement_fetch()
353 for (i = 0; i < statement->ncolumns; i++) { in php_oci_statement_fetch()
354 column = php_oci_statement_get_column(statement, i + 1, NULL, 0); in php_oci_statement_fetch()
363 statement->has_data = 1; in php_oci_statement_fetch()
366 for (i = 0; i < statement->ncolumns; i++) { in php_oci_statement_fetch()
367 column = php_oci_statement_get_column(statement, i + 1, NULL, 0); in php_oci_statement_fetch()
385 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_statement_fetch()
386 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_statement_fetch()
388 statement->has_data = 0; in php_oci_statement_fetch()
396 php_oci_out_column *php_oci_statement_get_column(php_oci_statement *statement, zend_long column_ind… in php_oci_statement_get_column() argument
401 if (statement->columns == NULL) { /* we release the columns at the end of a fetch */ in php_oci_statement_get_column()
406 for (i = 0; i < statement->ncolumns; i++) { in php_oci_statement_get_column()
407 column = php_oci_statement_get_column(statement, i + 1, NULL, 0); in php_oci_statement_get_column()
415 if ((column = zend_hash_index_find_ptr(statement->columns, column_index)) == NULL) { in php_oci_statement_get_column()
440 nested_stmt = php_oci_statement_create(outcol->statement->connection, NULL, 0); in php_oci_define_callback()
444 nested_stmt->parent_stmtid = outcol->statement->id; in php_oci_define_callback()
446 ++GC_REFCOUNT(outcol->statement->id); in php_oci_define_callback()
448 GC_ADDREF(outcol->statement->id); in php_oci_define_callback()
476 descr = php_oci_lob_create(outcol->statement->connection, dtype); in php_oci_define_callback()
499 int php_oci_statement_execute(php_oci_statement *statement, ub4 mode) in php_oci_statement_execute() argument
519 …DTRACE_OCI8_EXECUTE_MODE(statement->connection, statement->connection->client_id, statement, mode); in php_oci_statement_execute()
529 if (!statement->stmttype) { in php_oci_statement_execute()
531 …us, OCIAttrGet, ((dvoid *)statement->stmt, OCI_HTYPE_STMT, (ub2 *)&statement->stmttype, (ub4 *)0, … in php_oci_statement_execute()
534 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_statement_execute()
535 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_statement_execute()
538 statement->errcode = 0; /* retain backwards compat with OCI8 1.4 */ in php_oci_statement_execute()
542 if (statement->stmttype == OCI_STMT_SELECT) { in php_oci_statement_execute()
548 if (statement->last_query) { /* Don't execute REFCURSORS or Implicit Result Set handles */ in php_oci_statement_execute()
550 if (statement->binds) { in php_oci_statement_execute()
552 zend_hash_apply_with_argument(statement->binds, php_oci_bind_pre_exec, (void *)&result); in php_oci_statement_execute()
559 …PHP_OCI_CALL_RETURN(errstatus, OCIStmtExecute, (statement->connection->svc, statement->stmt, state… in php_oci_statement_execute()
562 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_statement_execute()
563 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_statement_execute()
567 if (statement->binds) { in php_oci_statement_execute()
568 zend_hash_apply(statement->binds, php_oci_bind_post_exec); in php_oci_statement_execute()
573 statement->connection->rb_on_disconnect = 0; in php_oci_statement_execute()
574 } else if (statement->stmttype != OCI_STMT_SELECT) { in php_oci_statement_execute()
576 statement->connection->rb_on_disconnect = 1; in php_oci_statement_execute()
585 statement->errcode = 0; /* retain backwards compat with OCI8 1.4 */ in php_oci_statement_execute()
588 if (statement->stmttype == OCI_STMT_SELECT && statement->executed == 0) { in php_oci_statement_execute()
590 statement->executed = 1; in php_oci_statement_execute()
592 ALLOC_HASHTABLE(statement->columns); in php_oci_statement_execute()
593 zend_hash_init(statement->columns, 13, NULL, php_oci_column_hash_dtor, 0); in php_oci_statement_execute()
598 …tatus, OCIAttrGet, ((dvoid *)statement->stmt, OCI_HTYPE_STMT, (dvoid *)&colcount, (ub4 *)0, OCI_AT… in php_oci_statement_execute()
601 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_statement_execute()
602 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_statement_execute()
606 statement->ncolumns = colcount; in php_oci_statement_execute()
612 if ((outcol = zend_hash_index_update_ptr(statement->columns, counter, outcol)) == NULL) { in php_oci_statement_execute()
613 FREE_HASHTABLE(statement->columns); in php_oci_statement_execute()
618 outcol = zend_hash_index_update_ptr(statement->columns, counter, outcol); in php_oci_statement_execute()
622 …PHP_OCI_CALL_RETURN(errstatus, OCIParamGet, ((dvoid *)statement->stmt, OCI_HTYPE_STMT, statement->… in php_oci_statement_execute()
625 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_statement_execute()
626 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_statement_execute()
631 …aram, OCI_DTYPE_PARAM, (dvoid *)&outcol->data_type, (ub4 *)0, OCI_ATTR_DATA_TYPE, statement->err)); in php_oci_statement_execute()
635 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_statement_execute()
636 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_statement_execute()
641 …OCI_DTYPE_PARAM, (dvoid *)&outcol->charset_form, (ub4 *)0, OCI_ATTR_CHARSET_FORM, statement->err)); in php_oci_statement_execute()
645 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_statement_execute()
646 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_statement_execute()
651 …am, OCI_DTYPE_PARAM, (dvoid *)&outcol->charset_id, (ub4 *)0, OCI_ATTR_CHARSET_ID, statement->err)); in php_oci_statement_execute()
655 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_statement_execute()
656 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_statement_execute()
661 …am, OCI_DTYPE_PARAM, (dvoid *)&outcol->data_size, (dvoid *)0, OCI_ATTR_DATA_SIZE, statement->err)); in php_oci_statement_execute()
665 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_statement_execute()
666 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_statement_execute()
674 …id *)param, OCI_DTYPE_PARAM, (dvoid *)&outcol->scale, (dvoid *)0, OCI_ATTR_SCALE, statement->err)); in php_oci_statement_execute()
678 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_statement_execute()
679 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_statement_execute()
684 …am, OCI_DTYPE_PARAM, (dvoid *)&outcol->precision, (dvoid *)0, OCI_ATTR_PRECISION, statement->err)); in php_oci_statement_execute()
688 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_statement_execute()
689 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_statement_execute()
694 …CI_DTYPE_PARAM, (dvoid **)&colname, (ub4 *)&outcol->name_len, (ub4)OCI_ATTR_NAME, statement->err)); in php_oci_statement_execute()
698 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_statement_execute()
699 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_statement_execute()
708 if (statement->defines) { in php_oci_statement_execute()
709 …if ((outcol->define = zend_hash_str_find_ptr(statement->defines, outcol->name, outcol->name_len)) … in php_oci_statement_execute()
719 outcol->statement = statement; /* parent handle */ in php_oci_statement_execute()
723 outcol->statement->has_descr = 1; in php_oci_statement_execute()
733 outcol->statement = statement; /* parent handle */ in php_oci_statement_execute()
737 outcol->statement->has_descr = 1; in php_oci_statement_execute()
799 statement->stmt, /* IN/OUT handle to the requested SQL query */ in php_oci_statement_execute()
801 statement->err, /* IN/OUT An error handle */ in php_oci_statement_execute()
817 statement->stmt, /* IN/OUT handle to the requested SQL query */ in php_oci_statement_execute()
819 statement->err, /* IN/OUT An error handle */ in php_oci_statement_execute()
834 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_statement_execute()
835 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_statement_execute()
850 statement->err, in php_oci_statement_execute()
857 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_statement_execute()
858 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_statement_execute()
864 statement->errcode = 0; /* retain backwards compat with OCI8 1.4 */ in php_oci_statement_execute()
873 int php_oci_statement_cancel(php_oci_statement *statement) in php_oci_statement_cancel() argument
875 return php_oci_statement_fetch(statement, 0); in php_oci_statement_cancel()
881 void php_oci_statement_free(php_oci_statement *statement) in php_oci_statement_free() argument
883 if (statement->stmt) { in php_oci_statement_free()
884 if (statement->last_query_len) { /* FIXME: magical */ in php_oci_statement_free()
885 …PHP_OCI_CALL(OCIStmtRelease, (statement->stmt, statement->err, NULL, 0, statement->errcode ? OCI_S… in php_oci_statement_free()
886 …} else if (statement->impres_flag != PHP_OCI_IMPRES_IS_CHILD) { /* Oracle doc says don't free Imp… in php_oci_statement_free()
887 PHP_OCI_CALL(OCIHandleFree, (statement->stmt, OCI_HTYPE_STMT)); in php_oci_statement_free()
889 statement->stmt = NULL; in php_oci_statement_free()
892 if (statement->err) { in php_oci_statement_free()
893 PHP_OCI_CALL(OCIHandleFree, (statement->err, OCI_HTYPE_ERROR)); in php_oci_statement_free()
894 statement->err = NULL; in php_oci_statement_free()
897 if (statement->last_query) { in php_oci_statement_free()
898 efree(statement->last_query); in php_oci_statement_free()
901 if (statement->binds) { in php_oci_statement_free()
902 zend_hash_destroy(statement->binds); in php_oci_statement_free()
903 efree(statement->binds); in php_oci_statement_free()
906 if (statement->defines) { in php_oci_statement_free()
907 zend_hash_destroy(statement->defines); in php_oci_statement_free()
908 efree(statement->defines); in php_oci_statement_free()
911 if (statement->columns) { in php_oci_statement_free()
912 zend_hash_destroy(statement->columns); in php_oci_statement_free()
913 efree(statement->columns); in php_oci_statement_free()
916 if (statement->parent_stmtid) { in php_oci_statement_free()
917 zend_list_delete(statement->parent_stmtid); in php_oci_statement_free()
920 zend_list_delete(statement->connection->id); in php_oci_statement_free()
921 efree(statement); in php_oci_statement_free()
1121 int php_oci_bind_by_name(php_oci_statement *statement, char *name, size_t name_len, zval *var, zend… in php_oci_bind_by_name() argument
1265 if (!statement->binds) { in php_oci_bind_by_name()
1266 ALLOC_HASHTABLE(statement->binds); in php_oci_bind_by_name()
1267 zend_hash_init(statement->binds, 13, NULL, php_oci_bind_hash_dtor, 0); in php_oci_bind_by_name()
1270 if ((old_bind = zend_hash_str_find_ptr(statement->binds, name, name_len)) != NULL) { in php_oci_bind_by_name()
1280 bindp = zend_hash_update_ptr(statement->binds, zvtmp, bindp); in php_oci_bind_by_name()
1295 bindp->statement = oci_stmt; in php_oci_bind_by_name()
1296 bindp->parent_statement = statement; in php_oci_bind_by_name()
1308 statement->stmt, /* statement handle */ in php_oci_bind_by_name()
1310 statement->err, /* error handle */ in php_oci_bind_by_name()
1326 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_bind_by_name()
1327 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_bind_by_name()
1335 statement->err, in php_oci_bind_by_name()
1344 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_bind_by_name()
1345 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_bind_by_name()
1355 statement->err, in php_oci_bind_by_name()
1365 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_bind_by_name()
1366 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_bind_by_name()
1371 statement->errcode = 0; /* retain backwards compat with OCI8 1.4 */ in php_oci_bind_by_name()
1405 } else if ((phpbind->descriptor == 0) && (phpbind->statement == 0)) { in php_oci_bind_in_callback()
1420 } else if (phpbind->statement != 0) { in php_oci_bind_in_callback()
1422 *bufpp = phpbind->statement; in php_oci_bind_in_callback()
1465 if (phpbind->statement != NULL) { in php_oci_bind_out_callback()
1466 *bufpp = phpbind->statement; in php_oci_bind_out_callback()
1532 php_oci_statement *statement; in php_oci_statement_get_column_helper() local
1539statement = (php_oci_statement *) zend_fetch_resource_ex(z_statement, "oci8 statement", le_stateme… in php_oci_statement_get_column_helper()
1541 if (!statement) { in php_oci_statement_get_column_helper()
1545 if (need_data && !statement->has_data) { in php_oci_statement_get_column_helper()
1550 …column = php_oci_statement_get_column(statement, -1, Z_STRVAL_P(column_index), (int) Z_STRLEN_P(co… in php_oci_statement_get_column_helper()
1562 column = php_oci_statement_get_column(statement, Z_LVAL(tmp), NULL, 0); in php_oci_statement_get_column_helper()
1574 column = php_oci_statement_get_column(statement, tmp, NULL, 0); in php_oci_statement_get_column_helper()
1587 int php_oci_statement_get_type(php_oci_statement *statement, ub2 *type) in php_oci_statement_get_type() argument
1594 …atus, OCIAttrGet, ((dvoid *)statement->stmt, OCI_HTYPE_STMT, (ub2 *)&statement_type, (ub4 *)0, OCI… in php_oci_statement_get_type()
1597 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_statement_get_type()
1598 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_statement_get_type()
1601 statement->errcode = 0; /* retain backwards compat with OCI8 1.4 */ in php_oci_statement_get_type()
1610 int php_oci_statement_get_numrows(php_oci_statement *statement, ub4 *numrows) in php_oci_statement_get_numrows() argument
1617 …tus, OCIAttrGet, ((dvoid *)statement->stmt, OCI_HTYPE_STMT, (ub4 *)&statement_numrows, (ub4 *)0, O… in php_oci_statement_get_numrows()
1620 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_statement_get_numrows()
1621 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_statement_get_numrows()
1624 statement->errcode = 0; /* retain backwards compat with OCI8 1.4 */ in php_oci_statement_get_numrows()
1633 int php_oci_bind_array_by_name(php_oci_statement *statement, char *name, size_t name_len, zval *var… in php_oci_bind_array_by_name() argument
1679 bind = php_oci_bind_array_helper_date(val, max_table_length, statement->connection); in php_oci_bind_array_by_name()
1693 bind->statement = NULL; in php_oci_bind_array_by_name()
1694 bind->parent_statement = statement; in php_oci_bind_array_by_name()
1704 statement->stmt, in php_oci_bind_array_by_name()
1706 statement->err, in php_oci_bind_array_by_name()
1739 statement->errcode = php_oci_error(statement->err, errstatus); in php_oci_bind_array_by_name()
1740 PHP_OCI_HANDLE_ERROR(statement->connection, statement->errcode); in php_oci_bind_array_by_name()
1744 if (!statement->binds) { in php_oci_bind_array_by_name()
1745 ALLOC_HASHTABLE(statement->binds); in php_oci_bind_array_by_name()
1746 zend_hash_init(statement->binds, 13, NULL, php_oci_bind_hash_dtor, 0); in php_oci_bind_array_by_name()
1750 zend_hash_update_ptr(statement->binds, zvtmp, bind); in php_oci_bind_array_by_name()
1757 statement->errcode = 0; /* retain backwards compat with OCI8 1.4 */ in php_oci_bind_array_by_name()