diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-25 19:55:15 -0400 |
| commit | 253e67c8b3a72b3a4757fdbc5845297628db0a4a (patch) | |
| tree | adf53b66087aa30dfbf8bf391a1dadb044c3bf4d /static/netbsd/man3/SQLITE_INDEX_CONSTRAINT_EQ.3 | |
| parent | a9157ce950dfe2fc30795d43b9d79b9d1bffc48b (diff) | |
docs: Added All NetBSD Manuals
Diffstat (limited to 'static/netbsd/man3/SQLITE_INDEX_CONSTRAINT_EQ.3')
| -rw-r--r-- | static/netbsd/man3/SQLITE_INDEX_CONSTRAINT_EQ.3 | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/static/netbsd/man3/SQLITE_INDEX_CONSTRAINT_EQ.3 b/static/netbsd/man3/SQLITE_INDEX_CONSTRAINT_EQ.3 new file mode 100644 index 00000000..a108b181 --- /dev/null +++ b/static/netbsd/man3/SQLITE_INDEX_CONSTRAINT_EQ.3 @@ -0,0 +1,105 @@ +.Dd January 24, 2024 +.Dt SQLITE_INDEX_CONSTRAINT_EQ 3 +.Os +.Sh NAME +.Nm SQLITE_INDEX_CONSTRAINT_EQ , +.Nm SQLITE_INDEX_CONSTRAINT_GT , +.Nm SQLITE_INDEX_CONSTRAINT_LE , +.Nm SQLITE_INDEX_CONSTRAINT_LT , +.Nm SQLITE_INDEX_CONSTRAINT_GE , +.Nm SQLITE_INDEX_CONSTRAINT_MATCH , +.Nm SQLITE_INDEX_CONSTRAINT_LIKE , +.Nm SQLITE_INDEX_CONSTRAINT_GLOB , +.Nm SQLITE_INDEX_CONSTRAINT_REGEXP , +.Nm SQLITE_INDEX_CONSTRAINT_NE , +.Nm SQLITE_INDEX_CONSTRAINT_ISNOT , +.Nm SQLITE_INDEX_CONSTRAINT_ISNOTNULL , +.Nm SQLITE_INDEX_CONSTRAINT_ISNULL , +.Nm SQLITE_INDEX_CONSTRAINT_IS , +.Nm SQLITE_INDEX_CONSTRAINT_LIMIT , +.Nm SQLITE_INDEX_CONSTRAINT_OFFSET , +.Nm SQLITE_INDEX_CONSTRAINT_FUNCTION +.Nd virtual table constraint operator codes +.Sh SYNOPSIS +.In sqlite3.h +.Fd #define SQLITE_INDEX_CONSTRAINT_EQ +.Fd #define SQLITE_INDEX_CONSTRAINT_GT +.Fd #define SQLITE_INDEX_CONSTRAINT_LE +.Fd #define SQLITE_INDEX_CONSTRAINT_LT +.Fd #define SQLITE_INDEX_CONSTRAINT_GE +.Fd #define SQLITE_INDEX_CONSTRAINT_MATCH +.Fd #define SQLITE_INDEX_CONSTRAINT_LIKE +.Fd #define SQLITE_INDEX_CONSTRAINT_GLOB +.Fd #define SQLITE_INDEX_CONSTRAINT_REGEXP +.Fd #define SQLITE_INDEX_CONSTRAINT_NE +.Fd #define SQLITE_INDEX_CONSTRAINT_ISNOT +.Fd #define SQLITE_INDEX_CONSTRAINT_ISNOTNULL +.Fd #define SQLITE_INDEX_CONSTRAINT_ISNULL +.Fd #define SQLITE_INDEX_CONSTRAINT_IS +.Fd #define SQLITE_INDEX_CONSTRAINT_LIMIT +.Fd #define SQLITE_INDEX_CONSTRAINT_OFFSET +.Fd #define SQLITE_INDEX_CONSTRAINT_FUNCTION +.Sh 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. +.Pp +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. +.Pp +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. +.Pp +The right-hand operands for each constraint might be accessible using +the +.Fn 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. +.Pp +The collating sequence to be used for comparison can be found using +the +.Fn 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. +.Sh IMPLEMENTATION NOTES +These declarations were extracted from the +interface documentation at line 7474. +.Bd -literal +#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 +.Ed +.Sh SEE ALSO +.Xr sqlite3_index_info 3 , +.Xr sqlite3_vtab_collation 3 , +.Xr sqlite3_vtab_rhs_value 3 |
