diff options
author | Maxim Sobolev <sobomax@FreeBSD.org> | 2005-03-18 13:21:41 +0000 |
---|---|---|
committer | Maxim Sobolev <sobomax@FreeBSD.org> | 2005-03-18 13:21:41 +0000 |
commit | 47b4fe2e1016a8e3c836554102d647a493cb7fc0 (patch) | |
tree | 01e72d92dea015ae8267fd448bfef398747c04aa /databases/p5-DBD-Pg-13 | |
parent | 44ff373a2a1fa5d5fdda4f83f3ef2574cf72cc7b (diff) | |
download | ports-47b4fe2e1016a8e3c836554102d647a493cb7fc0.tar.gz ports-47b4fe2e1016a8e3c836554102d647a493cb7fc0.zip |
Notes
Diffstat (limited to 'databases/p5-DBD-Pg-13')
-rw-r--r-- | databases/p5-DBD-Pg-13/Makefile | 1 | ||||
-rw-r--r-- | databases/p5-DBD-Pg-13/files/patch-11744 | 66 |
2 files changed, 67 insertions, 0 deletions
diff --git a/databases/p5-DBD-Pg-13/Makefile b/databases/p5-DBD-Pg-13/Makefile index ccbeeec0a793..4ce03272ceba 100644 --- a/databases/p5-DBD-Pg-13/Makefile +++ b/databases/p5-DBD-Pg-13/Makefile @@ -7,6 +7,7 @@ PORTNAME= DBD-Pg PORTVERSION= 1.40 +PORTREVISION= 1 CATEGORIES= databases perl5 MASTER_SITES= ${MASTER_SITE_PERL_CPAN} MASTER_SITE_SUBDIR= DBD diff --git a/databases/p5-DBD-Pg-13/files/patch-11744 b/databases/p5-DBD-Pg-13/files/patch-11744 new file mode 100644 index 000000000000..c65e532a1a9b --- /dev/null +++ b/databases/p5-DBD-Pg-13/files/patch-11744 @@ -0,0 +1,66 @@ +=================================================================== +RCS file: /usr/local/cvsroot/dbdpg/dbdpg/dbdimp.c,v +retrieving revision 1.101 +retrieving revision 1.102 +diff -p --unified=3 -r1.101 -r1.102 +--- dbdimp.c 2005/03/11 15:37:31 1.101 ++++ dbdimp.c 2005/03/15 01:51:13 1.102 +@@ -1034,6 +1019,7 @@ void dbd_st_split_statement (sth, imp_st + newph->value = NULL; + newph->quoted = NULL; + newph->referenced = 0; ++ newph->defaultval = 1; + New(0, newph->fooname, newsize+1, char); /* freed in dbd_st_destroy */ + if (!newph->fooname) + croak("No memory"); +@@ -1124,6 +1110,7 @@ void dbd_st_split_statement (sth, imp_st + newph->value = NULL; + newph->quoted = NULL; + newph->referenced = 0; ++ newph->defaultval = 1; + newph->fooname = NULL; + /* Let the correct segment point to it */ + while (!currseg->placeholder) +@@ -1269,7 +1256,7 @@ int dbd_st_prepare_statement (sth, imp_s + params = imp_sth->numphs; + paramTypes = calloc(imp_sth->numphs, sizeof(*paramTypes)); + for (x=0,currph=imp_sth->ph; NULL != currph; currph=currph->nextph) { +- paramTypes[x++] = currph->bind_type->type_id; ++ paramTypes[x++] = currph->defaultval ? 0 : currph->bind_type->type_id; + } + } + result = PQprepare(imp_dbh->conn, imp_sth->prepare_name, statement, params, paramTypes); +@@ -1424,12 +1410,14 @@ int dbd_bind_ph (sth, imp_sth, ph_name, + } + } + else if (NULL == currph->bind_type) { /* "sticky" data type */ ++ /* This is the default type, but we will honor defaultval if we can */ + currph->bind_type = pg_type_data(VARCHAROID); + if (!currph->bind_type) + croak("Default type is bad!!!!???"); + } + + if (pg_type || sql_type) { ++ currph->defaultval = 0; + /* Possible re-prepare, depending on whether the type name also changes */ + if (imp_sth->prepared_by_us && NULL != imp_sth->prepare_name) + reprepare=1; +@@ -1685,7 +1673,7 @@ int dbd_st_execute (sth, imp_sth) /* <= + /* Populate paramTypes */ + paramTypes = calloc(imp_sth->numphs, sizeof(*paramTypes)); + for (x=0,currph=imp_sth->ph; NULL != currph; currph=currph->nextph) { +- paramTypes[x++] = currph->bind_type->type_id; ++ paramTypes[x++] = currph->defaultval ? 0 : currph->bind_type->type_id; + } + + if (dbis->debug >= 10) { +--- dbdimp.h 2005/03/18 13:10:05 1.1 ++++ dbdimp.h 2005/03/18 13:10:32 +@@ -59,6 +59,7 @@ + char *quoted; /* quoted version of the value, for PQexec only */ + STRLEN quotedlen; /* length of the quoted value */ + bool referenced; /* used for PREPARE AS construction */ ++ bool defaultval; /* is it using a generic 'default' value? */ + sql_type_info_t* bind_type; /* type information for this placeholder */ + struct ph_st *nextph; /* more linked list goodness */ + }; |