Lines Matching refs:descriptor

52 	php_oci_descriptor *descriptor;  in php_oci_lob_create()  local
67 descriptor = ecalloc(1, sizeof(php_oci_descriptor)); in php_oci_lob_create()
68 descriptor->type = (ub4) type; in php_oci_lob_create()
69 descriptor->connection = connection; in php_oci_lob_create()
70 GC_ADDREF(descriptor->connection->id); in php_oci_lob_create()
72 …errstatus, OCIDescriptorAlloc, (connection->env, (dvoid*)&(descriptor->descriptor), descriptor->ty… in php_oci_lob_create()
77 efree(descriptor); in php_oci_lob_create()
83 PHP_OCI_REGISTER_RESOURCE(descriptor, le_descriptor); in php_oci_lob_create()
85 descriptor->lob_current_position = 0; in php_oci_lob_create()
86 descriptor->lob_size = -1; /* we should set it to -1 to know, that it's just not initialized */ in php_oci_lob_create()
87 descriptor->buffering = PHP_OCI_LOB_BUFFER_DISABLED; /* buffering is off by default */ in php_oci_lob_create()
88 descriptor->charset_form = SQLCS_IMPLICIT; /* default value */ in php_oci_lob_create()
89 descriptor->charset_id = connection->charset; in php_oci_lob_create()
90 descriptor->is_open = 0; in php_oci_lob_create()
91 descriptor->chunk_size = 0; in php_oci_lob_create()
93 if (descriptor->type == OCI_DTYPE_LOB || descriptor->type == OCI_DTYPE_FILE) { in php_oci_lob_create()
101 descriptor->index = (connection->descriptor_count)++; in php_oci_lob_create()
108 zend_hash_index_update_ptr(connection->descriptors, descriptor->index, descriptor); in php_oci_lob_create()
110 return descriptor; in php_oci_lob_create()
117 int php_oci_lob_get_length (php_oci_descriptor *descriptor, ub4 *length) in php_oci_lob_get_length() argument
119 php_oci_connection *connection = descriptor->connection; in php_oci_lob_get_length()
124 if (descriptor->lob_size >= 0) { in php_oci_lob_get_length()
125 *length = descriptor->lob_size; in php_oci_lob_get_length()
128 if (descriptor->type == OCI_DTYPE_FILE) { in php_oci_lob_get_length()
129 …RN(errstatus, OCILobFileOpen, (connection->svc, connection->err, descriptor->descriptor, OCI_FILE_… in php_oci_lob_get_length()
137 …N(errstatus, OCILobGetLength, (connection->svc, connection->err, descriptor->descriptor, (ub4 *)le… in php_oci_lob_get_length()
145 descriptor->lob_size = *length; in php_oci_lob_get_length()
147 if (descriptor->type == OCI_DTYPE_FILE) { in php_oci_lob_get_length()
148 …ALL_RETURN(errstatus, OCILobFileClose, (connection->svc, connection->err, descriptor->descriptor)); in php_oci_lob_get_length()
208 static inline int php_oci_lob_calculate_buffer(php_oci_descriptor *descriptor, zend_long read_lengt… in php_oci_lob_calculate_buffer() argument
210 php_oci_connection *connection = descriptor->connection; in php_oci_lob_calculate_buffer()
214 if (descriptor->type == OCI_DTYPE_FILE) { in php_oci_lob_calculate_buffer()
218 if (!descriptor->chunk_size) { in php_oci_lob_calculate_buffer()
219 …rrstatus, OCILobGetChunkSize, (connection->svc, connection->err, descriptor->descriptor, &chunk_si… in php_oci_lob_calculate_buffer()
226 descriptor->chunk_size = chunk_size; in php_oci_lob_calculate_buffer()
230 if ((read_length % descriptor->chunk_size) != 0) { in php_oci_lob_calculate_buffer()
231 return (int) descriptor->chunk_size * (((int) read_length / descriptor->chunk_size) + 1); in php_oci_lob_calculate_buffer()
239 int php_oci_lob_read (php_oci_descriptor *descriptor, zend_long read_length, zend_long initial_offs… in php_oci_lob_read() argument
241 php_oci_connection *connection = descriptor->connection; in php_oci_lob_read()
260 if (php_oci_lob_get_length(descriptor, &length)) { in php_oci_lob_read()
287 if (descriptor->type == OCI_DTYPE_FILE) { in php_oci_lob_read()
288 …RN(errstatus, OCILobFileOpen, (connection->svc, connection->err, descriptor->descriptor, OCI_FILE_… in php_oci_lob_read()
298 …N(errstatus, OCILobCharSetId, (connection->env, connection->err, descriptor->descriptor, &charset_… in php_oci_lob_read()
335 buffer_size = php_oci_lob_calculate_buffer(descriptor, buffer_size); /* use chunk size */ in php_oci_lob_read()
342 descriptor->descriptor, in php_oci_lob_read()
351 (ub2) descriptor->charset_id, /* The character set ID of the buffer data. */ in php_oci_lob_read()
352 (ub1) descriptor->charset_form /* The character set form of the buffer data. */ in php_oci_lob_read()
359 offset = descriptor->lob_current_position + chars_read; in php_oci_lob_read()
361 offset = descriptor->lob_current_position + bytes_read; in php_oci_lob_read()
375 descriptor->lob_current_position = (int)offset; in php_oci_lob_read()
377 if (descriptor->type == OCI_DTYPE_FILE) { in php_oci_lob_read()
378 …ALL_RETURN(errstatus, OCILobFileClose, (connection->svc, connection->err, descriptor->descriptor)); in php_oci_lob_read()
399 int php_oci_lob_write (php_oci_descriptor *descriptor, ub4 offset, char *data, int data_len, ub4 *b… in php_oci_lob_write() argument
401 OCILobLocator *lob = (OCILobLocator *) descriptor->descriptor; in php_oci_lob_write()
402 php_oci_connection *connection = (php_oci_connection *) descriptor->connection; in php_oci_lob_write()
407 if (php_oci_lob_get_length(descriptor, &lob_length)) { in php_oci_lob_write()
415 if (offset > descriptor->lob_current_position) { in php_oci_lob_write()
416 offset = descriptor->lob_current_position; in php_oci_lob_write()
431 (ub2) descriptor->charset_id, in php_oci_lob_write()
432 (ub1) descriptor->charset_form in php_oci_lob_write()
443 descriptor->lob_current_position += data_len; in php_oci_lob_write()
445 if ((int) descriptor->lob_current_position > (int) descriptor->lob_size) { in php_oci_lob_write()
446 descriptor->lob_size = descriptor->lob_current_position; in php_oci_lob_write()
450 if (descriptor->buffering == PHP_OCI_LOB_BUFFER_ENABLED) { in php_oci_lob_write()
451 descriptor->buffering = PHP_OCI_LOB_BUFFER_USED; in php_oci_lob_write()
461 int php_oci_lob_set_buffering (php_oci_descriptor *descriptor, int on_off) in php_oci_lob_set_buffering() argument
463 php_oci_connection *connection = descriptor->connection; in php_oci_lob_set_buffering()
466 if (!on_off && descriptor->buffering == PHP_OCI_LOB_BUFFER_DISABLED) { in php_oci_lob_set_buffering()
471 if (on_off && descriptor->buffering != PHP_OCI_LOB_BUFFER_DISABLED) { in php_oci_lob_set_buffering()
477 …TURN(errstatus, OCILobEnableBuffering, (connection->svc, connection->err, descriptor->descriptor)); in php_oci_lob_set_buffering()
479 …URN(errstatus, OCILobDisableBuffering, (connection->svc, connection->err, descriptor->descriptor)); in php_oci_lob_set_buffering()
487 descriptor->buffering = on_off ? PHP_OCI_LOB_BUFFER_ENABLED : PHP_OCI_LOB_BUFFER_DISABLED; in php_oci_lob_set_buffering()
495 int php_oci_lob_get_buffering (php_oci_descriptor *descriptor) in php_oci_lob_get_buffering() argument
497 if (descriptor->buffering != PHP_OCI_LOB_BUFFER_DISABLED) { in php_oci_lob_get_buffering()
536 descriptor_dest->descriptor, in php_oci_lob_copy()
537 descriptor_from->descriptor, in php_oci_lob_copy()
557 int php_oci_lob_close (php_oci_descriptor *descriptor) in php_oci_lob_close() argument
559 php_oci_connection *connection = descriptor->connection; in php_oci_lob_close()
562 if (descriptor->is_open) { in php_oci_lob_close()
563 …CI_CALL_RETURN(errstatus, OCILobClose, (connection->svc, connection->err, descriptor->descriptor)); in php_oci_lob_close()
573 if (php_oci_temp_lob_close(descriptor)) { in php_oci_lob_close()
583 int php_oci_temp_lob_close (php_oci_descriptor *descriptor) in php_oci_temp_lob_close() argument
585 php_oci_connection *connection = descriptor->connection; in php_oci_temp_lob_close()
589 …(errstatus, OCILobIsTemporary, (connection->env,connection->err, descriptor->descriptor, &is_tempo… in php_oci_temp_lob_close()
598 …RETURN(errstatus, OCILobFreeTemporary, (connection->svc, connection->err, descriptor->descriptor)); in php_oci_temp_lob_close()
613 int php_oci_lob_flush(php_oci_descriptor *descriptor, zend_long flush_flag) in php_oci_lob_flush() argument
615 OCILobLocator *lob = descriptor->descriptor; in php_oci_lob_flush()
616 php_oci_connection *connection = descriptor->connection; in php_oci_lob_flush()
637 if (descriptor->buffering != PHP_OCI_LOB_BUFFER_USED) { in php_oci_lob_flush()
650 descriptor->buffering = PHP_OCI_LOB_BUFFER_ENABLED; in php_oci_lob_flush()
658 void php_oci_lob_free (php_oci_descriptor *descriptor) in php_oci_lob_free() argument
660 if (!descriptor || !descriptor->connection) { in php_oci_lob_free()
664 if (descriptor->connection->descriptors) { in php_oci_lob_free()
665 if (zend_hash_num_elements(descriptor->connection->descriptors) == 0) { in php_oci_lob_free()
666 descriptor->connection->descriptor_count = 0; in php_oci_lob_free()
669 zend_hash_index_del(descriptor->connection->descriptors, descriptor->index); in php_oci_lob_free()
670 if (descriptor->index + 1 == descriptor->connection->descriptor_count) { in php_oci_lob_free()
682 descriptor->connection->descriptor_count--; in php_oci_lob_free()
688 …if ((descriptor->type == OCI_DTYPE_FILE || descriptor->type == OCI_DTYPE_LOB) && descriptor->buffe… in php_oci_lob_free()
689 php_oci_lob_flush(descriptor, OCI_LOB_BUFFER_FREE); in php_oci_lob_free()
692 if (descriptor->type == OCI_DTYPE_LOB) { in php_oci_lob_free()
693 php_oci_temp_lob_close(descriptor); in php_oci_lob_free()
696 PHP_OCI_CALL(OCIDescriptorFree, (descriptor->descriptor, descriptor->type)); in php_oci_lob_free()
698 zend_list_delete(descriptor->connection->id); in php_oci_lob_free()
699 efree(descriptor); in php_oci_lob_free()
705 int php_oci_lob_import (php_oci_descriptor *descriptor, char *filename) in php_oci_lob_import() argument
709 OCILobLocator *lob = (OCILobLocator *)descriptor->descriptor; in php_oci_lob_import()
710 php_oci_connection *connection = descriptor->connection; in php_oci_lob_import()
738 (ub2) descriptor->charset_id, in php_oci_lob_import()
739 (ub1) descriptor->charset_form in php_oci_lob_import()
764 OCILobLocator *lob_dest = descriptor_dest->descriptor; in php_oci_lob_append()
765 OCILobLocator *lob_from = descriptor_from->descriptor; in php_oci_lob_append()
795 int php_oci_lob_truncate (php_oci_descriptor *descriptor, zend_long new_lob_length) in php_oci_lob_truncate() argument
797 php_oci_connection *connection = descriptor->connection; in php_oci_lob_truncate()
798 OCILobLocator *lob = descriptor->descriptor; in php_oci_lob_truncate()
802 if (php_oci_lob_get_length(descriptor, &lob_length)) { in php_oci_lob_truncate()
828 descriptor->lob_size = (ub4) new_lob_length; in php_oci_lob_truncate()
837 int php_oci_lob_erase (php_oci_descriptor *descriptor, zend_long offset, ub4 length, ub4 *bytes_era… in php_oci_lob_erase() argument
839 php_oci_connection *connection = descriptor->connection; in php_oci_lob_erase()
840 OCILobLocator *lob = descriptor->descriptor; in php_oci_lob_erase()
846 if (php_oci_lob_get_length(descriptor, &lob_length)) { in php_oci_lob_erase()
851 offset = descriptor->lob_current_position; in php_oci_lob_erase()
877 OCILobLocator *first_lob = descriptor_first->descriptor; in php_oci_lob_is_equal()
878 OCILobLocator *second_lob = descriptor_second->descriptor; in php_oci_lob_is_equal()
895 int php_oci_lob_write_tmp (php_oci_descriptor *descriptor, zend_long type, char *data, int data_len) in php_oci_lob_write_tmp() argument
897 php_oci_connection *connection = descriptor->connection; in php_oci_lob_write_tmp()
898 OCILobLocator *lob = descriptor->descriptor; in php_oci_lob_write_tmp()
944 descriptor->is_open = 1; in php_oci_lob_write_tmp()
947 return php_oci_lob_write(descriptor, 0, data, data_len, &bytes_written); in php_oci_lob_write_tmp()