Date: 08/04/99
- Next message: leon <email protected>: "[PHP-DEV] Bug #1960: intval() mangling values"
- Previous message: Brandeis Alumni Relations Webmaster: "[PHP-DEV] Location string in headers vary with HTTP 1.0 and 1.1 as built by PHPLIB's session start()"
- Next in thread: Andreas Karajannis: "[PHP-DEV] cvs: /php3/functions oci8.c"
- Maybe reply: Andreas Karajannis: "[PHP-DEV] cvs: /php3/functions oci8.c"
- Maybe reply: Andreas Karajannis: "[PHP-DEV] cvs: /php3/functions oci8.c"
- Maybe reply: Thies C. Arntzen: "[PHP-DEV] cvs: /php3/functions oci8.c"
- Maybe reply: Jim Winstead: "[PHP-DEV] cvs: /php3/functions oci8.c"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
kara Wed Aug 4 14:23:59 1999 EDT
Modified files:
/php3/functions oci8.c
Log:
Added direct upload of LOBS from file to oci8_savedesc
Index: php3/functions/oci8.c
diff -u php3/functions/oci8.c:1.115 php3/functions/oci8.c:1.116
--- php3/functions/oci8.c:1.115 Mon Jul 12 07:51:41 1999
+++ php3/functions/oci8.c Wed Aug 4 14:23:57 1999
@@ -33,7 +33,7 @@
#define OCI8_USE_EMALLOC 0 /* set this to 1 if you want to use the php memory manager! */
-/* $Id: oci8.c,v 1.115 1999/07/12 11:51:41 thies Exp $ */
+/* $Id: oci8.c,v 1.116 1999/08/04 18:23:57 kara Exp $ */
/* TODO list:
*
@@ -2613,16 +2613,54 @@
WRONG_PARAM_COUNT;
}
- loblen = arg->value.str.len;
+ if(arg->value.str.val[0] == '\'') {
+ char buf[8192];
+ int fp;
+ ub4 offset = 1;
+ char *filename;
+
+ /* read directly from file */
+ filename = &arg->value.str.val[1];
+
+ filename[arg->value.str.len - 2] = '\0';
+ if ((fp = open(filename, O_RDONLY)) == -1) {
+ php3_error(E_WARNING, "Can't open file %s", filename);
+ RETURN_FALSE;
+ }
+ while((loblen = read(fp, &buf, 8192)) > 0){
+ connection->error =
+ OCILobWrite(connection->pServiceContext,
+ connection->pError,
+ mylob,
+ &loblen,
+ offset,
+ (dvoid *) &buf,
+ (ub4) loblen,
+ OCI_ONE_PIECE,
+ (dvoid *)0,
+ (OCICallbackLobWrite) 0,
+ (ub2) 0,
+ (ub1) SQLCS_IMPLICIT
+ );
+ if (connection->error) {
+ oci8_error(connection->pError, "OCILobWrite", connection->error);
+ close(fp);
+ RETURN_FALSE;
+ }
+ offset += loblen;
+ }
+ close(fp);
+ }else{
+ loblen = arg->value.str.len;
- if (loblen < 1) {
- php3_error(E_WARNING, "Cannot save a lob wich size is less than 1 byte");
- RETURN_FALSE;
- }
+ if (loblen < 1) {
+ php3_error(E_WARNING, "Cannot save a lob wich size is less than 1 byte");
+ RETURN_FALSE;
+ }
- connection->error =
- OCILobWrite(connection->pServiceContext,
+ connection->error =
+ OCILobWrite(connection->pServiceContext,
connection->pError,
mylob,
&loblen,
@@ -2635,13 +2673,13 @@
(ub2) 0,
(ub1) SQLCS_IMPLICIT );
- oci8_debug("OCIsavedesc: size=%d",loblen);
+ oci8_debug("OCIsavedesc: size=%d",loblen);
- if (connection->error) {
- oci8_error(connection->pError, "OCILobWrite", connection->error);
- RETURN_FALSE;
+ if (connection->error) {
+ oci8_error(connection->pError, "OCILobWrite", connection->error);
+ RETURN_FALSE;
+ }
}
-
RETURN_TRUE;
}
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>
- Next message: leon <email protected>: "[PHP-DEV] Bug #1960: intval() mangling values"
- Previous message: Brandeis Alumni Relations Webmaster: "[PHP-DEV] Location string in headers vary with HTTP 1.0 and 1.1 as built by PHPLIB's session start()"
- Next in thread: Andreas Karajannis: "[PHP-DEV] cvs: /php3/functions oci8.c"
- Maybe reply: Andreas Karajannis: "[PHP-DEV] cvs: /php3/functions oci8.c"
- Maybe reply: Andreas Karajannis: "[PHP-DEV] cvs: /php3/functions oci8.c"
- Maybe reply: Thies C. Arntzen: "[PHP-DEV] cvs: /php3/functions oci8.c"
- Maybe reply: Jim Winstead: "[PHP-DEV] cvs: /php3/functions oci8.c"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

