phplyr

SQLite

Verification

Scope

Expression pipelines, grouped windows, counts, and joins on a SQLite table through Phibble\tbl(). Results compared with DataFrame or with expected values; lazy evaluation in SQL and the in-memory fallback for closures.

References

Reference
phplyr on phibble's DataFrame, and expected values in the tests
Versions
PHP 8.5.10, phibble v0.8.0 (9e63ca5)

Data

panel.csv
12 rows: id, g, year, value, score, label. Loaded into an in-memory SQLite database with declared column types. Source

Method

tests/SqlTest.php loads panel.csv into an in-memory SQLite database, runs each pipeline on the SQLite table and on DataFrame, and checks the class of each result. Values compared is the number of assertions in a case; a case fails if any assertion fails.

Check
End-to-end run with the external program
Recorded
2026-11-02, PHP 8.5.10, macOS (arm64), commit 65e6a46

Tolerances

|x − r| ≤ 1e-9 + 1e-9 × max(|r|, 1)

Applies to: Floating-point values

exact equality

Applies to: Column names, row counts and order, strings, integers, booleans, dates, and missing values

x: package value; r: reference value. Absolute error: |x − r|. Relative error: |x − r| / max(|r|, 1). Max errors are over the values a row compares.

Results

4 comparisons: 4 pass, 0 fail, 0 skipped.

Every comparison
Case Quantity Criterion Values Max abs. error Max rel. error Status
Keeps expression pipelines lazy and matches the in-memory result Table values |x − r| ≤ 1e-9 + 1e-9 × max(|r|, 1) 18 0 0 pass
Runs grouped windows, counts and joins in SQL Values exact equality 66 pass
Falls back to memory for closures Values exact equality 2 pass
Accepts Phibble\Expr nodes directly and stays lazy Values exact equality 3 pass

Reproduction

From the repository root
bin/site-verifications
Raw record
site/verifications/sqlite.json