From 5f1c309a36ebbae625f5a725fd49f6a41b8c25e2 Mon Sep 17 00:00:00 2001 From: tamnd Date: Thu, 8 Oct 2026 17:32:03 +0700 Subject: [PATCH] Release 0.1.1 --- CHANGELOG.md | 13 ++++++++ Cargo.lock | 87 +++++++++++++++++++++++++------------------------ Cargo.toml | 84 +++++++++++++++++++++++------------------------ fuzz/Cargo.lock | 42 ++++++++++++++---------- 4 files changed, 124 insertions(+), 102 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29f739b..abae078 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All changes that a user can see are in this file. The version is 0.M.patch, wher ## Unreleased +## 0.1.1 (2026-10-08) + +A patch release on the way to M2. The SQL that a session can run is the same as in 0.1.0. + +### Added + +- The analyzer can run `CREATE TABLE`, `CREATE INDEX` and `CREATE SCHEMA` on a catalog (#174). It makes the same rows, OIDs, names, notices and errors as PostgreSQL 19 for 102 cases from the oracle. A session does not send these statements to it yet, so they still give `0A000`. + +### Fixed + +- The header of `cargo xtask bench` gives the toolchain that made the instruction counts (#173). +- The `type_recv` fuzz target does not fail on an `interval` whose time is the smallest `int64`. PostgreSQL also refuses the output of that value as input (#175). + ## 0.1.0 (2026-10-08) The release that closes M1, the file. The single `.rupg` file, the buffer manager, the per-worker log, recovery, the hot store and the first MVCC are complete, and the three M1 fuzz targets ran 24 CPU hours each with no find. The close report is in issue #2. This release also has the first instruction count set and the first privilege functions. No crate is published. diff --git a/Cargo.lock b/Cargo.lock index b128868..6a90905 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -257,7 +257,7 @@ dependencies = [ [[package]] name = "rupg" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-buffer", "rupg-common", @@ -272,8 +272,9 @@ dependencies = [ [[package]] name = "rupg-analyze" -version = "0.1.0" +version = "0.1.1" dependencies = [ + "rupg-catalog", "rupg-common", "rupg-pgcatalog", "rupg-sql", @@ -282,11 +283,11 @@ dependencies = [ [[package]] name = "rupg-ann" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-buffer" -version = "0.1.0" +version = "0.1.1" dependencies = [ "loom", "rupg-common", @@ -296,41 +297,41 @@ dependencies = [ [[package]] name = "rupg-capi" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-catalog" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-common", ] [[package]] name = "rupg-cli" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg", ] [[package]] name = "rupg-cluster" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-column" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-common" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-contrib" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-crash" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg", "rupg-common", @@ -340,15 +341,15 @@ dependencies = [ [[package]] name = "rupg-encode" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-exchange" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-exec" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-analyze", "rupg-common", @@ -360,11 +361,11 @@ dependencies = [ [[package]] name = "rupg-ext" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-file" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-common", "rupg-platform", @@ -372,7 +373,7 @@ dependencies = [ [[package]] name = "rupg-func" -version = "0.1.0" +version = "0.1.1" dependencies = [ "md-5", "rupg-analyze", @@ -384,11 +385,11 @@ dependencies = [ [[package]] name = "rupg-graph" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-hot" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-buffer", "rupg-common", @@ -399,23 +400,23 @@ dependencies = [ [[package]] name = "rupg-import" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-index" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-jit" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-kernels" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-log" -version = "0.1.0" +version = "0.1.1" dependencies = [ "loom", "rupg-buffer", @@ -427,19 +428,19 @@ dependencies = [ [[package]] name = "rupg-opt" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-pgcatalog" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-plan" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-platform" -version = "0.1.0" +version = "0.1.1" dependencies = [ "libc", "rupg-common", @@ -447,15 +448,15 @@ dependencies = [ [[package]] name = "rupg-plpgsql" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-raft" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-server" -version = "0.1.0" +version = "0.1.1" dependencies = [ "ring", "rupg-common", @@ -467,7 +468,7 @@ dependencies = [ [[package]] name = "rupg-session" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-analyze", "rupg-common", @@ -482,22 +483,22 @@ dependencies = [ [[package]] name = "rupg-shim" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-sql" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-common", ] [[package]] name = "rupg-summary" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-table" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-common", "rupg-file", @@ -508,7 +509,7 @@ dependencies = [ [[package]] name = "rupg-tree" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-buffer", "rupg-common", @@ -518,7 +519,7 @@ dependencies = [ [[package]] name = "rupg-txn" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-buffer", "rupg-common", @@ -533,18 +534,18 @@ dependencies = [ [[package]] name = "rupg-types" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-common", ] [[package]] name = "rupg-wasm" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-wire" -version = "0.1.0" +version = "0.1.1" dependencies = [ "hmac", "md-5", @@ -818,7 +819,7 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "xtask" -version = "0.1.0" +version = "0.1.1" [[package]] name = "zeroize" diff --git a/Cargo.toml b/Cargo.toml index e897f95..3e7d763 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ exclude = ["fuzz"] [workspace.package] # The version is 0.M.patch, where M is the last milestone that closed. See spec/23-milestones.md section 23.17. -version = "0.1.0" +version = "0.1.1" edition = "2024" # The MSRV is 1.88.0. Safe functions with target_feature need 1.86. core::hint::select_unpredictable needs 1.88. See spec/22-crate-layout.md section 22.11. rust-version = "1.88.0" @@ -20,47 +20,47 @@ readme = "README.md" # One version for the whole workspace. Internal crates are pinned exactly, so a partial publish cannot make a build with mixed versions. `cargo xtask version` changes all the pins together. [workspace.dependencies] -rupg = { version = "=0.1.0", path = "crates/rupg" } -rupg-analyze = { version = "=0.1.0", path = "crates/rupg-analyze" } -rupg-ann = { version = "=0.1.0", path = "crates/rupg-ann" } -rupg-buffer = { version = "=0.1.0", path = "crates/rupg-buffer" } -rupg-capi = { version = "=0.1.0", path = "crates/rupg-capi" } -rupg-catalog = { version = "=0.1.0", path = "crates/rupg-catalog" } -rupg-cli = { version = "=0.1.0", path = "crates/rupg-cli" } -rupg-cluster = { version = "=0.1.0", path = "crates/rupg-cluster" } -rupg-column = { version = "=0.1.0", path = "crates/rupg-column" } -rupg-common = { version = "=0.1.0", path = "crates/rupg-common" } -rupg-contrib = { version = "=0.1.0", path = "crates/rupg-contrib" } -rupg-encode = { version = "=0.1.0", path = "crates/rupg-encode" } -rupg-exchange = { version = "=0.1.0", path = "crates/rupg-exchange" } -rupg-exec = { version = "=0.1.0", path = "crates/rupg-exec" } -rupg-ext = { version = "=0.1.0", path = "crates/rupg-ext" } -rupg-file = { version = "=0.1.0", path = "crates/rupg-file" } -rupg-func = { version = "=0.1.0", path = "crates/rupg-func" } -rupg-graph = { version = "=0.1.0", path = "crates/rupg-graph" } -rupg-hot = { version = "=0.1.0", path = "crates/rupg-hot" } -rupg-import = { version = "=0.1.0", path = "crates/rupg-import" } -rupg-index = { version = "=0.1.0", path = "crates/rupg-index" } -rupg-jit = { version = "=0.1.0", path = "crates/rupg-jit" } -rupg-kernels = { version = "=0.1.0", path = "crates/rupg-kernels" } -rupg-log = { version = "=0.1.0", path = "crates/rupg-log" } -rupg-opt = { version = "=0.1.0", path = "crates/rupg-opt" } -rupg-pgcatalog = { version = "=0.1.0", path = "crates/rupg-pgcatalog" } -rupg-plan = { version = "=0.1.0", path = "crates/rupg-plan" } -rupg-platform = { version = "=0.1.0", path = "crates/rupg-platform" } -rupg-plpgsql = { version = "=0.1.0", path = "crates/rupg-plpgsql" } -rupg-raft = { version = "=0.1.0", path = "crates/rupg-raft" } -rupg-server = { version = "=0.1.0", path = "crates/rupg-server" } -rupg-session = { version = "=0.1.0", path = "crates/rupg-session" } -rupg-shim = { version = "=0.1.0", path = "crates/rupg-shim" } -rupg-sql = { version = "=0.1.0", path = "crates/rupg-sql" } -rupg-summary = { version = "=0.1.0", path = "crates/rupg-summary" } -rupg-table = { version = "=0.1.0", path = "crates/rupg-table" } -rupg-tree = { version = "=0.1.0", path = "crates/rupg-tree" } -rupg-txn = { version = "=0.1.0", path = "crates/rupg-txn" } -rupg-types = { version = "=0.1.0", path = "crates/rupg-types" } -rupg-wasm = { version = "=0.1.0", path = "crates/rupg-wasm" } -rupg-wire = { version = "=0.1.0", path = "crates/rupg-wire" } +rupg = { version = "=0.1.1", path = "crates/rupg" } +rupg-analyze = { version = "=0.1.1", path = "crates/rupg-analyze" } +rupg-ann = { version = "=0.1.1", path = "crates/rupg-ann" } +rupg-buffer = { version = "=0.1.1", path = "crates/rupg-buffer" } +rupg-capi = { version = "=0.1.1", path = "crates/rupg-capi" } +rupg-catalog = { version = "=0.1.1", path = "crates/rupg-catalog" } +rupg-cli = { version = "=0.1.1", path = "crates/rupg-cli" } +rupg-cluster = { version = "=0.1.1", path = "crates/rupg-cluster" } +rupg-column = { version = "=0.1.1", path = "crates/rupg-column" } +rupg-common = { version = "=0.1.1", path = "crates/rupg-common" } +rupg-contrib = { version = "=0.1.1", path = "crates/rupg-contrib" } +rupg-encode = { version = "=0.1.1", path = "crates/rupg-encode" } +rupg-exchange = { version = "=0.1.1", path = "crates/rupg-exchange" } +rupg-exec = { version = "=0.1.1", path = "crates/rupg-exec" } +rupg-ext = { version = "=0.1.1", path = "crates/rupg-ext" } +rupg-file = { version = "=0.1.1", path = "crates/rupg-file" } +rupg-func = { version = "=0.1.1", path = "crates/rupg-func" } +rupg-graph = { version = "=0.1.1", path = "crates/rupg-graph" } +rupg-hot = { version = "=0.1.1", path = "crates/rupg-hot" } +rupg-import = { version = "=0.1.1", path = "crates/rupg-import" } +rupg-index = { version = "=0.1.1", path = "crates/rupg-index" } +rupg-jit = { version = "=0.1.1", path = "crates/rupg-jit" } +rupg-kernels = { version = "=0.1.1", path = "crates/rupg-kernels" } +rupg-log = { version = "=0.1.1", path = "crates/rupg-log" } +rupg-opt = { version = "=0.1.1", path = "crates/rupg-opt" } +rupg-pgcatalog = { version = "=0.1.1", path = "crates/rupg-pgcatalog" } +rupg-plan = { version = "=0.1.1", path = "crates/rupg-plan" } +rupg-platform = { version = "=0.1.1", path = "crates/rupg-platform" } +rupg-plpgsql = { version = "=0.1.1", path = "crates/rupg-plpgsql" } +rupg-raft = { version = "=0.1.1", path = "crates/rupg-raft" } +rupg-server = { version = "=0.1.1", path = "crates/rupg-server" } +rupg-session = { version = "=0.1.1", path = "crates/rupg-session" } +rupg-shim = { version = "=0.1.1", path = "crates/rupg-shim" } +rupg-sql = { version = "=0.1.1", path = "crates/rupg-sql" } +rupg-summary = { version = "=0.1.1", path = "crates/rupg-summary" } +rupg-table = { version = "=0.1.1", path = "crates/rupg-table" } +rupg-tree = { version = "=0.1.1", path = "crates/rupg-tree" } +rupg-txn = { version = "=0.1.1", path = "crates/rupg-txn" } +rupg-types = { version = "=0.1.1", path = "crates/rupg-types" } +rupg-wasm = { version = "=0.1.1", path = "crates/rupg-wasm" } +rupg-wire = { version = "=0.1.1", path = "crates/rupg-wire" } # Outside crates. Each one is in the table of spec/22-crate-layout.md section 22.5. # libc: the system calls of rupg-platform on Unix, for example F_FULLFSYNC and getentropy. diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index a5890c4..bc237d5 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -207,7 +207,7 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "rupg" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-buffer", "rupg-common", @@ -221,8 +221,9 @@ dependencies = [ [[package]] name = "rupg-analyze" -version = "0.1.0" +version = "0.1.1" dependencies = [ + "rupg-catalog", "rupg-common", "rupg-pgcatalog", "rupg-sql", @@ -231,20 +232,27 @@ dependencies = [ [[package]] name = "rupg-buffer" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-common", "rupg-file", "rupg-platform", ] +[[package]] +name = "rupg-catalog" +version = "0.1.1" +dependencies = [ + "rupg-common", +] + [[package]] name = "rupg-common" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-file" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-common", "rupg-platform", @@ -252,7 +260,7 @@ dependencies = [ [[package]] name = "rupg-func" -version = "0.1.0" +version = "0.1.1" dependencies = [ "md-5", "rupg-analyze", @@ -281,7 +289,7 @@ dependencies = [ [[package]] name = "rupg-hot" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-common", "rupg-file", @@ -290,11 +298,11 @@ dependencies = [ [[package]] name = "rupg-kernels" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-log" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-buffer", "rupg-common", @@ -304,11 +312,11 @@ dependencies = [ [[package]] name = "rupg-pgcatalog" -version = "0.1.0" +version = "0.1.1" [[package]] name = "rupg-platform" -version = "0.1.0" +version = "0.1.1" dependencies = [ "libc", "rupg-common", @@ -316,14 +324,14 @@ dependencies = [ [[package]] name = "rupg-sql" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-common", ] [[package]] name = "rupg-table" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-common", "rupg-file", @@ -333,7 +341,7 @@ dependencies = [ [[package]] name = "rupg-tree" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-common", "rupg-file", @@ -341,7 +349,7 @@ dependencies = [ [[package]] name = "rupg-txn" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-buffer", "rupg-common", @@ -355,14 +363,14 @@ dependencies = [ [[package]] name = "rupg-types" -version = "0.1.0" +version = "0.1.1" dependencies = [ "rupg-common", ] [[package]] name = "rupg-wire" -version = "0.1.0" +version = "0.1.1" dependencies = [ "hmac", "md-5",