On 14/01/10 12:19, Charles Jardine wrote:
On 12/01/10 12:07, John Scoles wrote:
Ok third time is a Charm
The Third RC of the beer edition of DBD::Oracle 1.24 can be found at
http://svn.perl.org/modules/dbd-oracle/trunk/DBD-Oracle-1.24-RC3.tar
This round has a few little patches from Martin Evans on it.
Please test and enjoy
My environment is Linux x86-64, Perl 5.10.1 (64 bit), DBI 1.609,
Oracle 10.2.0.4.2 (64 bit). Database charset UTF8, national
charset AL16UTF16
Three things:
[snip]
3. Here is a patch which removes the remaining warnings detected by
gcc in 64-bit mode.
[snip]
I realise that something has wrapped the very long lines in the patch,
so I am trying again, sending the patch as an attachment.
--
Charles Jardine - Computing Service, University of Cambridge
c...@cam.ac.uk Tel: +44 1223 334506, Fax: +44 1223 334679
diff -ur DBD-Oracle-1.24-RC3/dbdimp.c
DBD-Oracle-1.24-RC3.warning_patches/dbdimp.c
--- DBD-Oracle-1.24-RC3/dbdimp.c 2010-01-08 19:39:46.000000000 +0000
+++ DBD-Oracle-1.24-RC3.warning_patches/dbdimp.c 2010-01-14
10:36:01.839787037 +0000
@@ -543,14 +543,14 @@
#ifdef NEW_OCI_INIT /* XXX needs merging into use_proc_connection branch */
/* Get CLIENT char and nchar charset id values */
- OCINlsEnvironmentVariableGet_log_stat( &charsetid, 0,
OCI_NLS_CHARSET_ID, 0, &rsize ,status );
+ OCINlsEnvironmentVariableGet_log_stat( &charsetid,
(size_t)0, OCI_NLS_CHARSET_ID, 0, &rsize ,status );
if (status != OCI_SUCCESS) {
oci_error(dbh, NULL, status,
"OCINlsEnvironmentVariableGet(OCI_NLS_CHARSET_ID) Check NLS settings etc.");
return 0;
}
- OCINlsEnvironmentVariableGet_log_stat( &ncharsetid, 0,
OCI_NLS_NCHARSET_ID, 0, &rsize ,status );
+ OCINlsEnvironmentVariableGet_log_stat( &ncharsetid,
(size_t)0, OCI_NLS_NCHARSET_ID, 0, &rsize ,status );
if (status != OCI_SUCCESS) {
oci_error(dbh, NULL, status,
"OCINlsEnvironmentVariableGet(OCI_NLS_NCHARSET_ID) Check NLS settings etc.");
diff -ur DBD-Oracle-1.24-RC3/oci8.c DBD-Oracle-1.24-RC3.warning_patches/oci8.c
--- DBD-Oracle-1.24-RC3/oci8.c 2010-01-08 19:39:46.000000000 +0000
+++ DBD-Oracle-1.24-RC3.warning_patches/oci8.c 2010-01-14 10:43:16.341547757
+0000
@@ -1872,7 +1872,7 @@
if (status == OCI_NEED_DATA ){
char buf[300];
sprintf(buf,"fetching %s. LOB and the read bufer is
only %lubytes, and the ora_ncs_buff_mtpl is %d, which is too small. Try
setting ora_ncs_buff_mtpl to %d",
- name, buflen,
ora_ncs_buff_mtpl,ora_ncs_buff_mtpl+1);
+ name, (unsigned long)buflen,
ora_ncs_buff_mtpl,ora_ncs_buff_mtpl+1);
oci_error_err(sth, NULL, OCI_ERROR, buf,
OCI_NEED_DATA); /* appropriate ORA error number */
croak("DBD::Oracle has returned a %s status when doing
a LobRead!! \n",oci_status_name(status));
@@ -2240,7 +2240,7 @@
if (tdo != obj->tdo) {
/* new subtyped -> get obj
description */
if (DBIS->debug >= 5 ||
dbd_verbose >= 5 ) {
- PerlIO_printf(DBILOGFP,
" describe subtype (tdo=%x) of object type %s
(tdo=%x)\n",(int)tdo,base_obj->type_name,(int)base_obj->tdo);
+ PerlIO_printf(DBILOGFP,
" describe subtype (tdo=%p) of object type %s
(tdo=%p)\n",(void*)tdo,base_obj->type_name,(void*)base_obj->tdo);
}
Newz(1, obj->next_subtype, 1,
fbh_obj_t);
@@ -3079,7 +3079,6 @@
ub4 num_fields;
int num_errors = 0;
int has_longs = 0;
- int has_lobs = 0;
int est_width = 0; /* estimated avg row width (for cache)
*/
int nested_cursors = 0;
ub4 i = 0;
diff -ur DBD-Oracle-1.24-RC3/ocitrace.h
DBD-Oracle-1.24-RC3.warning_patches/ocitrace.h
--- DBD-Oracle-1.24-RC3/ocitrace.h 2010-01-11 22:44:49.000000000 +0000
+++ DBD-Oracle-1.24-RC3.warning_patches/ocitrace.h 2010-01-14
10:38:09.520304633 +0000
@@ -222,8 +222,8 @@
stat = OCINlsEnvironmentVariableGet( valp, size, item, charset,
rsizep ); \
(DBD_OCI_TRACEON) \
? PerlIO_printf(DBD_OCI_TRACEFP,\
- "%sNlsEnvironmentVariableGet(%d,%d,%d,%d,%d)=%s\n",\
- OciTp, *valp, size, item, charset, *rsizep,
oci_status_name(stat)),stat \
+ "%sNlsEnvironmentVariableGet(%d,%llu,%d,%d,%llu)=%s\n",\
+ OciTp, *valp, (unsigned long long)size, item, charset,
(unsigned long long)*rsizep, oci_status_name(stat)),stat \
: stat
/* added by lab */