diff options
author | Sergey Skvortsov <skv@FreeBSD.org> | 2005-09-13 09:21:21 +0000 |
---|---|---|
committer | Sergey Skvortsov <skv@FreeBSD.org> | 2005-09-13 09:21:21 +0000 |
commit | c1fae7115ff19dca3b215b50b303b1bb41d5d8de (patch) | |
tree | 2f5b35eb79d34b32840f178d77bfe911b35ceb30 | |
parent | 7a4a228e7e068bf6c57a64cd55c766b2209387d6 (diff) |
Notes
-rw-r--r-- | databases/p5-DBD-InterBase/Makefile | 5 | ||||
-rw-r--r-- | databases/p5-DBD-InterBase/distinfo | 4 | ||||
-rw-r--r-- | databases/p5-DBD-InterBase/files/patch-InterBase.xs | 28 | ||||
-rw-r--r-- | databases/p5-DBD-InterBase/files/patch-dbdimp.c | 174 | ||||
-rw-r--r-- | databases/p5-DBD-InterBase/files/patch-dbdimp.h | 18 | ||||
-rw-r--r-- | databases/p5-DBD-InterBase/pkg-plist | 5 |
6 files changed, 5 insertions, 229 deletions
diff --git a/databases/p5-DBD-InterBase/Makefile b/databases/p5-DBD-InterBase/Makefile index 522dfc4990fa..3fd61fb5f055 100644 --- a/databases/p5-DBD-InterBase/Makefile +++ b/databases/p5-DBD-InterBase/Makefile @@ -6,8 +6,7 @@ # PORTNAME= DBD-InterBase -PORTVERSION= 0.43 -PORTREVISION= 2 +PORTVERSION= 0.44 CATEGORIES= databases perl5 MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= dbi-interbase @@ -24,7 +23,7 @@ post-patch: @${PERL} -pi -e 's,%%IB_BASE%%,${LOCALBASE},g' \ ${WRKSRC}/Makefile.PL -MAN3= Bundle::DBD::InterBase.3 DBD::InterBase.3 DBD::InterBase::FAQ.3 +MAN3= DBD::InterBase.3 .include <bsd.port.pre.mk> diff --git a/databases/p5-DBD-InterBase/distinfo b/databases/p5-DBD-InterBase/distinfo index 0a04959b99a0..16ffe89f744c 100644 --- a/databases/p5-DBD-InterBase/distinfo +++ b/databases/p5-DBD-InterBase/distinfo @@ -1,2 +1,2 @@ -MD5 (DBD-InterBase-0.43.tar.gz) = 70d0142378ab928d9a75e465426d2437 -SIZE (DBD-InterBase-0.43.tar.gz) = 79589 +MD5 (DBD-InterBase-0.44.tar.gz) = fae62d5448c612c2ef61572793800f4f +SIZE (DBD-InterBase-0.44.tar.gz) = 83835 diff --git a/databases/p5-DBD-InterBase/files/patch-InterBase.xs b/databases/p5-DBD-InterBase/files/patch-InterBase.xs deleted file mode 100644 index 569c99600bcb..000000000000 --- a/databases/p5-DBD-InterBase/files/patch-InterBase.xs +++ /dev/null @@ -1,28 +0,0 @@ ---- InterBase.xs.orig Fri Mar 26 17:19:34 2004 -+++ InterBase.xs Fri Mar 26 17:21:26 2004 -@@ -22,11 +22,13 @@ - PERL_SET_CONTEXT(ev->dbh->context); - { - #else -+#if defined(PERL_GET_CONTEXT) - void *context = PERL_GET_CONTEXT; - PerlInterpreter *cb_perl = perl_alloc(); - PERL_SET_CONTEXT(cb_perl); - { - #endif -+#endif - dSP; - char ISC_FAR *result = ev->result_buffer; - -@@ -52,9 +54,11 @@ - /* restore old context*/ - PERL_SET_CONTEXT(context); - #else -+#if defined(PERL_GET_CONTEXT) - } - PERL_SET_CONTEXT(context); - perl_free(cb_perl); -+#endif - #endif - - return (0); diff --git a/databases/p5-DBD-InterBase/files/patch-dbdimp.c b/databases/p5-DBD-InterBase/files/patch-dbdimp.c deleted file mode 100644 index 81b372f60d10..000000000000 --- a/databases/p5-DBD-InterBase/files/patch-dbdimp.c +++ /dev/null @@ -1,174 +0,0 @@ ---- dbdimp.c.old Wed Feb 25 07:38:03 2004 -+++ dbdimp.c Mon Mar 14 20:23:19 2005 -@@ -1002,9 +1002,6 @@ - { - D_imp_dbh_from_sth; - ISC_STATUS status[ISC_STATUS_LENGTH]; -- char stmt_info[1], count_info[1]; -- char info_buffer[20], count_buffer[33]; -- char *p; - int result = -2; - int row_count = 0; - -@@ -1543,7 +1540,10 @@ - blob_info_buffer); - - if (ib_error_check(sth, status)) -+ { -+ isc_cancel_blob(status, &blob_handle); - return FALSE; -+ } - - /* Get the information out of the info buffer. */ - for (p = blob_info_buffer; *p != isc_info_end; ) -@@ -1590,7 +1590,7 @@ - if ((DBIc_LongReadLen(imp_sth) < (unsigned long) total_length) && - (! DBIc_is(imp_dbh, DBIcf_LongTruncOk))) - { -- isc_cancel_blob(status, &blob_handle); -+ isc_close_blob(status, &blob_handle); - do_error(sth, 1, "Not enough LongReadLen buffer."); - return FALSE; - break; -@@ -1603,7 +1603,7 @@ - sv_setpvn(sv, "** Blob exceeds maximum safe length **", 38); - - /* I deliberately don't set FAILURE based on this. */ -- isc_cancel_blob(status, &blob_handle); -+ isc_close_blob(status, &blob_handle); - if (ib_error_check(sth, status)) - return FALSE; - break; -@@ -1620,12 +1620,15 @@ - (short) BLOB_SEGMENT, - blob_segment_buffer); - -+ if (status[1] == isc_segstr_eof) -+ break; -+ - if (status[1] != isc_segment) - if (ib_error_check(sth, status)) -+ { -+ isc_cancel_blob(status, &blob_handle); - return FALSE; -- -- if (status[1] == isc_segstr_eof) -- break; -+ } - - if (seg_length > DBIc_LongReadLen(imp_sth)) - break; -@@ -1744,11 +1747,7 @@ - DBI_TRACE(2, (DBILOGFP, "dbd_st_destroy\n")); - - /* freeing cursor name */ -- if (imp_sth->cursor_name != NULL) -- { -- safefree(imp_sth->cursor_name); -- imp_sth->cursor_name = NULL; -- } -+ FREE_SETNULL(imp_sth->cursor_name); - - /* freeing in_sqlda */ - if (imp_sth->in_sqlda) -@@ -1955,31 +1954,6 @@ - - DBI_TRACE(2, (DBILOGFP, "dbd_st_STORE - %s\n", key)); - -- if ((kl == 13) && (strcmp(key, "ib_cursorname") == 0)) -- { -- if (DBIc_ACTIVE(imp_sth)) -- { -- do_error(sth, 1, "Can't modify active statement cursor name."); -- return FALSE; -- } -- else -- { -- STRLEN vl; -- char *value = SvPV(valuesv, vl); -- -- if (imp_sth->cursor_name != NULL) -- { -- safefree(imp_sth->cursor_name); -- imp_sth->cursor_name = NULL; -- } -- imp_sth->cursor_name = (char *)safemalloc(vl + 1); -- -- if (imp_sth->cursor_name != NULL) -- strcpy(imp_sth->cursor_name, value); -- else -- return FALSE; -- } -- } - return FALSE; - } - -@@ -2185,7 +2159,7 @@ - DBI_TRACE(1, (DBILOGFP, "ib_fill_isqlda: SQL_VARYING\n")); - { - char buf[25]; /* long long can have max 20 chars. */ -- char *tmp; -+ char *tmp = NULL; - if (ivar->sqldata == (char *) NULL) - { - if ((ivar->sqldata = (char *)safemalloc( -@@ -2204,7 +2178,7 @@ - tmp = buf; - len = sprintf(tmp, "%ld", SvNV(value)); - } -- else if (SvPOK(value)) { -+ else if (SvPOK(value) || (SvTYPE(value) == SVt_PVMG)) { - len = SvCUR(value); - tmp = SvPV_nolen(value); - } -@@ -2249,7 +2223,6 @@ - { - do_error(sth, 2, "Cannot allocate buffer for TEXT input parameter \n"); - retval = FALSE; -- safefree(tmp); - break; - } - } -@@ -2261,7 +2234,7 @@ - tmp = buf; - len = sprintf(tmp, "%ld", SvNV(value)); - } -- else if (SvPOK(value)) { -+ else if (SvPOK(value) || (SvTYPE(value) == SVt_PVMG)) { - len = SvCUR(value); - tmp = SvPV_nolen(value); - } -@@ -2579,6 +2552,12 @@ - - ivar->sqltype = SQL_TEXT | (ivar->sqltype & 1); - -+ /* prevent overflow */ -+ if (len > 100) { -+ do_error(sth, 2, "DATE input parameter too long, but will try...\n"); -+ len = 100; -+ } -+ - /* workaround for date problem (bug #429820) */ - ivar->sqlsubtype = 0x77; /* (0x77 is a random value) */ - -@@ -2696,8 +2675,18 @@ - case SQL_BLOB: - DBI_TRACE(1, (DBILOGFP, "ib_fill_isqlda: SQL_BLOB\n")); - -- /* we have an extra function for this */ -- retval = ib_blob_write(sth, imp_sth, ivar, value); -+ /* SELECT's can't have a blob as in_sqlda. */ -+ if ((imp_sth->type == isc_info_sql_stmt_select) || -+ (imp_sth->type == isc_info_sql_stmt_select_for_upd)) -+ { -+ do_error(sth, 2, "BLOB as an input param for SELECT is not allowed.\n"); -+ retval = FALSE; -+ break; -+ } -+ else -+ /* we have an extra function for this */ -+ retval = ib_blob_write(sth, imp_sth, ivar, value); -+ - break; - - /**********************************************************************/ diff --git a/databases/p5-DBD-InterBase/files/patch-dbdimp.h b/databases/p5-DBD-InterBase/files/patch-dbdimp.h deleted file mode 100644 index e183678d89bf..000000000000 --- a/databases/p5-DBD-InterBase/files/patch-dbdimp.h +++ /dev/null @@ -1,18 +0,0 @@ ---- dbdimp.h.old Tue Feb 24 10:49:01 2004 -+++ dbdimp.h Mon Mar 14 20:22:52 2005 -@@ -252,6 +252,7 @@ - #define dbd_init ib_init - #define dbd_discon_all ib_discon_all - #define dbd_db_login ib_db_login -+#define dbd_db_login6 ib_db_login6 - #define dbd_db_do ib_db_do - #define dbd_db_commit ib_db_commit - #define dbd_db_rollback ib_db_rollback -@@ -283,6 +284,7 @@ - int ib_commit_transaction (SV *h, imp_dbh_t *imp_dbh); - int ib_rollback_transaction(SV *h, imp_dbh_t *imp_dbh); - long ib_rows(SV *xxh, isc_stmt_handle *h_stmt, char count_type); -+void ib_cleanup_st_prepare (imp_sth_t *imp_sth); - - SV* dbd_db_quote(SV* dbh, SV* str, SV* type); - diff --git a/databases/p5-DBD-InterBase/pkg-plist b/databases/p5-DBD-InterBase/pkg-plist index c3e37d4b9c27..a6a8aa39be45 100644 --- a/databases/p5-DBD-InterBase/pkg-plist +++ b/databases/p5-DBD-InterBase/pkg-plist @@ -1,12 +1,9 @@ %%SITE_PERL%%/%%PERL_ARCH%%/auto/DBD/InterBase/.packlist -%%SITE_PERL%%/%%PERL_ARCH%%/Bundle/DBD/InterBase.pm %%SITE_PERL%%/%%PERL_ARCH%%/DBD/InterBase.pm -%%SITE_PERL%%/%%PERL_ARCH%%/DBD/InterBase/FAQ.pm %%SITE_PERL%%/%%PERL_ARCH%%/DBD/InterBase/GetInfo.pm +%%SITE_PERL%%/%%PERL_ARCH%%/DBD/InterBase/TypeInfo.pm %%SITE_PERL%%/%%PERL_ARCH%%/auto/DBD/InterBase/InterBase.bs %%SITE_PERL%%/%%PERL_ARCH%%/auto/DBD/InterBase/InterBase.so -@unexec rmdir %D/%%SITE_PERL%%/%%PERL_ARCH%%/Bundle/DBD 2>/dev/null || true -@unexec rmdir %D/%%SITE_PERL%%/%%PERL_ARCH%%/Bundle 2>/dev/null || true @dirrm %%SITE_PERL%%/%%PERL_ARCH%%/DBD/InterBase @unexec rmdir %D/%%SITE_PERL%%/%%PERL_ARCH%%/DBD 2>/dev/null || true @dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/DBD/InterBase |