Skip to content

v1.2.5

Latest

Choose a tag to compare

@fnc12 fnc12 released this 21 Sep 15:50
· 366 commits to master since this release
db815f4

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