p2: digest with in-sift FIFO, SQLite caches, Honcho context, recover
Dixie is capped (max_inflight 2, queue_depth 8, queue_wait 20s) and never queued on llama-server. Streaming chat, thinking off, 45s fallback to clean. Digest and chunk-embedding caches are content-addressed SQLite (Honcho context is not cached). Recover uses the guarded Fetcher. guardian-star is refused in code.
This commit is contained in:
+164
@@ -0,0 +1,164 @@
|
||||
// Code generated by modernc.org/undup from the per-target sqlite_*.go files; DO NOT EDIT.
|
||||
|
||||
//go:build (linux && arm64) || (linux && ppc64le) || (linux && riscv64) || (linux && s390x) || (openbsd && arm64)
|
||||
|
||||
package sqlite3
|
||||
|
||||
import (
|
||||
"unsafe"
|
||||
|
||||
"modernc.org/libc"
|
||||
)
|
||||
|
||||
// C documentation
|
||||
//
|
||||
// /*
|
||||
// ** Rtree virtual table module xBestIndex method. There are three
|
||||
// ** table scan strategies to choose from (in order from most to
|
||||
// ** least desirable):
|
||||
// **
|
||||
// ** idxNum idxStr Strategy
|
||||
// ** ------------------------------------------------
|
||||
// ** 1 Unused Direct lookup by rowid.
|
||||
// ** 2 See below R-tree query or full-table scan.
|
||||
// ** ------------------------------------------------
|
||||
// **
|
||||
// ** If strategy 1 is used, then idxStr is not meaningful. If strategy
|
||||
// ** 2 is used, idxStr is formatted to contain 2 bytes for each
|
||||
// ** constraint used. The first two bytes of idxStr correspond to
|
||||
// ** the constraint in sqlite3_index_info.aConstraintUsage[] with
|
||||
// ** (argvIndex==1) etc.
|
||||
// **
|
||||
// ** The first of each pair of bytes in idxStr identifies the constraint
|
||||
// ** operator as follows:
|
||||
// **
|
||||
// ** Operator Byte Value
|
||||
// ** ----------------------
|
||||
// ** = 0x41 ('A')
|
||||
// ** <= 0x42 ('B')
|
||||
// ** < 0x43 ('C')
|
||||
// ** >= 0x44 ('D')
|
||||
// ** > 0x45 ('E')
|
||||
// ** MATCH 0x46 ('F')
|
||||
// ** ----------------------
|
||||
// **
|
||||
// ** The second of each pair of bytes identifies the coordinate column
|
||||
// ** to which the constraint applies. The leftmost coordinate column
|
||||
// ** is 'a', the second from the left 'b' etc.
|
||||
// */
|
||||
func _rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) (r int32) {
|
||||
bp := tls.Alloc(48)
|
||||
defer tls.Free(48)
|
||||
var bMatch, iIdx, ii, jj, rc, v4 int32
|
||||
var doOmit, op Tu8
|
||||
var nRow Ti64
|
||||
var p, pRtree uintptr
|
||||
var _ /* zIdxStr at bp+0 */ [41]uint8
|
||||
_, _, _, _, _, _, _, _, _, _, _ = bMatch, doOmit, iIdx, ii, jj, nRow, op, p, pRtree, rc, v4
|
||||
pRtree = tab
|
||||
rc = SQLITE_OK
|
||||
bMatch = 0 /* Estimated rows returned by this scan */
|
||||
iIdx = 0
|
||||
libc.Xmemset(tls, bp, 0, uint64(41))
|
||||
/* Check if there exists a MATCH constraint - even an unusable one. If there
|
||||
** is, do not consider the lookup-by-rowid plan as using such a plan would
|
||||
** require the VDBE to evaluate the MATCH constraint, which is not currently
|
||||
** possible. */
|
||||
ii = 0
|
||||
for {
|
||||
if !(ii < (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) {
|
||||
break
|
||||
}
|
||||
if libc.Int32FromUint8((**(**Tsqlite3_index_constraint)(__ccgo_up((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(ii)*12))).Fop) == int32(SQLITE_INDEX_CONSTRAINT_MATCH) {
|
||||
bMatch = int32(1)
|
||||
}
|
||||
goto _1
|
||||
_1:
|
||||
;
|
||||
ii = ii + 1
|
||||
}
|
||||
ii = 0
|
||||
for {
|
||||
if !(ii < (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint && iIdx < libc.Int32FromUint64(libc.Uint64FromInt64(41)-libc.Uint64FromInt32(1))) {
|
||||
break
|
||||
}
|
||||
p = (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraint + uintptr(ii)*12
|
||||
if bMatch == 0 && (*Tsqlite3_index_constraint)(unsafe.Pointer(p)).Fusable != 0 && (*Tsqlite3_index_constraint)(unsafe.Pointer(p)).FiColumn <= 0 && libc.Int32FromUint8((*Tsqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == int32(SQLITE_INDEX_CONSTRAINT_EQ) {
|
||||
jj = 0
|
||||
for {
|
||||
if !(jj < ii) {
|
||||
break
|
||||
}
|
||||
(**(**Tsqlite3_index_constraint_usage)(__ccgo_up((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(jj)*8))).FargvIndex = 0
|
||||
(**(**Tsqlite3_index_constraint_usage)(__ccgo_up((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(jj)*8))).Fomit = uint8(0)
|
||||
goto _3
|
||||
_3:
|
||||
;
|
||||
jj = jj + 1
|
||||
}
|
||||
(*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(1)
|
||||
(**(**Tsqlite3_index_constraint_usage)(__ccgo_up((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ii)*8))).FargvIndex = int32(1)
|
||||
(**(**Tsqlite3_index_constraint_usage)(__ccgo_up((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(jj)*8))).Fomit = uint8(1)
|
||||
/* This strategy involves a two rowid lookups on an B-Tree structures
|
||||
** and then a linear search of an R-Tree node. This should be
|
||||
** considered almost as quick as a direct rowid lookup (for which
|
||||
** sqlite uses an internal cost of 0.0). It is expected to return
|
||||
** a single row.
|
||||
*/
|
||||
(*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(30)
|
||||
(*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(1)
|
||||
(*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxFlags = int32(SQLITE_INDEX_SCAN_UNIQUE)
|
||||
return SQLITE_OK
|
||||
}
|
||||
if (*Tsqlite3_index_constraint)(unsafe.Pointer(p)).Fusable != 0 && ((*Tsqlite3_index_constraint)(unsafe.Pointer(p)).FiColumn > 0 && (*Tsqlite3_index_constraint)(unsafe.Pointer(p)).FiColumn <= libc.Int32FromUint8((*TRtree)(unsafe.Pointer(pRtree)).FnDim2) || libc.Int32FromUint8((*Tsqlite3_index_constraint)(unsafe.Pointer(p)).Fop) == int32(SQLITE_INDEX_CONSTRAINT_MATCH)) {
|
||||
doOmit = uint8(1)
|
||||
switch libc.Int32FromUint8((*Tsqlite3_index_constraint)(unsafe.Pointer(p)).Fop) {
|
||||
case int32(SQLITE_INDEX_CONSTRAINT_EQ):
|
||||
op = uint8(RTREE_EQ)
|
||||
doOmit = uint8(0)
|
||||
case int32(SQLITE_INDEX_CONSTRAINT_GT):
|
||||
op = uint8(RTREE_GT)
|
||||
doOmit = uint8(0)
|
||||
case int32(SQLITE_INDEX_CONSTRAINT_LE):
|
||||
op = uint8(RTREE_LE)
|
||||
case int32(SQLITE_INDEX_CONSTRAINT_LT):
|
||||
op = uint8(RTREE_LT)
|
||||
doOmit = uint8(0)
|
||||
case int32(SQLITE_INDEX_CONSTRAINT_GE):
|
||||
op = uint8(RTREE_GE)
|
||||
case int32(SQLITE_INDEX_CONSTRAINT_MATCH):
|
||||
op = uint8(RTREE_MATCH)
|
||||
default:
|
||||
op = uint8(0)
|
||||
break
|
||||
}
|
||||
if op != 0 {
|
||||
v4 = iIdx
|
||||
iIdx = iIdx + 1
|
||||
(**(**[41]uint8)(__ccgo_up(bp)))[v4] = op
|
||||
v4 = iIdx
|
||||
iIdx = iIdx + 1
|
||||
(**(**[41]uint8)(__ccgo_up(bp)))[v4] = libc.Uint8FromInt32((*Tsqlite3_index_constraint)(unsafe.Pointer(p)).FiColumn - libc.Int32FromInt32(1) + libc.Int32FromUint8('0'))
|
||||
(**(**Tsqlite3_index_constraint_usage)(__ccgo_up((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ii)*8))).FargvIndex = iIdx / int32(2)
|
||||
(**(**Tsqlite3_index_constraint_usage)(__ccgo_up((*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ii)*8))).Fomit = doOmit
|
||||
}
|
||||
}
|
||||
goto _2
|
||||
_2:
|
||||
;
|
||||
ii = ii + 1
|
||||
}
|
||||
(*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = int32(2)
|
||||
(*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = int32(1)
|
||||
if iIdx > 0 {
|
||||
(*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = Xsqlite3_malloc(tls, iIdx+int32(1))
|
||||
if (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr == uintptr(0) {
|
||||
return int32(SQLITE_NOMEM)
|
||||
}
|
||||
libc.Xmemcpy(tls, (*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr, bp, libc.Uint64FromInt32(iIdx+int32(1)))
|
||||
}
|
||||
nRow = (*TRtree)(unsafe.Pointer(pRtree)).FnRowEst >> (iIdx / int32(2))
|
||||
(*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(libc.Float64FromFloat64(6) * float64(nRow))
|
||||
(*Tsqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = nRow
|
||||
return rc
|
||||
}
|
||||
Reference in New Issue
Block a user