Browse Source

add new functions:

ocitelllob(); [ OCI_Lob->tell(); ] - ftell(); analogue for Lobs
ociwritelob(); [ OCI_Lob->write(); ] - fwrite(); analogue for Lobs
ocitruncatelob(); [ OCI_Lob->truncate(); ] - ftruncate(); analogue for Lobs
ocieraselob(); [ OCI_Lob->erase(); ] - erases specified part of a Lob (for BLOBs it means zero-filling, for CLOBs - space-filling)
ociflushlob(); [ OCI_Lob->flush(); ] - flushes Lob buffer (if buffering was enabled before)
ocisetbufferinglob(); [ OCI_Lob->setBuffering(); ] - turns on/off buffering for the current Lob
ocigetbufferinglob(); [ OCI_Lob->getBuffering(); ] - gets buffering' current state
ocirewindlob(); [ OCI_Lob->rewind(); ] - rewind(); analogue for Lobs
ocireadlob(); [ OCI_Lob->read(); ] - fread(); analogue for Lobs
ocieoflob(); [ OCI_Lob->eof(); ] - feof(); analogue for Lobs
ociseeklob(); [ OCI_Lob->seek(); ] - fseek(); analogue for Lobs
ocilobgetlength(); [ OCI_Lob->getLength(); ] - filesize(); analogue for Lobs

ociappendlob(); - appends data from a Lob to another Lob
ocicopylob(); - copies data from a Lob to another Lob
ociisequallob(); - compares 2 Lobs and checks if they are equal

TODO cleanup
and other minor fixes
PEAR_1_4DEV
Antony Dovgal 23 years ago
parent
commit
18096396d2
  1. 1108
      ext/oci8/oci8.c
  2. 7
      ext/oci8/php_oci8.h

1108
ext/oci8/oci8.c
File diff suppressed because it is too large
View File

7
ext/oci8/php_oci8.h

@ -51,6 +51,10 @@
#include <oci.h>
#define OCI_SEEK_SET 0
#define OCI_SEEK_CUR 1
#define OCI_SEEK_END 2
typedef struct {
int num;
int persistent;
@ -89,6 +93,9 @@ typedef struct {
oci_connection *conn;
dvoid *ocidescr;
ub4 type;
int lob_current_position;
int lob_size; // -1 = Lob wasn't initialized yet
int buffering; // 0 - off, 1 - on, 2 - on and buffer was used
} oci_descriptor;
typedef struct {

Loading…
Cancel
Save