MCPcopy Create free account
hub / github.com/documentdb/documentdb / MakeSimpleIdExpr

Function MakeSimpleIdExpr

pg_documentdb/src/query/query_operator.c:3890–3909  ·  view source on GitHub ↗

* Creates a basic object_id op_expr for a given collection var. */

Source from the content-addressed store, hash-verified

3888 * Creates a basic object_id <op> <value> op_expr for a given collection var.
3889 */
3890Expr *
3891MakeSimpleIdExpr(const bson_value_t *filterValue, Index collectionVarno, Oid operatorId)
3892{
3893 pgbson *qualValue = BsonValueToDocumentPgbson(filterValue);
3894 Const *documentIdConst = makeConst(BsonTypeId(), -1, InvalidOid, -1,
3895 PointerGetDatum(qualValue),
3896 false, false);
3897
3898 /* _id is always the second column in our data tables */
3899 AttrNumber documentIdAttnum = 2;
3900 Var *documentIdVar = makeVar(collectionVarno, documentIdAttnum, BsonTypeId(), -1,
3901 InvalidOid, 0);
3902
3903 /* construct object_id <operator> <value> expression */
3904 Expr *documentIdFilter = make_opclause(operatorId, BOOLOID, false,
3905 (Expr *) documentIdVar,
3906 (Expr *) documentIdConst, InvalidOid,
3907 InvalidOid);
3908 return documentIdFilter;
3909}
3910
3911
3912Expr *

Callers 4

MakeLowerBoundIdExprFunction · 0.85
MakeUpperBoundIdExprFunction · 0.85
CheckAndAddIdFilterFunction · 0.85

Calls 2

BsonTypeIdFunction · 0.85

Tested by

no test coverage detected