diff options
author | Robert Haas <rhaas@postgresql.org> | 2014-08-06 16:06:06 -0400 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2014-08-06 16:06:06 -0400 |
commit | 1d41739e5a04b0e93304d24d864b6bfa3efc45f2 (patch) | |
tree | 0aeb675cf674213c05cd893360ab95e1ca7d0ac3 /src/backend/executor/nodeMergejoin.c | |
parent | 873de34b710196d1e3ce593bd85fa24768e58d6b (diff) | |
download | postgresql-1d41739e5a04b0e93304d24d864b6bfa3efc45f2.tar.gz postgresql-1d41739e5a04b0e93304d24d864b6bfa3efc45f2.zip |
Don't require sort support functions to provide a comparator.
This could be useful for datatypes like text, where we might want
to optimize for some collations but not others. However, this patch
doesn't introduce any new sortsupport functions that work this way;
it merely revises the code so that future patches may do so.
Patch by me. Review by Peter Geoghegan.
Diffstat (limited to 'src/backend/executor/nodeMergejoin.c')
-rw-r--r-- | src/backend/executor/nodeMergejoin.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/backend/executor/nodeMergejoin.c b/src/backend/executor/nodeMergejoin.c index bc036a30b0d..fdf2f4c1a85 100644 --- a/src/backend/executor/nodeMergejoin.c +++ b/src/backend/executor/nodeMergejoin.c @@ -230,19 +230,19 @@ MJExamineQuals(List *mergeclauses, qual->opno); /* And get the matching support or comparison function */ + Assert(clause->ssup.comparator == NULL); sortfunc = get_opfamily_proc(opfamily, op_lefttype, op_righttype, BTSORTSUPPORT_PROC); if (OidIsValid(sortfunc)) { - /* The sort support function should provide a comparator */ + /* The sort support function can provide a comparator */ OidFunctionCall1(sortfunc, PointerGetDatum(&clause->ssup)); - Assert(clause->ssup.comparator != NULL); } - else + if (clause->ssup.comparator == NULL) { - /* opfamily doesn't provide sort support, get comparison func */ + /* support not available, get comparison func */ sortfunc = get_opfamily_proc(opfamily, op_lefttype, op_righttype, |