diff --git a/Cargo.lock b/Cargo.lock index 370c66a..c63afc7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19,9 +19,9 @@ checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" [[package]] name = "cc" -version = "1.2.54" +version = "1.2.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6354c81bbfd62d9cfa9cb3c773c2b7b2a3a482d569de977fd0e961f6e7c00583" +checksum = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" dependencies = [ "find-msvc-tools", "shlex", @@ -45,9 +45,9 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" [[package]] name = "itoa" @@ -67,9 +67,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.180" +version = "0.2.181" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" +checksum = "459427e2af2b9c839b132acb702a1c654d95e10f8c326bfc2ad11310e458b1c5" [[package]] name = "log" @@ -79,9 +79,9 @@ checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" [[package]] name = "memchr" -version = "2.7.6" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" +checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" [[package]] name = "object" @@ -109,9 +109,9 @@ dependencies = [ [[package]] name = "psm" -version = "0.1.29" +version = "0.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa96cb91275ed31d6da3e983447320c4eb219ac180fa1679a0889ff32861e2d" +checksum = "3852766467df634d74f0b2d7819bf8dc483a0eb2e3b0f50f756f9cfe8b0d18d8" dependencies = [ "ar_archive_writer", "cc", @@ -214,9 +214,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "sqlparser" -version = "0.60.0" +version = "0.61.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "505aa16b045c4c1375bf5f125cce3813d0176325bfe9ffc4a903f423de7774ff" +checksum = "dbf5ea8d4d7c808e1af1cbabebca9a2abe603bcefc22294c5b95018d53200cb7" dependencies = [ "log", "recursive", @@ -225,7 +225,7 @@ dependencies = [ [[package]] name = "sqlparser-rs-wasm" -version = "0.60.0" +version = "0.61.0" dependencies = [ "console_error_panic_hook", "serde", @@ -237,9 +237,9 @@ dependencies = [ [[package]] name = "stacker" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1f8b29fb42aafcea4edeeb6b2f2d7ecd0d969c48b4cf0d2e64aafc471dd6e59" +checksum = "08d74a23609d509411d10e2176dc2a4346e3b4aea2e7b1869f19fdedbc71c013" dependencies = [ "cc", "cfg-if", @@ -261,9 +261,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" +checksum = "537dd038a89878be9b64dd4bd1b260315c1bb94f4d784956b81e27a088d9a09e" [[package]] name = "wasm-bindgen" @@ -385,6 +385,6 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "zmij" -version = "1.0.17" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02aae0f83f69aafc94776e879363e9771d7ecbffe2c7fbb6c14c5e00dfe88439" +checksum = "4de98dfa5d5b7fef4ee834d0073d560c9ca7b6c46a71d058c48db7960f8cfaf7" diff --git a/Cargo.toml b/Cargo.toml index ad71cc9..bded71d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sqlparser-rs-wasm" -version = "0.60.0" +version = "0.61.0" edition = "2021" description = "WebAssembly bindings for sqlparser SQL parser" license = "Apache-2.0" @@ -10,7 +10,7 @@ repository = "https://github.com/guanmingchiu/sqlparser-ts" crate-type = ["cdylib", "rlib"] [dependencies] -sqlparser = { version = "0.60.0", features = ["serde"] } +sqlparser = { version = "0.61.0", features = ["serde"] } wasm-bindgen = "0.2" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" diff --git a/scripts/upgrade.sh b/scripts/upgrade.sh index deac7ba..e11501f 100755 --- a/scripts/upgrade.sh +++ b/scripts/upgrade.sh @@ -24,7 +24,9 @@ sed -i '' "s/^version = \"[^\"]*\"/version = \"${VERSION}\"/" "$PROJECT_DIR/Carg sed -i '' "s/\"version\": \"[^\"]*\"/\"version\": \"${VERSION}\"/" "$PROJECT_DIR/ts/package.json" # Update README badge -sed -i '' "s/sqlparser--rs-v[0-9.]*-orange/sqlparser--rs-v${VERSION}-orange/" "$PROJECT_DIR/README.md" +README=$(readlink -f "$PROJECT_DIR/README.md" 2>/dev/null || readlink "$PROJECT_DIR/README.md") +[[ "$README" != /* ]] && README="$PROJECT_DIR/$README" +sed -i '' "s/sqlparser--rs-v[0-9.]*-orange/sqlparser--rs-v${VERSION}-orange/" "$README" echo "" echo "Updated to v${VERSION}. Next steps:" diff --git a/ts/README.md b/ts/README.md index 1554984..6ad1ce1 100644 --- a/ts/README.md +++ b/ts/README.md @@ -4,7 +4,7 @@ [![npm downloads](https://img.shields.io/npm/dm/@guanmingchiu/sqlparser-ts.svg)](https://www.npmjs.com/package/@guanmingchiu/sqlparser-ts) [![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE) [![WebAssembly](https://img.shields.io/badge/WebAssembly-powered-blueviolet.svg)](https://webassembly.org/) -[![sqlparser](https://img.shields.io/badge/sqlparser--rs-v0.60.0-orange.svg)](https://github.com/apache/datafusion-sqlparser-rs) +[![sqlparser](https://img.shields.io/badge/sqlparser--rs-v0.61.0-orange.svg)](https://github.com/apache/datafusion-sqlparser-rs) SQL parser for JavaScript and TypeScript, powered by [datafusion-sqlparser-rs](https://github.com/apache/datafusion-sqlparser-rs) via WebAssembly. diff --git a/ts/package-lock.json b/ts/package-lock.json index 9734c4e..d868483 100644 --- a/ts/package-lock.json +++ b/ts/package-lock.json @@ -1,12 +1,12 @@ { "name": "@guanmingchiu/sqlparser-ts", - "version": "0.60.0", + "version": "0.61.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@guanmingchiu/sqlparser-ts", - "version": "0.60.0", + "version": "0.61.0", "license": "Apache-2.0", "devDependencies": { "@types/node": "^25.0.10", diff --git a/ts/package.json b/ts/package.json index f0791d2..fcfea47 100644 --- a/ts/package.json +++ b/ts/package.json @@ -1,6 +1,6 @@ { "name": "@guanmingchiu/sqlparser-ts", - "version": "0.60.0", + "version": "0.61.0", "type": "module", "description": "A SQL parser for JavaScript and TypeScript, powered by datafusion-sqlparser-rs via WASM", "main": "dist/index.cjs", diff --git a/ts/tests/dialects/databricks.test.ts b/ts/tests/dialects/databricks.test.ts index 4b92818..024905d 100644 --- a/ts/tests/dialects/databricks.test.ts +++ b/ts/tests/dialects/databricks.test.ts @@ -127,10 +127,7 @@ describe('Databricks - TIMESTAMP_NTZ', () => { }); describe('Databricks - Table Time Travel', () => { - // TODO: Enable when sqlparser >= 0.61.0 - // - TIMESTAMP AS OF: PR #2134 merged Jan 7, 2026 - // - VERSION AS OF: PR #2155 merged Jan 20, 2026 - test.skip('parse_table_time_travel', () => { + test('parse_table_time_travel', () => { // TIMESTAMP AS OF for temporal queries parseOne( "SELECT * FROM t1 TIMESTAMP AS OF '2018-10-18T22:15:12.013Z'", diff --git a/ts/tests/dialects/mssql.test.ts b/ts/tests/dialects/mssql.test.ts index 16c14a6..505f117 100644 --- a/ts/tests/dialects/mssql.test.ts +++ b/ts/tests/dialects/mssql.test.ts @@ -313,8 +313,7 @@ describe('MSSQL - No Semicolon Delimiter', () => { }); describe('MSSQL - BEGIN/END Blocks', () => { - test.skip('parse_begin_end', () => { - // BEGIN/END blocks not yet fully supported + test('parse_begin_end', () => { parseOne('BEGIN SELECT 1; END', mssql); parseOne('BEGIN SELECT 1; SELECT 2; END', mssql); }); diff --git a/ts/tests/dialects/oracle.test.ts b/ts/tests/dialects/oracle.test.ts index e653607..eff3a4d 100644 --- a/ts/tests/dialects/oracle.test.ts +++ b/ts/tests/dialects/oracle.test.ts @@ -28,8 +28,7 @@ describe('Oracle - Operator Precedence', () => { }); describe('Oracle - Quote Delimited Strings', () => { - // TODO: Enable when sqlparser >= 0.61.0 (PR #2130 merged Dec 16, 2025) - test.skip('parse_quote_delimited_string', () => { + test('parse_quote_delimited_string', () => { // Test various quote delimiters parseOne("SELECT Q'.abc.' FROM dual", oracle); parseOne("SELECT Q'Xab'cX' FROM dual", oracle); @@ -45,8 +44,7 @@ describe('Oracle - Quote Delimited Strings', () => { parseOne("SELECT Q'[a[b]c]' FROM dual", oracle); }); - // TODO: Enable when sqlparser >= 0.61.0 (PR #2130 merged Dec 16, 2025) - test.skip('parse_invalid_quote_delimited_strings', () => { + test('parse_invalid_quote_delimited_strings', () => { // Invalid delimiters should fail expectParseError("SELECT Q' abc ' FROM dual", oracle); expectParseError("SELECT Q'\tabc\t' FROM dual", oracle); @@ -54,8 +52,7 @@ describe('Oracle - Quote Delimited Strings', () => { expectParseError("SELECT Q'", oracle); }); - // TODO: Enable when sqlparser >= 0.61.0 (PR #2130 merged Dec 16, 2025) - test.skip('parse_quote_delimited_string_lowercase', () => { + test('parse_quote_delimited_string_lowercase', () => { // Lowercase q should work const sql = "select q'!a'b'c!d!' from dual"; const stmt = parseOne(sql, oracle); @@ -69,8 +66,7 @@ describe('Oracle - Quote Delimited Strings', () => { }); describe('Oracle - National Quote Delimited Strings', () => { - // TODO: Enable when sqlparser >= 0.61.0 (PR #2130 merged Dec 16, 2025) - test.skip('parse_national_quote_delimited_string', () => { + test('parse_national_quote_delimited_string', () => { // Test NQ prefix for national character strings parseOne("SELECT NQ'.abc.' FROM dual", oracle); parseOne("SELECT NQ'Xab'cX' FROM dual", oracle);