Repository navigation
What's Changed
- Codegen: keep leading-zero integer literals decimal by @fnc12 in #28
- Codegen: keep integer literals past the int64 range at their value by @fnc12 in #29
- PRAGMA recursive_triggers: accept any SQLite boolean value, and never fail silently by @fnc12 in #30
- Codegen: keep a hex literal in the unsigned int range signed by @fnc12 in #31
- Codegen: make unary minus produce the value SQLite computes by @fnc12 in #33
- Codegen: accept a hex literal past int64 where SQLite stores it instead of compiling it by @fnc12 in #32
- CLI: --db --json reports failures and exits 1 by @fnc12 in #34
- Codegen: insert a value an integer field cannot hold through the column list by @fnc12 in #35
- codegen: parenthesize a binary operand C++ would regroup by @fnc12 in #38
- Prefix inference: int64_t for an integer literal beyond int32 by @fnc12 in #37
- Codegen: read a SELECT result column that can be NULL back as an optional by @fnc12 in #39
- parser: LIMIT and OFFSET take an expression by @fnc12 in #40
- Codegen: insert a value no struct field carries through the column list by @fnc12 in #41
- Codegen: fold a PRAGMA value past the int32 range to 0, the way SQLite does by @fnc12 in #42
- Parser: take a name as a PRAGMA value, the way SQLite's nmnum rule does by @fnc12 in #43
- codegen: a predicate under an operator keeps its grouping by @fnc12 in #45
- Git hooks: check a staged C++ file whose name git quotes by @fnc12 in #44
- Codegen: keep the operand a dropped COLLATE stood over as it was by @fnc12 in #46
- codegen: widen the inferred field behind ~, arithmetic and a folded minus sign by @fnc12 in #47
- SELECT codegen: keep the int64 a result column carries by @fnc12 in #48
- README: point at the online playground by @fnc12 in #50
- Codegen: make a NOT over a column, a value or another NOT work by @fnc12 in #49
- codegen: anchor a PRAGMA value warning at the value by @fnc12 in #51
- PRAGMA journal_mode: generate DELETE_, the name Windows leaves alone by @fnc12 in #52
- Parser: group IS [NOT] NULL and prefix NOT the way SQLite does by @fnc12 in #53
- --db: leave out the statement that did not generate, not the whole header by @fnc12 in #55
- Codegen: make an index over an expression compile by @fnc12 in #54
- codegen: spell an OR the C++
||token would misread as a call by @fnc12 in #57 - Codegen: insert a whole number no bool field holds through the column list by @fnc12 in #60
- Codegen: no header names a struct it never declares by @fnc12 in #59
- Codegen: keep a warning's underline inside the line it starts on by @fnc12 in #62
- Codegen: warn about a trigger WHEN clause sqlite_orm cannot default-construct by @fnc12 in #58
- codegen: widen a result column typed by a predicate, a CAST or a call by @fnc12 in #61
- Tests: pin the generated call for every journal and locking mode by @fnc12 in #65
- Codegen: PRAGMA integrity_check(on/true/false) names a table, it is not a bool by @fnc12 in #66
- Codegen: generate a NOT over a concatenation as a CAST to REAL by @fnc12 in #64
- Diagnostics: make every unsupported-construct placeholder say which SQL to underline by @fnc12 in #63
- Adopt the sqlite_orm clang-format style, reformat the tree, add a pre-commit hook by @fnc12 in #36
- Codegen: widen an arithmetic result column that can overflow into a NaN by @fnc12 in #67
- Accept a unary plus and report the affinity it takes out of a comparison by @fnc12 in #56
- Keep a shared clone's worktrees from being pruned out from under their owner by @fnc12 in #69
- Let the AST own its text so it outlives the SQL it was parsed from by @fnc12 in #71
- Codegen: a comment belongs to the statement whose body generated the expression by @fnc12 in #68
- Add the table_mapping_style decision point for C++26 reflection (sqlite_orm #1492) by @fnc12 in #70
- Refuse an expression nested deeper than SQLite takes, instead of overflowing the stack by @fnc12 in #73
- Report a diagnostic's location and length in characters, not bytes by @fnc12 in #74
- Codegen: never let a placeholder reach an expression slot by @fnc12 in #75
- Pin the sqlite_orm revision the runtime tests build against by @fnc12 in #72
- Leave FTS5's own tables and SQLite's own objects out of the generated storage by @fnc12 in #76
- Parser: put -> and ->> on the same level as || by @fnc12 in #78
- Read a name PRAGMA value with the PRAGMA's own reader by @fnc12 in #77
- Tests: a corpus of live schemas, generated, compiled, run and checked against SQLite by @fnc12 in #80
- Spell a real literal past the double range as an infinity by @fnc12 in #82
- Generate a JSON arrow as the JSON_EXTRACT call it means: result type and path by @fnc12 in #79
- Give both bounds of a BETWEEN one C++ type by @fnc12 in #81
- Warn about a FILTER over every form sqlite_orm gives no filter() by @fnc12 in #84
- Hand an AND or an OR operand sqlite_orm does not recognize over c()-wrapped by @fnc12 in #85
- Widen a CASE result column that can answer NULL by @fnc12 in #86
- Widen a scalar subquery result column to as_optional by @fnc12 in #87
- Warn when a window function or MATCH is called with the wrong arity by @fnc12 in #83
- Qualify the generated table-level unique() call by @fnc12 in #88
- Name a select's own FROM when a subquery would widen it by @fnc12 in #93
- Name a select's FROM when its code names no recordset by @fnc12 in #95
- Gate generated calls on a registry of sqlite_orm forms (expressibility epic, step 1) by @fnc12 in #96
- Cover --db on an AUTOINCREMENT schema down to sync_schema() by @fnc12 in #98
- Bind a reference that names no table to its FROM alias by @fnc12 in #94
Full Changelog: v1.2.4...v1.2.5