an alternative to the long-standing algorithm of building a lookup table.
Use the new implementation in circumstances where it is likely to be faster,
such as when the RHS of the IN changes between successive evaluations.
FossilOrigin-Name: 952868216854e8355edf57af62bd1a6bcb70ce61
faster queries in some cases, for example when the RHS of the IN operator
changes for each row of a large table scan.
FossilOrigin-Name: 436e884215e2b33ca3fbb555362237b12827c07a
turns out to be helpful. If the list is of length 1 or 2, the OR expression
is very slightly faster, but the ephemeral table approach is clearly better for
all list lengths greater than 2. Better to keep the code simple.
FossilOrigin-Name: e13175d3579e1045165bab091b3b28951d691704
hex literals. Casting and coercing string literals into numeric values does
not understand hexadecimal integers. This preserves backwards compatibility.
Also: Throw an error on any hex literal that is too big to fit into 64 bits.
FossilOrigin-Name: 6c6f0de59bf96b79c8ace8c9bfe48c7a6a306a50
a no-op if the cursor is already open on the same index. Update the
OR-optimization logic to make use of OP_ReopenIdx in order to avoid
unnecessary cursor open requests sent to the B-Tree layer.
FossilOrigin-Name: 77f412caf0192d3e7fecb377d6d72123d8b64424
incorrect VDBE code) if an OR term is AND-ed with a constant expression.
So back that optimization out and add a test case to make sure it does not
get added back in.
FossilOrigin-Name: eed754fe93644f4df082eac0c0a7ffc5c78ccd10
callback to be invoked by sqlite3FaultSim(). That test-control has been
unused since 2008-06-20 and was never used in any official release.
FossilOrigin-Name: 0d43a7ad9abe821e33e0bf83a997aa4461b1e3f2
the processor byte-order at run-time. Add additional compile-time byte order
checks for ARM, PPC, and SPARC.
FossilOrigin-Name: 2c5363873a6f990a0abaacac6303acd46b48befc
of the processor byte order and whether the byte order is known at compile-time
or determined at run-time.
FossilOrigin-Name: 9c6961967ae00e563ebe2859eaf2639a79f2cb01
database corruption, they will set the UnpackedRecord.isCorrupt field and
return 0. The sqlite3BtreeMovetoUnpacked() routine detects this and returns
SQLITE_CORRUPT, causing the corruption to be reported back to the top-level.
FossilOrigin-Name: 7fa85eaaaf6d211378620d728a759fdfe30a15b0
meaningful SRT_DistFifo and SRT_Fifo, respectively. Simplify the
IgnorableOrderby() macro in the process.
FossilOrigin-Name: 45d8cc678d128f1dda6469864215a8ed9de4366a
incorrect, as demonstrated by the in4-5.1 test case in this check-in.
The "COLLATE binary" that was being added to the RHS of IN was overriding
the implicit collating sequence of the LHS. This change defines the EP_Generic
expression node property that blocks all affinity or collating sequence
information in the expression subtree and adds that property to the expression
taken from RHS of the IN operator.
FossilOrigin-Name: 2ea4a9f75f46eaa928ba17e9e91bc0432750d46d
of SQLITE_NULLEQ and SQLITE_JUMPIFNULL. This flag indicates that NULL operands
are not possible and raises and assert() if NULL operands are seen.
Also omit an unnecessary scan of the sqlite_sequence table when writing
into an AUTOINCREMENT table.
FossilOrigin-Name: d2c047f304848e49864ed8c216b48fd671fa3916