Updated: 2025/Nov/16
Please read Privacy Policy. It's for your privacy.
SQLITE_INDEX_CONSTRAINT_EQ(3) Library Functions Manual
NAME
SQLITE_INDEX_CONSTRAINT_EQ, SQLITE_INDEX_CONSTRAINT_GT,
SQLITE_INDEX_CONSTRAINT_LE, SQLITE_INDEX_CONSTRAINT_LT,
SQLITE_INDEX_CONSTRAINT_GE, SQLITE_INDEX_CONSTRAINT_MATCH,
SQLITE_INDEX_CONSTRAINT_LIKE, SQLITE_INDEX_CONSTRAINT_GLOB,
SQLITE_INDEX_CONSTRAINT_REGEXP, SQLITE_INDEX_CONSTRAINT_NE,
SQLITE_INDEX_CONSTRAINT_ISNOT, SQLITE_INDEX_CONSTRAINT_ISNOTNULL,
SQLITE_INDEX_CONSTRAINT_ISNULL, SQLITE_INDEX_CONSTRAINT_IS,
SQLITE_INDEX_CONSTRAINT_LIMIT, SQLITE_INDEX_CONSTRAINT_OFFSET,
SQLITE_INDEX_CONSTRAINT_FUNCTION - virtual table constraint operator
codes
SYNOPSIS
#include <sqlite3.h>
#define SQLITE_INDEX_CONSTRAINT_EQ
#define SQLITE_INDEX_CONSTRAINT_GT
#define SQLITE_INDEX_CONSTRAINT_LE
#define SQLITE_INDEX_CONSTRAINT_LT
#define SQLITE_INDEX_CONSTRAINT_GE
#define SQLITE_INDEX_CONSTRAINT_MATCH
#define SQLITE_INDEX_CONSTRAINT_LIKE
#define SQLITE_INDEX_CONSTRAINT_GLOB
#define SQLITE_INDEX_CONSTRAINT_REGEXP
#define SQLITE_INDEX_CONSTRAINT_NE
#define SQLITE_INDEX_CONSTRAINT_ISNOT
#define SQLITE_INDEX_CONSTRAINT_ISNOTNULL
#define SQLITE_INDEX_CONSTRAINT_ISNULL
#define SQLITE_INDEX_CONSTRAINT_IS
#define SQLITE_INDEX_CONSTRAINT_LIMIT
#define SQLITE_INDEX_CONSTRAINT_OFFSET
#define SQLITE_INDEX_CONSTRAINT_FUNCTION
DESCRIPTION
These macros define the allowed values for the
sqlite3_index_info.aConstraint[].op field. Each value represents an
operator that is part of a constraint term in the WHERE clause of a query
that uses a virtual table.
The left-hand operand of the operator is given by the corresponding
aConstraint[].iColumn field. An iColumn of -1 indicates the left-hand
operand is the rowid. The SQLITE_INDEX_CONSTRAINT_LIMIT and
SQLITE_INDEX_CONSTRAINT_OFFSET operators have no left-hand operand, and
so for those operators the corresponding aConstraint[].iColumn is
meaningless and should not be used.
All operator values from SQLITE_INDEX_CONSTRAINT_FUNCTION through value
255 are reserved to represent functions that are overloaded by the
xFindFunction method of the virtual table implementation.
The right-hand operands for each constraint might be accessible using the
sqlite3_vtab_rhs_value() interface. Usually the right-hand operand is
only available if it appears as a single constant literal in the input
SQL. If the right-hand operand is another column or an expression (even
a constant expression) or a parameter, then the sqlite3_vtab_rhs_value()
probably will not be able to extract it. The
SQLITE_INDEX_CONSTRAINT_ISNULL and SQLITE_INDEX_CONSTRAINT_ISNOTNULL
operators have no right-hand operand and hence calls to
sqlite3_vtab_rhs_value() for those operators will always return
SQLITE_NOTFOUND.
The collating sequence to be used for comparison can be found using the
sqlite3_vtab_collation() interface. For most real-world virtual tables,
the collating sequence of constraints does not matter (for example
because the constraints are numeric) and so the sqlite3_vtab_collation()
interface is not commonly needed.
IMPLEMENTATION NOTES
These declarations were extracted from the interface documentation at
line 7474.
#define SQLITE_INDEX_CONSTRAINT_EQ 2
#define SQLITE_INDEX_CONSTRAINT_GT 4
#define SQLITE_INDEX_CONSTRAINT_LE 8
#define SQLITE_INDEX_CONSTRAINT_LT 16
#define SQLITE_INDEX_CONSTRAINT_GE 32
#define SQLITE_INDEX_CONSTRAINT_MATCH 64
#define SQLITE_INDEX_CONSTRAINT_LIKE 65
#define SQLITE_INDEX_CONSTRAINT_GLOB 66
#define SQLITE_INDEX_CONSTRAINT_REGEXP 67
#define SQLITE_INDEX_CONSTRAINT_NE 68
#define SQLITE_INDEX_CONSTRAINT_ISNOT 69
#define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70
#define SQLITE_INDEX_CONSTRAINT_ISNULL 71
#define SQLITE_INDEX_CONSTRAINT_IS 72
#define SQLITE_INDEX_CONSTRAINT_LIMIT 73
#define SQLITE_INDEX_CONSTRAINT_OFFSET 74
#define SQLITE_INDEX_CONSTRAINT_FUNCTION 150
SEE ALSO
sqlite3_index_info(3), sqlite3_vtab_collation(3),
sqlite3_vtab_rhs_value(3)
NetBSD 11.99 January 24, 2024 NetBSD 11.99