aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKevin Grittner <kgrittn@postgresql.org>2013-10-10 11:23:31 -0500
committerKevin Grittner <kgrittn@postgresql.org>2013-10-10 11:25:30 -0500
commit15e46fd1dd77d908d73c48d601694a6809d18976 (patch)
tree779d302944afb3be8540d4fb0100b50048c49a52 /src
parent4d212bac1752e1bad6f3aa6242061c393ae93a0a (diff)
downloadpostgresql-15e46fd1dd77d908d73c48d601694a6809d18976.tar.gz
postgresql-15e46fd1dd77d908d73c48d601694a6809d18976.zip
Fix bug in record_image_ops on big endian machines.
The buildfarm pointed out the problem. Fix based on suggestion by Robert Haas.
Diffstat (limited to 'src')
-rw-r--r--src/backend/utils/adt/rowtypes.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/backend/utils/adt/rowtypes.c b/src/backend/utils/adt/rowtypes.c
index 0bcbb5d6648..7925ce26170 100644
--- a/src/backend/utils/adt/rowtypes.c
+++ b/src/backend/utils/adt/rowtypes.c
@@ -1464,9 +1464,8 @@ record_image_cmp(PG_FUNCTION_ARGS)
}
else if (tupdesc1->attrs[i1]->attbyval)
{
- cmpresult = memcmp(&(values1[i1]),
- &(values2[i2]),
- tupdesc1->attrs[i1]->attlen);
+ if (values1[i1] != values2[i2])
+ cmpresult = (values1[i1] < values2[i2]) ? -1 : 1;
}
else
{
@@ -1695,9 +1694,7 @@ record_image_eq(PG_FUNCTION_ARGS)
}
else if (tupdesc1->attrs[i1]->attbyval)
{
- result = (memcmp(&(values1[i1]),
- &(values2[i2]),
- tupdesc1->attrs[i1]->attlen) == 0);
+ result = (values1[i1] == values2[i2]);
}
else
{