{"action":"published","release":{"url":"https://api.github.com/repos/codeschool/sqlite-parser/releases/1532868","assets_url":"https://api.github.com/repos/codeschool/sqlite-parser/releases/1532868/assets","upload_url":"https://uploads.github.com/repos/codeschool/sqlite-parser/releases/1532868/assets{?name}","html_url":"https://github.com/codeschool/sqlite-parser/releases/tag/v0.3.1","id":1532868,"tag_name":"v0.3.1","target_commitish":"master","name":"v0.3.1","draft":false,"author":{"login":"nwronski","id":5528249,"avatar_url":"https://avatars.githubusercontent.com/u/5528249?v=3","gravatar_id":"","url":"https://api.github.com/users/nwronski","html_url":"https://github.com/nwronski","followers_url":"https://api.github.com/users/nwronski/followers","following_url":"https://api.github.com/users/nwronski/following{/other_user}","gists_url":"https://api.github.com/users/nwronski/gists{/gist_id}","starred_url":"https://api.github.com/users/nwronski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nwronski/subscriptions","organizations_url":"https://api.github.com/users/nwronski/orgs","repos_url":"https://api.github.com/users/nwronski/repos","events_url":"https://api.github.com/users/nwronski/events{/privacy}","received_events_url":"https://api.github.com/users/nwronski/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2015-06-25T20:59:51Z","published_at":"2015-07-14T04:27:57Z","assets":[],"tarball_url":"https://api.github.com/repos/codeschool/sqlite-parser/tarball/v0.3.1","zipball_url":"https://api.github.com/repos/codeschool/sqlite-parser/zipball/v0.3.1","body":"### Added\r\n- rules line and block comments\r\n- specs for comment types\r\n\r\n  ``` sql\r\n  -- Line comment\r\n  /*\r\n   * Block comment /* nested comment */\r\n   */\r\n  ```\r\n\r\n- rules for `CREATE INDEX`\r\n- specs for `CREATE INDEX` statement\r\n- `CREATE TRIGGER` syntax and AST\r\n- specs for `CREATE TRIGGER` statement\r\n- specs for some expression grouping issues that were experienced when using binary and unary expressions along with `AND`, `OR`\r\n\r\n  ``` sql\r\n  CREATE INDEX `bees`.`hive_state`\r\n  ON `hive` (`happiness` ASC, `anger` DESC)\r\n  WHERE\r\n    `happiness` ISNULL AND `anger` > 0\r\n  ```\r\n- `CREATE VIEW` syntax and AST\r\n- specs for `CREATE VIEW` statement\r\n- `CREATE VIRTUAL TABLE` syntax and AST\r\n- specs for `CREATE VIRTUAL TABLE` statement\r\n- allow subquery in parenthesis within `FROM` clause\r\n- New specs: Basic Drop Table, Basic Drop Trigger, Basic Function, Basic Subquery, Basic Union, Create Check 1, Create Check 2, Create Foreign Key 1, Create Foreign Key 2, Create Primary Key 1, Create Table Alt Syntax, Expression Like, Expression Table 1, Expression Unary 1, Function Mixed Args, Insert Into Default, Join Types 1, Join Types 2, Select Parts 1, Select Qualified Table 1, Transaction Rollback\r\n- `LICENSE` file added\r\n- `.npmignore` file added\r\n\r\n### Changed\r\n- updated rules and specs to remove use of `modifier` property in AST\r\n- allow multiple expressions for `GROUP BY` clause\r\n\r\n  ``` sql\r\n  SELECT color, type, name\r\n  FROM hats\r\n  GROUP BY type, color\r\n  ```\r\n\r\n- changed AST for create table, constraints, joins, select parts, transactions, unions, triggers to pass new specs\r\n- `INSERT` statement `VALUES` clause AST normalized for value lists and `DEFAULT VALUES`\r\n\r\n  ``` json\r\n  {\r\n    \"type\": \"values\",\r\n    \"variant\": \"list\",\r\n    \"values\": []\r\n  },\r\n  {\r\n    \"type\": \"values\",\r\n    \"variant\": \"default\",\r\n    \"values\": null\r\n  }\r\n  ```\r\n\r\n- normalized AST across all column constraints and table constraints. all table constraints are `{\"type\": \"definition\", \"variant\": \"constraint\"}` and contain a `definition` array that contains the constraint. the constraint in `definitions` has the same format as the column constraint definition.\r\n- updated package dependencies\r\n- `index.js` file moved to file root, duplicate copies in `lib/` and `src/` removed\r\n- going to try and keep (most significant) version numbers synchronized between `sqlite-parser` and `sqlite-tree` to avoid confusion going forward\r\n\r\n### Fixed\r\n- some grouping errors for unary operators, unary null and binary concatenation\r\n- The `CREATE VIRTUAL TABLE` statement previously only worked with expression arguments. Fixed by checking for a column name followed by a type definition or column constraint before assuming the type is an expression list, if these things are found, then treat the arguments as a set of source definitions as in a creation statement for a table.\r\n\r\n  ``` sql\r\n  CREATE VIRTUAL TABLE happy_table\r\n  USING happy_module(...);\r\n\r\n    id int -- treat as definitions for CREATE TABLE\r\n    x != 2 -- treat as an expression list\r\n  ```\r\n- allow for nested parenthesis\r\n- allow multiple binary expressions and concatenation operators within parenthesis\r\n\r\n  ``` sql\r\n  SELECT *\r\n  FROM hats\r\n  WHERE\r\n    hat OR (shirt AND (shoes OR wig) AND pants)\r\n  ```\r\n\r\n### Notes\r\n- `CREATE VIRTUAL TABLE` currently only works with expression arguments and does not support passing column definitions and/or table constraint definitions as is allowed in the SQLite spec for virtual table module arguments.\r\n\r\n  ``` sql\r\n  CREATE VIRTUAL TABLE vtrl_ads\r\n  USING tbl_creator(\r\n    id int PRIMARY KEY,\r\n    name varchar(50),\r\n    category varchar(15),\r\n    cost int);\r\n  ```"}}