cql_transform_r(ct, cn->u.boolean.left, pr, client_data);
cql_transform_r(ct, cn->u.boolean.right, pr, client_data);
break;
-
+ case CQL_NODE_SORT:
+ cql_transform_r(ct, cn->u.sort.search, pr, client_data);
+ break;
default:
fprintf(stderr, "Fatal: impossible CQL node-type %d\n", cn->which);
abort();
cn = cql_node_mk_boolean(nmem, cp->u.boolean.value);
cn->u.boolean.left = cql_node_dup(nmem, cp->u.boolean.left);
cn->u.boolean.right = cql_node_dup(nmem, cp->u.boolean.right);
+ break;
+ case CQL_NODE_SORT:
+ cn = cql_node_mk_sort(nmem, cp->u.sort.index, cp->u.sort.modifiers);
+ cn->u.sort.next = cql_node_dup(nmem, cp->u.sort.next);
+ cn->u.sort.search = cql_node_dup(nmem, cp->u.sort.search);
}
return cn;
}
cql_apply_prefix(nmem, n->u.boolean.left, prefix, uri);
cql_apply_prefix(nmem, n->u.boolean.right, prefix, uri);
}
+ else if (n->which == CQL_NODE_SORT)
+ {
+ cql_apply_prefix(nmem, n->u.sort.search, prefix, uri);
+ }
return n;
}