diff --git a/CHANGELOG.md b/CHANGELOG.md index 12e4a1f5..964ee6ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## v0.24.2 - 2023-11-07 + +### Fixed + +- support parsing `alter database refresh collation` statements (#324) + ## v0.24.1 - 2023-10-24 ### Fixed diff --git a/Cargo.lock b/Cargo.lock index 48b8c520..8873f91a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1595,7 +1595,7 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "squawk" -version = "0.24.1" +version = "0.24.2" dependencies = [ "atty", "base64 0.12.3", diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 3ea7020b..2961cf52 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "squawk" -version = "0.24.1" +version = "0.24.2" authors = ["Steve Dignam "] edition = "2018" license = "GPL-3.0" diff --git a/flake.nix b/flake.nix index 27ea73f5..50d7a0dd 100644 --- a/flake.nix +++ b/flake.nix @@ -18,7 +18,7 @@ { squawk = final.rustPlatform.buildRustPackage { pname = "squawk"; - version = "0.24.1"; + version = "0.24.2"; cargoLock = { lockFile = ./Cargo.lock; diff --git a/package.json b/package.json index 0fc1431b..780b1475 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "squawk-cli", - "version": "0.24.1", + "version": "0.24.2", "description": "linter for PostgreSQL, focused on migrations", "repository": "git@github.com:sbdchd/squawk.git", "author": "Steve Dignam ", diff --git a/parser/src/ast.rs b/parser/src/ast.rs index 8278af1b..106f09ec 100644 --- a/parser/src/ast.rs +++ b/parser/src/ast.rs @@ -945,6 +945,7 @@ pub enum Stmt { ViewStmt(Value), LoadStmt(Value), CreatedbStmt(Value), + AlterDatabaseRefreshCollStmt(Value), AlterDatabaseStmt(Value), AlterDatabaseSetStmt(Value), DropdbStmt(Value), diff --git a/parser/src/parse.rs b/parser/src/parse.rs index 6d7049aa..3bc7475d 100644 --- a/parser/src/parse.rs +++ b/parser/src/parse.rs @@ -965,6 +965,15 @@ ALTER DATABASE name RESET ALL; assert_debug_snapshot!(res); } + #[test] + fn test_alter_database_collation() { + let sql = r#" +ALTER DATABASE pipelines REFRESH COLLATION VERSION; +"#; + let res = parse_sql_query(sql); + assert_debug_snapshot!(res); + } + #[test] fn test_drop_database_stmt() { let sql = r#" diff --git a/parser/src/snapshots/squawk_parser__parse__tests__alter_database_collation.snap b/parser/src/snapshots/squawk_parser__parse__tests__alter_database_collation.snap new file mode 100644 index 00000000..a0a7e319 --- /dev/null +++ b/parser/src/snapshots/squawk_parser__parse__tests__alter_database_collation.snap @@ -0,0 +1,21 @@ +--- +source: parser/src/parse.rs +expression: res +--- +Ok( + [ + RawStmt { + stmt: AlterDatabaseRefreshCollStmt( + Object({ + "dbname": String( + "pipelines", + ), + }), + ), + stmt_location: 0, + stmt_len: Some( + 51, + ), + }, + ], +)