aboutsummaryrefslogtreecommitdiff
path: root/contrib/tsearch2/query_rewrite.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2007-02-28 22:44:38 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2007-02-28 22:44:38 +0000
commit9f652d430fbd1e757caaec9fe64d3e94c8693158 (patch)
tree9215d2131d85e73caeb96fe23ba442c17b8d4575 /contrib/tsearch2/query_rewrite.c
parentd1ce4f7396aac34233e075d0342ac704593799ce (diff)
downloadpostgresql-9f652d430fbd1e757caaec9fe64d3e94c8693158.tar.gz
postgresql-9f652d430fbd1e757caaec9fe64d3e94c8693158.zip
Fix up several contrib modules that were using varlena datatypes in not-so-obvious
ways. I'm not totally sure that I caught everything, but at least now they pass their regression tests with VARSIZE/SET_VARSIZE defined to reverse byte order.
Diffstat (limited to 'contrib/tsearch2/query_rewrite.c')
-rw-r--r--contrib/tsearch2/query_rewrite.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/contrib/tsearch2/query_rewrite.c b/contrib/tsearch2/query_rewrite.c
index 63d8140a6c2..0604a49927a 100644
--- a/contrib/tsearch2/query_rewrite.c
+++ b/contrib/tsearch2/query_rewrite.c
@@ -250,7 +250,7 @@ rewrite_accum(PG_FUNCTION_ARGS)
if (acc == NULL || PG_ARGISNULL(0))
{
acc = (QUERYTYPE *) MEMALLOC(AggMemory, sizeof(QUERYTYPE));
- acc->len = HDRSIZEQT;
+ SET_VARSIZE(acc, HDRSIZEQT);
acc->size = 0;
}
@@ -287,7 +287,7 @@ rewrite_accum(PG_FUNCTION_ARGS)
if (!acc->size)
{
- if (acc->len > HDRSIZEQT)
+ if (VARSIZE(acc) > HDRSIZEQT)
{
pfree(elemsp);
PG_RETURN_POINTER(acc);
@@ -328,7 +328,7 @@ rewrite_accum(PG_FUNCTION_ARGS)
else
{
acc = (QUERYTYPE *) MEMALLOC(AggMemory, HDRSIZEQT * 2);
- acc->len = HDRSIZEQT * 2;
+ SET_VARSIZE(acc, HDRSIZEQT * 2);
acc->size = 0;
}
}
@@ -353,12 +353,12 @@ rewrite_finish(PG_FUNCTION_ARGS)
if (acc == NULL || PG_ARGISNULL(0) || acc->size == 0)
{
acc = (QUERYTYPE *) palloc(sizeof(QUERYTYPE));
- acc->len = HDRSIZEQT;
+ SET_VARSIZE(acc, HDRSIZEQT);
acc->size = 0;
}
- rewrited = (QUERYTYPE *) palloc(acc->len);
- memcpy(rewrited, acc, acc->len);
+ rewrited = (QUERYTYPE *) palloc(VARSIZE(acc));
+ memcpy(rewrited, acc, VARSIZE(acc));
pfree(acc);
PG_RETURN_POINTER(rewrited);
@@ -481,7 +481,7 @@ tsquery_rewrite(PG_FUNCTION_ARGS)
}
else
{
- rewrited->len = HDRSIZEQT;
+ SET_VARSIZE(rewrited, HDRSIZEQT);
rewrited->size = 0;
}
@@ -529,7 +529,7 @@ tsquery_rewrite_query(PG_FUNCTION_ARGS)
if (!tree)
{
- rewrited->len = HDRSIZEQT;
+ SET_VARSIZE(rewrited, HDRSIZEQT);
rewrited->size = 0;
PG_FREE_IF_COPY(ex, 1);
PG_FREE_IF_COPY(subst, 2);