mirror of https://github.com/citusdata/citus.git
Fix bug on composite key tests
parent
6f4f2105b8
commit
6bdbaf78f4
|
@ -826,7 +826,7 @@ static void
|
||||||
AddUninstantiatedEqualityQual(Query *query, Var *partitionColumn)
|
AddUninstantiatedEqualityQual(Query *query, Var *partitionColumn)
|
||||||
{
|
{
|
||||||
Param *equalityParameter = makeNode(Param);
|
Param *equalityParameter = makeNode(Param);
|
||||||
Node *uninstantiatedEqualityQual = NULL;
|
OpExpr *uninstantiatedEqualityQual = NULL;
|
||||||
Oid partitionColumnCollid = InvalidOid;
|
Oid partitionColumnCollid = InvalidOid;
|
||||||
Oid lessThanOperator = InvalidOid;
|
Oid lessThanOperator = InvalidOid;
|
||||||
Oid equalsOperator = InvalidOid;
|
Oid equalsOperator = InvalidOid;
|
||||||
|
@ -851,22 +851,27 @@ AddUninstantiatedEqualityQual(Query *query, Var *partitionColumn)
|
||||||
equalityParameter->location = -1;
|
equalityParameter->location = -1;
|
||||||
|
|
||||||
/* create an equality on the on the target partition column */
|
/* create an equality on the on the target partition column */
|
||||||
uninstantiatedEqualityQual =
|
uninstantiatedEqualityQual = (OpExpr *) make_opclause(equalsOperator, InvalidOid,
|
||||||
(Node *) make_opclause(equalsOperator, InvalidOid, false,
|
false,
|
||||||
(Expr *) partitionColumn,
|
(Expr *) partitionColumn,
|
||||||
(Expr *) equalityParameter,
|
(Expr *) equalityParameter,
|
||||||
partitionColumnCollid,
|
partitionColumnCollid,
|
||||||
partitionColumnCollid);
|
partitionColumnCollid);
|
||||||
|
|
||||||
|
/* update the operators with correct operator numbers and function ids */
|
||||||
|
uninstantiatedEqualityQual->opfuncid = get_opcode(uninstantiatedEqualityQual->opno);
|
||||||
|
uninstantiatedEqualityQual->opresulttype =
|
||||||
|
get_func_rettype(uninstantiatedEqualityQual->opfuncid);
|
||||||
|
|
||||||
/* add restriction on partition column */
|
/* add restriction on partition column */
|
||||||
if (query->jointree->quals == NULL)
|
if (query->jointree->quals == NULL)
|
||||||
{
|
{
|
||||||
query->jointree->quals = uninstantiatedEqualityQual;
|
query->jointree->quals = (Node *) uninstantiatedEqualityQual;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
query->jointree->quals = make_and_qual(query->jointree->quals,
|
query->jointree->quals = make_and_qual(query->jointree->quals,
|
||||||
uninstantiatedEqualityQual);
|
(Node *) uninstantiatedEqualityQual);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue