Releases: coderaiser/happy-sql
Releases · coderaiser/happy-sql
Release list
happy-sql v2.4.0
🐞 fix
- 044050d nextval: scope DEFAULT nextval conversion to column defaults
- 6f9d707 from: rightOuterJoin missing from printer imports
- ba06223 over: window frame ROWS BETWEEN support
- 6c35624 create-table: TEMP keyword and WITHOUT ROWID
- 038cac6 references: ON DELETE and ON UPDATE actions
- 6cd9a75 drop-view: IF EXISTS support
- d5bd976 create-index: column sort order and index method
- 1a6dc5f over: window frame ROWS BETWEEN support
- e8c9ba6 column-definition: GENERATED ALWAYS AS expression
- dbaea87 count: preserve DISTINCT modifier
- 5d9ce53 like: ESCAPE clause support
- e8322bc analyze: qualified table names
- d0446af update: SQLite OR ABORT and OR FAIL
- 1ffd47d order-by: ordinals and NULLS FIRST/LAST
- 48c9aed alter-table: rename table, add constraint, RLS actions
- 297b46a create-table: table-level primary key and unique constraints
- 8f3d71f insert: optional column list, DEFAULT VALUES, table alias
- 1609515 from: JOIN USING support
- 4c0bc85 pragma: support get/set/qualified/string forms
- 3ed2c4f select: support full expression set in select columns
- 44bf5d7 happy-sql: from: UNNEST and func_call alias support
- fedfc86 happy-sql: ANALYZE and REINDEX preserve table name
- fbb7ce6 from: SQLite INDEXED BY and NOT INDEXED table hints
- 923c7bb vacuum: VACUUM INTO file support
- d00c4d2 update: SQLite OR REPLACE and OR IGNORE
- 196eae8 drop-index: IF EXISTS support
- 0cf9caf create-index: IF NOT EXISTS, CONCURRENTLY, WHERE partial index
- 15cf3bb with-named: remove extra indentation from CTE body
- 018e921 lateral-join: alias without AS for subquery
- e3f4ae8 detach database statement
- c070d03 window: named WINDOW clause
- 9792a5e from: subquery alias without AS keyword
- 4868889 where: ISNULL/NOTNULL postfix
- 3bea77a create-table: AS SELECT form
- d5ff74b values: standalone VALUES statement
- 6f27346 truncate: add statement
- 5a07d99 select: DISTINCT ON
- 964f8e6 func-call: FILTER (WHERE ...)
- 407ff5e binary-expression: || concat
- ed2b211 operand: :: cast_operator_expr
- b08cc9f binary-expression: ?? → ?
🔥 feature
- 3fff1e3 happy-sql: putout_processor_sql
- 97f890f USING
- 8ccaa46 RIGHT OUTER JOIN
- 29a5510 happy-sql: DO block
- a18ac59 reindex, analyze, release-savepoint: add trivial statement types
- f0fef07 create-virtual-table: SQLite CREATE VIRTUAL TABLE USING
- dfe2b2c grant: GRANT privilege ON table TO role
- 2a29916 create-schema: CREATE SCHEMA
- f272f3b create-extension: CREATE EXTENSION
- cd61021 drop-view: DROP VIEW
- aef8f2a create-view: CREATE VIEW and CREATE MATERIALIZED VIEW
- d2585b8 set-param: SET and SHOW parameter statements
- 0e734a4 explain: EXPLAIN and EXPLAIN ANALYZE
happy-sql v2.3.0
happy-sql v2.2.1
🐞 fix
- c1535ff npmignore: fixture: exclude
happy-sql v2.2.0
🐞 fix
- d0a98eb column-definition: NOT NULL, DEFAULT, UNIQUE, CHECK, REFERENCES; CREATE TABLE IF NOT EXISTS
- 8db3673 insert: multi-row VALUES support
- 24afa16 index: wire create_index_stmt and vacuum_stmt to clauseVisitors
- 4cdca5c from: LATERAL join support
- b87b5ab select: ARRAY literal expression in column list
- e803804 operand: ANY and ALL quantifier expressions
- e5ca74f operand: handle PostgreSQL :: cast operator (cast_operator_expr)
- 6f26e0c printer: CallExpression: into
- 7325059 printer: queries
- 9c12f1a printer: queries
- d82705d where: NOT EXISTS, paren_expr in nested conditions
- 719b4e3 happy-sql: parser+printer: UNION distinct vs UNION ALL
- c8b4354 alter-table: support ADD COLUMN, DROP COLUMN, RENAME COLUMN, ALTER COLUMN TYPE
- 9d052b4 binary: JSONB ->, ->>, and || string concat operators
- 8d8205e binary: JSONB ->, ->>, and || string concat operators
- f5ab342 select: support EXTRACT(unit FROM col)
- 016d2ed select: support table.* (member_expr with all_columns)
- 6a7510d select: support NULL and TRUE/FALSE literals
- ea56135 drop-table: support multiple tables
- 1a05cfd update: support RETURNING clause
- c3e8b45 update: support FROM clause
- 81c9875 where: not-between: detect betweenKw array, emit notBetween()
- 267f929 binary: NOT LIKE, ILIKE, SIMILAR TO, IS DISTINCT FROM: add to OP_CONVERTERS
- d52c89c from: support NATURAL JOIN
- c595d7e from: support FULL OUTER JOIN
- 7287f91 select: support CASE WHEN
- 69e2c88 select: support CAST(x AS TYPE)
- e112e67 where: support EXISTS
- 324625b where: support IN (subquery)
- 4922056 from: support subquery in FROM
- b980624 returning: handle RETURNING *
- a7b7b53 select: func-call: pass args to generic functions
- 601c165 from: preserve LEFT/INNER/RIGHT/LEFT OUTER JOIN type
🔥 feature
- 624c378 VACUUM
- be90105 create index: add
- 06be326 happy-sql: parser+printer: WINDOW ... OVER (PARTITION BY, ORDER BY)
- bb3762d happy-sql: parser+printer: array literal ARRAY[...]
- 34ab6f1 happy-sql: parser+printer: JSON/JSONB operators as array tuples
- c1b121a attach: SQLite ATTACH DATABASE: parser + printer
- 823912c pragma: SQLite PRAGMA statement: parser + printer
- eadebe8 drop-index: parser + printer
- 847adae transaction: BEGIN, COMMIT, ROLLBACK, SAVEPOINT, ROLLBACK TO SAVEPOINT
- e2feb52 happy-sql: ctx -> printer
- 515f571 happy-sql: generate_series — table-valued function in FROM
- 39f51e3 parser/printer: where: between: add + test: happy-sql: roundtrip: full groupBy integration test
- 6a22942 parser/printer: where: not-in: add
- c1461ac parser/printer: distinct: add
- 8885f47 parser/printer: limit, offset: add
- 48f567c parser/printer: order-by: add
- 33a852e parser/printer: aggregate functions: sum, avg, min, max, count(col)
happy-sql v2.1.1
🔥 feature
- e2feb52 happy-sql: ctx -> printer
- 515f571 happy-sql: generate_series — table-valued function in FROM
- 39f51e3 parser/printer: where: between: add + test: happy-sql: roundtrip: full groupBy integration test
- 6a22942 parser/printer: where: not-in: add
- c1461ac parser/printer: distinct: add
- 8885f47 parser/printer: limit, offset: add
- 48f567c parser/printer: order-by: add
- 33a852e parser/printer: aggregate functions: sum, avg, min, max, count(col)
happy-sql v2.1.0
🔥 feature
- 533076c parser: WITH RECURSIVE: add
happy-sql v2.0.8
happy-sql v2.0.7
🐞 fix
- 0ddbb26 happy-sql: parser: improve error message
happy-sql v2.0.6
🔥 feature
- eea70b5 @putout/parser: add source of incorrect sql
happy-sql v2.0.5
🐞 fix
- b1cf2b1 happy-sql: parser: where