diff --git a/CHANGELOG.md b/CHANGELOG.md index abae078..cc8b5ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,16 @@ All changes that a user can see are in this file. The version is 0.M.patch, wher ## Unreleased +## 0.1.2 (2026-10-08) + +A patch release on the way to M2. A session can now define tables and see them in the catalogs. + +### Added + +- A session runs `CREATE SCHEMA`, `CREATE TABLE` and `CREATE INDEX` (#177). All the sessions of a server share one catalog. A transaction that defines an object holds a lock on the catalog until it ends, and its changes become visible to the other sessions at `COMMIT`. At a rollback the changes go, but the OIDs stay used, as in PostgreSQL. The notices go to the client as `NoticeResponse`. +- The catalog tables `pg_namespace`, `pg_class`, `pg_type`, `pg_attribute`, `pg_attrdef`, `pg_constraint`, `pg_index`, `pg_sequence` and `pg_depend` show the objects that a user makes (#178). `CREATE TABLE` makes the TOAST table and its index with the OIDs of PostgreSQL. The columns of type `pg_node_tree` hold the analyzer form of the expression, not the PostgreSQL node text. +- `xid` and `cid` have text input, and `xideqint4` and `xidneqint4` work (#178). + ## 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. diff --git a/Cargo.lock b/Cargo.lock index b894fac..cd4449c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -257,7 +257,7 @@ dependencies = [ [[package]] name = "rupg" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-buffer", "rupg-common", @@ -272,7 +272,7 @@ dependencies = [ [[package]] name = "rupg-analyze" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-catalog", "rupg-common", @@ -283,11 +283,11 @@ dependencies = [ [[package]] name = "rupg-ann" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-buffer" -version = "0.1.1" +version = "0.1.2" dependencies = [ "loom", "rupg-common", @@ -297,41 +297,41 @@ dependencies = [ [[package]] name = "rupg-capi" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-catalog" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-common", ] [[package]] name = "rupg-cli" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg", ] [[package]] name = "rupg-cluster" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-column" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-common" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-contrib" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-crash" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg", "rupg-common", @@ -341,15 +341,15 @@ dependencies = [ [[package]] name = "rupg-encode" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-exchange" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-exec" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-analyze", "rupg-catalog", @@ -362,11 +362,11 @@ dependencies = [ [[package]] name = "rupg-ext" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-file" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-common", "rupg-platform", @@ -374,7 +374,7 @@ dependencies = [ [[package]] name = "rupg-func" -version = "0.1.1" +version = "0.1.2" dependencies = [ "md-5", "rupg-analyze", @@ -387,11 +387,11 @@ dependencies = [ [[package]] name = "rupg-graph" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-hot" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-buffer", "rupg-common", @@ -402,23 +402,23 @@ dependencies = [ [[package]] name = "rupg-import" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-index" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-jit" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-kernels" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-log" -version = "0.1.1" +version = "0.1.2" dependencies = [ "loom", "rupg-buffer", @@ -430,19 +430,19 @@ dependencies = [ [[package]] name = "rupg-opt" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-pgcatalog" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-plan" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-platform" -version = "0.1.1" +version = "0.1.2" dependencies = [ "libc", "rupg-common", @@ -450,15 +450,15 @@ dependencies = [ [[package]] name = "rupg-plpgsql" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-raft" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-server" -version = "0.1.1" +version = "0.1.2" dependencies = [ "ring", "rupg-common", @@ -470,7 +470,7 @@ dependencies = [ [[package]] name = "rupg-session" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-analyze", "rupg-catalog", @@ -486,22 +486,22 @@ dependencies = [ [[package]] name = "rupg-shim" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-sql" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-common", ] [[package]] name = "rupg-summary" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-table" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-common", "rupg-file", @@ -512,7 +512,7 @@ dependencies = [ [[package]] name = "rupg-tree" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-buffer", "rupg-common", @@ -522,7 +522,7 @@ dependencies = [ [[package]] name = "rupg-txn" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-buffer", "rupg-common", @@ -537,18 +537,18 @@ dependencies = [ [[package]] name = "rupg-types" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-common", ] [[package]] name = "rupg-wasm" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-wire" -version = "0.1.1" +version = "0.1.2" dependencies = [ "hmac", "md-5", @@ -822,7 +822,7 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "xtask" -version = "0.1.1" +version = "0.1.2" [[package]] name = "zeroize" diff --git a/Cargo.toml b/Cargo.toml index 3e7d763..e26a9d4 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.1" +version = "0.1.2" 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.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" } +rupg = { version = "=0.1.2", path = "crates/rupg" } +rupg-analyze = { version = "=0.1.2", path = "crates/rupg-analyze" } +rupg-ann = { version = "=0.1.2", path = "crates/rupg-ann" } +rupg-buffer = { version = "=0.1.2", path = "crates/rupg-buffer" } +rupg-capi = { version = "=0.1.2", path = "crates/rupg-capi" } +rupg-catalog = { version = "=0.1.2", path = "crates/rupg-catalog" } +rupg-cli = { version = "=0.1.2", path = "crates/rupg-cli" } +rupg-cluster = { version = "=0.1.2", path = "crates/rupg-cluster" } +rupg-column = { version = "=0.1.2", path = "crates/rupg-column" } +rupg-common = { version = "=0.1.2", path = "crates/rupg-common" } +rupg-contrib = { version = "=0.1.2", path = "crates/rupg-contrib" } +rupg-encode = { version = "=0.1.2", path = "crates/rupg-encode" } +rupg-exchange = { version = "=0.1.2", path = "crates/rupg-exchange" } +rupg-exec = { version = "=0.1.2", path = "crates/rupg-exec" } +rupg-ext = { version = "=0.1.2", path = "crates/rupg-ext" } +rupg-file = { version = "=0.1.2", path = "crates/rupg-file" } +rupg-func = { version = "=0.1.2", path = "crates/rupg-func" } +rupg-graph = { version = "=0.1.2", path = "crates/rupg-graph" } +rupg-hot = { version = "=0.1.2", path = "crates/rupg-hot" } +rupg-import = { version = "=0.1.2", path = "crates/rupg-import" } +rupg-index = { version = "=0.1.2", path = "crates/rupg-index" } +rupg-jit = { version = "=0.1.2", path = "crates/rupg-jit" } +rupg-kernels = { version = "=0.1.2", path = "crates/rupg-kernels" } +rupg-log = { version = "=0.1.2", path = "crates/rupg-log" } +rupg-opt = { version = "=0.1.2", path = "crates/rupg-opt" } +rupg-pgcatalog = { version = "=0.1.2", path = "crates/rupg-pgcatalog" } +rupg-plan = { version = "=0.1.2", path = "crates/rupg-plan" } +rupg-platform = { version = "=0.1.2", path = "crates/rupg-platform" } +rupg-plpgsql = { version = "=0.1.2", path = "crates/rupg-plpgsql" } +rupg-raft = { version = "=0.1.2", path = "crates/rupg-raft" } +rupg-server = { version = "=0.1.2", path = "crates/rupg-server" } +rupg-session = { version = "=0.1.2", path = "crates/rupg-session" } +rupg-shim = { version = "=0.1.2", path = "crates/rupg-shim" } +rupg-sql = { version = "=0.1.2", path = "crates/rupg-sql" } +rupg-summary = { version = "=0.1.2", path = "crates/rupg-summary" } +rupg-table = { version = "=0.1.2", path = "crates/rupg-table" } +rupg-tree = { version = "=0.1.2", path = "crates/rupg-tree" } +rupg-txn = { version = "=0.1.2", path = "crates/rupg-txn" } +rupg-types = { version = "=0.1.2", path = "crates/rupg-types" } +rupg-wasm = { version = "=0.1.2", path = "crates/rupg-wasm" } +rupg-wire = { version = "=0.1.2", 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 ba425ae..82655ad 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -207,7 +207,7 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "rupg" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-buffer", "rupg-common", @@ -221,7 +221,7 @@ dependencies = [ [[package]] name = "rupg-analyze" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-catalog", "rupg-common", @@ -232,7 +232,7 @@ dependencies = [ [[package]] name = "rupg-buffer" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-common", "rupg-file", @@ -241,18 +241,18 @@ dependencies = [ [[package]] name = "rupg-catalog" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-common", ] [[package]] name = "rupg-common" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-file" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-common", "rupg-platform", @@ -260,7 +260,7 @@ dependencies = [ [[package]] name = "rupg-func" -version = "0.1.1" +version = "0.1.2" dependencies = [ "md-5", "rupg-analyze", @@ -290,7 +290,7 @@ dependencies = [ [[package]] name = "rupg-hot" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-common", "rupg-file", @@ -299,11 +299,11 @@ dependencies = [ [[package]] name = "rupg-kernels" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-log" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-buffer", "rupg-common", @@ -313,11 +313,11 @@ dependencies = [ [[package]] name = "rupg-pgcatalog" -version = "0.1.1" +version = "0.1.2" [[package]] name = "rupg-platform" -version = "0.1.1" +version = "0.1.2" dependencies = [ "libc", "rupg-common", @@ -325,14 +325,14 @@ dependencies = [ [[package]] name = "rupg-sql" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-common", ] [[package]] name = "rupg-table" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-common", "rupg-file", @@ -342,7 +342,7 @@ dependencies = [ [[package]] name = "rupg-tree" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-common", "rupg-file", @@ -350,7 +350,7 @@ dependencies = [ [[package]] name = "rupg-txn" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-buffer", "rupg-common", @@ -364,14 +364,14 @@ dependencies = [ [[package]] name = "rupg-types" -version = "0.1.1" +version = "0.1.2" dependencies = [ "rupg-common", ] [[package]] name = "rupg-wire" -version = "0.1.1" +version = "0.1.2" dependencies = [ "hmac", "md-5",