From 755ccf25897d9f23fe72ff9041f6993acd9b27f2 Mon Sep 17 00:00:00 2001 From: Erik Grinaker Date: Tue, 9 Jul 2024 19:16:39 +0200 Subject: [PATCH] format: improve SQL formatting, including Raft SQL commands --- src/bin/toydump.rs | 2 +- src/encoding/format.rs | 128 ++++- src/raft/log.rs | 29 +- src/sql/engine/mod.rs | 2 +- src/sql/engine/raft.rs | 17 +- src/sql/testscripts/schema/create_table | 8 +- src/sql/testscripts/schema/create_table_index | 6 +- .../testscripts/schema/create_table_reference | 20 +- .../schema/create_table_transaction | 16 +- .../testscripts/schema/create_table_unique | 6 +- src/sql/testscripts/schema/drop_table | 30 +- src/sql/testscripts/schema/drop_table_index | 166 +++---- .../testscripts/schema/drop_table_transaction | 72 +-- src/sql/testscripts/writes/delete | 44 +- src/sql/testscripts/writes/delete_index | 80 +-- src/sql/testscripts/writes/delete_reference | 126 ++--- src/sql/testscripts/writes/insert | 34 +- src/sql/testscripts/writes/insert_index | 460 +++++++++--------- src/sql/testscripts/writes/insert_reference | 96 ++-- src/sql/testscripts/writes/insert_unique | 330 ++++++------- src/sql/testscripts/writes/update | 22 +- src/sql/testscripts/writes/update_index | 288 +++++------ src/sql/testscripts/writes/update_reference | 108 ++-- src/sql/testscripts/writes/update_unique | 276 +++++------ 24 files changed, 1229 insertions(+), 1137 deletions(-) diff --git a/src/bin/toydump.rs b/src/bin/toydump.rs index f15e1238b..41e433980 100644 --- a/src/bin/toydump.rs +++ b/src/bin/toydump.rs @@ -26,7 +26,7 @@ fn main() -> Result<()> { let mut scan = engine.scan(..); while let Some((key, value)) = scan.next().transpose()? { let mut string = match raft { - true => format::Raft::key_value(&key, &value), + true => format::Raft::::key_value(&key, &value), false => format::MVCC::::key_value(&key, &value), }; if raw { diff --git a/src/encoding/format.rs b/src/encoding/format.rs index 14c699bde..dacdb21c4 100644 --- a/src/encoding/format.rs +++ b/src/encoding/format.rs @@ -1,7 +1,7 @@ //! Decodes and formats raw keys and values, recursively as needed. Handles both //! both Raft, MVCC, SQL, and raw binary data. -use super::{bincode, Key as _}; +use super::{bincode, Key as _, Value as _}; use crate::raft; use crate::sql; use crate::storage::mvcc; @@ -19,9 +19,7 @@ pub trait Formatter { /// Formats a key/value pair. fn key_value(key: &[u8], value: &[u8]) -> String { - let fkey = Self::key(key); - let fvalue = Self::value(key, value); - format!("{fkey} → {fvalue}") + Self::key_maybe_value(key, Some(value)) } /// Formats a key/value pair, where the value may not exist. @@ -53,23 +51,18 @@ impl Formatter for Raw { } } -/// Formats Raft log entries. -/// -/// TODO: decode the commands as well. -pub struct Raft; +/// Formats Raft log entries. Dispatches to I for command formatting. +pub struct Raft(std::marker::PhantomData); -impl Raft { +impl Raft { pub fn entry(entry: &raft::Entry) -> String { - format!( - "{}@{} {}", - entry.index, - entry.term, - entry.command.as_deref().map(Raw::bytes).unwrap_or("None".to_string()) - ) + let fcommand = + entry.command.as_deref().map(|c| I::value(&[], c)).unwrap_or("None".to_string()); + format!("{}@{} {fcommand}", entry.index, entry.term) } } -impl Formatter for Raft { +impl Formatter for Raft { fn key(key: &[u8]) -> String { let Ok(key) = raft::Key::decode(key) else { return Raw::key(key); @@ -154,41 +147,124 @@ impl Formatter for MVCC { } /// Formats SQL keys/values. -/// -/// TODO: consider more terse formatting, e.g. dropping the value type names and -/// instead relying on unambiguous string formatting. -/// -/// TODO: decode and format the applied_index key. pub struct SQL; +impl SQL { + fn literal(value: &sql::types::Value) -> String { + match value { + sql::types::Value::String(s) => format!("{s:?}"), // quoted string + value => value.to_string(), + } + } + + fn values(values: impl IntoIterator) -> String { + values.into_iter().map(|v| Self::literal(&v)).join(",") + } + + fn schema(table: sql::types::Table) -> String { + let re = regex::Regex::new(r#"\n\s*"#).expect("regex failed"); + re.replace_all(&table.to_string(), " ").into_owned() + } +} + impl Formatter for SQL { fn key(key: &[u8]) -> String { + // Special-case the applied_index key. + if key == sql::engine::Raft::APPLIED_INDEX_KEY { + return String::from_utf8_lossy(key).into_owned(); + } + let Ok(key) = sql::engine::Key::decode(key) else { return Raw::key(key) }; - format!("sql:{key:?}") + match key { + sql::engine::Key::Table(name) => format!("sql:Table({name})"), + sql::engine::Key::Index(table, column, value) => { + format!("sql:Index({table}.{column}, {})", Self::literal(&value)) + } + sql::engine::Key::Row(table, id) => { + format!("sql:Row({table}, {})", Self::literal(&id)) + } + } } fn value(key: &[u8], value: &[u8]) -> String { + // Special-case the applied_index key. + if key == sql::engine::Raft::APPLIED_INDEX_KEY { + if let Ok(applied_index) = bincode::deserialize::(value) { + return applied_index.to_string(); + } + } + let Ok(key) = sql::engine::Key::decode(key) else { return Raw::key(value) }; match key { sql::engine::Key::Table(_) => { let Ok(table) = bincode::deserialize::(value) else { return Raw::bytes(value); }; - let re = regex::Regex::new(r#"\n\s*"#).expect("regex failed"); - re.replace_all(&format!("{table}"), " ").into_owned() + Self::schema(table) } sql::engine::Key::Row(_, _) => { let Ok(row) = bincode::deserialize::(value) else { return Raw::bytes(value); }; - row.into_iter().map(|v| format!("{v:?}")).join(",") + Self::values(row) } sql::engine::Key::Index(_, _, _) => { let Ok(index) = bincode::deserialize::>(value) else { return Raw::bytes(value); }; - index.into_iter().map(|v| format!("{v:?}")).join(",") + Self::values(index) } } } } + +/// Formats SQL Raft write commands, from the Raft log. +pub struct SQLCommand; + +impl Formatter for SQLCommand { + /// There is no key, since they're wrapped in a Raft log entry. + fn key(_: &[u8]) -> String { + panic!("SQL commands don't have a key"); + } + + fn value(_: &[u8], value: &[u8]) -> String { + let Ok(write) = sql::engine::Write::decode(value) else { + return Raw::bytes(value); + }; + + let txn = match &write { + sql::engine::Write::Begin => None, + sql::engine::Write::Commit(txn) + | sql::engine::Write::Rollback(txn) + | sql::engine::Write::Delete { txn, .. } + | sql::engine::Write::Insert { txn, .. } + | sql::engine::Write::Update { txn, .. } + | sql::engine::Write::CreateTable { txn, .. } + | sql::engine::Write::DeleteTable { txn, .. } => Some(txn), + }; + let ftxn = + txn.filter(|t| !t.read_only).map(|t| format!("t{} ", t.version)).unwrap_or_default(); + + let fcommand = match write { + sql::engine::Write::Begin => "BEGIN".to_string(), + sql::engine::Write::Commit(_) => "COMMIT".to_string(), + sql::engine::Write::Rollback(_) => "ROLLBACK".to_string(), + sql::engine::Write::Delete { table, ids, .. } => { + format!("DELETE {table} {}", ids.iter().map(|id| id.to_string()).join(",")) + } + sql::engine::Write::Insert { table, rows, .. } => { + format!( + "INSERT {table} {}", + rows.into_iter().map(|row| format!("({})", SQL::values(row))).join(" ") + ) + } + sql::engine::Write::Update { table, rows, .. } => format!( + "UPDATE {table} {}", + rows.into_iter().map(|(id, row)| format!("{id}→({})", SQL::values(row))).join(" ") + ), + sql::engine::Write::CreateTable { schema, .. } => SQL::schema(schema), + sql::engine::Write::DeleteTable { table, .. } => format!("DROP TABLE {table}"), + }; + format!("{ftxn}{fcommand}") + } +} diff --git a/src/raft/log.rs b/src/raft/log.rs index 912dc761a..4198a6ad6 100644 --- a/src/raft/log.rs +++ b/src/raft/log.rs @@ -375,7 +375,10 @@ mod tests { args.reject_rest()?; let index = self.log.append(command)?; let entry = self.log.get(index)?.expect("entry not found"); - output.push_str(&format!("append → {}\n", format::Raft::entry(&entry))); + output.push_str(&format!( + "append → {}\n", + format::Raft::::entry(&entry) + )); } // commit INDEX @@ -385,7 +388,10 @@ mod tests { args.reject_rest()?; let index = self.log.commit(index)?; let entry = self.log.get(index)?.expect("entry not found"); - output.push_str(&format!("commit → {}\n", format::Raft::entry(&entry))); + output.push_str(&format!( + "commit → {}\n", + format::Raft::::entry(&entry) + )); } // dump @@ -397,7 +403,7 @@ mod tests { writeln!( output, "{} [{}]", - format::Raft::key_value(&key, &value), + format::Raft::::key_value(&key, &value), format::Raw::key_value(&key, &value) )?; } @@ -414,7 +420,7 @@ mod tests { .log .get(index)? .as_ref() - .map(format::Raft::entry) + .map(format::Raft::::entry) .unwrap_or("None".to_string()); output.push_str(&format!("{entry}\n")); } @@ -464,7 +470,8 @@ mod tests { args.reject_rest()?; let mut scan = self.log.scan(range); while let Some(entry) = scan.next().transpose()? { - output.push_str(&format!("{}\n", format::Raft::entry(&entry))); + output + .push_str(&format!("{}\n", format::Raft::::entry(&entry))); } } @@ -476,7 +483,8 @@ mod tests { args.reject_rest()?; let mut scan = self.log.scan_apply(applied_index); while let Some(entry) = scan.next().transpose()? { - output.push_str(&format!("{}\n", format::Raft::entry(&entry))); + output + .push_str(&format!("{}\n", format::Raft::::entry(&entry))); } } @@ -504,7 +512,10 @@ mod tests { args.reject_rest()?; let index = self.log.splice(entries)?; let entry = self.log.get(index)?.expect("entry not found"); - output.push_str(&format!("splice → {}\n", format::Raft::entry(&entry))); + output.push_str(&format!( + "splice → {}\n", + format::Raft::::entry(&entry) + )); } // status [engine=BOOL] @@ -552,14 +563,14 @@ mod tests { Operation::Delete { key } => writeln!( output, "engine delete {} [{}]", - format::Raft::key(&key), + format::Raft::::key(&key), format::Raw::key(&key) )?, Operation::Flush => writeln!(output, "engine flush")?, Operation::Set { key, value } => writeln!( output, "engine set {} [{}]", - format::Raft::key_value(&key, &value), + format::Raft::::key_value(&key, &value), format::Raw::key_value(&key, &value) )?, } diff --git a/src/sql/engine/mod.rs b/src/sql/engine/mod.rs index aadd19c29..6e8fc3ad9 100644 --- a/src/sql/engine/mod.rs +++ b/src/sql/engine/mod.rs @@ -5,5 +5,5 @@ mod session; pub use engine::{Catalog, Engine, Transaction}; pub use local::{Key, Local}; -pub use raft::{Raft, Status}; +pub use raft::{Raft, Status, Write}; pub use session::{Session, StatementResult}; diff --git a/src/sql/engine/raft.rs b/src/sql/engine/raft.rs index 60a2219f7..347dfc1cb 100644 --- a/src/sql/engine/raft.rs +++ b/src/sql/engine/raft.rs @@ -33,6 +33,10 @@ pub struct Raft { } impl Raft { + /// The unversioned key used to store the applied index. Just use a string + /// for simplicity. + pub const APPLIED_INDEX_KEY: &'static [u8] = b"applied_index"; + /// Creates a new Raft-based SQL engine, given a Raft request channel to the /// local Raft node. pub fn new(tx: Sender<(raft::Request, Sender>)>) -> Self { @@ -236,7 +240,7 @@ impl State { pub fn new(engine: E) -> Result { let local = super::Local::new(engine); let applied_index = local - .get_unversioned(b"applied_index")? + .get_unversioned(Raft::APPLIED_INDEX_KEY)? .map(|b| bincode::deserialize(&b)) .transpose()? .unwrap_or(0); @@ -298,7 +302,7 @@ impl raft::State for State { // lose a tail of the state machine writes (e.g. if the machine // crashes). Raft will replay the log from the last known applied index. self.applied_index = entry.index; - self.local.set_unversioned(b"applied_index", bincode::serialize(&entry.index))?; + self.local.set_unversioned(Raft::APPLIED_INDEX_KEY, bincode::serialize(&entry.index))?; result } @@ -341,8 +345,8 @@ impl raft::State for State { /// A Raft engine read. Values correspond to engine method parameters. Uses /// Cows to allow borrowed encoding and owned decoding. -#[derive(Serialize, Deserialize)] -enum Read<'a> { +#[derive(Debug, Serialize, Deserialize)] +pub enum Read<'a> { BeginReadOnly { as_of: Option, }, @@ -378,8 +382,8 @@ impl<'a> encoding::Value for Read<'a> {} /// A Raft engine write. Values correspond to engine method parameters. Uses /// Cows to allow borrowed encoding (for borrowed params) and owned decoding. -#[derive(Serialize, Deserialize)] -enum Write<'a> { +#[derive(Debug, Serialize, Deserialize)] +pub enum Write<'a> { Begin, Commit(Cow<'a, mvcc::TransactionState>), Rollback(Cow<'a, mvcc::TransactionState>), @@ -389,6 +393,7 @@ enum Write<'a> { Update { txn: Cow<'a, mvcc::TransactionState>, table: Cow<'a, str>, rows: BTreeMap }, CreateTable { txn: Cow<'a, mvcc::TransactionState>, schema: Table }, + // TODO: rename to DropTable. DeleteTable { txn: Cow<'a, mvcc::TransactionState>, table: Cow<'a, str>, if_exists: bool }, } diff --git a/src/sql/testscripts/schema/create_table b/src/sql/testscripts/schema/create_table index 6912474cf..c150180ea 100644 --- a/src/sql/testscripts/schema/create_table +++ b/src/sql/testscripts/schema/create_table @@ -8,15 +8,15 @@ CreateTable: test CreateTable { name: "test" } storage set mvcc:NextVersion → 2 ["\x00" → "\x02"] storage set mvcc:TxnActive(1) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x01" → ""] -storage set mvcc:TxnWrite(1, sql:Table("test")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xfftest\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Table("test"), 1) → CREATE TABLE test ( id INTEGER PRIMARY KEY ) ["\x04\x00\xfftest\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x10\x04test\x00\x01\x02id\x01\x00\x00\x01\x00\x00"] -storage delete mvcc:TxnWrite(1, sql:Table("test")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xfftest\x00\xff\x00\xff\x00\x00"] +storage set mvcc:TxnWrite(1, sql:Table(test)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xfftest\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Table(test), 1) → CREATE TABLE test ( id INTEGER PRIMARY KEY ) ["\x04\x00\xfftest\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x10\x04test\x00\x01\x02id\x01\x00\x00\x01\x00\x00"] +storage delete mvcc:TxnWrite(1, sql:Table(test)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xfftest\x00\xff\x00\xff\x00\x00"] storage delete mvcc:TxnActive(1) ["\x01\x00\x00\x00\x00\x00\x00\x00\x01"] dump --- mvcc:NextVersion → 2 ["\x00" → "\x02"] -mvcc:Version(sql:Table("test"), 1) → CREATE TABLE test ( id INTEGER PRIMARY KEY ) ["\x04\x00\xfftest\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x10\x04test\x00\x01\x02id\x01\x00\x00\x01\x00\x00"] +mvcc:Version(sql:Table(test), 1) → CREATE TABLE test ( id INTEGER PRIMARY KEY ) ["\x04\x00\xfftest\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x10\x04test\x00\x01\x02id\x01\x00\x00\x01\x00\x00"] # Errors if table already exists. !> CREATE TABLE test (id INTEGER PRIMARY KEY) diff --git a/src/sql/testscripts/schema/create_table_index b/src/sql/testscripts/schema/create_table_index index a866a2fef..af17a7943 100644 --- a/src/sql/testscripts/schema/create_table_index +++ b/src/sql/testscripts/schema/create_table_index @@ -4,9 +4,9 @@ --- storage set mvcc:NextVersion → 2 ["\x00" → "\x02"] storage set mvcc:TxnActive(1) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x01" → ""] -storage set mvcc:TxnWrite(1, sql:Table("indexed")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xffindexed\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Table("indexed"), 1) → CREATE TABLE indexed ( id INTEGER PRIMARY KEY, "index" INTEGER DEFAULT NULL INDEX ) ["\x04\x00\xffindexed\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01 \x07indexed\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05index\x01\x01\x01\x00\x00\x01\x00"] -storage delete mvcc:TxnWrite(1, sql:Table("indexed")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xffindexed\x00\xff\x00\xff\x00\x00"] +storage set mvcc:TxnWrite(1, sql:Table(indexed)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xffindexed\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Table(indexed), 1) → CREATE TABLE indexed ( id INTEGER PRIMARY KEY, "index" INTEGER DEFAULT NULL INDEX ) ["\x04\x00\xffindexed\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01 \x07indexed\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05index\x01\x01\x01\x00\x00\x01\x00"] +storage delete mvcc:TxnWrite(1, sql:Table(indexed)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xffindexed\x00\xff\x00\xff\x00\x00"] storage delete mvcc:TxnActive(1) ["\x01\x00\x00\x00\x00\x00\x00\x00\x01"] schema diff --git a/src/sql/testscripts/schema/create_table_reference b/src/sql/testscripts/schema/create_table_reference index 71ba37159..3fd22c95f 100644 --- a/src/sql/testscripts/schema/create_table_reference +++ b/src/sql/testscripts/schema/create_table_reference @@ -17,9 +17,9 @@ ok --- storage set mvcc:NextVersion → 6 ["\x00" → "\x06"] storage set mvcc:TxnActive(5) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x05" → ""] -storage set mvcc:TxnWrite(5, sql:Table("name")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x00\xffname\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Table("name"), 5) → CREATE TABLE name ( id INTEGER PRIMARY KEY, ref_id INTEGER DEFAULT NULL INDEX REFERENCES ref, sref_id STRING DEFAULT NULL INDEX REFERENCES sref ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x016\x04name\x00\x03\x02id\x01\x00\x00\x01\x00\x00\x06ref_id\x01\x01\x01\x00\x00\x01\x01\x03ref\x07sref_id\x03\x01\x01\x00\x00\x01\x01\x04sref"] -storage delete mvcc:TxnWrite(5, sql:Table("name")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x00\xffname\x00\xff\x00\xff\x00\x00"] +storage set mvcc:TxnWrite(5, sql:Table(name)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x00\xffname\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Table(name), 5) → CREATE TABLE name ( id INTEGER PRIMARY KEY, ref_id INTEGER DEFAULT NULL INDEX REFERENCES ref, sref_id STRING DEFAULT NULL INDEX REFERENCES sref ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x016\x04name\x00\x03\x02id\x01\x00\x00\x01\x00\x00\x06ref_id\x01\x01\x01\x00\x00\x01\x01\x03ref\x07sref_id\x03\x01\x01\x00\x00\x01\x01\x04sref"] +storage delete mvcc:TxnWrite(5, sql:Table(name)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x00\xffname\x00\xff\x00\xff\x00\x00"] storage delete mvcc:TxnActive(5) ["\x01\x00\x00\x00\x00\x00\x00\x00\x05"] schema name @@ -33,13 +33,13 @@ CREATE TABLE name ( dump --- mvcc:NextVersion → 6 ["\x00" → "\x06"] -mvcc:Version(sql:Table("name"), 5) → CREATE TABLE name ( id INTEGER PRIMARY KEY, ref_id INTEGER DEFAULT NULL INDEX REFERENCES ref, sref_id STRING DEFAULT NULL INDEX REFERENCES sref ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x016\x04name\x00\x03\x02id\x01\x00\x00\x01\x00\x00\x06ref_id\x01\x01\x01\x00\x00\x01\x01\x03ref\x07sref_id\x03\x01\x01\x00\x00\x01\x01\x04sref"] -mvcc:Version(sql:Table("ref"), 1) → CREATE TABLE ref ( id INTEGER PRIMARY KEY, value STRING NOT NULL ) ["\x04\x00\xffref\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1b\x03ref\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x00\x00\x00\x00\x00"] -mvcc:Version(sql:Table("sref"), 3) → CREATE TABLE sref ( id STRING PRIMARY KEY, value INTEGER NOT NULL ) ["\x04\x00\xffsref\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x1c\x04sref\x00\x02\x02id\x03\x00\x00\x01\x00\x00\x05value\x01\x00\x00\x00\x00\x00"] -mvcc:Version(sql:Row("ref", Integer(1)), 2) → Integer(1),String("a") ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] -mvcc:Version(sql:Row("ref", Integer(2)), 2) → Integer(2),String("b") ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] -mvcc:Version(sql:Row("sref", String("a")), 4) → String("a"),Integer(1) ["\x04\x02sref\x00\xff\x00\xff\x04a\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x06\x02\x04\x01a\x02\x02"] -mvcc:Version(sql:Row("sref", String("b")), 4) → String("b"),Integer(2) ["\x04\x02sref\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x06\x02\x04\x01b\x02\x04"] +mvcc:Version(sql:Table(name), 5) → CREATE TABLE name ( id INTEGER PRIMARY KEY, ref_id INTEGER DEFAULT NULL INDEX REFERENCES ref, sref_id STRING DEFAULT NULL INDEX REFERENCES sref ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x016\x04name\x00\x03\x02id\x01\x00\x00\x01\x00\x00\x06ref_id\x01\x01\x01\x00\x00\x01\x01\x03ref\x07sref_id\x03\x01\x01\x00\x00\x01\x01\x04sref"] +mvcc:Version(sql:Table(ref), 1) → CREATE TABLE ref ( id INTEGER PRIMARY KEY, value STRING NOT NULL ) ["\x04\x00\xffref\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1b\x03ref\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x00\x00\x00\x00\x00"] +mvcc:Version(sql:Table(sref), 3) → CREATE TABLE sref ( id STRING PRIMARY KEY, value INTEGER NOT NULL ) ["\x04\x00\xffsref\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x1c\x04sref\x00\x02\x02id\x03\x00\x00\x01\x00\x00\x05value\x01\x00\x00\x00\x00\x00"] +mvcc:Version(sql:Row(ref, 1), 2) → 1,"a" ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] +mvcc:Version(sql:Row(ref, 2), 2) → 2,"b" ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] +mvcc:Version(sql:Row(sref, "a"), 4) → "a",1 ["\x04\x02sref\x00\xff\x00\xff\x04a\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x06\x02\x04\x01a\x02\x02"] +mvcc:Version(sql:Row(sref, "b"), 4) → "b",2 ["\x04\x02sref\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x06\x02\x04\x01b\x02\x04"] # Missing reference table errors. !> CREATE TABLE test (id INT PRIMARY KEY, "ref" INT REFERENCES missing) diff --git a/src/sql/testscripts/schema/create_table_transaction b/src/sql/testscripts/schema/create_table_transaction index 60c63ec80..9a234d5e1 100644 --- a/src/sql/testscripts/schema/create_table_transaction +++ b/src/sql/testscripts/schema/create_table_transaction @@ -3,8 +3,8 @@ > BEGIN [ops]> CREATE TABLE name (id INT PRIMARY KEY, value STRING) --- -storage set mvcc:TxnWrite(1, sql:Table("name")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xffname\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Table("name"), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] +storage set mvcc:TxnWrite(1, sql:Table(name)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xffname\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Table(name), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] schema name --- @@ -17,14 +17,14 @@ dump --- mvcc:NextVersion → 2 ["\x00" → "\x02"] mvcc:TxnActive(1) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x01" → ""] -mvcc:TxnWrite(1, sql:Table("name")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xffname\x00\xff\x00\xff\x00\x00" → ""] -mvcc:Version(sql:Table("name"), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] +mvcc:TxnWrite(1, sql:Table(name)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xffname\x00\xff\x00\xff\x00\x00" → ""] +mvcc:Version(sql:Table(name), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] # Rolling it back undoes it. [ops]> ROLLBACK --- -storage delete mvcc:Version(sql:Table("name"), 1) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01"] -storage delete mvcc:TxnWrite(1, sql:Table("name")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xffname\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:Version(sql:Table(name), 1) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01"] +storage delete mvcc:TxnWrite(1, sql:Table(name)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xffname\x00\xff\x00\xff\x00\x00"] storage delete mvcc:TxnActive(1) ["\x01\x00\x00\x00\x00\x00\x00\x00\x01"] dump @@ -36,10 +36,10 @@ mvcc:NextVersion → 2 ["\x00" → "\x02"] > CREATE TABLE name (id INT PRIMARY KEY, value STRING) [ops]> COMMIT --- -storage delete mvcc:TxnWrite(2, sql:Table("name")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x00\xffname\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(2, sql:Table(name)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x00\xffname\x00\xff\x00\xff\x00\x00"] storage delete mvcc:TxnActive(2) ["\x01\x00\x00\x00\x00\x00\x00\x00\x02"] dump --- mvcc:NextVersion → 3 ["\x00" → "\x03"] -mvcc:Version(sql:Table("name"), 2) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] +mvcc:Version(sql:Table(name), 2) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] diff --git a/src/sql/testscripts/schema/create_table_unique b/src/sql/testscripts/schema/create_table_unique index 1e3aba9d1..9844d9fb4 100644 --- a/src/sql/testscripts/schema/create_table_unique +++ b/src/sql/testscripts/schema/create_table_unique @@ -4,9 +4,9 @@ --- storage set mvcc:NextVersion → 2 ["\x00" → "\x02"] storage set mvcc:TxnActive(1) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x01" → ""] -storage set mvcc:TxnWrite(1, sql:Table("indexed")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xffindexed\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Table("indexed"), 1) → CREATE TABLE indexed ( id INTEGER PRIMARY KEY, "index" INTEGER DEFAULT NULL UNIQUE INDEX ) ["\x04\x00\xffindexed\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01 \x07indexed\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05index\x01\x01\x01\x00\x01\x01\x00"] -storage delete mvcc:TxnWrite(1, sql:Table("indexed")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xffindexed\x00\xff\x00\xff\x00\x00"] +storage set mvcc:TxnWrite(1, sql:Table(indexed)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xffindexed\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Table(indexed), 1) → CREATE TABLE indexed ( id INTEGER PRIMARY KEY, "index" INTEGER DEFAULT NULL UNIQUE INDEX ) ["\x04\x00\xffindexed\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01 \x07indexed\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05index\x01\x01\x01\x00\x01\x01\x00"] +storage delete mvcc:TxnWrite(1, sql:Table(indexed)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\xffindexed\x00\xff\x00\xff\x00\x00"] storage delete mvcc:TxnActive(1) ["\x01\x00\x00\x00\x00\x00\x00\x00\x01"] # The column gets an implicit secondary index marker. diff --git a/src/sql/testscripts/schema/drop_table b/src/sql/testscripts/schema/drop_table index c9488df9d..d4af307c3 100644 --- a/src/sql/testscripts/schema/drop_table +++ b/src/sql/testscripts/schema/drop_table @@ -13,15 +13,15 @@ DropTable: name DropTable { name: "name", existed: true } storage set mvcc:NextVersion → 4 ["\x00" → "\x04"] storage set mvcc:TxnActive(3) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x03" → ""] -storage set mvcc:TxnWrite(3, sql:Table("name")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x00\xffname\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Table("name"), 3) → None ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] -storage set mvcc:TxnWrite(3, sql:Row("name", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(1)), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] -storage set mvcc:TxnWrite(3, sql:Row("name", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(2)), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] -storage delete mvcc:TxnWrite(3, sql:Table("name")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x00\xffname\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(3, sql:Row("name", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(3, sql:Row("name", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage set mvcc:TxnWrite(3, sql:Table(name)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x00\xffname\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Table(name), 3) → None ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +storage set mvcc:TxnWrite(3, sql:Row(name, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 1), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +storage set mvcc:TxnWrite(3, sql:Row(name, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 2), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +storage delete mvcc:TxnWrite(3, sql:Table(name)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x00\xffname\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(3, sql:Row(name, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(3, sql:Row(name, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] storage delete mvcc:TxnActive(3) ["\x01\x00\x00\x00\x00\x00\x00\x00\x03"] schema @@ -31,12 +31,12 @@ ok dump --- mvcc:NextVersion → 4 ["\x00" → "\x04"] -mvcc:Version(sql:Table("name"), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING NOT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1c\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x00\x00\x00\x00\x00"] -mvcc:Version(sql:Table("name"), 3) → None ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] -mvcc:Version(sql:Row("name", Integer(1)), 2) → Integer(1),String("a") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] -mvcc:Version(sql:Row("name", Integer(1)), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] -mvcc:Version(sql:Row("name", Integer(2)), 2) → Integer(2),String("b") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] -mvcc:Version(sql:Row("name", Integer(2)), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +mvcc:Version(sql:Table(name), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING NOT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1c\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x00\x00\x00\x00\x00"] +mvcc:Version(sql:Table(name), 3) → None ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +mvcc:Version(sql:Row(name, 1), 2) → 1,"a" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] +mvcc:Version(sql:Row(name, 1), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +mvcc:Version(sql:Row(name, 2), 2) → 2,"b" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] +mvcc:Version(sql:Row(name, 2), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] # Dropping a missing table errors, but not if IF EXISTS is given. !> DROP TABLE name diff --git a/src/sql/testscripts/schema/drop_table_index b/src/sql/testscripts/schema/drop_table_index index dab8520e2..aacc66cf9 100644 --- a/src/sql/testscripts/schema/drop_table_index +++ b/src/sql/testscripts/schema/drop_table_index @@ -21,22 +21,22 @@ ok dump --- mvcc:NextVersion → 8 ["\x00" → "\x08"] -mvcc:Version(sql:Table("name"), 3) → CREATE TABLE name ( id INTEGER PRIMARY KEY, "index" STRING DEFAULT NULL, "unique" INTEGER NOT NULL UNIQUE INDEX, ref_id INTEGER DEFAULT NULL INDEX REFERENCES ref ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01<\x04name\x00\x04\x02id\x01\x00\x00\x01\x00\x00\x05index\x03\x01\x01\x00\x00\x00\x00\x06unique\x01\x00\x00\x01\x01\x00\x06ref_id\x01\x01\x01\x00\x00\x01\x01\x03ref"] -mvcc:Version(sql:Table("ref"), 1) → CREATE TABLE ref ( id INTEGER PRIMARY KEY, value STRING NOT NULL ) ["\x04\x00\xffref\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1b\x03ref\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x00\x00\x00\x00\x00"] -mvcc:Version(sql:Index("name", "ref_id", Null), 6) → Integer(3) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x06"] -mvcc:Version(sql:Index("name", "ref_id", Integer(1)), 4) → Integer(1) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x02"] -mvcc:Version(sql:Index("name", "ref_id", Integer(2)), 5) → Integer(2) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x04"] -mvcc:Version(sql:Index("name", "ref_id", Integer(2)), 7) → Integer(2),Integer(4) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x05\x02\x02\x04\x02\x08"] -mvcc:Version(sql:Index("name", "unique", Integer(1)), 4) → Integer(1) ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x02"] -mvcc:Version(sql:Index("name", "unique", Integer(2)), 5) → Integer(2) ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x04"] -mvcc:Version(sql:Index("name", "unique", Integer(3)), 6) → Integer(3) ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x06"] -mvcc:Version(sql:Index("name", "unique", Integer(4)), 7) → Integer(4) ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x08"] -mvcc:Version(sql:Row("name", Integer(1)), 4) → Integer(1),String("foo"),Integer(1),Integer(1) ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x0c\x04\x02\x02\x04\x03foo\x02\x02\x02\x02"] -mvcc:Version(sql:Row("name", Integer(2)), 5) → Integer(2),String("bar"),Integer(2),Integer(2) ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x0c\x04\x02\x04\x04\x03bar\x02\x04\x02\x04"] -mvcc:Version(sql:Row("name", Integer(3)), 6) → Integer(3),String("foo"),Integer(3),Null ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x0b\x04\x02\x06\x04\x03foo\x02\x06\x00"] -mvcc:Version(sql:Row("name", Integer(4)), 7) → Integer(4),Null,Integer(4),Integer(2) ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x08\x04\x02\x08\x00\x02\x08\x02\x04"] -mvcc:Version(sql:Row("ref", Integer(1)), 2) → Integer(1),String("a") ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] -mvcc:Version(sql:Row("ref", Integer(2)), 2) → Integer(2),String("b") ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] +mvcc:Version(sql:Table(name), 3) → CREATE TABLE name ( id INTEGER PRIMARY KEY, "index" STRING DEFAULT NULL, "unique" INTEGER NOT NULL UNIQUE INDEX, ref_id INTEGER DEFAULT NULL INDEX REFERENCES ref ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01<\x04name\x00\x04\x02id\x01\x00\x00\x01\x00\x00\x05index\x03\x01\x01\x00\x00\x00\x00\x06unique\x01\x00\x00\x01\x01\x00\x06ref_id\x01\x01\x01\x00\x00\x01\x01\x03ref"] +mvcc:Version(sql:Table(ref), 1) → CREATE TABLE ref ( id INTEGER PRIMARY KEY, value STRING NOT NULL ) ["\x04\x00\xffref\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1b\x03ref\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x00\x00\x00\x00\x00"] +mvcc:Version(sql:Index(name.ref_id, NULL), 6) → 3 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x06"] +mvcc:Version(sql:Index(name.ref_id, 1), 4) → 1 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x02"] +mvcc:Version(sql:Index(name.ref_id, 2), 5) → 2 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x04"] +mvcc:Version(sql:Index(name.ref_id, 2), 7) → 2,4 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x05\x02\x02\x04\x02\x08"] +mvcc:Version(sql:Index(name.unique, 1), 4) → 1 ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x02"] +mvcc:Version(sql:Index(name.unique, 2), 5) → 2 ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x04"] +mvcc:Version(sql:Index(name.unique, 3), 6) → 3 ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x06"] +mvcc:Version(sql:Index(name.unique, 4), 7) → 4 ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x08"] +mvcc:Version(sql:Row(name, 1), 4) → 1,"foo",1,1 ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x0c\x04\x02\x02\x04\x03foo\x02\x02\x02\x02"] +mvcc:Version(sql:Row(name, 2), 5) → 2,"bar",2,2 ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x0c\x04\x02\x04\x04\x03bar\x02\x04\x02\x04"] +mvcc:Version(sql:Row(name, 3), 6) → 3,"foo",3,NULL ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x0b\x04\x02\x06\x04\x03foo\x02\x06\x00"] +mvcc:Version(sql:Row(name, 4), 7) → 4,NULL,4,2 ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x08\x04\x02\x08\x00\x02\x08\x02\x04"] +mvcc:Version(sql:Row(ref, 1), 2) → 1,"a" ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] +mvcc:Version(sql:Row(ref, 2), 2) → 2,"b" ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] # Dropping the table deletes all index entries. [ops]> DROP TABLE name @@ -44,75 +44,75 @@ mvcc:Version(sql:Row("ref", Integer(2)), 2) → Integer(2),String("b") ["\x04\x0 --- storage set mvcc:NextVersion → 9 ["\x00" → "\t"] storage set mvcc:TxnActive(8) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x08" → ""] -storage set mvcc:TxnWrite(8, sql:Table("name")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x00\xffname\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Table("name"), 8) → None ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -storage set mvcc:TxnWrite(8, sql:Row("name", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(1)), 8) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -storage set mvcc:TxnWrite(8, sql:Row("name", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(2)), 8) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -storage set mvcc:TxnWrite(8, sql:Row("name", Integer(3))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(3)), 8) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -storage set mvcc:TxnWrite(8, sql:Row("name", Integer(4))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(4)), 8) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -storage set mvcc:TxnWrite(8, sql:Index("name", "unique", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "unique", Integer(1)), 8) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -storage set mvcc:TxnWrite(8, sql:Index("name", "unique", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "unique", Integer(2)), 8) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -storage set mvcc:TxnWrite(8, sql:Index("name", "unique", Integer(3))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "unique", Integer(3)), 8) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -storage set mvcc:TxnWrite(8, sql:Index("name", "unique", Integer(4))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "unique", Integer(4)), 8) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -storage set mvcc:TxnWrite(8, sql:Index("name", "ref_id", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "ref_id", Null), 8) → None ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -storage set mvcc:TxnWrite(8, sql:Index("name", "ref_id", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "ref_id", Integer(1)), 8) → None ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -storage set mvcc:TxnWrite(8, sql:Index("name", "ref_id", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "ref_id", Integer(2)), 8) → None ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -storage delete mvcc:TxnWrite(8, sql:Table("name")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x00\xffname\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("name", "ref_id", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("name", "ref_id", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("name", "ref_id", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("name", "unique", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("name", "unique", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("name", "unique", Integer(3))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("name", "unique", Integer(4))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Row("name", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Row("name", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Row("name", Integer(3))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Row("name", Integer(4))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00"] +storage set mvcc:TxnWrite(8, sql:Table(name)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x00\xffname\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Table(name), 8) → None ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +storage set mvcc:TxnWrite(8, sql:Row(name, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 1), 8) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +storage set mvcc:TxnWrite(8, sql:Row(name, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 2), 8) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +storage set mvcc:TxnWrite(8, sql:Row(name, 3)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 3), 8) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +storage set mvcc:TxnWrite(8, sql:Row(name, 4)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 4), 8) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +storage set mvcc:TxnWrite(8, sql:Index(name.unique, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.unique, 1), 8) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +storage set mvcc:TxnWrite(8, sql:Index(name.unique, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.unique, 2), 8) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +storage set mvcc:TxnWrite(8, sql:Index(name.unique, 3)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.unique, 3), 8) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +storage set mvcc:TxnWrite(8, sql:Index(name.unique, 4)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.unique, 4), 8) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +storage set mvcc:TxnWrite(8, sql:Index(name.ref_id, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.ref_id, NULL), 8) → None ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +storage set mvcc:TxnWrite(8, sql:Index(name.ref_id, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.ref_id, 1), 8) → None ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +storage set mvcc:TxnWrite(8, sql:Index(name.ref_id, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.ref_id, 2), 8) → None ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +storage delete mvcc:TxnWrite(8, sql:Table(name)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x00\xffname\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(name.ref_id, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(name.ref_id, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(name.ref_id, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(name.unique, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(name.unique, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(name.unique, 3)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(name.unique, 4)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Row(name, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Row(name, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Row(name, 3)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Row(name, 4)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00"] storage delete mvcc:TxnActive(8) ["\x01\x00\x00\x00\x00\x00\x00\x00\x08"] dump --- mvcc:NextVersion → 10 ["\x00" → "\n"] -mvcc:Version(sql:Table("name"), 3) → CREATE TABLE name ( id INTEGER PRIMARY KEY, "index" STRING DEFAULT NULL, "unique" INTEGER NOT NULL UNIQUE INDEX, ref_id INTEGER DEFAULT NULL INDEX REFERENCES ref ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01<\x04name\x00\x04\x02id\x01\x00\x00\x01\x00\x00\x05index\x03\x01\x01\x00\x00\x00\x00\x06unique\x01\x00\x00\x01\x01\x00\x06ref_id\x01\x01\x01\x00\x00\x01\x01\x03ref"] -mvcc:Version(sql:Table("name"), 8) → None ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -mvcc:Version(sql:Table("ref"), 1) → CREATE TABLE ref ( id INTEGER PRIMARY KEY, value STRING NOT NULL ) ["\x04\x00\xffref\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1b\x03ref\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x00\x00\x00\x00\x00"] -mvcc:Version(sql:Table("ref"), 9) → None ["\x04\x00\xffref\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] -mvcc:Version(sql:Index("name", "ref_id", Null), 6) → Integer(3) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x06"] -mvcc:Version(sql:Index("name", "ref_id", Null), 8) → None ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -mvcc:Version(sql:Index("name", "ref_id", Integer(1)), 4) → Integer(1) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x02"] -mvcc:Version(sql:Index("name", "ref_id", Integer(1)), 8) → None ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -mvcc:Version(sql:Index("name", "ref_id", Integer(2)), 5) → Integer(2) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x04"] -mvcc:Version(sql:Index("name", "ref_id", Integer(2)), 7) → Integer(2),Integer(4) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x05\x02\x02\x04\x02\x08"] -mvcc:Version(sql:Index("name", "ref_id", Integer(2)), 8) → None ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -mvcc:Version(sql:Index("name", "unique", Integer(1)), 4) → Integer(1) ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x02"] -mvcc:Version(sql:Index("name", "unique", Integer(1)), 8) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -mvcc:Version(sql:Index("name", "unique", Integer(2)), 5) → Integer(2) ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x04"] -mvcc:Version(sql:Index("name", "unique", Integer(2)), 8) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -mvcc:Version(sql:Index("name", "unique", Integer(3)), 6) → Integer(3) ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x06"] -mvcc:Version(sql:Index("name", "unique", Integer(3)), 8) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -mvcc:Version(sql:Index("name", "unique", Integer(4)), 7) → Integer(4) ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x08"] -mvcc:Version(sql:Index("name", "unique", Integer(4)), 8) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -mvcc:Version(sql:Row("name", Integer(1)), 4) → Integer(1),String("foo"),Integer(1),Integer(1) ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x0c\x04\x02\x02\x04\x03foo\x02\x02\x02\x02"] -mvcc:Version(sql:Row("name", Integer(1)), 8) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -mvcc:Version(sql:Row("name", Integer(2)), 5) → Integer(2),String("bar"),Integer(2),Integer(2) ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x0c\x04\x02\x04\x04\x03bar\x02\x04\x02\x04"] -mvcc:Version(sql:Row("name", Integer(2)), 8) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -mvcc:Version(sql:Row("name", Integer(3)), 6) → Integer(3),String("foo"),Integer(3),Null ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x0b\x04\x02\x06\x04\x03foo\x02\x06\x00"] -mvcc:Version(sql:Row("name", Integer(3)), 8) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -mvcc:Version(sql:Row("name", Integer(4)), 7) → Integer(4),Null,Integer(4),Integer(2) ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x08\x04\x02\x08\x00\x02\x08\x02\x04"] -mvcc:Version(sql:Row("name", Integer(4)), 8) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -mvcc:Version(sql:Row("ref", Integer(1)), 2) → Integer(1),String("a") ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] -mvcc:Version(sql:Row("ref", Integer(1)), 9) → None ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] -mvcc:Version(sql:Row("ref", Integer(2)), 2) → Integer(2),String("b") ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] -mvcc:Version(sql:Row("ref", Integer(2)), 9) → None ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] +mvcc:Version(sql:Table(name), 3) → CREATE TABLE name ( id INTEGER PRIMARY KEY, "index" STRING DEFAULT NULL, "unique" INTEGER NOT NULL UNIQUE INDEX, ref_id INTEGER DEFAULT NULL INDEX REFERENCES ref ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01<\x04name\x00\x04\x02id\x01\x00\x00\x01\x00\x00\x05index\x03\x01\x01\x00\x00\x00\x00\x06unique\x01\x00\x00\x01\x01\x00\x06ref_id\x01\x01\x01\x00\x00\x01\x01\x03ref"] +mvcc:Version(sql:Table(name), 8) → None ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +mvcc:Version(sql:Table(ref), 1) → CREATE TABLE ref ( id INTEGER PRIMARY KEY, value STRING NOT NULL ) ["\x04\x00\xffref\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1b\x03ref\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x00\x00\x00\x00\x00"] +mvcc:Version(sql:Table(ref), 9) → None ["\x04\x00\xffref\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] +mvcc:Version(sql:Index(name.ref_id, NULL), 6) → 3 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x06"] +mvcc:Version(sql:Index(name.ref_id, NULL), 8) → None ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +mvcc:Version(sql:Index(name.ref_id, 1), 4) → 1 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x02"] +mvcc:Version(sql:Index(name.ref_id, 1), 8) → None ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +mvcc:Version(sql:Index(name.ref_id, 2), 5) → 2 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x04"] +mvcc:Version(sql:Index(name.ref_id, 2), 7) → 2,4 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x05\x02\x02\x04\x02\x08"] +mvcc:Version(sql:Index(name.ref_id, 2), 8) → None ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +mvcc:Version(sql:Index(name.unique, 1), 4) → 1 ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x02"] +mvcc:Version(sql:Index(name.unique, 1), 8) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +mvcc:Version(sql:Index(name.unique, 2), 5) → 2 ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x04"] +mvcc:Version(sql:Index(name.unique, 2), 8) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +mvcc:Version(sql:Index(name.unique, 3), 6) → 3 ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x06"] +mvcc:Version(sql:Index(name.unique, 3), 8) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +mvcc:Version(sql:Index(name.unique, 4), 7) → 4 ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x08"] +mvcc:Version(sql:Index(name.unique, 4), 8) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +mvcc:Version(sql:Row(name, 1), 4) → 1,"foo",1,1 ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x0c\x04\x02\x02\x04\x03foo\x02\x02\x02\x02"] +mvcc:Version(sql:Row(name, 1), 8) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +mvcc:Version(sql:Row(name, 2), 5) → 2,"bar",2,2 ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x0c\x04\x02\x04\x04\x03bar\x02\x04\x02\x04"] +mvcc:Version(sql:Row(name, 2), 8) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +mvcc:Version(sql:Row(name, 3), 6) → 3,"foo",3,NULL ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x0b\x04\x02\x06\x04\x03foo\x02\x06\x00"] +mvcc:Version(sql:Row(name, 3), 8) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +mvcc:Version(sql:Row(name, 4), 7) → 4,NULL,4,2 ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x08\x04\x02\x08\x00\x02\x08\x02\x04"] +mvcc:Version(sql:Row(name, 4), 8) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +mvcc:Version(sql:Row(ref, 1), 2) → 1,"a" ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] +mvcc:Version(sql:Row(ref, 1), 9) → None ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] +mvcc:Version(sql:Row(ref, 2), 2) → 2,"b" ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] +mvcc:Version(sql:Row(ref, 2), 9) → None ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] diff --git a/src/sql/testscripts/schema/drop_table_transaction b/src/sql/testscripts/schema/drop_table_transaction index 6c19e1de5..8370653a2 100644 --- a/src/sql/testscripts/schema/drop_table_transaction +++ b/src/sql/testscripts/schema/drop_table_transaction @@ -8,20 +8,20 @@ ok dump --- mvcc:NextVersion → 3 ["\x00" → "\x03"] -mvcc:Version(sql:Table("name"), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] -mvcc:Version(sql:Row("name", Integer(1)), 2) → Integer(1),String("a") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] -mvcc:Version(sql:Row("name", Integer(2)), 2) → Integer(2),String("b") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] +mvcc:Version(sql:Table(name), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] +mvcc:Version(sql:Row(name, 1), 2) → 1,"a" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] +mvcc:Version(sql:Row(name, 2), 2) → 2,"b" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] # Drop the table in a transaction. > BEGIN [ops]> DROP TABLE name --- -storage set mvcc:TxnWrite(3, sql:Table("name")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x00\xffname\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Table("name"), 3) → None ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] -storage set mvcc:TxnWrite(3, sql:Row("name", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(1)), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] -storage set mvcc:TxnWrite(3, sql:Row("name", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(2)), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +storage set mvcc:TxnWrite(3, sql:Table(name)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x00\xffname\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Table(name), 3) → None ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +storage set mvcc:TxnWrite(3, sql:Row(name, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 1), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +storage set mvcc:TxnWrite(3, sql:Row(name, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 2), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] schema --- @@ -31,50 +31,50 @@ dump --- mvcc:NextVersion → 4 ["\x00" → "\x04"] mvcc:TxnActive(3) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x03" → ""] -mvcc:TxnWrite(3, sql:Table("name")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x00\xffname\x00\xff\x00\xff\x00\x00" → ""] -mvcc:TxnWrite(3, sql:Row("name", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -mvcc:TxnWrite(3, sql:Row("name", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -mvcc:Version(sql:Table("name"), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] -mvcc:Version(sql:Table("name"), 3) → None ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] -mvcc:Version(sql:Row("name", Integer(1)), 2) → Integer(1),String("a") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] -mvcc:Version(sql:Row("name", Integer(1)), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] -mvcc:Version(sql:Row("name", Integer(2)), 2) → Integer(2),String("b") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] -mvcc:Version(sql:Row("name", Integer(2)), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +mvcc:TxnWrite(3, sql:Table(name)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x00\xffname\x00\xff\x00\xff\x00\x00" → ""] +mvcc:TxnWrite(3, sql:Row(name, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +mvcc:TxnWrite(3, sql:Row(name, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +mvcc:Version(sql:Table(name), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] +mvcc:Version(sql:Table(name), 3) → None ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +mvcc:Version(sql:Row(name, 1), 2) → 1,"a" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] +mvcc:Version(sql:Row(name, 1), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +mvcc:Version(sql:Row(name, 2), 2) → 2,"b" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] +mvcc:Version(sql:Row(name, 2), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] # Rolling it back undoes it. [ops]> ROLLBACK --- -storage delete mvcc:Version(sql:Table("name"), 3) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03"] -storage delete mvcc:TxnWrite(3, sql:Table("name")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x00\xffname\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:Version(sql:Row("name", Integer(1)), 3) ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03"] -storage delete mvcc:TxnWrite(3, sql:Row("name", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:Version(sql:Row("name", Integer(2)), 3) ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03"] -storage delete mvcc:TxnWrite(3, sql:Row("name", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage delete mvcc:Version(sql:Table(name), 3) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03"] +storage delete mvcc:TxnWrite(3, sql:Table(name)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x00\xffname\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:Version(sql:Row(name, 1), 3) ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03"] +storage delete mvcc:TxnWrite(3, sql:Row(name, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:Version(sql:Row(name, 2), 3) ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03"] +storage delete mvcc:TxnWrite(3, sql:Row(name, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] storage delete mvcc:TxnActive(3) ["\x01\x00\x00\x00\x00\x00\x00\x00\x03"] dump --- mvcc:NextVersion → 4 ["\x00" → "\x04"] -mvcc:Version(sql:Table("name"), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] -mvcc:Version(sql:Row("name", Integer(1)), 2) → Integer(1),String("a") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] -mvcc:Version(sql:Row("name", Integer(2)), 2) → Integer(2),String("b") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] +mvcc:Version(sql:Table(name), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] +mvcc:Version(sql:Row(name, 1), 2) → 1,"a" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] +mvcc:Version(sql:Row(name, 2), 2) → 2,"b" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] # Committing the drop also works. > BEGIN > DROP TABLE name [ops]> COMMIT --- -storage delete mvcc:TxnWrite(4, sql:Table("name")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x00\xffname\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(4, sql:Row("name", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(4, sql:Row("name", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage delete mvcc:TxnWrite(4, sql:Table(name)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x00\xffname\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(4, sql:Row(name, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(4, sql:Row(name, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] storage delete mvcc:TxnActive(4) ["\x01\x00\x00\x00\x00\x00\x00\x00\x04"] dump --- mvcc:NextVersion → 5 ["\x00" → "\x05"] -mvcc:Version(sql:Table("name"), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] -mvcc:Version(sql:Table("name"), 4) → None ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x00"] -mvcc:Version(sql:Row("name", Integer(1)), 2) → Integer(1),String("a") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] -mvcc:Version(sql:Row("name", Integer(1)), 4) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x00"] -mvcc:Version(sql:Row("name", Integer(2)), 2) → Integer(2),String("b") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] -mvcc:Version(sql:Row("name", Integer(2)), 4) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x00"] +mvcc:Version(sql:Table(name), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] +mvcc:Version(sql:Table(name), 4) → None ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x00"] +mvcc:Version(sql:Row(name, 1), 2) → 1,"a" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] +mvcc:Version(sql:Row(name, 1), 4) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x00"] +mvcc:Version(sql:Row(name, 2), 2) → 2,"b" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] +mvcc:Version(sql:Row(name, 2), 4) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x00"] diff --git a/src/sql/testscripts/writes/delete b/src/sql/testscripts/writes/delete index 8bb7a7980..c03274c49 100644 --- a/src/sql/testscripts/writes/delete +++ b/src/sql/testscripts/writes/delete @@ -13,12 +13,12 @@ ok --- Delete: name └─ Scan: name -storage set mvcc:TxnWrite(3, sql:Row("name", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(1)), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] -storage set mvcc:TxnWrite(3, sql:Row("name", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(2)), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] -storage set mvcc:TxnWrite(3, sql:Row("name", Integer(3))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(3)), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +storage set mvcc:TxnWrite(3, sql:Row(name, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 1), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +storage set mvcc:TxnWrite(3, sql:Row(name, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 2), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +storage set mvcc:TxnWrite(3, sql:Row(name, 3)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 3), 3) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] > SELECT * FROM name > ROLLBACK @@ -41,15 +41,15 @@ Error: invalid input: unexpected token , --- storage set mvcc:NextVersion → 6 ["\x00" → "\x06"] storage set mvcc:TxnActive(5) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x05" → ""] -storage set mvcc:TxnWrite(5, sql:Row("name", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(1)), 5) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x00"] -storage set mvcc:TxnWrite(5, sql:Row("name", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(2)), 5) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x00"] -storage set mvcc:TxnWrite(5, sql:Row("name", Integer(3))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(3)), 5) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x00"] -storage delete mvcc:TxnWrite(5, sql:Row("name", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(5, sql:Row("name", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] -storage delete mvcc:TxnWrite(5, sql:Row("name", Integer(3))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] +storage set mvcc:TxnWrite(5, sql:Row(name, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 1), 5) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x00"] +storage set mvcc:TxnWrite(5, sql:Row(name, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 2), 5) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x00"] +storage set mvcc:TxnWrite(5, sql:Row(name, 3)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 3), 5) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x00"] +storage delete mvcc:TxnWrite(5, sql:Row(name, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(5, sql:Row(name, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage delete mvcc:TxnWrite(5, sql:Row(name, 3)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] storage delete mvcc:TxnActive(5) ["\x01\x00\x00\x00\x00\x00\x00\x00\x05"] > SELECT * FROM name @@ -59,13 +59,13 @@ ok dump --- mvcc:NextVersion → 6 ["\x00" → "\x06"] -mvcc:Version(sql:Table("name"), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] -mvcc:Version(sql:Row("name", Integer(1)), 2) → Integer(1),String("a") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] -mvcc:Version(sql:Row("name", Integer(1)), 5) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x00"] -mvcc:Version(sql:Row("name", Integer(2)), 2) → Integer(2),String("b") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] -mvcc:Version(sql:Row("name", Integer(2)), 5) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x00"] -mvcc:Version(sql:Row("name", Integer(3)), 2) → Integer(3),String("c") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x06\x04\x01c"] -mvcc:Version(sql:Row("name", Integer(3)), 5) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x00"] +mvcc:Version(sql:Table(name), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] +mvcc:Version(sql:Row(name, 1), 2) → 1,"a" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] +mvcc:Version(sql:Row(name, 1), 5) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x00"] +mvcc:Version(sql:Row(name, 2), 2) → 2,"b" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] +mvcc:Version(sql:Row(name, 2), 5) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x00"] +mvcc:Version(sql:Row(name, 3), 2) → 3,"c" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x06\x04\x01c"] +mvcc:Version(sql:Row(name, 3), 5) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x00"] # Bare DELETE errors. !> DELETE diff --git a/src/sql/testscripts/writes/delete_index b/src/sql/testscripts/writes/delete_index index 7622acb9b..304ea02d6 100644 --- a/src/sql/testscripts/writes/delete_index +++ b/src/sql/testscripts/writes/delete_index @@ -22,18 +22,18 @@ ok --- storage set mvcc:NextVersion → 10 ["\x00" → "\n"] storage set mvcc:TxnActive(9) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\t" → ""] -storage set mvcc:TxnWrite(9, sql:Index("name", "index", Integer(8))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "index", Integer(8)), 9) → None ["\x04\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] -storage set mvcc:TxnWrite(9, sql:Index("name", "unique", String("baz"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x04baz\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "unique", String("baz")), 9) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x04baz\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] -storage set mvcc:TxnWrite(9, sql:Index("name", "ref_id", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "ref_id", Integer(2)), 9) → Integer(3) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x03\x01\x02\x06"] -storage set mvcc:TxnWrite(9, sql:Row("name", Integer(4))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(4)), 9) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] -storage delete mvcc:TxnWrite(9, sql:Index("name", "index", Integer(8))) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00"] -storage delete mvcc:TxnWrite(9, sql:Index("name", "ref_id", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] -storage delete mvcc:TxnWrite(9, sql:Index("name", "unique", String("baz"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x04baz\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(9, sql:Row("name", Integer(4))) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00"] +storage set mvcc:TxnWrite(9, sql:Index(name.index, 8)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.index, 8), 9) → None ["\x04\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] +storage set mvcc:TxnWrite(9, sql:Index(name.unique, "baz")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x04baz\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.unique, "baz"), 9) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x04baz\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] +storage set mvcc:TxnWrite(9, sql:Index(name.ref_id, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.ref_id, 2), 9) → 3 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x03\x01\x02\x06"] +storage set mvcc:TxnWrite(9, sql:Row(name, 4)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 4), 9) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] +storage delete mvcc:TxnWrite(9, sql:Index(name.index, 8)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00"] +storage delete mvcc:TxnWrite(9, sql:Index(name.ref_id, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage delete mvcc:TxnWrite(9, sql:Index(name.unique, "baz")) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x04baz\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(9, sql:Row(name, 4)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00"] storage delete mvcc:TxnActive(9) ["\x01\x00\x00\x00\x00\x00\x00\x00\t"] # Dump the final state. @@ -47,31 +47,31 @@ storage delete mvcc:TxnActive(9) ["\x01\x00\x00\x00\x00\x00\x00\x00\t"] dump --- mvcc:NextVersion → 10 ["\x00" → "\n"] -mvcc:Version(sql:Table("name"), 3) → CREATE TABLE name ( id INTEGER PRIMARY KEY, "index" INTEGER DEFAULT NULL INDEX, "unique" STRING DEFAULT NULL UNIQUE INDEX, ref_id INTEGER DEFAULT NULL INDEX REFERENCES ref ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01=\x04name\x00\x04\x02id\x01\x00\x00\x01\x00\x00\x05index\x01\x01\x01\x00\x00\x01\x00\x06unique\x03\x01\x01\x00\x01\x01\x00\x06ref_id\x01\x01\x01\x00\x00\x01\x01\x03ref"] -mvcc:Version(sql:Table("ref"), 1) → CREATE TABLE ref ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffref\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1c\x03ref\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] -mvcc:Version(sql:Index("name", "index", Integer(2)), 4) → Integer(1) ["\x04\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x02"] -mvcc:Version(sql:Index("name", "index", Integer(4)), 5) → Integer(2) ["\x04\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x04"] -mvcc:Version(sql:Index("name", "index", Integer(6)), 6) → Integer(3) ["\x04\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x06"] -mvcc:Version(sql:Index("name", "index", Integer(8)), 7) → Integer(4) ["\x04\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x08"] -mvcc:Version(sql:Index("name", "index", Integer(8)), 9) → None ["\x04\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] -mvcc:Version(sql:Index("name", "index", Integer(10)), 8) → Integer(5) ["\x04\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\n"] -mvcc:Version(sql:Index("name", "ref_id", Integer(1)), 4) → Integer(1) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x02"] -mvcc:Version(sql:Index("name", "ref_id", Integer(1)), 5) → Integer(1),Integer(2) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x05\x02\x02\x02\x02\x04"] -mvcc:Version(sql:Index("name", "ref_id", Integer(1)), 8) → Integer(1),Integer(2),Integer(5) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x07\x03\x02\x02\x02\x04\x02\n"] -mvcc:Version(sql:Index("name", "ref_id", Integer(2)), 6) → Integer(3) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x06"] -mvcc:Version(sql:Index("name", "ref_id", Integer(2)), 7) → Integer(3),Integer(4) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x05\x02\x02\x06\x02\x08"] -mvcc:Version(sql:Index("name", "ref_id", Integer(2)), 9) → Integer(3) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x03\x01\x02\x06"] -mvcc:Version(sql:Index("name", "unique", Null), 6) → Integer(3) ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x06"] -mvcc:Version(sql:Index("name", "unique", Null), 8) → Integer(3),Integer(5) ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x05\x02\x02\x06\x02\n"] -mvcc:Version(sql:Index("name", "unique", String("bar")), 5) → Integer(2) ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x04"] -mvcc:Version(sql:Index("name", "unique", String("baz")), 7) → Integer(4) ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x04baz\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x08"] -mvcc:Version(sql:Index("name", "unique", String("baz")), 9) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x04baz\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] -mvcc:Version(sql:Index("name", "unique", String("foo")), 4) → Integer(1) ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x02"] -mvcc:Version(sql:Row("name", Integer(1)), 4) → Integer(1),Integer(2),String("foo"),Integer(1) ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x0c\x04\x02\x02\x02\x04\x04\x03foo\x02\x02"] -mvcc:Version(sql:Row("name", Integer(2)), 5) → Integer(2),Integer(4),String("bar"),Integer(1) ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x0c\x04\x02\x04\x02\x08\x04\x03bar\x02\x02"] -mvcc:Version(sql:Row("name", Integer(3)), 6) → Integer(3),Integer(6),Null,Integer(2) ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x08\x04\x02\x06\x02\x0c\x00\x02\x04"] -mvcc:Version(sql:Row("name", Integer(4)), 7) → Integer(4),Integer(8),String("baz"),Integer(2) ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x0c\x04\x02\x08\x02\x10\x04\x03baz\x02\x04"] -mvcc:Version(sql:Row("name", Integer(4)), 9) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] -mvcc:Version(sql:Row("name", Integer(5)), 8) → Integer(5),Integer(10),Null,Integer(1) ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x08\x04\x02\n\x02\x14\x00\x02\x02"] -mvcc:Version(sql:Row("ref", Integer(1)), 2) → Integer(1),String("a") ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] -mvcc:Version(sql:Row("ref", Integer(2)), 2) → Integer(2),String("b") ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] +mvcc:Version(sql:Table(name), 3) → CREATE TABLE name ( id INTEGER PRIMARY KEY, "index" INTEGER DEFAULT NULL INDEX, "unique" STRING DEFAULT NULL UNIQUE INDEX, ref_id INTEGER DEFAULT NULL INDEX REFERENCES ref ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01=\x04name\x00\x04\x02id\x01\x00\x00\x01\x00\x00\x05index\x01\x01\x01\x00\x00\x01\x00\x06unique\x03\x01\x01\x00\x01\x01\x00\x06ref_id\x01\x01\x01\x00\x00\x01\x01\x03ref"] +mvcc:Version(sql:Table(ref), 1) → CREATE TABLE ref ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffref\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1c\x03ref\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] +mvcc:Version(sql:Index(name.index, 2), 4) → 1 ["\x04\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x02"] +mvcc:Version(sql:Index(name.index, 4), 5) → 2 ["\x04\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x04"] +mvcc:Version(sql:Index(name.index, 6), 6) → 3 ["\x04\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x06"] +mvcc:Version(sql:Index(name.index, 8), 7) → 4 ["\x04\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x08"] +mvcc:Version(sql:Index(name.index, 8), 9) → None ["\x04\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] +mvcc:Version(sql:Index(name.index, 10), 8) → 5 ["\x04\x01name\x00\xff\x00\xffindex\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\n"] +mvcc:Version(sql:Index(name.ref_id, 1), 4) → 1 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x02"] +mvcc:Version(sql:Index(name.ref_id, 1), 5) → 1,2 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x05\x02\x02\x02\x02\x04"] +mvcc:Version(sql:Index(name.ref_id, 1), 8) → 1,2,5 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x07\x03\x02\x02\x02\x04\x02\n"] +mvcc:Version(sql:Index(name.ref_id, 2), 6) → 3 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x06"] +mvcc:Version(sql:Index(name.ref_id, 2), 7) → 3,4 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x05\x02\x02\x06\x02\x08"] +mvcc:Version(sql:Index(name.ref_id, 2), 9) → 3 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x03\x01\x02\x06"] +mvcc:Version(sql:Index(name.unique, NULL), 6) → 3 ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x06"] +mvcc:Version(sql:Index(name.unique, NULL), 8) → 3,5 ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x05\x02\x02\x06\x02\n"] +mvcc:Version(sql:Index(name.unique, "bar"), 5) → 2 ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x04"] +mvcc:Version(sql:Index(name.unique, "baz"), 7) → 4 ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x04baz\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x08"] +mvcc:Version(sql:Index(name.unique, "baz"), 9) → None ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x04baz\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] +mvcc:Version(sql:Index(name.unique, "foo"), 4) → 1 ["\x04\x01name\x00\xff\x00\xffunique\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x02"] +mvcc:Version(sql:Row(name, 1), 4) → 1,2,"foo",1 ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x0c\x04\x02\x02\x02\x04\x04\x03foo\x02\x02"] +mvcc:Version(sql:Row(name, 2), 5) → 2,4,"bar",1 ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x0c\x04\x02\x04\x02\x08\x04\x03bar\x02\x02"] +mvcc:Version(sql:Row(name, 3), 6) → 3,6,NULL,2 ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x08\x04\x02\x06\x02\x0c\x00\x02\x04"] +mvcc:Version(sql:Row(name, 4), 7) → 4,8,"baz",2 ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x0c\x04\x02\x08\x02\x10\x04\x03baz\x02\x04"] +mvcc:Version(sql:Row(name, 4), 9) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x00"] +mvcc:Version(sql:Row(name, 5), 8) → 5,10,NULL,1 ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x08\x04\x02\n\x02\x14\x00\x02\x02"] +mvcc:Version(sql:Row(ref, 1), 2) → 1,"a" ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] +mvcc:Version(sql:Row(ref, 2), 2) → 2,"b" ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] diff --git a/src/sql/testscripts/writes/delete_reference b/src/sql/testscripts/writes/delete_reference index 22a95c137..9cf85849c 100644 --- a/src/sql/testscripts/writes/delete_reference +++ b/src/sql/testscripts/writes/delete_reference @@ -38,9 +38,9 @@ Error: invalid input: row referenced by name.ref_id for name.id=1 --- storage set mvcc:NextVersion → 14 ["\x00" → "\x0e"] storage set mvcc:TxnActive(13) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\r" → ""] -storage set mvcc:TxnWrite(13, sql:Row("ref", Integer(3))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] -storage set mvcc:Version(sql:Row("ref", Integer(3)), 13) → None ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] -storage delete mvcc:TxnWrite(13, sql:Row("ref", Integer(3))) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] +storage set mvcc:TxnWrite(13, sql:Row(ref, 3)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] +storage set mvcc:Version(sql:Row(ref, 3), 13) → None ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] +storage delete mvcc:TxnWrite(13, sql:Row(ref, 3)) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] storage delete mvcc:TxnActive(13) ["\x01\x00\x00\x00\x00\x00\x00\x00\r"] > SELECT * FROM ref @@ -53,23 +53,23 @@ storage delete mvcc:TxnActive(13) ["\x01\x00\x00\x00\x00\x00\x00\x00\r"] --- storage set mvcc:NextVersion → 15 ["\x00" → "\x0f"] storage set mvcc:TxnActive(14) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x0e" → ""] -storage set mvcc:TxnWrite(14, sql:Index("name", "ref_id", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "ref_id", Null), 14) → None ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] -storage set mvcc:TxnWrite(14, sql:Index("name", "sref_id", String("b"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "sref_id", String("b")), 14) → Integer(3) ["\x04\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x03\x01\x02\x06"] -storage set mvcc:TxnWrite(14, sql:Row("name", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(2)), 14) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] -storage set mvcc:TxnWrite(14, sql:Index("name", "ref_id", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "ref_id", Integer(2)), 14) → Integer(4) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x03\x01\x02\x08"] -storage set mvcc:TxnWrite(14, sql:Index("name", "sref_id", String("b"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "sref_id", String("b")), 14) → None ["\x04\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] -storage set mvcc:TxnWrite(14, sql:Row("name", Integer(3))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(3)), 14) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] -storage delete mvcc:TxnWrite(14, sql:Index("name", "ref_id", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(14, sql:Index("name", "ref_id", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] -storage delete mvcc:TxnWrite(14, sql:Index("name", "sref_id", String("b"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(14, sql:Row("name", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] -storage delete mvcc:TxnWrite(14, sql:Row("name", Integer(3))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] +storage set mvcc:TxnWrite(14, sql:Index(name.ref_id, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.ref_id, NULL), 14) → None ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] +storage set mvcc:TxnWrite(14, sql:Index(name.sref_id, "b")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.sref_id, "b"), 14) → 3 ["\x04\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x03\x01\x02\x06"] +storage set mvcc:TxnWrite(14, sql:Row(name, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 2), 14) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] +storage set mvcc:TxnWrite(14, sql:Index(name.ref_id, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.ref_id, 2), 14) → 4 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x03\x01\x02\x08"] +storage set mvcc:TxnWrite(14, sql:Index(name.sref_id, "b")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.sref_id, "b"), 14) → None ["\x04\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] +storage set mvcc:TxnWrite(14, sql:Row(name, 3)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 3), 14) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] +storage delete mvcc:TxnWrite(14, sql:Index(name.ref_id, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(14, sql:Index(name.ref_id, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage delete mvcc:TxnWrite(14, sql:Index(name.sref_id, "b")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(14, sql:Row(name, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage delete mvcc:TxnWrite(14, sql:Row(name, 3)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] storage delete mvcc:TxnActive(14) ["\x01\x00\x00\x00\x00\x00\x00\x00\x0e"] # DELETE of a no-longer-referenced row succeeds. @@ -118,46 +118,46 @@ ok dump --- mvcc:NextVersion → 25 ["\x00" → "\x19"] -mvcc:Version(sql:Table("name"), 5) → CREATE TABLE name ( id INTEGER PRIMARY KEY, ref_id INTEGER DEFAULT NULL INDEX REFERENCES ref, sref_id STRING NOT NULL INDEX REFERENCES sref ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x015\x04name\x00\x03\x02id\x01\x00\x00\x01\x00\x00\x06ref_id\x01\x01\x01\x00\x00\x01\x01\x03ref\x07sref_id\x03\x00\x00\x00\x01\x01\x04sref"] -mvcc:Version(sql:Table("ref"), 1) → CREATE TABLE ref ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffref\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1c\x03ref\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] -mvcc:Version(sql:Table("self"), 16) → CREATE TABLE self ( id INTEGER PRIMARY KEY, self_id INTEGER DEFAULT NULL INDEX REFERENCES self ) ["\x04\x00\xffself\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10" → "\x01$\x04self\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x07self_id\x01\x01\x01\x00\x00\x01\x01\x04self"] -mvcc:Version(sql:Table("sref"), 2) → CREATE TABLE sref ( id STRING PRIMARY KEY ) ["\x04\x00\xffsref\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x10\x04sref\x00\x01\x02id\x03\x00\x00\x01\x00\x00"] -mvcc:Version(sql:Index("name", "ref_id", Null), 7) → Integer(2) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x04"] -mvcc:Version(sql:Index("name", "ref_id", Null), 14) → None ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] -mvcc:Version(sql:Index("name", "ref_id", Integer(1)), 6) → Integer(1) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x02"] -mvcc:Version(sql:Index("name", "ref_id", Integer(1)), 10) → Integer(1),Integer(5) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x05\x02\x02\x02\x02\n"] -mvcc:Version(sql:Index("name", "ref_id", Integer(2)), 8) → Integer(3) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x06"] -mvcc:Version(sql:Index("name", "ref_id", Integer(2)), 9) → Integer(3),Integer(4) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x05\x02\x02\x06\x02\x08"] -mvcc:Version(sql:Index("name", "ref_id", Integer(2)), 14) → Integer(4) ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x03\x01\x02\x08"] -mvcc:Version(sql:Index("name", "sref_id", String("a")), 6) → Integer(1) ["\x04\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04a\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x02"] -mvcc:Version(sql:Index("name", "sref_id", String("a")), 9) → Integer(1),Integer(4) ["\x04\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04a\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x05\x02\x02\x02\x02\x08"] -mvcc:Version(sql:Index("name", "sref_id", String("a")), 10) → Integer(1),Integer(4),Integer(5) ["\x04\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04a\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x07\x03\x02\x02\x02\x08\x02\n"] -mvcc:Version(sql:Index("name", "sref_id", String("b")), 7) → Integer(2) ["\x04\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x04"] -mvcc:Version(sql:Index("name", "sref_id", String("b")), 8) → Integer(2),Integer(3) ["\x04\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x05\x02\x02\x04\x02\x06"] -mvcc:Version(sql:Index("name", "sref_id", String("b")), 14) → None ["\x04\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] -mvcc:Version(sql:Index("self", "self_id", Integer(1)), 17) → Integer(1) ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11" → "\x01\x03\x01\x02\x02"] -mvcc:Version(sql:Index("self", "self_id", Integer(1)), 24) → None ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18" → "\x00"] -mvcc:Version(sql:Index("self", "self_id", Integer(2)), 18) → Integer(2) ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\x03\x01\x02\x04"] -mvcc:Version(sql:Index("self", "self_id", Integer(2)), 19) → Integer(2),Integer(3) ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13" → "\x01\x05\x02\x02\x04\x02\x06"] -mvcc:Version(sql:Index("self", "self_id", Integer(2)), 20) → Integer(2),Integer(3),Integer(4) ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14" → "\x01\x07\x03\x02\x04\x02\x06\x02\x08"] -mvcc:Version(sql:Index("self", "self_id", Integer(2)), 23) → Integer(2),Integer(3) ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17" → "\x01\x05\x02\x02\x04\x02\x06"] -mvcc:Version(sql:Row("name", Integer(1)), 6) → Integer(1),Integer(1),String("a") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x08\x03\x02\x02\x02\x02\x04\x01a"] -mvcc:Version(sql:Row("name", Integer(2)), 7) → Integer(2),Null,String("b") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x07\x03\x02\x04\x00\x04\x01b"] -mvcc:Version(sql:Row("name", Integer(2)), 14) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] -mvcc:Version(sql:Row("name", Integer(3)), 8) → Integer(3),Integer(2),String("b") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x08\x03\x02\x06\x02\x04\x04\x01b"] -mvcc:Version(sql:Row("name", Integer(3)), 14) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] -mvcc:Version(sql:Row("name", Integer(4)), 9) → Integer(4),Integer(2),String("a") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x08\x03\x02\x08\x02\x04\x04\x01a"] -mvcc:Version(sql:Row("name", Integer(5)), 10) → Integer(5),Integer(1),String("a") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x08\x03\x02\n\x02\x02\x04\x01a"] -mvcc:Version(sql:Row("ref", Integer(1)), 3) → Integer(1),String("a") ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x02\x04\x01a"] -mvcc:Version(sql:Row("ref", Integer(2)), 3) → Integer(2),String("b") ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x04\x04\x01b"] -mvcc:Version(sql:Row("ref", Integer(3)), 3) → Integer(3),String("c") ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x06\x04\x01c"] -mvcc:Version(sql:Row("ref", Integer(3)), 13) → None ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] -mvcc:Version(sql:Row("self", Integer(1)), 17) → Integer(1),Integer(1) ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11" → "\x01\x05\x02\x02\x02\x02\x02"] -mvcc:Version(sql:Row("self", Integer(1)), 24) → None ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18" → "\x00"] -mvcc:Version(sql:Row("self", Integer(2)), 18) → Integer(2),Integer(2) ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\x05\x02\x02\x04\x02\x04"] -mvcc:Version(sql:Row("self", Integer(3)), 19) → Integer(3),Integer(2) ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13" → "\x01\x05\x02\x02\x06\x02\x04"] -mvcc:Version(sql:Row("self", Integer(4)), 20) → Integer(4),Integer(2) ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14" → "\x01\x05\x02\x02\x08\x02\x04"] -mvcc:Version(sql:Row("self", Integer(4)), 23) → None ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17" → "\x00"] -mvcc:Version(sql:Row("sref", String("a")), 4) → String("a") ["\x04\x02sref\x00\xff\x00\xff\x04a\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x04\x01\x04\x01a"] -mvcc:Version(sql:Row("sref", String("b")), 4) → String("b") ["\x04\x02sref\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x04\x01\x04\x01b"] -mvcc:Version(sql:Row("sref", String("b")), 15) → None ["\x04\x02sref\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x00"] +mvcc:Version(sql:Table(name), 5) → CREATE TABLE name ( id INTEGER PRIMARY KEY, ref_id INTEGER DEFAULT NULL INDEX REFERENCES ref, sref_id STRING NOT NULL INDEX REFERENCES sref ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x015\x04name\x00\x03\x02id\x01\x00\x00\x01\x00\x00\x06ref_id\x01\x01\x01\x00\x00\x01\x01\x03ref\x07sref_id\x03\x00\x00\x00\x01\x01\x04sref"] +mvcc:Version(sql:Table(ref), 1) → CREATE TABLE ref ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffref\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1c\x03ref\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] +mvcc:Version(sql:Table(self), 16) → CREATE TABLE self ( id INTEGER PRIMARY KEY, self_id INTEGER DEFAULT NULL INDEX REFERENCES self ) ["\x04\x00\xffself\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10" → "\x01$\x04self\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x07self_id\x01\x01\x01\x00\x00\x01\x01\x04self"] +mvcc:Version(sql:Table(sref), 2) → CREATE TABLE sref ( id STRING PRIMARY KEY ) ["\x04\x00\xffsref\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x10\x04sref\x00\x01\x02id\x03\x00\x00\x01\x00\x00"] +mvcc:Version(sql:Index(name.ref_id, NULL), 7) → 2 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x04"] +mvcc:Version(sql:Index(name.ref_id, NULL), 14) → None ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] +mvcc:Version(sql:Index(name.ref_id, 1), 6) → 1 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x02"] +mvcc:Version(sql:Index(name.ref_id, 1), 10) → 1,5 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x05\x02\x02\x02\x02\n"] +mvcc:Version(sql:Index(name.ref_id, 2), 8) → 3 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x06"] +mvcc:Version(sql:Index(name.ref_id, 2), 9) → 3,4 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x05\x02\x02\x06\x02\x08"] +mvcc:Version(sql:Index(name.ref_id, 2), 14) → 4 ["\x04\x01name\x00\xff\x00\xffref_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x03\x01\x02\x08"] +mvcc:Version(sql:Index(name.sref_id, "a"), 6) → 1 ["\x04\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04a\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x02"] +mvcc:Version(sql:Index(name.sref_id, "a"), 9) → 1,4 ["\x04\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04a\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x05\x02\x02\x02\x02\x08"] +mvcc:Version(sql:Index(name.sref_id, "a"), 10) → 1,4,5 ["\x04\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04a\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x07\x03\x02\x02\x02\x08\x02\n"] +mvcc:Version(sql:Index(name.sref_id, "b"), 7) → 2 ["\x04\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x04"] +mvcc:Version(sql:Index(name.sref_id, "b"), 8) → 2,3 ["\x04\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x05\x02\x02\x04\x02\x06"] +mvcc:Version(sql:Index(name.sref_id, "b"), 14) → None ["\x04\x01name\x00\xff\x00\xffsref_id\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] +mvcc:Version(sql:Index(self.self_id, 1), 17) → 1 ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11" → "\x01\x03\x01\x02\x02"] +mvcc:Version(sql:Index(self.self_id, 1), 24) → None ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18" → "\x00"] +mvcc:Version(sql:Index(self.self_id, 2), 18) → 2 ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\x03\x01\x02\x04"] +mvcc:Version(sql:Index(self.self_id, 2), 19) → 2,3 ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13" → "\x01\x05\x02\x02\x04\x02\x06"] +mvcc:Version(sql:Index(self.self_id, 2), 20) → 2,3,4 ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14" → "\x01\x07\x03\x02\x04\x02\x06\x02\x08"] +mvcc:Version(sql:Index(self.self_id, 2), 23) → 2,3 ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17" → "\x01\x05\x02\x02\x04\x02\x06"] +mvcc:Version(sql:Row(name, 1), 6) → 1,1,"a" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x08\x03\x02\x02\x02\x02\x04\x01a"] +mvcc:Version(sql:Row(name, 2), 7) → 2,NULL,"b" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x07\x03\x02\x04\x00\x04\x01b"] +mvcc:Version(sql:Row(name, 2), 14) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] +mvcc:Version(sql:Row(name, 3), 8) → 3,2,"b" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x08\x03\x02\x06\x02\x04\x04\x01b"] +mvcc:Version(sql:Row(name, 3), 14) → None ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] +mvcc:Version(sql:Row(name, 4), 9) → 4,2,"a" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x08\x03\x02\x08\x02\x04\x04\x01a"] +mvcc:Version(sql:Row(name, 5), 10) → 5,1,"a" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x08\x03\x02\n\x02\x02\x04\x01a"] +mvcc:Version(sql:Row(ref, 1), 3) → 1,"a" ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x02\x04\x01a"] +mvcc:Version(sql:Row(ref, 2), 3) → 2,"b" ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x04\x04\x01b"] +mvcc:Version(sql:Row(ref, 3), 3) → 3,"c" ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x06\x04\x01c"] +mvcc:Version(sql:Row(ref, 3), 13) → None ["\x04\x02ref\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] +mvcc:Version(sql:Row(self, 1), 17) → 1,1 ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11" → "\x01\x05\x02\x02\x02\x02\x02"] +mvcc:Version(sql:Row(self, 1), 24) → None ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18" → "\x00"] +mvcc:Version(sql:Row(self, 2), 18) → 2,2 ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\x05\x02\x02\x04\x02\x04"] +mvcc:Version(sql:Row(self, 3), 19) → 3,2 ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13" → "\x01\x05\x02\x02\x06\x02\x04"] +mvcc:Version(sql:Row(self, 4), 20) → 4,2 ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14" → "\x01\x05\x02\x02\x08\x02\x04"] +mvcc:Version(sql:Row(self, 4), 23) → None ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17" → "\x00"] +mvcc:Version(sql:Row(sref, "a"), 4) → "a" ["\x04\x02sref\x00\xff\x00\xff\x04a\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x04\x01\x04\x01a"] +mvcc:Version(sql:Row(sref, "b"), 4) → "b" ["\x04\x02sref\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x04\x01\x04\x01b"] +mvcc:Version(sql:Row(sref, "b"), 15) → None ["\x04\x02sref\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x00"] diff --git a/src/sql/testscripts/writes/insert b/src/sql/testscripts/writes/insert index 2dffa6c44..58b82cbd7 100644 --- a/src/sql/testscripts/writes/insert +++ b/src/sql/testscripts/writes/insert @@ -12,9 +12,9 @@ Insert: name Insert { count: 1 } storage set mvcc:NextVersion → 3 ["\x00" → "\x03"] storage set mvcc:TxnActive(2) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x02" → ""] -storage set mvcc:TxnWrite(2, sql:Row("name", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(1)), 2) → Integer(1),String("a") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] -storage delete mvcc:TxnWrite(2, sql:Row("name", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage set mvcc:TxnWrite(2, sql:Row(name, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 1), 2) → 1,"a" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] +storage delete mvcc:TxnWrite(2, sql:Row(name, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] storage delete mvcc:TxnActive(2) ["\x01\x00\x00\x00\x00\x00\x00\x00\x02"] # It can also write multiple rows. @@ -25,15 +25,15 @@ Insert: name Insert { count: 3 } storage set mvcc:NextVersion → 4 ["\x00" → "\x04"] storage set mvcc:TxnActive(3) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x03" → ""] -storage set mvcc:TxnWrite(3, sql:Row("name", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(2)), 3) → Integer(2),String("b") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x04\x04\x01b"] -storage set mvcc:TxnWrite(3, sql:Row("name", Integer(3))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(3)), 3) → Integer(3),String("c") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x06\x04\x01c"] -storage set mvcc:TxnWrite(3, sql:Row("name", Integer(4))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(4)), 3) → Integer(4),String("d") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x08\x04\x01d"] -storage delete mvcc:TxnWrite(3, sql:Row("name", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] -storage delete mvcc:TxnWrite(3, sql:Row("name", Integer(3))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] -storage delete mvcc:TxnWrite(3, sql:Row("name", Integer(4))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00"] +storage set mvcc:TxnWrite(3, sql:Row(name, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 2), 3) → 2,"b" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x04\x04\x01b"] +storage set mvcc:TxnWrite(3, sql:Row(name, 3)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 3), 3) → 3,"c" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x06\x04\x01c"] +storage set mvcc:TxnWrite(3, sql:Row(name, 4)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 4), 3) → 4,"d" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x08\x04\x01d"] +storage delete mvcc:TxnWrite(3, sql:Row(name, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage delete mvcc:TxnWrite(3, sql:Row(name, 3)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] +storage delete mvcc:TxnWrite(3, sql:Row(name, 4)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00"] storage delete mvcc:TxnActive(3) ["\x01\x00\x00\x00\x00\x00\x00\x00\x03"] > SELECT * FROM name @@ -46,11 +46,11 @@ storage delete mvcc:TxnActive(3) ["\x01\x00\x00\x00\x00\x00\x00\x00\x03"] dump --- mvcc:NextVersion → 4 ["\x00" → "\x04"] -mvcc:Version(sql:Table("name"), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] -mvcc:Version(sql:Row("name", Integer(1)), 2) → Integer(1),String("a") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] -mvcc:Version(sql:Row("name", Integer(2)), 3) → Integer(2),String("b") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x04\x04\x01b"] -mvcc:Version(sql:Row("name", Integer(3)), 3) → Integer(3),String("c") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x06\x04\x01c"] -mvcc:Version(sql:Row("name", Integer(4)), 3) → Integer(4),String("d") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x08\x04\x01d"] +mvcc:Version(sql:Table(name), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] +mvcc:Version(sql:Row(name, 1), 2) → 1,"a" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] +mvcc:Version(sql:Row(name, 2), 3) → 2,"b" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x04\x04\x01b"] +mvcc:Version(sql:Row(name, 3), 3) → 3,"c" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x06\x04\x01c"] +mvcc:Version(sql:Row(name, 4), 3) → 4,"d" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x06\x02\x02\x08\x04\x01d"] # INSERTs can use expressions, but only constant ones. > INSERT INTO name VALUES (2^2+1, 'abc') diff --git a/src/sql/testscripts/writes/insert_index b/src/sql/testscripts/writes/insert_index index 4541944cb..9ddb96622 100644 --- a/src/sql/testscripts/writes/insert_index +++ b/src/sql/testscripts/writes/insert_index @@ -15,21 +15,21 @@ ok --- storage set mvcc:NextVersion → 3 ["\x00" → "\x03"] storage set mvcc:TxnActive(2) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x02" → ""] -storage set mvcc:TxnWrite(2, sql:Row("index", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(1)), 2) → Integer(1),Boolean(true),Integer(7),Float(3.14),String("foo") ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x15\x05\x02\x02\x01\x01\x02\x0e\x03\x1f\x85\xebQ\xb8\x1e\t@\x04\x03foo"] -storage set mvcc:TxnWrite(2, sql:Index("index", "bool", Boolean(true))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Boolean(true)), 2) → Integer(1) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(2, sql:Index("index", "int", Integer(7))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Integer(7)), 2) → Integer(1) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(2, sql:Index("index", "float", Float(3.14))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(3.14)), 2) → Integer(1) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(2, sql:Index("index", "string", String("foo"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", String("foo")), 2) → Integer(1) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x03\x01\x02\x02"] -storage delete mvcc:TxnWrite(2, sql:Index("index", "bool", Boolean(true))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] -storage delete mvcc:TxnWrite(2, sql:Index("index", "float", Float(3.14))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] -storage delete mvcc:TxnWrite(2, sql:Index("index", "int", Integer(7))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] -storage delete mvcc:TxnWrite(2, sql:Index("index", "string", String("foo"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(2, sql:Row("index", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage set mvcc:TxnWrite(2, sql:Row(index, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 1), 2) → 1,TRUE,7,3.14,"foo" ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x15\x05\x02\x02\x01\x01\x02\x0e\x03\x1f\x85\xebQ\xb8\x1e\t@\x04\x03foo"] +storage set mvcc:TxnWrite(2, sql:Index(index.bool, TRUE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, TRUE), 2) → 1 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(2, sql:Index(index.int, 7)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, 7), 2) → 1 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(2, sql:Index(index.float, 3.14)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, 3.14), 2) → 1 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(2, sql:Index(index.string, "foo")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, "foo"), 2) → 1 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x03\x01\x02\x02"] +storage delete mvcc:TxnWrite(2, sql:Index(index.bool, TRUE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] +storage delete mvcc:TxnWrite(2, sql:Index(index.float, 3.14)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] +storage delete mvcc:TxnWrite(2, sql:Index(index.int, 7)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] +storage delete mvcc:TxnWrite(2, sql:Index(index.string, "foo")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(2, sql:Row(index, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] storage delete mvcc:TxnActive(2) ["\x01\x00\x00\x00\x00\x00\x00\x00\x02"] # Another insert with the same values adds to the index entries. @@ -37,21 +37,21 @@ storage delete mvcc:TxnActive(2) ["\x01\x00\x00\x00\x00\x00\x00\x00\x02"] --- storage set mvcc:NextVersion → 4 ["\x00" → "\x04"] storage set mvcc:TxnActive(3) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x03" → ""] -storage set mvcc:TxnWrite(3, sql:Row("index", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(2)), 3) → Integer(2),Boolean(true),Integer(7),Float(3.14),String("foo") ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x15\x05\x02\x04\x01\x01\x02\x0e\x03\x1f\x85\xebQ\xb8\x1e\t@\x04\x03foo"] -storage set mvcc:TxnWrite(3, sql:Index("index", "bool", Boolean(true))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Boolean(true)), 3) → Integer(1),Integer(2) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x05\x02\x02\x02\x02\x04"] -storage set mvcc:TxnWrite(3, sql:Index("index", "int", Integer(7))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Integer(7)), 3) → Integer(1),Integer(2) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x05\x02\x02\x02\x02\x04"] -storage set mvcc:TxnWrite(3, sql:Index("index", "float", Float(3.14))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(3.14)), 3) → Integer(1),Integer(2) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x05\x02\x02\x02\x02\x04"] -storage set mvcc:TxnWrite(3, sql:Index("index", "string", String("foo"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", String("foo")), 3) → Integer(1),Integer(2) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x05\x02\x02\x02\x02\x04"] -storage delete mvcc:TxnWrite(3, sql:Index("index", "bool", Boolean(true))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] -storage delete mvcc:TxnWrite(3, sql:Index("index", "float", Float(3.14))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] -storage delete mvcc:TxnWrite(3, sql:Index("index", "int", Integer(7))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] -storage delete mvcc:TxnWrite(3, sql:Index("index", "string", String("foo"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(3, sql:Row("index", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage set mvcc:TxnWrite(3, sql:Row(index, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 2), 3) → 2,TRUE,7,3.14,"foo" ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x15\x05\x02\x04\x01\x01\x02\x0e\x03\x1f\x85\xebQ\xb8\x1e\t@\x04\x03foo"] +storage set mvcc:TxnWrite(3, sql:Index(index.bool, TRUE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, TRUE), 3) → 1,2 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x05\x02\x02\x02\x02\x04"] +storage set mvcc:TxnWrite(3, sql:Index(index.int, 7)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, 7), 3) → 1,2 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x05\x02\x02\x02\x02\x04"] +storage set mvcc:TxnWrite(3, sql:Index(index.float, 3.14)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, 3.14), 3) → 1,2 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x05\x02\x02\x02\x02\x04"] +storage set mvcc:TxnWrite(3, sql:Index(index.string, "foo")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, "foo"), 3) → 1,2 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x05\x02\x02\x02\x02\x04"] +storage delete mvcc:TxnWrite(3, sql:Index(index.bool, TRUE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] +storage delete mvcc:TxnWrite(3, sql:Index(index.float, 3.14)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] +storage delete mvcc:TxnWrite(3, sql:Index(index.int, 7)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] +storage delete mvcc:TxnWrite(3, sql:Index(index.string, "foo")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(3, sql:Row(index, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] storage delete mvcc:TxnActive(3) ["\x01\x00\x00\x00\x00\x00\x00\x00\x03"] # An insert with different values writes new index entries. @@ -59,21 +59,21 @@ storage delete mvcc:TxnActive(3) ["\x01\x00\x00\x00\x00\x00\x00\x00\x03"] --- storage set mvcc:NextVersion → 5 ["\x00" → "\x05"] storage set mvcc:TxnActive(4) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x04" → ""] -storage set mvcc:TxnWrite(4, sql:Row("index", Integer(3))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(3)), 4) → Integer(3),Boolean(false),Integer(0),Float(2.718),String("") ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x12\x05\x02\x06\x01\x00\x02\x00\x03X9\xb4\xc8v\xbe\x05@\x04\x00"] -storage set mvcc:TxnWrite(4, sql:Index("index", "bool", Boolean(false))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Boolean(false)), 4) → Integer(3) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x06"] -storage set mvcc:TxnWrite(4, sql:Index("index", "int", Integer(0))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Integer(0)), 4) → Integer(3) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x06"] -storage set mvcc:TxnWrite(4, sql:Index("index", "float", Float(2.718))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(2.718)), 4) → Integer(3) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x06"] -storage set mvcc:TxnWrite(4, sql:Index("index", "string", String(""))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", String("")), 4) → Integer(3) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x06"] -storage delete mvcc:TxnWrite(4, sql:Index("index", "bool", Boolean(false))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(4, sql:Index("index", "float", Float(2.718))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00"] -storage delete mvcc:TxnWrite(4, sql:Index("index", "int", Integer(0))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(4, sql:Index("index", "string", String(""))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(4, sql:Row("index", Integer(3))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] +storage set mvcc:TxnWrite(4, sql:Row(index, 3)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 3), 4) → 3,FALSE,0,2.718,"" ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x12\x05\x02\x06\x01\x00\x02\x00\x03X9\xb4\xc8v\xbe\x05@\x04\x00"] +storage set mvcc:TxnWrite(4, sql:Index(index.bool, FALSE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, FALSE), 4) → 3 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x06"] +storage set mvcc:TxnWrite(4, sql:Index(index.int, 0)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, 0), 4) → 3 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x06"] +storage set mvcc:TxnWrite(4, sql:Index(index.float, 2.718)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, 2.718), 4) → 3 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x06"] +storage set mvcc:TxnWrite(4, sql:Index(index.string, "")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, ""), 4) → 3 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x06"] +storage delete mvcc:TxnWrite(4, sql:Index(index.bool, FALSE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(4, sql:Index(index.float, 2.718)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00"] +storage delete mvcc:TxnWrite(4, sql:Index(index.int, 0)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(4, sql:Index(index.string, "")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(4, sql:Row(index, 3)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] storage delete mvcc:TxnActive(4) ["\x01\x00\x00\x00\x00\x00\x00\x00\x04"] # Inserts with NULLS adds NULL entries. These are used for IS NULL queries. @@ -81,32 +81,32 @@ storage delete mvcc:TxnActive(4) ["\x01\x00\x00\x00\x00\x00\x00\x00\x04"] --- storage set mvcc:NextVersion → 6 ["\x00" → "\x06"] storage set mvcc:TxnActive(5) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x05" → ""] -storage set mvcc:TxnWrite(5, sql:Row("index", Integer(4))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(4)), 5) → Integer(4),Null,Null,Null,Null ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x07\x05\x02\x08\x00\x00\x00\x00"] -storage set mvcc:TxnWrite(5, sql:Index("index", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Null), 5) → Integer(4) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x08"] -storage set mvcc:TxnWrite(5, sql:Index("index", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Null), 5) → Integer(4) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x08"] -storage set mvcc:TxnWrite(5, sql:Index("index", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Null), 5) → Integer(4) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x08"] -storage set mvcc:TxnWrite(5, sql:Index("index", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", Null), 5) → Integer(4) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x08"] -storage set mvcc:TxnWrite(5, sql:Row("index", Integer(5))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x05\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(5)), 5) → Integer(5),Null,Null,Null,Null ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x07\x05\x02\n\x00\x00\x00\x00"] -storage set mvcc:TxnWrite(5, sql:Index("index", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Null), 5) → Integer(4),Integer(5) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x05\x02\x02\x08\x02\n"] -storage set mvcc:TxnWrite(5, sql:Index("index", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Null), 5) → Integer(4),Integer(5) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x05\x02\x02\x08\x02\n"] -storage set mvcc:TxnWrite(5, sql:Index("index", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Null), 5) → Integer(4),Integer(5) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x05\x02\x02\x08\x02\n"] -storage set mvcc:TxnWrite(5, sql:Index("index", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", Null), 5) → Integer(4),Integer(5) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x05\x02\x02\x08\x02\n"] -storage delete mvcc:TxnWrite(5, sql:Index("index", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(5, sql:Index("index", "float", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(5, sql:Index("index", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(5, sql:Index("index", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(5, sql:Row("index", Integer(4))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00"] -storage delete mvcc:TxnWrite(5, sql:Row("index", Integer(5))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x05\x00\x00"] +storage set mvcc:TxnWrite(5, sql:Row(index, 4)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 4), 5) → 4,NULL,NULL,NULL,NULL ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x07\x05\x02\x08\x00\x00\x00\x00"] +storage set mvcc:TxnWrite(5, sql:Index(index.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, NULL), 5) → 4 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x08"] +storage set mvcc:TxnWrite(5, sql:Index(index.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, NULL), 5) → 4 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x08"] +storage set mvcc:TxnWrite(5, sql:Index(index.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, NULL), 5) → 4 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x08"] +storage set mvcc:TxnWrite(5, sql:Index(index.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, NULL), 5) → 4 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x03\x01\x02\x08"] +storage set mvcc:TxnWrite(5, sql:Row(index, 5)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x05\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 5), 5) → 5,NULL,NULL,NULL,NULL ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x07\x05\x02\n\x00\x00\x00\x00"] +storage set mvcc:TxnWrite(5, sql:Index(index.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, NULL), 5) → 4,5 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x05\x02\x02\x08\x02\n"] +storage set mvcc:TxnWrite(5, sql:Index(index.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, NULL), 5) → 4,5 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x05\x02\x02\x08\x02\n"] +storage set mvcc:TxnWrite(5, sql:Index(index.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, NULL), 5) → 4,5 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x05\x02\x02\x08\x02\n"] +storage set mvcc:TxnWrite(5, sql:Index(index.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, NULL), 5) → 4,5 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05" → "\x01\x05\x02\x02\x08\x02\n"] +storage delete mvcc:TxnWrite(5, sql:Index(index.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(5, sql:Index(index.float, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(5, sql:Index(index.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(5, sql:Index(index.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(5, sql:Row(index, 4)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00"] +storage delete mvcc:TxnWrite(5, sql:Row(index, 5)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x05\x00\x00"] storage delete mvcc:TxnActive(5) ["\x01\x00\x00\x00\x00\x00\x00\x00\x05"] # Float NaNs are considered equal and indexed. @@ -114,32 +114,32 @@ storage delete mvcc:TxnActive(5) ["\x01\x00\x00\x00\x00\x00\x00\x00\x05"] --- storage set mvcc:NextVersion → 7 ["\x00" → "\x07"] storage set mvcc:TxnActive(6) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x06" → ""] -storage set mvcc:TxnWrite(6, sql:Row("index", Integer(6))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x06\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(6)), 6) → Integer(6),Null,Null,Float(NaN),Null ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x0f\x05\x02\x0c\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf8\x7f\x00"] -storage set mvcc:TxnWrite(6, sql:Index("index", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Null), 6) → Integer(4),Integer(5),Integer(6) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x07\x03\x02\x08\x02\n\x02\x0c"] -storage set mvcc:TxnWrite(6, sql:Index("index", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Null), 6) → Integer(4),Integer(5),Integer(6) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x07\x03\x02\x08\x02\n\x02\x0c"] -storage set mvcc:TxnWrite(6, sql:Index("index", "float", Float(NaN))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(NaN)), 6) → Integer(6) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x0c"] -storage set mvcc:TxnWrite(6, sql:Index("index", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", Null), 6) → Integer(4),Integer(5),Integer(6) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x07\x03\x02\x08\x02\n\x02\x0c"] -storage set mvcc:TxnWrite(6, sql:Row("index", Integer(7))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(7)), 6) → Integer(7),Null,Null,Float(NaN),Null ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x0f\x05\x02\x0e\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf8\x7f\x00"] -storage set mvcc:TxnWrite(6, sql:Index("index", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Null), 6) → Integer(4),Integer(5),Integer(6),Integer(7) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\t\x04\x02\x08\x02\n\x02\x0c\x02\x0e"] -storage set mvcc:TxnWrite(6, sql:Index("index", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Null), 6) → Integer(4),Integer(5),Integer(6),Integer(7) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\t\x04\x02\x08\x02\n\x02\x0c\x02\x0e"] -storage set mvcc:TxnWrite(6, sql:Index("index", "float", Float(NaN))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(NaN)), 6) → Integer(6),Integer(7) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x05\x02\x02\x0c\x02\x0e"] -storage set mvcc:TxnWrite(6, sql:Index("index", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", Null), 6) → Integer(4),Integer(5),Integer(6),Integer(7) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\t\x04\x02\x08\x02\n\x02\x0c\x02\x0e"] -storage delete mvcc:TxnWrite(6, sql:Index("index", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(6, sql:Index("index", "float", Float(NaN))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(6, sql:Index("index", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(6, sql:Index("index", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(6, sql:Row("index", Integer(6))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x06\x00\x00"] -storage delete mvcc:TxnWrite(6, sql:Row("index", Integer(7))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] +storage set mvcc:TxnWrite(6, sql:Row(index, 6)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x06\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 6), 6) → 6,NULL,NULL,NaN,NULL ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x0f\x05\x02\x0c\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf8\x7f\x00"] +storage set mvcc:TxnWrite(6, sql:Index(index.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, NULL), 6) → 4,5,6 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x07\x03\x02\x08\x02\n\x02\x0c"] +storage set mvcc:TxnWrite(6, sql:Index(index.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, NULL), 6) → 4,5,6 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x07\x03\x02\x08\x02\n\x02\x0c"] +storage set mvcc:TxnWrite(6, sql:Index(index.float, NaN)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, NaN), 6) → 6 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x0c"] +storage set mvcc:TxnWrite(6, sql:Index(index.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, NULL), 6) → 4,5,6 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x07\x03\x02\x08\x02\n\x02\x0c"] +storage set mvcc:TxnWrite(6, sql:Row(index, 7)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 7), 6) → 7,NULL,NULL,NaN,NULL ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x0f\x05\x02\x0e\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf8\x7f\x00"] +storage set mvcc:TxnWrite(6, sql:Index(index.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, NULL), 6) → 4,5,6,7 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\t\x04\x02\x08\x02\n\x02\x0c\x02\x0e"] +storage set mvcc:TxnWrite(6, sql:Index(index.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, NULL), 6) → 4,5,6,7 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\t\x04\x02\x08\x02\n\x02\x0c\x02\x0e"] +storage set mvcc:TxnWrite(6, sql:Index(index.float, NaN)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, NaN), 6) → 6,7 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x05\x02\x02\x0c\x02\x0e"] +storage set mvcc:TxnWrite(6, sql:Index(index.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, NULL), 6) → 4,5,6,7 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\t\x04\x02\x08\x02\n\x02\x0c\x02\x0e"] +storage delete mvcc:TxnWrite(6, sql:Index(index.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(6, sql:Index(index.float, NaN)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(6, sql:Index(index.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(6, sql:Index(index.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(6, sql:Row(index, 6)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x06\x00\x00"] +storage delete mvcc:TxnWrite(6, sql:Row(index, 7)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] storage delete mvcc:TxnActive(6) ["\x01\x00\x00\x00\x00\x00\x00\x00\x06"] # Float 0.0 and -0.0 are normalized as 0.0 and indexed as such. @@ -147,32 +147,32 @@ storage delete mvcc:TxnActive(6) ["\x01\x00\x00\x00\x00\x00\x00\x00\x06"] --- storage set mvcc:NextVersion → 8 ["\x00" → "\x08"] storage set mvcc:TxnActive(7) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x07" → ""] -storage set mvcc:TxnWrite(7, sql:Row("index", Integer(8))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(8)), 7) → Integer(8),Null,Null,Float(0.0),Null ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x0f\x05\x02\x10\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"] -storage set mvcc:TxnWrite(7, sql:Index("index", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Null), 7) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x0b\x05\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10"] -storage set mvcc:TxnWrite(7, sql:Index("index", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Null), 7) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x0b\x05\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10"] -storage set mvcc:TxnWrite(7, sql:Index("index", "float", Float(0.0))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(0.0)), 7) → Integer(8) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x10"] -storage set mvcc:TxnWrite(7, sql:Index("index", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", Null), 7) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x0b\x05\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10"] -storage set mvcc:TxnWrite(7, sql:Row("index", Integer(9))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\t\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(9)), 7) → Integer(9),Null,Null,Float(0.0),Null ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\t\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x0f\x05\x02\x12\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"] -storage set mvcc:TxnWrite(7, sql:Index("index", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Null), 7) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\r\x06\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12"] -storage set mvcc:TxnWrite(7, sql:Index("index", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Null), 7) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\r\x06\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12"] -storage set mvcc:TxnWrite(7, sql:Index("index", "float", Float(0.0))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(0.0)), 7) → Integer(8),Integer(9) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x05\x02\x02\x10\x02\x12"] -storage set mvcc:TxnWrite(7, sql:Index("index", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", Null), 7) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\r\x06\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12"] -storage delete mvcc:TxnWrite(7, sql:Index("index", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Index("index", "float", Float(0.0))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Index("index", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Index("index", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Row("index", Integer(8))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Row("index", Integer(9))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\t\x00\x00"] +storage set mvcc:TxnWrite(7, sql:Row(index, 8)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 8), 7) → 8,NULL,NULL,0,NULL ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x0f\x05\x02\x10\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"] +storage set mvcc:TxnWrite(7, sql:Index(index.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, NULL), 7) → 4,5,6,7,8 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x0b\x05\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10"] +storage set mvcc:TxnWrite(7, sql:Index(index.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, NULL), 7) → 4,5,6,7,8 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x0b\x05\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10"] +storage set mvcc:TxnWrite(7, sql:Index(index.float, 0)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, 0), 7) → 8 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x10"] +storage set mvcc:TxnWrite(7, sql:Index(index.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, NULL), 7) → 4,5,6,7,8 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x0b\x05\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10"] +storage set mvcc:TxnWrite(7, sql:Row(index, 9)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\t\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 9), 7) → 9,NULL,NULL,0,NULL ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\t\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x0f\x05\x02\x12\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"] +storage set mvcc:TxnWrite(7, sql:Index(index.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, NULL), 7) → 4,5,6,7,8,9 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\r\x06\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12"] +storage set mvcc:TxnWrite(7, sql:Index(index.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, NULL), 7) → 4,5,6,7,8,9 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\r\x06\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12"] +storage set mvcc:TxnWrite(7, sql:Index(index.float, 0)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, 0), 7) → 8,9 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x05\x02\x02\x10\x02\x12"] +storage set mvcc:TxnWrite(7, sql:Index(index.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, NULL), 7) → 4,5,6,7,8,9 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\r\x06\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12"] +storage delete mvcc:TxnWrite(7, sql:Index(index.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Index(index.float, 0)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Index(index.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Index(index.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Row(index, 8)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Row(index, 9)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\t\x00\x00"] storage delete mvcc:TxnActive(7) ["\x01\x00\x00\x00\x00\x00\x00\x00\x07"] # Float INFINITY is also indexed. @@ -180,66 +180,66 @@ storage delete mvcc:TxnActive(7) ["\x01\x00\x00\x00\x00\x00\x00\x00\x07"] --- storage set mvcc:NextVersion → 9 ["\x00" → "\t"] storage set mvcc:TxnActive(8) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x08" → ""] -storage set mvcc:TxnWrite(8, sql:Row("index", Integer(10))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\n\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(10)), 8) → Integer(10),Null,Null,Float(-inf),Null ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x0f\x05\x02\x14\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\xff\x00"] -storage set mvcc:TxnWrite(8, sql:Index("index", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Null), 8) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x0f\x07\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14"] -storage set mvcc:TxnWrite(8, sql:Index("index", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Null), 8) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x0f\x07\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14"] -storage set mvcc:TxnWrite(8, sql:Index("index", "float", Float(-inf))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(-inf)), 8) → Integer(10) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x14"] -storage set mvcc:TxnWrite(8, sql:Index("index", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", Null), 8) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x0f\x07\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14"] -storage set mvcc:TxnWrite(8, sql:Row("index", Integer(11))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0b\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(11)), 8) → Integer(11),Null,Null,Float(inf),Null ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x0f\x05\x02\x16\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\x7f\x00"] -storage set mvcc:TxnWrite(8, sql:Index("index", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Null), 8) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10),Integer(11) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x11\x08\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16"] -storage set mvcc:TxnWrite(8, sql:Index("index", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Null), 8) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10),Integer(11) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x11\x08\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16"] -storage set mvcc:TxnWrite(8, sql:Index("index", "float", Float(inf))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(inf)), 8) → Integer(11) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x16"] -storage set mvcc:TxnWrite(8, sql:Index("index", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", Null), 8) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10),Integer(11) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x11\x08\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16"] -storage delete mvcc:TxnWrite(8, sql:Index("index", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("index", "float", Float(-inf))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("index", "float", Float(inf))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("index", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("index", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Row("index", Integer(10))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\n\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Row("index", Integer(11))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0b\x00\x00"] +storage set mvcc:TxnWrite(8, sql:Row(index, 10)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\n\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 10), 8) → 10,NULL,NULL,-inf,NULL ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x0f\x05\x02\x14\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\xff\x00"] +storage set mvcc:TxnWrite(8, sql:Index(index.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, NULL), 8) → 4,5,6,7,8,9,10 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x0f\x07\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14"] +storage set mvcc:TxnWrite(8, sql:Index(index.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, NULL), 8) → 4,5,6,7,8,9,10 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x0f\x07\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14"] +storage set mvcc:TxnWrite(8, sql:Index(index.float, -inf)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, -inf), 8) → 10 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x14"] +storage set mvcc:TxnWrite(8, sql:Index(index.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, NULL), 8) → 4,5,6,7,8,9,10 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x0f\x07\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14"] +storage set mvcc:TxnWrite(8, sql:Row(index, 11)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0b\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 11), 8) → 11,NULL,NULL,inf,NULL ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x0f\x05\x02\x16\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\x7f\x00"] +storage set mvcc:TxnWrite(8, sql:Index(index.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, NULL), 8) → 4,5,6,7,8,9,10,11 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x11\x08\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16"] +storage set mvcc:TxnWrite(8, sql:Index(index.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, NULL), 8) → 4,5,6,7,8,9,10,11 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x11\x08\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16"] +storage set mvcc:TxnWrite(8, sql:Index(index.float, inf)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, inf), 8) → 11 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x16"] +storage set mvcc:TxnWrite(8, sql:Index(index.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, NULL), 8) → 4,5,6,7,8,9,10,11 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x11\x08\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16"] +storage delete mvcc:TxnWrite(8, sql:Index(index.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(index.float, -inf)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(index.float, inf)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(index.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(index.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Row(index, 10)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\n\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Row(index, 11)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0b\x00\x00"] storage delete mvcc:TxnActive(8) ["\x01\x00\x00\x00\x00\x00\x00\x00\x08"] [ops]> INSERT INTO "index" (id, "float") VALUES (12, -INFINITY), (13, INFINITY) --- storage set mvcc:NextVersion → 10 ["\x00" → "\n"] storage set mvcc:TxnActive(9) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\t" → ""] -storage set mvcc:TxnWrite(9, sql:Row("index", Integer(12))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0c\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(12)), 9) → Integer(12),Null,Null,Float(-inf),Null ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x0f\x05\x02\x18\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\xff\x00"] -storage set mvcc:TxnWrite(9, sql:Index("index", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Null), 9) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10),Integer(11),Integer(12) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x13\t\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18"] -storage set mvcc:TxnWrite(9, sql:Index("index", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Null), 9) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10),Integer(11),Integer(12) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x13\t\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18"] -storage set mvcc:TxnWrite(9, sql:Index("index", "float", Float(-inf))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(-inf)), 9) → Integer(10),Integer(12) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x05\x02\x02\x14\x02\x18"] -storage set mvcc:TxnWrite(9, sql:Index("index", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", Null), 9) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10),Integer(11),Integer(12) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x13\t\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18"] -storage set mvcc:TxnWrite(9, sql:Row("index", Integer(13))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\r\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(13)), 9) → Integer(13),Null,Null,Float(inf),Null ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x0f\x05\x02\x1a\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\x7f\x00"] -storage set mvcc:TxnWrite(9, sql:Index("index", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Null), 9) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10),Integer(11),Integer(12),Integer(13) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x15\n\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a"] -storage set mvcc:TxnWrite(9, sql:Index("index", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Null), 9) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10),Integer(11),Integer(12),Integer(13) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x15\n\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a"] -storage set mvcc:TxnWrite(9, sql:Index("index", "float", Float(inf))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(inf)), 9) → Integer(11),Integer(13) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x05\x02\x02\x16\x02\x1a"] -storage set mvcc:TxnWrite(9, sql:Index("index", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", Null), 9) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10),Integer(11),Integer(12),Integer(13) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x15\n\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a"] -storage delete mvcc:TxnWrite(9, sql:Index("index", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(9, sql:Index("index", "float", Float(-inf))) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00"] -storage delete mvcc:TxnWrite(9, sql:Index("index", "float", Float(inf))) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(9, sql:Index("index", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(9, sql:Index("index", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(9, sql:Row("index", Integer(12))) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0c\x00\x00"] -storage delete mvcc:TxnWrite(9, sql:Row("index", Integer(13))) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\r\x00\x00"] +storage set mvcc:TxnWrite(9, sql:Row(index, 12)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0c\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 12), 9) → 12,NULL,NULL,-inf,NULL ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x0f\x05\x02\x18\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\xff\x00"] +storage set mvcc:TxnWrite(9, sql:Index(index.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, NULL), 9) → 4,5,6,7,8,9,10,11,12 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x13\t\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18"] +storage set mvcc:TxnWrite(9, sql:Index(index.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, NULL), 9) → 4,5,6,7,8,9,10,11,12 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x13\t\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18"] +storage set mvcc:TxnWrite(9, sql:Index(index.float, -inf)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, -inf), 9) → 10,12 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x05\x02\x02\x14\x02\x18"] +storage set mvcc:TxnWrite(9, sql:Index(index.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, NULL), 9) → 4,5,6,7,8,9,10,11,12 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x13\t\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18"] +storage set mvcc:TxnWrite(9, sql:Row(index, 13)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\r\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 13), 9) → 13,NULL,NULL,inf,NULL ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x0f\x05\x02\x1a\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\x7f\x00"] +storage set mvcc:TxnWrite(9, sql:Index(index.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, NULL), 9) → 4,5,6,7,8,9,10,11,12,13 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x15\n\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a"] +storage set mvcc:TxnWrite(9, sql:Index(index.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, NULL), 9) → 4,5,6,7,8,9,10,11,12,13 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x15\n\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a"] +storage set mvcc:TxnWrite(9, sql:Index(index.float, inf)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, inf), 9) → 11,13 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x05\x02\x02\x16\x02\x1a"] +storage set mvcc:TxnWrite(9, sql:Index(index.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, NULL), 9) → 4,5,6,7,8,9,10,11,12,13 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x15\n\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a"] +storage delete mvcc:TxnWrite(9, sql:Index(index.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(9, sql:Index(index.float, -inf)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00"] +storage delete mvcc:TxnWrite(9, sql:Index(index.float, inf)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(9, sql:Index(index.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(9, sql:Index(index.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(9, sql:Row(index, 12)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0c\x00\x00"] +storage delete mvcc:TxnWrite(9, sql:Row(index, 13)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\r\x00\x00"] storage delete mvcc:TxnActive(9) ["\x01\x00\x00\x00\x00\x00\x00\x00\t"] # Empty strings are considered equal. @@ -247,32 +247,32 @@ storage delete mvcc:TxnActive(9) ["\x01\x00\x00\x00\x00\x00\x00\x00\t"] --- storage set mvcc:NextVersion → 11 ["\x00" → "\x0b"] storage set mvcc:TxnActive(10) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\n" → ""] -storage set mvcc:TxnWrite(10, sql:Row("index", Integer(14))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0e\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(14)), 10) → Integer(14),Null,Null,Null,String("") ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x08\x05\x02\x1c\x00\x00\x00\x04\x00"] -storage set mvcc:TxnWrite(10, sql:Index("index", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Null), 10) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10),Integer(11),Integer(12),Integer(13),Integer(14) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x17\x0b\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c"] -storage set mvcc:TxnWrite(10, sql:Index("index", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Null), 10) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10),Integer(11),Integer(12),Integer(13),Integer(14) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x17\x0b\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c"] -storage set mvcc:TxnWrite(10, sql:Index("index", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Null), 10) → Integer(4),Integer(5),Integer(14) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x07\x03\x02\x08\x02\n\x02\x1c"] -storage set mvcc:TxnWrite(10, sql:Index("index", "string", String(""))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", String("")), 10) → Integer(3),Integer(14) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x05\x02\x02\x06\x02\x1c"] -storage set mvcc:TxnWrite(10, sql:Row("index", Integer(15))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0f\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(15)), 10) → Integer(15),Null,Null,Null,String("") ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x08\x05\x02\x1e\x00\x00\x00\x04\x00"] -storage set mvcc:TxnWrite(10, sql:Index("index", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Null), 10) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10),Integer(11),Integer(12),Integer(13),Integer(14),Integer(15) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x19\x0c\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c\x02\x1e"] -storage set mvcc:TxnWrite(10, sql:Index("index", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Null), 10) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10),Integer(11),Integer(12),Integer(13),Integer(14),Integer(15) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x19\x0c\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c\x02\x1e"] -storage set mvcc:TxnWrite(10, sql:Index("index", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Null), 10) → Integer(4),Integer(5),Integer(14),Integer(15) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\t\x04\x02\x08\x02\n\x02\x1c\x02\x1e"] -storage set mvcc:TxnWrite(10, sql:Index("index", "string", String(""))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", String("")), 10) → Integer(3),Integer(14),Integer(15) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x07\x03\x02\x06\x02\x1c\x02\x1e"] -storage delete mvcc:TxnWrite(10, sql:Index("index", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(10, sql:Index("index", "float", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(10, sql:Index("index", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(10, sql:Index("index", "string", String(""))) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(10, sql:Row("index", Integer(14))) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0e\x00\x00"] -storage delete mvcc:TxnWrite(10, sql:Row("index", Integer(15))) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0f\x00\x00"] +storage set mvcc:TxnWrite(10, sql:Row(index, 14)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0e\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 14), 10) → 14,NULL,NULL,NULL,"" ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x08\x05\x02\x1c\x00\x00\x00\x04\x00"] +storage set mvcc:TxnWrite(10, sql:Index(index.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, NULL), 10) → 4,5,6,7,8,9,10,11,12,13,14 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x17\x0b\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c"] +storage set mvcc:TxnWrite(10, sql:Index(index.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, NULL), 10) → 4,5,6,7,8,9,10,11,12,13,14 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x17\x0b\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c"] +storage set mvcc:TxnWrite(10, sql:Index(index.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, NULL), 10) → 4,5,14 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x07\x03\x02\x08\x02\n\x02\x1c"] +storage set mvcc:TxnWrite(10, sql:Index(index.string, "")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, ""), 10) → 3,14 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x05\x02\x02\x06\x02\x1c"] +storage set mvcc:TxnWrite(10, sql:Row(index, 15)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0f\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 15), 10) → 15,NULL,NULL,NULL,"" ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x08\x05\x02\x1e\x00\x00\x00\x04\x00"] +storage set mvcc:TxnWrite(10, sql:Index(index.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, NULL), 10) → 4,5,6,7,8,9,10,11,12,13,14,15 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x19\x0c\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c\x02\x1e"] +storage set mvcc:TxnWrite(10, sql:Index(index.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, NULL), 10) → 4,5,6,7,8,9,10,11,12,13,14,15 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x19\x0c\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c\x02\x1e"] +storage set mvcc:TxnWrite(10, sql:Index(index.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, NULL), 10) → 4,5,14,15 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\t\x04\x02\x08\x02\n\x02\x1c\x02\x1e"] +storage set mvcc:TxnWrite(10, sql:Index(index.string, "")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, ""), 10) → 3,14,15 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x07\x03\x02\x06\x02\x1c\x02\x1e"] +storage delete mvcc:TxnWrite(10, sql:Index(index.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(10, sql:Index(index.float, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(10, sql:Index(index.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(10, sql:Index(index.string, "")) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(10, sql:Row(index, 14)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0e\x00\x00"] +storage delete mvcc:TxnWrite(10, sql:Row(index, 15)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0f\x00\x00"] storage delete mvcc:TxnActive(10) ["\x01\x00\x00\x00\x00\x00\x00\x00\n"] # Case differences are not considered equal @@ -280,31 +280,31 @@ storage delete mvcc:TxnActive(10) ["\x01\x00\x00\x00\x00\x00\x00\x00\n"] --- storage set mvcc:NextVersion → 12 ["\x00" → "\x0c"] storage set mvcc:TxnActive(11) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x0b" → ""] -storage set mvcc:TxnWrite(11, sql:Row("index", Integer(16))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x10\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(16)), 11) → Integer(16),Null,Null,Null,String("case") ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x0c\x05\x02 \x00\x00\x00\x04\x04case"] -storage set mvcc:TxnWrite(11, sql:Index("index", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Null), 11) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10),Integer(11),Integer(12),Integer(13),Integer(14),Integer(15),Integer(16) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x1b\r\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c\x02\x1e\x02 "] -storage set mvcc:TxnWrite(11, sql:Index("index", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Null), 11) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10),Integer(11),Integer(12),Integer(13),Integer(14),Integer(15),Integer(16) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x1b\r\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c\x02\x1e\x02 "] -storage set mvcc:TxnWrite(11, sql:Index("index", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Null), 11) → Integer(4),Integer(5),Integer(14),Integer(15),Integer(16) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x0b\x05\x02\x08\x02\n\x02\x1c\x02\x1e\x02 "] -storage set mvcc:TxnWrite(11, sql:Index("index", "string", String("case"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", String("case")), 11) → Integer(16) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x03\x01\x02 "] -storage set mvcc:TxnWrite(11, sql:Row("index", Integer(17))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x11\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(17)), 11) → Integer(17),Null,Null,Null,String("CaSe") ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x0c\x05\x02\"\x00\x00\x00\x04\x04CaSe"] -storage set mvcc:TxnWrite(11, sql:Index("index", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Null), 11) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10),Integer(11),Integer(12),Integer(13),Integer(14),Integer(15),Integer(16),Integer(17) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x1d\x0e\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c\x02\x1e\x02 \x02\""] -storage set mvcc:TxnWrite(11, sql:Index("index", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Null), 11) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(9),Integer(10),Integer(11),Integer(12),Integer(13),Integer(14),Integer(15),Integer(16),Integer(17) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x1d\x0e\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c\x02\x1e\x02 \x02\""] -storage set mvcc:TxnWrite(11, sql:Index("index", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Null), 11) → Integer(4),Integer(5),Integer(14),Integer(15),Integer(16),Integer(17) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\r\x06\x02\x08\x02\n\x02\x1c\x02\x1e\x02 \x02\""] -storage set mvcc:TxnWrite(11, sql:Index("index", "string", String("CaSe"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", String("CaSe")), 11) → Integer(17) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x03\x01\x02\""] -storage delete mvcc:TxnWrite(11, sql:Index("index", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Index("index", "float", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Index("index", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Index("index", "string", String("CaSe"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Index("index", "string", String("case"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Row("index", Integer(16))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x10\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Row("index", Integer(17))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x11\x00\x00"] +storage set mvcc:TxnWrite(11, sql:Row(index, 16)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x10\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 16), 11) → 16,NULL,NULL,NULL,"case" ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x0c\x05\x02 \x00\x00\x00\x04\x04case"] +storage set mvcc:TxnWrite(11, sql:Index(index.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, NULL), 11) → 4,5,6,7,8,9,10,11,12,13,14,15,16 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x1b\r\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c\x02\x1e\x02 "] +storage set mvcc:TxnWrite(11, sql:Index(index.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, NULL), 11) → 4,5,6,7,8,9,10,11,12,13,14,15,16 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x1b\r\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c\x02\x1e\x02 "] +storage set mvcc:TxnWrite(11, sql:Index(index.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, NULL), 11) → 4,5,14,15,16 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x0b\x05\x02\x08\x02\n\x02\x1c\x02\x1e\x02 "] +storage set mvcc:TxnWrite(11, sql:Index(index.string, "case")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, "case"), 11) → 16 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x03\x01\x02 "] +storage set mvcc:TxnWrite(11, sql:Row(index, 17)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x11\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 17), 11) → 17,NULL,NULL,NULL,"CaSe" ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x0c\x05\x02\"\x00\x00\x00\x04\x04CaSe"] +storage set mvcc:TxnWrite(11, sql:Index(index.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, NULL), 11) → 4,5,6,7,8,9,10,11,12,13,14,15,16,17 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x1d\x0e\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c\x02\x1e\x02 \x02\""] +storage set mvcc:TxnWrite(11, sql:Index(index.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, NULL), 11) → 4,5,6,7,8,9,10,11,12,13,14,15,16,17 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x1d\x0e\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1a\x02\x1c\x02\x1e\x02 \x02\""] +storage set mvcc:TxnWrite(11, sql:Index(index.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, NULL), 11) → 4,5,14,15,16,17 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\r\x06\x02\x08\x02\n\x02\x1c\x02\x1e\x02 \x02\""] +storage set mvcc:TxnWrite(11, sql:Index(index.string, "CaSe")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, "CaSe"), 11) → 17 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x03\x01\x02\""] +storage delete mvcc:TxnWrite(11, sql:Index(index.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Index(index.float, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Index(index.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Index(index.string, "CaSe")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Index(index.string, "case")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Row(index, 16)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x10\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Row(index, 17)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x11\x00\x00"] storage delete mvcc:TxnActive(11) ["\x01\x00\x00\x00\x00\x00\x00\x00\x0b"] diff --git a/src/sql/testscripts/writes/insert_reference b/src/sql/testscripts/writes/insert_reference index 2ecb7f96e..31c9d8627 100644 --- a/src/sql/testscripts/writes/insert_reference +++ b/src/sql/testscripts/writes/insert_reference @@ -28,21 +28,21 @@ ok --- storage set mvcc:NextVersion → 11 ["\x00" → "\x0b"] storage set mvcc:TxnActive(10) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\n" → ""] -storage set mvcc:TxnWrite(10, sql:Row("name", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(1)), 10) → Integer(1),Boolean(true),Integer(1),Float(3.14),String("foo") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x15\x05\x02\x02\x01\x01\x02\x02\x03\x1f\x85\xebQ\xb8\x1e\t@\x04\x03foo"] -storage set mvcc:TxnWrite(10, sql:Index("name", "bool", Boolean(true))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "bool", Boolean(true)), 10) → Integer(1) ["\x04\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(10, sql:Index("name", "int", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "int", Integer(1)), 10) → Integer(1) ["\x04\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(10, sql:Index("name", "float", Float(3.14))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "float", Float(3.14)), 10) → Integer(1) ["\x04\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(10, sql:Index("name", "string", String("foo"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "string", String("foo")), 10) → Integer(1) ["\x04\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x03\x01\x02\x02"] -storage delete mvcc:TxnWrite(10, sql:Index("name", "bool", Boolean(true))) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] -storage delete mvcc:TxnWrite(10, sql:Index("name", "float", Float(3.14))) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] -storage delete mvcc:TxnWrite(10, sql:Index("name", "int", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(10, sql:Index("name", "string", String("foo"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(10, sql:Row("name", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage set mvcc:TxnWrite(10, sql:Row(name, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 1), 10) → 1,TRUE,1,3.14,"foo" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x15\x05\x02\x02\x01\x01\x02\x02\x03\x1f\x85\xebQ\xb8\x1e\t@\x04\x03foo"] +storage set mvcc:TxnWrite(10, sql:Index(name.bool, TRUE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.bool, TRUE), 10) → 1 ["\x04\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(10, sql:Index(name.int, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.int, 1), 10) → 1 ["\x04\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(10, sql:Index(name.float, 3.14)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.float, 3.14), 10) → 1 ["\x04\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(10, sql:Index(name.string, "foo")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.string, "foo"), 10) → 1 ["\x04\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x03\x01\x02\x02"] +storage delete mvcc:TxnWrite(10, sql:Index(name.bool, TRUE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] +storage delete mvcc:TxnWrite(10, sql:Index(name.float, 3.14)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] +storage delete mvcc:TxnWrite(10, sql:Index(name.int, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(10, sql:Index(name.string, "foo")) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(10, sql:Row(name, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] storage delete mvcc:TxnActive(10) ["\x01\x00\x00\x00\x00\x00\x00\x00\n"] # INSERTs error on missing references. @@ -61,21 +61,21 @@ Error: invalid input: reference bar not in table string --- storage set mvcc:NextVersion → 16 ["\x00" → "\x10"] storage set mvcc:TxnActive(15) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x0f" → ""] -storage set mvcc:TxnWrite(15, sql:Row("name", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(2)), 15) → Integer(2),Null,Null,Float(0.0),Null ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x01\x0f\x05\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"] -storage set mvcc:TxnWrite(15, sql:Index("name", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "bool", Null), 15) → Integer(2) ["\x04\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(15, sql:Index("name", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "int", Null), 15) → Integer(2) ["\x04\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(15, sql:Index("name", "float", Float(0.0))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "float", Float(0.0)), 15) → Integer(2) ["\x04\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(15, sql:Index("name", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "string", Null), 15) → Integer(2) ["\x04\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x01\x03\x01\x02\x04"] -storage delete mvcc:TxnWrite(15, sql:Index("name", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(15, sql:Index("name", "float", Float(0.0))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(15, sql:Index("name", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(15, sql:Index("name", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(15, sql:Row("name", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage set mvcc:TxnWrite(15, sql:Row(name, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 2), 15) → 2,NULL,NULL,0,NULL ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x01\x0f\x05\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"] +storage set mvcc:TxnWrite(15, sql:Index(name.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.bool, NULL), 15) → 2 ["\x04\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(15, sql:Index(name.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.int, NULL), 15) → 2 ["\x04\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(15, sql:Index(name.float, 0)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.float, 0), 15) → 2 ["\x04\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(15, sql:Index(name.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.string, NULL), 15) → 2 ["\x04\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x01\x03\x01\x02\x04"] +storage delete mvcc:TxnWrite(15, sql:Index(name.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(15, sql:Index(name.float, 0)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(15, sql:Index(name.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(15, sql:Index(name.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(15, sql:Row(name, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] storage delete mvcc:TxnActive(15) ["\x01\x00\x00\x00\x00\x00\x00\x00\x0f"] # NaN is not valid as a missing reference marker. @@ -120,36 +120,36 @@ ok --- storage set mvcc:NextVersion → 23 ["\x00" → "\x17"] storage set mvcc:TxnActive(22) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x16" → ""] -storage set mvcc:TxnWrite(22, sql:Row("self", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("self", Integer(1)), 22) → Integer(1),Integer(1) ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16" → "\x01\x05\x02\x02\x02\x02\x02"] -storage set mvcc:TxnWrite(22, sql:Index("self", "self_id", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("self", "self_id", Integer(1)), 22) → Integer(1) ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16" → "\x01\x03\x01\x02\x02"] -storage delete mvcc:TxnWrite(22, sql:Index("self", "self_id", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(22, sql:Row("self", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage set mvcc:TxnWrite(22, sql:Row(self, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(self, 1), 22) → 1,1 ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16" → "\x01\x05\x02\x02\x02\x02\x02"] +storage set mvcc:TxnWrite(22, sql:Index(self.self_id, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(self.self_id, 1), 22) → 1 ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16" → "\x01\x03\x01\x02\x02"] +storage delete mvcc:TxnWrite(22, sql:Index(self.self_id, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(22, sql:Row(self, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] storage delete mvcc:TxnActive(22) ["\x01\x00\x00\x00\x00\x00\x00\x00\x16"] [ops]> INSERT INTO self VALUES (2, 1) --- storage set mvcc:NextVersion → 24 ["\x00" → "\x18"] storage set mvcc:TxnActive(23) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x17" → ""] -storage set mvcc:TxnWrite(23, sql:Row("self", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("self", Integer(2)), 23) → Integer(2),Integer(1) ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17" → "\x01\x05\x02\x02\x04\x02\x02"] -storage set mvcc:TxnWrite(23, sql:Index("self", "self_id", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("self", "self_id", Integer(1)), 23) → Integer(1),Integer(2) ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17" → "\x01\x05\x02\x02\x02\x02\x04"] -storage delete mvcc:TxnWrite(23, sql:Index("self", "self_id", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(23, sql:Row("self", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage set mvcc:TxnWrite(23, sql:Row(self, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(self, 2), 23) → 2,1 ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17" → "\x01\x05\x02\x02\x04\x02\x02"] +storage set mvcc:TxnWrite(23, sql:Index(self.self_id, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(self.self_id, 1), 23) → 1,2 ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17" → "\x01\x05\x02\x02\x02\x02\x04"] +storage delete mvcc:TxnWrite(23, sql:Index(self.self_id, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(23, sql:Row(self, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] storage delete mvcc:TxnActive(23) ["\x01\x00\x00\x00\x00\x00\x00\x00\x17"] [ops]> INSERT INTO self VALUES (3, NULL) --- storage set mvcc:NextVersion → 25 ["\x00" → "\x19"] storage set mvcc:TxnActive(24) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x18" → ""] -storage set mvcc:TxnWrite(24, sql:Row("self", Integer(3))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] -storage set mvcc:Version(sql:Row("self", Integer(3)), 24) → Integer(3),Null ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18" → "\x01\x04\x02\x02\x06\x00"] -storage set mvcc:TxnWrite(24, sql:Index("self", "self_id", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("self", "self_id", Null), 24) → Integer(3) ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18" → "\x01\x03\x01\x02\x06"] -storage delete mvcc:TxnWrite(24, sql:Index("self", "self_id", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(24, sql:Row("self", Integer(3))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] +storage set mvcc:TxnWrite(24, sql:Row(self, 3)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] +storage set mvcc:Version(sql:Row(self, 3), 24) → 3,NULL ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18" → "\x01\x04\x02\x02\x06\x00"] +storage set mvcc:TxnWrite(24, sql:Index(self.self_id, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(self.self_id, NULL), 24) → 3 ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18" → "\x01\x03\x01\x02\x06"] +storage delete mvcc:TxnWrite(24, sql:Index(self.self_id, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(24, sql:Row(self, 3)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] storage delete mvcc:TxnActive(24) ["\x01\x00\x00\x00\x00\x00\x00\x00\x18"] !> INSERT INTO self VALUES (4, 9) diff --git a/src/sql/testscripts/writes/insert_unique b/src/sql/testscripts/writes/insert_unique index 8142be058..622bb11fe 100644 --- a/src/sql/testscripts/writes/insert_unique +++ b/src/sql/testscripts/writes/insert_unique @@ -15,21 +15,21 @@ ok --- storage set mvcc:NextVersion → 3 ["\x00" → "\x03"] storage set mvcc:TxnActive(2) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x02" → ""] -storage set mvcc:TxnWrite(2, sql:Row("unique", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(1)), 2) → Integer(1),Boolean(true),Integer(7),Float(3.14),String("foo") ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x15\x05\x02\x02\x01\x01\x02\x0e\x03\x1f\x85\xebQ\xb8\x1e\t@\x04\x03foo"] -storage set mvcc:TxnWrite(2, sql:Index("unique", "bool", Boolean(true))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "bool", Boolean(true)), 2) → Integer(1) ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(2, sql:Index("unique", "int", Integer(7))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "int", Integer(7)), 2) → Integer(1) ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(2, sql:Index("unique", "float", Float(3.14))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Float(3.14)), 2) → Integer(1) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(2, sql:Index("unique", "string", String("foo"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", String("foo")), 2) → Integer(1) ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x03\x01\x02\x02"] -storage delete mvcc:TxnWrite(2, sql:Index("unique", "bool", Boolean(true))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] -storage delete mvcc:TxnWrite(2, sql:Index("unique", "float", Float(3.14))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] -storage delete mvcc:TxnWrite(2, sql:Index("unique", "int", Integer(7))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] -storage delete mvcc:TxnWrite(2, sql:Index("unique", "string", String("foo"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(2, sql:Row("unique", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage set mvcc:TxnWrite(2, sql:Row(unique, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 1), 2) → 1,TRUE,7,3.14,"foo" ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x15\x05\x02\x02\x01\x01\x02\x0e\x03\x1f\x85\xebQ\xb8\x1e\t@\x04\x03foo"] +storage set mvcc:TxnWrite(2, sql:Index(unique.bool, TRUE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.bool, TRUE), 2) → 1 ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(2, sql:Index(unique.int, 7)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.int, 7), 2) → 1 ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(2, sql:Index(unique.float, 3.14)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, 3.14), 2) → 1 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(2, sql:Index(unique.string, "foo")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, "foo"), 2) → 1 ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x03\x01\x02\x02"] +storage delete mvcc:TxnWrite(2, sql:Index(unique.bool, TRUE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] +storage delete mvcc:TxnWrite(2, sql:Index(unique.float, 3.14)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] +storage delete mvcc:TxnWrite(2, sql:Index(unique.int, 7)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] +storage delete mvcc:TxnWrite(2, sql:Index(unique.string, "foo")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(2, sql:Row(unique, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x02\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] storage delete mvcc:TxnActive(2) ["\x01\x00\x00\x00\x00\x00\x00\x00\x02"] # Another insert with the same values errors for all indexes. @@ -48,21 +48,21 @@ Error: invalid input: value foo already in unique column string --- storage set mvcc:NextVersion → 8 ["\x00" → "\x08"] storage set mvcc:TxnActive(7) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x07" → ""] -storage set mvcc:TxnWrite(7, sql:Row("unique", Integer(3))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(3)), 7) → Integer(3),Boolean(false),Integer(0),Float(2.718),String("bar") ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x15\x05\x02\x06\x01\x00\x02\x00\x03X9\xb4\xc8v\xbe\x05@\x04\x03bar"] -storage set mvcc:TxnWrite(7, sql:Index("unique", "bool", Boolean(false))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "bool", Boolean(false)), 7) → Integer(3) ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x06"] -storage set mvcc:TxnWrite(7, sql:Index("unique", "int", Integer(0))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "int", Integer(0)), 7) → Integer(3) ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x06"] -storage set mvcc:TxnWrite(7, sql:Index("unique", "float", Float(2.718))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Float(2.718)), 7) → Integer(3) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x06"] -storage set mvcc:TxnWrite(7, sql:Index("unique", "string", String("bar"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", String("bar")), 7) → Integer(3) ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x06"] -storage delete mvcc:TxnWrite(7, sql:Index("unique", "bool", Boolean(false))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Index("unique", "float", Float(2.718))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Index("unique", "int", Integer(0))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Index("unique", "string", String("bar"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Row("unique", Integer(3))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] +storage set mvcc:TxnWrite(7, sql:Row(unique, 3)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 3), 7) → 3,FALSE,0,2.718,"bar" ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x15\x05\x02\x06\x01\x00\x02\x00\x03X9\xb4\xc8v\xbe\x05@\x04\x03bar"] +storage set mvcc:TxnWrite(7, sql:Index(unique.bool, FALSE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.bool, FALSE), 7) → 3 ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x06"] +storage set mvcc:TxnWrite(7, sql:Index(unique.int, 0)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.int, 0), 7) → 3 ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x06"] +storage set mvcc:TxnWrite(7, sql:Index(unique.float, 2.718)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, 2.718), 7) → 3 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x06"] +storage set mvcc:TxnWrite(7, sql:Index(unique.string, "bar")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, "bar"), 7) → 3 ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x06"] +storage delete mvcc:TxnWrite(7, sql:Index(unique.bool, FALSE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Index(unique.float, 2.718)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Index(unique.int, 0)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Index(unique.string, "bar")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Row(unique, 3)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] storage delete mvcc:TxnActive(7) ["\x01\x00\x00\x00\x00\x00\x00\x00\x07"] # Inserts with NULLS adds NULL entries. Duplicates are allowed @@ -70,42 +70,42 @@ storage delete mvcc:TxnActive(7) ["\x01\x00\x00\x00\x00\x00\x00\x00\x07"] --- storage set mvcc:NextVersion → 9 ["\x00" → "\t"] storage set mvcc:TxnActive(8) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x08" → ""] -storage set mvcc:TxnWrite(8, sql:Row("unique", Integer(4))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(4)), 8) → Integer(4),Null,Null,Null,Null ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x07\x05\x02\x08\x00\x00\x00\x00"] -storage set mvcc:TxnWrite(8, sql:Index("unique", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "bool", Null), 8) → Integer(4) ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x08"] -storage set mvcc:TxnWrite(8, sql:Index("unique", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "int", Null), 8) → Integer(4) ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x08"] -storage set mvcc:TxnWrite(8, sql:Index("unique", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Null), 8) → Integer(4) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x08"] -storage set mvcc:TxnWrite(8, sql:Index("unique", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", Null), 8) → Integer(4) ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x08"] -storage delete mvcc:TxnWrite(8, sql:Index("unique", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("unique", "float", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("unique", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("unique", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Row("unique", Integer(4))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00"] +storage set mvcc:TxnWrite(8, sql:Row(unique, 4)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 4), 8) → 4,NULL,NULL,NULL,NULL ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x07\x05\x02\x08\x00\x00\x00\x00"] +storage set mvcc:TxnWrite(8, sql:Index(unique.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.bool, NULL), 8) → 4 ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x08"] +storage set mvcc:TxnWrite(8, sql:Index(unique.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.int, NULL), 8) → 4 ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x08"] +storage set mvcc:TxnWrite(8, sql:Index(unique.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, NULL), 8) → 4 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x08"] +storage set mvcc:TxnWrite(8, sql:Index(unique.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, NULL), 8) → 4 ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x08"] +storage delete mvcc:TxnWrite(8, sql:Index(unique.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(unique.float, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(unique.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(unique.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Row(unique, 4)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x04\x00\x00"] storage delete mvcc:TxnActive(8) ["\x01\x00\x00\x00\x00\x00\x00\x00\x08"] [ops]> INSERT INTO "unique" VALUES (5) --- storage set mvcc:NextVersion → 10 ["\x00" → "\n"] storage set mvcc:TxnActive(9) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\t" → ""] -storage set mvcc:TxnWrite(9, sql:Row("unique", Integer(5))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x05\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(5)), 9) → Integer(5),Null,Null,Null,Null ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x07\x05\x02\n\x00\x00\x00\x00"] -storage set mvcc:TxnWrite(9, sql:Index("unique", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "bool", Null), 9) → Integer(4),Integer(5) ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x05\x02\x02\x08\x02\n"] -storage set mvcc:TxnWrite(9, sql:Index("unique", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "int", Null), 9) → Integer(4),Integer(5) ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x05\x02\x02\x08\x02\n"] -storage set mvcc:TxnWrite(9, sql:Index("unique", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Null), 9) → Integer(4),Integer(5) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x05\x02\x02\x08\x02\n"] -storage set mvcc:TxnWrite(9, sql:Index("unique", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", Null), 9) → Integer(4),Integer(5) ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x05\x02\x02\x08\x02\n"] -storage delete mvcc:TxnWrite(9, sql:Index("unique", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(9, sql:Index("unique", "float", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(9, sql:Index("unique", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(9, sql:Index("unique", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(9, sql:Row("unique", Integer(5))) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x05\x00\x00"] +storage set mvcc:TxnWrite(9, sql:Row(unique, 5)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x05\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 5), 9) → 5,NULL,NULL,NULL,NULL ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x07\x05\x02\n\x00\x00\x00\x00"] +storage set mvcc:TxnWrite(9, sql:Index(unique.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.bool, NULL), 9) → 4,5 ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x05\x02\x02\x08\x02\n"] +storage set mvcc:TxnWrite(9, sql:Index(unique.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.int, NULL), 9) → 4,5 ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x05\x02\x02\x08\x02\n"] +storage set mvcc:TxnWrite(9, sql:Index(unique.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, NULL), 9) → 4,5 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x05\x02\x02\x08\x02\n"] +storage set mvcc:TxnWrite(9, sql:Index(unique.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, NULL), 9) → 4,5 ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\t" → "\x01\x05\x02\x02\x08\x02\n"] +storage delete mvcc:TxnWrite(9, sql:Index(unique.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(9, sql:Index(unique.float, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(9, sql:Index(unique.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(9, sql:Index(unique.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(9, sql:Row(unique, 5)) ["\x03\x00\x00\x00\x00\x00\x00\x00\t\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x05\x00\x00"] storage delete mvcc:TxnActive(9) ["\x01\x00\x00\x00\x00\x00\x00\x00\t"] # Float NaNs are considered different and allowed. @@ -113,42 +113,42 @@ storage delete mvcc:TxnActive(9) ["\x01\x00\x00\x00\x00\x00\x00\x00\t"] --- storage set mvcc:NextVersion → 11 ["\x00" → "\x0b"] storage set mvcc:TxnActive(10) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\n" → ""] -storage set mvcc:TxnWrite(10, sql:Row("unique", Integer(6))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x06\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(6)), 10) → Integer(6),Null,Null,Float(NaN),Null ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x0f\x05\x02\x0c\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf8\x7f\x00"] -storage set mvcc:TxnWrite(10, sql:Index("unique", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "bool", Null), 10) → Integer(4),Integer(5),Integer(6) ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x07\x03\x02\x08\x02\n\x02\x0c"] -storage set mvcc:TxnWrite(10, sql:Index("unique", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "int", Null), 10) → Integer(4),Integer(5),Integer(6) ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x07\x03\x02\x08\x02\n\x02\x0c"] -storage set mvcc:TxnWrite(10, sql:Index("unique", "float", Float(NaN))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Float(NaN)), 10) → Integer(6) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x03\x01\x02\x0c"] -storage set mvcc:TxnWrite(10, sql:Index("unique", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", Null), 10) → Integer(4),Integer(5),Integer(6) ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x07\x03\x02\x08\x02\n\x02\x0c"] -storage delete mvcc:TxnWrite(10, sql:Index("unique", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(10, sql:Index("unique", "float", Float(NaN))) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(10, sql:Index("unique", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(10, sql:Index("unique", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(10, sql:Row("unique", Integer(6))) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x06\x00\x00"] +storage set mvcc:TxnWrite(10, sql:Row(unique, 6)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x06\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 6), 10) → 6,NULL,NULL,NaN,NULL ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x0f\x05\x02\x0c\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf8\x7f\x00"] +storage set mvcc:TxnWrite(10, sql:Index(unique.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.bool, NULL), 10) → 4,5,6 ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x07\x03\x02\x08\x02\n\x02\x0c"] +storage set mvcc:TxnWrite(10, sql:Index(unique.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.int, NULL), 10) → 4,5,6 ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x07\x03\x02\x08\x02\n\x02\x0c"] +storage set mvcc:TxnWrite(10, sql:Index(unique.float, NaN)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, NaN), 10) → 6 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x03\x01\x02\x0c"] +storage set mvcc:TxnWrite(10, sql:Index(unique.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, NULL), 10) → 4,5,6 ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\n" → "\x01\x07\x03\x02\x08\x02\n\x02\x0c"] +storage delete mvcc:TxnWrite(10, sql:Index(unique.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(10, sql:Index(unique.float, NaN)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(10, sql:Index(unique.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(10, sql:Index(unique.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(10, sql:Row(unique, 6)) ["\x03\x00\x00\x00\x00\x00\x00\x00\n\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x06\x00\x00"] storage delete mvcc:TxnActive(10) ["\x01\x00\x00\x00\x00\x00\x00\x00\n"] [ops]> INSERT INTO "unique" (id, "float") VALUES (7, NAN) --- storage set mvcc:NextVersion → 12 ["\x00" → "\x0c"] storage set mvcc:TxnActive(11) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x0b" → ""] -storage set mvcc:TxnWrite(11, sql:Row("unique", Integer(7))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(7)), 11) → Integer(7),Null,Null,Float(NaN),Null ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x0f\x05\x02\x0e\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf8\x7f\x00"] -storage set mvcc:TxnWrite(11, sql:Index("unique", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "bool", Null), 11) → Integer(4),Integer(5),Integer(6),Integer(7) ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\t\x04\x02\x08\x02\n\x02\x0c\x02\x0e"] -storage set mvcc:TxnWrite(11, sql:Index("unique", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "int", Null), 11) → Integer(4),Integer(5),Integer(6),Integer(7) ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\t\x04\x02\x08\x02\n\x02\x0c\x02\x0e"] -storage set mvcc:TxnWrite(11, sql:Index("unique", "float", Float(NaN))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Float(NaN)), 11) → Integer(6),Integer(7) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x05\x02\x02\x0c\x02\x0e"] -storage set mvcc:TxnWrite(11, sql:Index("unique", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", Null), 11) → Integer(4),Integer(5),Integer(6),Integer(7) ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\t\x04\x02\x08\x02\n\x02\x0c\x02\x0e"] -storage delete mvcc:TxnWrite(11, sql:Index("unique", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Index("unique", "float", Float(NaN))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Index("unique", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Index("unique", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Row("unique", Integer(7))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] +storage set mvcc:TxnWrite(11, sql:Row(unique, 7)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 7), 11) → 7,NULL,NULL,NaN,NULL ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x0f\x05\x02\x0e\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf8\x7f\x00"] +storage set mvcc:TxnWrite(11, sql:Index(unique.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.bool, NULL), 11) → 4,5,6,7 ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\t\x04\x02\x08\x02\n\x02\x0c\x02\x0e"] +storage set mvcc:TxnWrite(11, sql:Index(unique.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.int, NULL), 11) → 4,5,6,7 ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\t\x04\x02\x08\x02\n\x02\x0c\x02\x0e"] +storage set mvcc:TxnWrite(11, sql:Index(unique.float, NaN)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, NaN), 11) → 6,7 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x05\x02\x02\x0c\x02\x0e"] +storage set mvcc:TxnWrite(11, sql:Index(unique.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, NULL), 11) → 4,5,6,7 ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\t\x04\x02\x08\x02\n\x02\x0c\x02\x0e"] +storage delete mvcc:TxnWrite(11, sql:Index(unique.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Index(unique.float, NaN)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Index(unique.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Index(unique.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Row(unique, 7)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] storage delete mvcc:TxnActive(11) ["\x01\x00\x00\x00\x00\x00\x00\x00\x0b"] # Float 0.0 and -0.0 are considered equal. @@ -156,21 +156,21 @@ storage delete mvcc:TxnActive(11) ["\x01\x00\x00\x00\x00\x00\x00\x00\x0b"] --- storage set mvcc:NextVersion → 13 ["\x00" → "\r"] storage set mvcc:TxnActive(12) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x0c" → ""] -storage set mvcc:TxnWrite(12, sql:Row("unique", Integer(8))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(8)), 12) → Integer(8),Null,Null,Float(0.0),Null ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c" → "\x01\x0f\x05\x02\x10\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"] -storage set mvcc:TxnWrite(12, sql:Index("unique", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "bool", Null), 12) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8) ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c" → "\x01\x0b\x05\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10"] -storage set mvcc:TxnWrite(12, sql:Index("unique", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "int", Null), 12) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8) ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c" → "\x01\x0b\x05\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10"] -storage set mvcc:TxnWrite(12, sql:Index("unique", "float", Float(0.0))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Float(0.0)), 12) → Integer(8) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c" → "\x01\x03\x01\x02\x10"] -storage set mvcc:TxnWrite(12, sql:Index("unique", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", Null), 12) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8) ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c" → "\x01\x0b\x05\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10"] -storage delete mvcc:TxnWrite(12, sql:Index("unique", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(12, sql:Index("unique", "float", Float(0.0))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(12, sql:Index("unique", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(12, sql:Index("unique", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(12, sql:Row("unique", Integer(8))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00"] +storage set mvcc:TxnWrite(12, sql:Row(unique, 8)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 8), 12) → 8,NULL,NULL,0,NULL ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c" → "\x01\x0f\x05\x02\x10\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"] +storage set mvcc:TxnWrite(12, sql:Index(unique.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.bool, NULL), 12) → 4,5,6,7,8 ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c" → "\x01\x0b\x05\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10"] +storage set mvcc:TxnWrite(12, sql:Index(unique.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.int, NULL), 12) → 4,5,6,7,8 ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c" → "\x01\x0b\x05\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10"] +storage set mvcc:TxnWrite(12, sql:Index(unique.float, 0)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, 0), 12) → 8 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c" → "\x01\x03\x01\x02\x10"] +storage set mvcc:TxnWrite(12, sql:Index(unique.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, NULL), 12) → 4,5,6,7,8 ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c" → "\x01\x0b\x05\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10"] +storage delete mvcc:TxnWrite(12, sql:Index(unique.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(12, sql:Index(unique.float, 0)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(12, sql:Index(unique.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(12, sql:Index(unique.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(12, sql:Row(unique, 8)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0c\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x08\x00\x00"] storage delete mvcc:TxnActive(12) ["\x01\x00\x00\x00\x00\x00\x00\x00\x0c"] !> INSERT INTO "unique" (id, "float") VALUES (9, 0.0) @@ -182,21 +182,21 @@ Error: invalid input: value 0 already in unique column float --- storage set mvcc:NextVersion → 15 ["\x00" → "\x0f"] storage set mvcc:TxnActive(14) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x0e" → ""] -storage set mvcc:TxnWrite(14, sql:Row("unique", Integer(10))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\n\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(10)), 14) → Integer(10),Null,Null,Float(inf),Null ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x0f\x05\x02\x14\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\x7f\x00"] -storage set mvcc:TxnWrite(14, sql:Index("unique", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "bool", Null), 14) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(10) ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\r\x06\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14"] -storage set mvcc:TxnWrite(14, sql:Index("unique", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "int", Null), 14) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(10) ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\r\x06\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14"] -storage set mvcc:TxnWrite(14, sql:Index("unique", "float", Float(inf))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Float(inf)), 14) → Integer(10) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x03\x01\x02\x14"] -storage set mvcc:TxnWrite(14, sql:Index("unique", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", Null), 14) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(10) ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\r\x06\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14"] -storage delete mvcc:TxnWrite(14, sql:Index("unique", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(14, sql:Index("unique", "float", Float(inf))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(14, sql:Index("unique", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(14, sql:Index("unique", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(14, sql:Row("unique", Integer(10))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\n\x00\x00"] +storage set mvcc:TxnWrite(14, sql:Row(unique, 10)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\n\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 10), 14) → 10,NULL,NULL,inf,NULL ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x0f\x05\x02\x14\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\x7f\x00"] +storage set mvcc:TxnWrite(14, sql:Index(unique.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.bool, NULL), 14) → 4,5,6,7,8,10 ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\r\x06\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14"] +storage set mvcc:TxnWrite(14, sql:Index(unique.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.int, NULL), 14) → 4,5,6,7,8,10 ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\r\x06\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14"] +storage set mvcc:TxnWrite(14, sql:Index(unique.float, inf)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, inf), 14) → 10 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x03\x01\x02\x14"] +storage set mvcc:TxnWrite(14, sql:Index(unique.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, NULL), 14) → 4,5,6,7,8,10 ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\r\x06\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14"] +storage delete mvcc:TxnWrite(14, sql:Index(unique.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(14, sql:Index(unique.float, inf)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(14, sql:Index(unique.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(14, sql:Index(unique.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(14, sql:Row(unique, 10)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\n\x00\x00"] storage delete mvcc:TxnActive(14) ["\x01\x00\x00\x00\x00\x00\x00\x00\x0e"] !> INSERT INTO "unique" (id, "float") VALUES (11, INFINITY) @@ -208,21 +208,21 @@ Error: invalid input: value inf already in unique column float --- storage set mvcc:NextVersion → 17 ["\x00" → "\x11"] storage set mvcc:TxnActive(16) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x10" → ""] -storage set mvcc:TxnWrite(16, sql:Row("unique", Integer(11))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0b\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(11)), 16) → Integer(11),Null,Null,Null,String("") ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10" → "\x01\x08\x05\x02\x16\x00\x00\x00\x04\x00"] -storage set mvcc:TxnWrite(16, sql:Index("unique", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "bool", Null), 16) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(10),Integer(11) ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10" → "\x01\x0f\x07\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14\x02\x16"] -storage set mvcc:TxnWrite(16, sql:Index("unique", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "int", Null), 16) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(10),Integer(11) ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10" → "\x01\x0f\x07\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14\x02\x16"] -storage set mvcc:TxnWrite(16, sql:Index("unique", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Null), 16) → Integer(4),Integer(5),Integer(11) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10" → "\x01\x07\x03\x02\x08\x02\n\x02\x16"] -storage set mvcc:TxnWrite(16, sql:Index("unique", "string", String(""))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", String("")), 16) → Integer(11) ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10" → "\x01\x03\x01\x02\x16"] -storage delete mvcc:TxnWrite(16, sql:Index("unique", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(16, sql:Index("unique", "float", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(16, sql:Index("unique", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(16, sql:Index("unique", "string", String(""))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(16, sql:Row("unique", Integer(11))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0b\x00\x00"] +storage set mvcc:TxnWrite(16, sql:Row(unique, 11)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0b\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 11), 16) → 11,NULL,NULL,NULL,"" ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10" → "\x01\x08\x05\x02\x16\x00\x00\x00\x04\x00"] +storage set mvcc:TxnWrite(16, sql:Index(unique.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.bool, NULL), 16) → 4,5,6,7,8,10,11 ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10" → "\x01\x0f\x07\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14\x02\x16"] +storage set mvcc:TxnWrite(16, sql:Index(unique.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.int, NULL), 16) → 4,5,6,7,8,10,11 ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10" → "\x01\x0f\x07\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14\x02\x16"] +storage set mvcc:TxnWrite(16, sql:Index(unique.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, NULL), 16) → 4,5,11 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10" → "\x01\x07\x03\x02\x08\x02\n\x02\x16"] +storage set mvcc:TxnWrite(16, sql:Index(unique.string, "")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, ""), 16) → 11 ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10" → "\x01\x03\x01\x02\x16"] +storage delete mvcc:TxnWrite(16, sql:Index(unique.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(16, sql:Index(unique.float, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(16, sql:Index(unique.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(16, sql:Index(unique.string, "")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(16, sql:Row(unique, 11)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x10\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0b\x00\x00"] storage delete mvcc:TxnActive(16) ["\x01\x00\x00\x00\x00\x00\x00\x00\x10"] !> INSERT INTO "unique" (id, "string") VALUES (12, '') @@ -234,40 +234,40 @@ Error: invalid input: value already in unique column string --- storage set mvcc:NextVersion → 19 ["\x00" → "\x13"] storage set mvcc:TxnActive(18) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x12" → ""] -storage set mvcc:TxnWrite(18, sql:Row("unique", Integer(12))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0c\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(12)), 18) → Integer(12),Null,Null,Null,String("case") ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\x0c\x05\x02\x18\x00\x00\x00\x04\x04case"] -storage set mvcc:TxnWrite(18, sql:Index("unique", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "bool", Null), 18) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(10),Integer(11),Integer(12) ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\x11\x08\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14\x02\x16\x02\x18"] -storage set mvcc:TxnWrite(18, sql:Index("unique", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "int", Null), 18) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(10),Integer(11),Integer(12) ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\x11\x08\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14\x02\x16\x02\x18"] -storage set mvcc:TxnWrite(18, sql:Index("unique", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Null), 18) → Integer(4),Integer(5),Integer(11),Integer(12) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\t\x04\x02\x08\x02\n\x02\x16\x02\x18"] -storage set mvcc:TxnWrite(18, sql:Index("unique", "string", String("case"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", String("case")), 18) → Integer(12) ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\x03\x01\x02\x18"] -storage delete mvcc:TxnWrite(18, sql:Index("unique", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(18, sql:Index("unique", "float", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(18, sql:Index("unique", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(18, sql:Index("unique", "string", String("case"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(18, sql:Row("unique", Integer(12))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0c\x00\x00"] +storage set mvcc:TxnWrite(18, sql:Row(unique, 12)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0c\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 12), 18) → 12,NULL,NULL,NULL,"case" ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\x0c\x05\x02\x18\x00\x00\x00\x04\x04case"] +storage set mvcc:TxnWrite(18, sql:Index(unique.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.bool, NULL), 18) → 4,5,6,7,8,10,11,12 ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\x11\x08\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14\x02\x16\x02\x18"] +storage set mvcc:TxnWrite(18, sql:Index(unique.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.int, NULL), 18) → 4,5,6,7,8,10,11,12 ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\x11\x08\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14\x02\x16\x02\x18"] +storage set mvcc:TxnWrite(18, sql:Index(unique.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, NULL), 18) → 4,5,11,12 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\t\x04\x02\x08\x02\n\x02\x16\x02\x18"] +storage set mvcc:TxnWrite(18, sql:Index(unique.string, "case")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, "case"), 18) → 12 ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\x03\x01\x02\x18"] +storage delete mvcc:TxnWrite(18, sql:Index(unique.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(18, sql:Index(unique.float, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(18, sql:Index(unique.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(18, sql:Index(unique.string, "case")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(18, sql:Row(unique, 12)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x0c\x00\x00"] storage delete mvcc:TxnActive(18) ["\x01\x00\x00\x00\x00\x00\x00\x00\x12"] [ops]> INSERT INTO "unique" (id, "string") VALUES (13, 'CaSe') --- storage set mvcc:NextVersion → 20 ["\x00" → "\x14"] storage set mvcc:TxnActive(19) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x13" → ""] -storage set mvcc:TxnWrite(19, sql:Row("unique", Integer(13))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\r\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(13)), 19) → Integer(13),Null,Null,Null,String("CaSe") ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13" → "\x01\x0c\x05\x02\x1a\x00\x00\x00\x04\x04CaSe"] -storage set mvcc:TxnWrite(19, sql:Index("unique", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "bool", Null), 19) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(10),Integer(11),Integer(12),Integer(13) ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13" → "\x01\x13\t\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14\x02\x16\x02\x18\x02\x1a"] -storage set mvcc:TxnWrite(19, sql:Index("unique", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "int", Null), 19) → Integer(4),Integer(5),Integer(6),Integer(7),Integer(8),Integer(10),Integer(11),Integer(12),Integer(13) ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13" → "\x01\x13\t\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14\x02\x16\x02\x18\x02\x1a"] -storage set mvcc:TxnWrite(19, sql:Index("unique", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Null), 19) → Integer(4),Integer(5),Integer(11),Integer(12),Integer(13) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13" → "\x01\x0b\x05\x02\x08\x02\n\x02\x16\x02\x18\x02\x1a"] -storage set mvcc:TxnWrite(19, sql:Index("unique", "string", String("CaSe"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", String("CaSe")), 19) → Integer(13) ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13" → "\x01\x03\x01\x02\x1a"] -storage delete mvcc:TxnWrite(19, sql:Index("unique", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(19, sql:Index("unique", "float", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(19, sql:Index("unique", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(19, sql:Index("unique", "string", String("CaSe"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(19, sql:Row("unique", Integer(13))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\r\x00\x00"] +storage set mvcc:TxnWrite(19, sql:Row(unique, 13)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\r\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 13), 19) → 13,NULL,NULL,NULL,"CaSe" ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13" → "\x01\x0c\x05\x02\x1a\x00\x00\x00\x04\x04CaSe"] +storage set mvcc:TxnWrite(19, sql:Index(unique.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.bool, NULL), 19) → 4,5,6,7,8,10,11,12,13 ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13" → "\x01\x13\t\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14\x02\x16\x02\x18\x02\x1a"] +storage set mvcc:TxnWrite(19, sql:Index(unique.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.int, NULL), 19) → 4,5,6,7,8,10,11,12,13 ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13" → "\x01\x13\t\x02\x08\x02\n\x02\x0c\x02\x0e\x02\x10\x02\x14\x02\x16\x02\x18\x02\x1a"] +storage set mvcc:TxnWrite(19, sql:Index(unique.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, NULL), 19) → 4,5,11,12,13 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13" → "\x01\x0b\x05\x02\x08\x02\n\x02\x16\x02\x18\x02\x1a"] +storage set mvcc:TxnWrite(19, sql:Index(unique.string, "CaSe")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, "CaSe"), 19) → 13 ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x13" → "\x01\x03\x01\x02\x1a"] +storage delete mvcc:TxnWrite(19, sql:Index(unique.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(19, sql:Index(unique.float, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(19, sql:Index(unique.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(19, sql:Index(unique.string, "CaSe")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(19, sql:Row(unique, 13)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x13\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\r\x00\x00"] storage delete mvcc:TxnActive(19) ["\x01\x00\x00\x00\x00\x00\x00\x00\x13"] diff --git a/src/sql/testscripts/writes/update b/src/sql/testscripts/writes/update index a94f6d69f..a1e53ce29 100644 --- a/src/sql/testscripts/writes/update +++ b/src/sql/testscripts/writes/update @@ -13,12 +13,12 @@ Update: name (value=foo) Update { count: 2 } storage set mvcc:NextVersion → 4 ["\x00" → "\x04"] storage set mvcc:TxnActive(3) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x03" → ""] -storage set mvcc:TxnWrite(3, sql:Row("name", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(1)), 3) → Integer(1),String("foo") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x08\x02\x02\x02\x04\x03foo"] -storage set mvcc:TxnWrite(3, sql:Row("name", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(2)), 3) → Integer(2),String("foo") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x08\x02\x02\x04\x04\x03foo"] -storage delete mvcc:TxnWrite(3, sql:Row("name", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(3, sql:Row("name", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage set mvcc:TxnWrite(3, sql:Row(name, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 1), 3) → 1,"foo" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x08\x02\x02\x02\x04\x03foo"] +storage set mvcc:TxnWrite(3, sql:Row(name, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 2), 3) → 2,"foo" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x08\x02\x02\x04\x04\x03foo"] +storage delete mvcc:TxnWrite(3, sql:Row(name, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(3, sql:Row(name, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] storage delete mvcc:TxnActive(3) ["\x01\x00\x00\x00\x00\x00\x00\x00\x03"] > SELECT * FROM name @@ -29,11 +29,11 @@ storage delete mvcc:TxnActive(3) ["\x01\x00\x00\x00\x00\x00\x00\x00\x03"] dump --- mvcc:NextVersion → 4 ["\x00" → "\x04"] -mvcc:Version(sql:Table("name"), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] -mvcc:Version(sql:Row("name", Integer(1)), 2) → Integer(1),String("a") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] -mvcc:Version(sql:Row("name", Integer(1)), 3) → Integer(1),String("foo") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x08\x02\x02\x02\x04\x03foo"] -mvcc:Version(sql:Row("name", Integer(2)), 2) → Integer(2),String("b") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] -mvcc:Version(sql:Row("name", Integer(2)), 3) → Integer(2),String("foo") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x08\x02\x02\x04\x04\x03foo"] +mvcc:Version(sql:Table(name), 1) → CREATE TABLE name ( id INTEGER PRIMARY KEY, value STRING DEFAULT NULL ) ["\x04\x00\xffname\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" → "\x01\x1d\x04name\x00\x02\x02id\x01\x00\x00\x01\x00\x00\x05value\x03\x01\x01\x00\x00\x00\x00"] +mvcc:Version(sql:Row(name, 1), 2) → 1,"a" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x02\x04\x01a"] +mvcc:Version(sql:Row(name, 1), 3) → 1,"foo" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x08\x02\x02\x02\x04\x03foo"] +mvcc:Version(sql:Row(name, 2), 2) → 2,"b" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02" → "\x01\x06\x02\x02\x04\x04\x01b"] +mvcc:Version(sql:Row(name, 2), 3) → 2,"foo" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x08\x02\x02\x04\x04\x03foo"] # Bare UPDATE errors. !> UPDATE diff --git a/src/sql/testscripts/writes/update_index b/src/sql/testscripts/writes/update_index index 2fd047750..75fb0f47c 100644 --- a/src/sql/testscripts/writes/update_index +++ b/src/sql/testscripts/writes/update_index @@ -16,33 +16,33 @@ ok --- storage set mvcc:NextVersion → 4 ["\x00" → "\x04"] storage set mvcc:TxnActive(3) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x03" → ""] -storage set mvcc:TxnWrite(3, sql:Index("index", "bool", Boolean(true))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Boolean(true)), 3) → None ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] -storage set mvcc:TxnWrite(3, sql:Index("index", "bool", Boolean(false))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Boolean(false)), 3) → Integer(1) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(3, sql:Index("index", "int", Integer(7))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Integer(7)), 3) → None ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] -storage set mvcc:TxnWrite(3, sql:Index("index", "int", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Integer(1)), 3) → Integer(1) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(3, sql:Index("index", "float", Float(3.14))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(3.14)), 3) → None ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] -storage set mvcc:TxnWrite(3, sql:Index("index", "float", Float(2.718))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(2.718)), 3) → Integer(1) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(3, sql:Index("index", "string", String("foo"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", String("foo")), 3) → None ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] -storage set mvcc:TxnWrite(3, sql:Index("index", "string", String("bar"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", String("bar")), 3) → Integer(1) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(3, sql:Row("index", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(1)), 3) → Integer(1),Boolean(false),Integer(1),Float(2.718),String("bar") ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x15\x05\x02\x02\x01\x00\x02\x02\x03X9\xb4\xc8v\xbe\x05@\x04\x03bar"] -storage delete mvcc:TxnWrite(3, sql:Index("index", "bool", Boolean(false))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(3, sql:Index("index", "bool", Boolean(true))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] -storage delete mvcc:TxnWrite(3, sql:Index("index", "float", Float(2.718))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00"] -storage delete mvcc:TxnWrite(3, sql:Index("index", "float", Float(3.14))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] -storage delete mvcc:TxnWrite(3, sql:Index("index", "int", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(3, sql:Index("index", "int", Integer(7))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] -storage delete mvcc:TxnWrite(3, sql:Index("index", "string", String("bar"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(3, sql:Index("index", "string", String("foo"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(3, sql:Row("index", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage set mvcc:TxnWrite(3, sql:Index(index.bool, TRUE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, TRUE), 3) → None ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +storage set mvcc:TxnWrite(3, sql:Index(index.bool, FALSE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, FALSE), 3) → 1 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(3, sql:Index(index.int, 7)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, 7), 3) → None ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +storage set mvcc:TxnWrite(3, sql:Index(index.int, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, 1), 3) → 1 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(3, sql:Index(index.float, 3.14)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, 3.14), 3) → None ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +storage set mvcc:TxnWrite(3, sql:Index(index.float, 2.718)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, 2.718), 3) → 1 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(3, sql:Index(index.string, "foo")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, "foo"), 3) → None ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x00"] +storage set mvcc:TxnWrite(3, sql:Index(index.string, "bar")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, "bar"), 3) → 1 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(3, sql:Row(index, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 1), 3) → 1,FALSE,1,2.718,"bar" ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03" → "\x01\x15\x05\x02\x02\x01\x00\x02\x02\x03X9\xb4\xc8v\xbe\x05@\x04\x03bar"] +storage delete mvcc:TxnWrite(3, sql:Index(index.bool, FALSE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(3, sql:Index(index.bool, TRUE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] +storage delete mvcc:TxnWrite(3, sql:Index(index.float, 2.718)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00"] +storage delete mvcc:TxnWrite(3, sql:Index(index.float, 3.14)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] +storage delete mvcc:TxnWrite(3, sql:Index(index.int, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(3, sql:Index(index.int, 7)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] +storage delete mvcc:TxnWrite(3, sql:Index(index.string, "bar")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(3, sql:Index(index.string, "foo")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(3, sql:Row(index, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x03\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] storage delete mvcc:TxnActive(3) ["\x01\x00\x00\x00\x00\x00\x00\x00\x03"] # A single-field update only updates the relevant index. @@ -50,15 +50,15 @@ storage delete mvcc:TxnActive(3) ["\x01\x00\x00\x00\x00\x00\x00\x00\x03"] --- storage set mvcc:NextVersion → 5 ["\x00" → "\x05"] storage set mvcc:TxnActive(4) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x04" → ""] -storage set mvcc:TxnWrite(4, sql:Index("index", "bool", Boolean(false))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Boolean(false)), 4) → None ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x00"] -storage set mvcc:TxnWrite(4, sql:Index("index", "bool", Boolean(true))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Boolean(true)), 4) → Integer(1) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(4, sql:Row("index", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(1)), 4) → Integer(1),Boolean(true),Integer(1),Float(2.718),String("bar") ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x15\x05\x02\x02\x01\x01\x02\x02\x03X9\xb4\xc8v\xbe\x05@\x04\x03bar"] -storage delete mvcc:TxnWrite(4, sql:Index("index", "bool", Boolean(false))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(4, sql:Index("index", "bool", Boolean(true))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] -storage delete mvcc:TxnWrite(4, sql:Row("index", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage set mvcc:TxnWrite(4, sql:Index(index.bool, FALSE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, FALSE), 4) → None ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x00"] +storage set mvcc:TxnWrite(4, sql:Index(index.bool, TRUE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, TRUE), 4) → 1 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(4, sql:Row(index, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 1), 4) → 1,TRUE,1,2.718,"bar" ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x15\x05\x02\x02\x01\x01\x02\x02\x03X9\xb4\xc8v\xbe\x05@\x04\x03bar"] +storage delete mvcc:TxnWrite(4, sql:Index(index.bool, FALSE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(4, sql:Index(index.bool, TRUE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] +storage delete mvcc:TxnWrite(4, sql:Row(index, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] storage delete mvcc:TxnActive(4) ["\x01\x00\x00\x00\x00\x00\x00\x00\x04"] # An update with different values writes new index entries. @@ -67,33 +67,33 @@ storage delete mvcc:TxnActive(4) ["\x01\x00\x00\x00\x00\x00\x00\x00\x04"] --- storage set mvcc:NextVersion → 7 ["\x00" → "\x07"] storage set mvcc:TxnActive(6) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x06" → ""] -storage set mvcc:TxnWrite(6, sql:Index("index", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Null), 6) → None ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x00"] -storage set mvcc:TxnWrite(6, sql:Index("index", "bool", Boolean(false))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Boolean(false)), 6) → Integer(2) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(6, sql:Index("index", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Null), 6) → None ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x00"] -storage set mvcc:TxnWrite(6, sql:Index("index", "int", Integer(7))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Integer(7)), 6) → Integer(2) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(6, sql:Index("index", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Null), 6) → None ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x00"] -storage set mvcc:TxnWrite(6, sql:Index("index", "float", Float(3.14))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(3.14)), 6) → Integer(2) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(6, sql:Index("index", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", Null), 6) → None ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x00"] -storage set mvcc:TxnWrite(6, sql:Index("index", "string", String("abc"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04abc\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", String("abc")), 6) → Integer(2) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04abc\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(6, sql:Row("index", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(2)), 6) → Integer(2),Boolean(false),Integer(7),Float(3.14),String("abc") ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x15\x05\x02\x04\x01\x00\x02\x0e\x03\x1f\x85\xebQ\xb8\x1e\t@\x04\x03abc"] -storage delete mvcc:TxnWrite(6, sql:Index("index", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(6, sql:Index("index", "bool", Boolean(false))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(6, sql:Index("index", "float", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(6, sql:Index("index", "float", Float(3.14))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] -storage delete mvcc:TxnWrite(6, sql:Index("index", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(6, sql:Index("index", "int", Integer(7))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] -storage delete mvcc:TxnWrite(6, sql:Index("index", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(6, sql:Index("index", "string", String("abc"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04abc\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(6, sql:Row("index", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage set mvcc:TxnWrite(6, sql:Index(index.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, NULL), 6) → None ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x00"] +storage set mvcc:TxnWrite(6, sql:Index(index.bool, FALSE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, FALSE), 6) → 2 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(6, sql:Index(index.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, NULL), 6) → None ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x00"] +storage set mvcc:TxnWrite(6, sql:Index(index.int, 7)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, 7), 6) → 2 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(6, sql:Index(index.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, NULL), 6) → None ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x00"] +storage set mvcc:TxnWrite(6, sql:Index(index.float, 3.14)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, 3.14), 6) → 2 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(6, sql:Index(index.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, NULL), 6) → None ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x00"] +storage set mvcc:TxnWrite(6, sql:Index(index.string, "abc")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04abc\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, "abc"), 6) → 2 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04abc\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(6, sql:Row(index, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 2), 6) → 2,FALSE,7,3.14,"abc" ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06" → "\x01\x15\x05\x02\x04\x01\x00\x02\x0e\x03\x1f\x85\xebQ\xb8\x1e\t@\x04\x03abc"] +storage delete mvcc:TxnWrite(6, sql:Index(index.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(6, sql:Index(index.bool, FALSE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(6, sql:Index(index.float, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(6, sql:Index(index.float, 3.14)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] +storage delete mvcc:TxnWrite(6, sql:Index(index.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(6, sql:Index(index.int, 7)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] +storage delete mvcc:TxnWrite(6, sql:Index(index.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(6, sql:Index(index.string, "abc")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04abc\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(6, sql:Row(index, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x06\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] storage delete mvcc:TxnActive(6) ["\x01\x00\x00\x00\x00\x00\x00\x00\x06"] > SELECT * FROM "index" @@ -106,41 +106,41 @@ storage delete mvcc:TxnActive(6) ["\x01\x00\x00\x00\x00\x00\x00\x00\x06"] --- storage set mvcc:NextVersion → 8 ["\x00" → "\x08"] storage set mvcc:TxnActive(7) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x07" → ""] -storage set mvcc:TxnWrite(7, sql:Index("index", "int", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Integer(1)), 7) → None ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x00"] -storage set mvcc:TxnWrite(7, sql:Index("index", "int", Integer(7))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Integer(7)), 7) → Integer(1),Integer(2) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x05\x02\x02\x02\x02\x04"] -storage set mvcc:TxnWrite(7, sql:Index("index", "float", Float(2.718))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(2.718)), 7) → None ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x00"] -storage set mvcc:TxnWrite(7, sql:Index("index", "float", Float(3.14))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(3.14)), 7) → Integer(1),Integer(2) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x05\x02\x02\x02\x02\x04"] -storage set mvcc:TxnWrite(7, sql:Index("index", "string", String("bar"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", String("bar")), 7) → None ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x00"] -storage set mvcc:TxnWrite(7, sql:Index("index", "string", String("foo"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", String("foo")), 7) → Integer(1) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(7, sql:Row("index", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(1)), 7) → Integer(1),Boolean(true),Integer(7),Float(3.14),String("foo") ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x15\x05\x02\x02\x01\x01\x02\x0e\x03\x1f\x85\xebQ\xb8\x1e\t@\x04\x03foo"] -storage set mvcc:TxnWrite(7, sql:Index("index", "bool", Boolean(false))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Boolean(false)), 7) → None ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x00"] -storage set mvcc:TxnWrite(7, sql:Index("index", "bool", Boolean(true))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Boolean(true)), 7) → Integer(1),Integer(2) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x05\x02\x02\x02\x02\x04"] -storage set mvcc:TxnWrite(7, sql:Index("index", "string", String("abc"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04abc\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", String("abc")), 7) → None ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04abc\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x00"] -storage set mvcc:TxnWrite(7, sql:Index("index", "string", String("foo"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", String("foo")), 7) → Integer(1),Integer(2) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x05\x02\x02\x02\x02\x04"] -storage set mvcc:TxnWrite(7, sql:Row("index", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(2)), 7) → Integer(2),Boolean(true),Integer(7),Float(3.14),String("foo") ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x15\x05\x02\x04\x01\x01\x02\x0e\x03\x1f\x85\xebQ\xb8\x1e\t@\x04\x03foo"] -storage delete mvcc:TxnWrite(7, sql:Index("index", "bool", Boolean(false))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Index("index", "bool", Boolean(true))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Index("index", "float", Float(2.718))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Index("index", "float", Float(3.14))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Index("index", "int", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Index("index", "int", Integer(7))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Index("index", "string", String("abc"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04abc\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Index("index", "string", String("bar"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Index("index", "string", String("foo"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Row("index", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(7, sql:Row("index", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage set mvcc:TxnWrite(7, sql:Index(index.int, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, 1), 7) → None ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x00"] +storage set mvcc:TxnWrite(7, sql:Index(index.int, 7)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, 7), 7) → 1,2 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x05\x02\x02\x02\x02\x04"] +storage set mvcc:TxnWrite(7, sql:Index(index.float, 2.718)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, 2.718), 7) → None ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x00"] +storage set mvcc:TxnWrite(7, sql:Index(index.float, 3.14)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, 3.14), 7) → 1,2 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x05\x02\x02\x02\x02\x04"] +storage set mvcc:TxnWrite(7, sql:Index(index.string, "bar")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, "bar"), 7) → None ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x00"] +storage set mvcc:TxnWrite(7, sql:Index(index.string, "foo")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, "foo"), 7) → 1 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(7, sql:Row(index, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 1), 7) → 1,TRUE,7,3.14,"foo" ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x15\x05\x02\x02\x01\x01\x02\x0e\x03\x1f\x85\xebQ\xb8\x1e\t@\x04\x03foo"] +storage set mvcc:TxnWrite(7, sql:Index(index.bool, FALSE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, FALSE), 7) → None ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x00"] +storage set mvcc:TxnWrite(7, sql:Index(index.bool, TRUE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, TRUE), 7) → 1,2 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x05\x02\x02\x02\x02\x04"] +storage set mvcc:TxnWrite(7, sql:Index(index.string, "abc")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04abc\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, "abc"), 7) → None ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04abc\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x00"] +storage set mvcc:TxnWrite(7, sql:Index(index.string, "foo")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, "foo"), 7) → 1,2 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x05\x02\x02\x02\x02\x04"] +storage set mvcc:TxnWrite(7, sql:Row(index, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 2), 7) → 2,TRUE,7,3.14,"foo" ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07" → "\x01\x15\x05\x02\x04\x01\x01\x02\x0e\x03\x1f\x85\xebQ\xb8\x1e\t@\x04\x03foo"] +storage delete mvcc:TxnWrite(7, sql:Index(index.bool, FALSE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Index(index.bool, TRUE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Index(index.float, 2.718)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Index(index.float, 3.14)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Index(index.int, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Index(index.int, 7)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Index(index.string, "abc")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04abc\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Index(index.string, "bar")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04bar\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Index(index.string, "foo")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Row(index, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(7, sql:Row(index, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x07\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] storage delete mvcc:TxnActive(7) ["\x01\x00\x00\x00\x00\x00\x00\x00\x07"] > SELECT * FROM "index" @@ -153,52 +153,52 @@ storage delete mvcc:TxnActive(7) ["\x01\x00\x00\x00\x00\x00\x00\x00\x07"] --- storage set mvcc:NextVersion → 9 ["\x00" → "\t"] storage set mvcc:TxnActive(8) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x08" → ""] -storage set mvcc:TxnWrite(8, sql:Index("index", "bool", Boolean(true))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Boolean(true)), 8) → Integer(2) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(8, sql:Index("index", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Null), 8) → Integer(1) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(8, sql:Index("index", "int", Integer(7))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Integer(7)), 8) → Integer(2) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(8, sql:Index("index", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Null), 8) → Integer(1) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(8, sql:Index("index", "float", Float(3.14))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(3.14)), 8) → Integer(2) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(8, sql:Index("index", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Null), 8) → Integer(1) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(8, sql:Index("index", "string", String("foo"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", String("foo")), 8) → Integer(2) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(8, sql:Index("index", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", Null), 8) → Integer(1) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(8, sql:Row("index", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(1)), 8) → Integer(1),Null,Null,Null,Null ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x07\x05\x02\x02\x00\x00\x00\x00"] -storage set mvcc:TxnWrite(8, sql:Index("index", "bool", Boolean(true))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Boolean(true)), 8) → None ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -storage set mvcc:TxnWrite(8, sql:Index("index", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "bool", Null), 8) → Integer(1),Integer(2) ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x05\x02\x02\x02\x02\x04"] -storage set mvcc:TxnWrite(8, sql:Index("index", "int", Integer(7))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Integer(7)), 8) → None ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -storage set mvcc:TxnWrite(8, sql:Index("index", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "int", Null), 8) → Integer(1),Integer(2) ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x05\x02\x02\x02\x02\x04"] -storage set mvcc:TxnWrite(8, sql:Index("index", "float", Float(3.14))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Float(3.14)), 8) → None ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -storage set mvcc:TxnWrite(8, sql:Index("index", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "float", Null), 8) → Integer(1),Integer(2) ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x05\x02\x02\x02\x02\x04"] -storage set mvcc:TxnWrite(8, sql:Index("index", "string", String("foo"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", String("foo")), 8) → None ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] -storage set mvcc:TxnWrite(8, sql:Index("index", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("index", "string", Null), 8) → Integer(1),Integer(2) ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x05\x02\x02\x02\x02\x04"] -storage set mvcc:TxnWrite(8, sql:Row("index", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("index", Integer(2)), 8) → Integer(2),Null,Null,Null,Null ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x07\x05\x02\x04\x00\x00\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("index", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("index", "bool", Boolean(true))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("index", "float", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("index", "float", Float(3.14))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("index", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("index", "int", Integer(7))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("index", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Index("index", "string", String("foo"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Row("index", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(8, sql:Row("index", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage set mvcc:TxnWrite(8, sql:Index(index.bool, TRUE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, TRUE), 8) → 2 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(8, sql:Index(index.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, NULL), 8) → 1 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(8, sql:Index(index.int, 7)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, 7), 8) → 2 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(8, sql:Index(index.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, NULL), 8) → 1 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(8, sql:Index(index.float, 3.14)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, 3.14), 8) → 2 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(8, sql:Index(index.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, NULL), 8) → 1 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(8, sql:Index(index.string, "foo")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, "foo"), 8) → 2 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(8, sql:Index(index.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, NULL), 8) → 1 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(8, sql:Row(index, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 1), 8) → 1,NULL,NULL,NULL,NULL ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x07\x05\x02\x02\x00\x00\x00\x00"] +storage set mvcc:TxnWrite(8, sql:Index(index.bool, TRUE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, TRUE), 8) → None ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +storage set mvcc:TxnWrite(8, sql:Index(index.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.bool, NULL), 8) → 1,2 ["\x04\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x05\x02\x02\x02\x02\x04"] +storage set mvcc:TxnWrite(8, sql:Index(index.int, 7)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, 7), 8) → None ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +storage set mvcc:TxnWrite(8, sql:Index(index.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.int, NULL), 8) → 1,2 ["\x04\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x05\x02\x02\x02\x02\x04"] +storage set mvcc:TxnWrite(8, sql:Index(index.float, 3.14)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, 3.14), 8) → None ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +storage set mvcc:TxnWrite(8, sql:Index(index.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.float, NULL), 8) → 1,2 ["\x04\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x05\x02\x02\x02\x02\x04"] +storage set mvcc:TxnWrite(8, sql:Index(index.string, "foo")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, "foo"), 8) → None ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x00"] +storage set mvcc:TxnWrite(8, sql:Index(index.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(index.string, NULL), 8) → 1,2 ["\x04\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x05\x02\x02\x02\x02\x04"] +storage set mvcc:TxnWrite(8, sql:Row(index, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(index, 2), 8) → 2,NULL,NULL,NULL,NULL ["\x04\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08" → "\x01\x07\x05\x02\x04\x00\x00\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(index.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(index.bool, TRUE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(index.float, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(index.float, 3.14)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(index.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(index.int, 7)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x07\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(index.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Index(index.string, "foo")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x01index\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Row(index, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(8, sql:Row(index, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x08\x02index\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] storage delete mvcc:TxnActive(8) ["\x01\x00\x00\x00\x00\x00\x00\x00\x08"] > SELECT * FROM "index" diff --git a/src/sql/testscripts/writes/update_reference b/src/sql/testscripts/writes/update_reference index 81d0b27ef..7388c2aed 100644 --- a/src/sql/testscripts/writes/update_reference +++ b/src/sql/testscripts/writes/update_reference @@ -29,33 +29,33 @@ ok --- storage set mvcc:NextVersion → 12 ["\x00" → "\x0c"] storage set mvcc:TxnActive(11) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x0b" → ""] -storage set mvcc:TxnWrite(11, sql:Index("name", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "bool", Null), 11) → None ["\x04\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x00"] -storage set mvcc:TxnWrite(11, sql:Index("name", "bool", Boolean(true))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "bool", Boolean(true)), 11) → Integer(1) ["\x04\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(11, sql:Index("name", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "int", Null), 11) → None ["\x04\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x00"] -storage set mvcc:TxnWrite(11, sql:Index("name", "int", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "int", Integer(1)), 11) → Integer(1) ["\x04\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(11, sql:Index("name", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "float", Null), 11) → None ["\x04\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x00"] -storage set mvcc:TxnWrite(11, sql:Index("name", "float", Float(3.14))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "float", Float(3.14)), 11) → Integer(1) ["\x04\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(11, sql:Index("name", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "string", Null), 11) → None ["\x04\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x00"] -storage set mvcc:TxnWrite(11, sql:Index("name", "string", String("foo"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("name", "string", String("foo")), 11) → Integer(1) ["\x04\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(11, sql:Row("name", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("name", Integer(1)), 11) → Integer(1),Boolean(true),Integer(1),Float(3.14),String("foo") ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x15\x05\x02\x02\x01\x01\x02\x02\x03\x1f\x85\xebQ\xb8\x1e\t@\x04\x03foo"] -storage delete mvcc:TxnWrite(11, sql:Index("name", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Index("name", "bool", Boolean(true))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Index("name", "float", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Index("name", "float", Float(3.14))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Index("name", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Index("name", "int", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Index("name", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Index("name", "string", String("foo"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(11, sql:Row("name", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage set mvcc:TxnWrite(11, sql:Index(name.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.bool, NULL), 11) → None ["\x04\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x00"] +storage set mvcc:TxnWrite(11, sql:Index(name.bool, TRUE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.bool, TRUE), 11) → 1 ["\x04\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(11, sql:Index(name.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.int, NULL), 11) → None ["\x04\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x00"] +storage set mvcc:TxnWrite(11, sql:Index(name.int, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.int, 1), 11) → 1 ["\x04\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(11, sql:Index(name.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.float, NULL), 11) → None ["\x04\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x00"] +storage set mvcc:TxnWrite(11, sql:Index(name.float, 3.14)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.float, 3.14), 11) → 1 ["\x04\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(11, sql:Index(name.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.string, NULL), 11) → None ["\x04\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x00"] +storage set mvcc:TxnWrite(11, sql:Index(name.string, "foo")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(name.string, "foo"), 11) → 1 ["\x04\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(11, sql:Row(name, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(name, 1), 11) → 1,TRUE,1,3.14,"foo" ["\x04\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b" → "\x01\x15\x05\x02\x02\x01\x01\x02\x02\x03\x1f\x85\xebQ\xb8\x1e\t@\x04\x03foo"] +storage delete mvcc:TxnWrite(11, sql:Index(name.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Index(name.bool, TRUE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Index(name.float, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Index(name.float, 3.14)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Index(name.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Index(name.int, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Index(name.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Index(name.string, "foo")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x01name\x00\xff\x00\xffstring\x00\xff\x00\xff\x04foo\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(11, sql:Row(name, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0b\x02name\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] storage delete mvcc:TxnActive(11) ["\x01\x00\x00\x00\x00\x00\x00\x00\x0b"] # UPDATEs error on missing references. @@ -113,45 +113,45 @@ ok --- storage set mvcc:NextVersion → 25 ["\x00" → "\x19"] storage set mvcc:TxnActive(24) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x18" → ""] -storage set mvcc:TxnWrite(24, sql:Index("self", "self_id", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("self", "self_id", Null), 24) → Integer(2),Integer(3) ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18" → "\x01\x05\x02\x02\x04\x02\x06"] -storage set mvcc:TxnWrite(24, sql:Index("self", "self_id", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("self", "self_id", Integer(1)), 24) → Integer(1) ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(24, sql:Row("self", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("self", Integer(1)), 24) → Integer(1),Integer(1) ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18" → "\x01\x05\x02\x02\x02\x02\x02"] -storage delete mvcc:TxnWrite(24, sql:Index("self", "self_id", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(24, sql:Index("self", "self_id", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(24, sql:Row("self", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage set mvcc:TxnWrite(24, sql:Index(self.self_id, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(self.self_id, NULL), 24) → 2,3 ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18" → "\x01\x05\x02\x02\x04\x02\x06"] +storage set mvcc:TxnWrite(24, sql:Index(self.self_id, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(self.self_id, 1), 24) → 1 ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(24, sql:Row(self, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(self, 1), 24) → 1,1 ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18" → "\x01\x05\x02\x02\x02\x02\x02"] +storage delete mvcc:TxnWrite(24, sql:Index(self.self_id, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(24, sql:Index(self.self_id, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(24, sql:Row(self, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x18\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] storage delete mvcc:TxnActive(24) ["\x01\x00\x00\x00\x00\x00\x00\x00\x18"] [ops]> UPDATE self SET self_id = 1 WHERE id = 2 --- storage set mvcc:NextVersion → 26 ["\x00" → "\x1a"] storage set mvcc:TxnActive(25) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x19" → ""] -storage set mvcc:TxnWrite(25, sql:Index("self", "self_id", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x19\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("self", "self_id", Null), 25) → Integer(3) ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19" → "\x01\x03\x01\x02\x06"] -storage set mvcc:TxnWrite(25, sql:Index("self", "self_id", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x19\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("self", "self_id", Integer(1)), 25) → Integer(1),Integer(2) ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19" → "\x01\x05\x02\x02\x02\x02\x04"] -storage set mvcc:TxnWrite(25, sql:Row("self", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x19\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("self", Integer(2)), 25) → Integer(2),Integer(1) ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19" → "\x01\x05\x02\x02\x04\x02\x02"] -storage delete mvcc:TxnWrite(25, sql:Index("self", "self_id", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x19\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(25, sql:Index("self", "self_id", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x19\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(25, sql:Row("self", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x19\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage set mvcc:TxnWrite(25, sql:Index(self.self_id, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x19\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(self.self_id, NULL), 25) → 3 ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19" → "\x01\x03\x01\x02\x06"] +storage set mvcc:TxnWrite(25, sql:Index(self.self_id, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x19\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(self.self_id, 1), 25) → 1,2 ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19" → "\x01\x05\x02\x02\x02\x02\x04"] +storage set mvcc:TxnWrite(25, sql:Row(self, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x19\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(self, 2), 25) → 2,1 ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x19" → "\x01\x05\x02\x02\x04\x02\x02"] +storage delete mvcc:TxnWrite(25, sql:Index(self.self_id, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x19\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(25, sql:Index(self.self_id, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x19\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(25, sql:Row(self, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x19\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] storage delete mvcc:TxnActive(25) ["\x01\x00\x00\x00\x00\x00\x00\x00\x19"] [ops]> UPDATE self SET self_id = 2 WHERE id = 3 --- storage set mvcc:NextVersion → 27 ["\x00" → "\x1b"] storage set mvcc:TxnActive(26) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x1a" → ""] -storage set mvcc:TxnWrite(26, sql:Index("self", "self_id", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x1a\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("self", "self_id", Null), 26) → None ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a" → "\x00"] -storage set mvcc:TxnWrite(26, sql:Index("self", "self_id", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x1a\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Index("self", "self_id", Integer(2)), 26) → Integer(3) ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a" → "\x01\x03\x01\x02\x06"] -storage set mvcc:TxnWrite(26, sql:Row("self", Integer(3))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x1a\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] -storage set mvcc:Version(sql:Row("self", Integer(3)), 26) → Integer(3),Integer(2) ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a" → "\x01\x05\x02\x02\x06\x02\x04"] -storage delete mvcc:TxnWrite(26, sql:Index("self", "self_id", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x1a\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(26, sql:Index("self", "self_id", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x1a\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] -storage delete mvcc:TxnWrite(26, sql:Row("self", Integer(3))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x1a\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] +storage set mvcc:TxnWrite(26, sql:Index(self.self_id, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x1a\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(self.self_id, NULL), 26) → None ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a" → "\x00"] +storage set mvcc:TxnWrite(26, sql:Index(self.self_id, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x1a\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Index(self.self_id, 2), 26) → 3 ["\x04\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a" → "\x01\x03\x01\x02\x06"] +storage set mvcc:TxnWrite(26, sql:Row(self, 3)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x1a\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00" → ""] +storage set mvcc:Version(sql:Row(self, 3), 26) → 3,2 ["\x04\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a" → "\x01\x05\x02\x02\x06\x02\x04"] +storage delete mvcc:TxnWrite(26, sql:Index(self.self_id, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x1a\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(26, sql:Index(self.self_id, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x1a\x01self\x00\xff\x00\xffself_id\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage delete mvcc:TxnWrite(26, sql:Row(self, 3)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x1a\x02self\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x03\x00\x00"] storage delete mvcc:TxnActive(26) ["\x01\x00\x00\x00\x00\x00\x00\x00\x1a"] # Breaking the reference isn't. diff --git a/src/sql/testscripts/writes/update_unique b/src/sql/testscripts/writes/update_unique index dcbfc17df..fb40d1da8 100644 --- a/src/sql/testscripts/writes/update_unique +++ b/src/sql/testscripts/writes/update_unique @@ -19,33 +19,33 @@ ok --- storage set mvcc:NextVersion → 5 ["\x00" → "\x05"] storage set mvcc:TxnActive(4) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x04" → ""] -storage set mvcc:TxnWrite(4, sql:Index("unique", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "bool", Null), 4) → None ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x00"] -storage set mvcc:TxnWrite(4, sql:Index("unique", "bool", Boolean(true))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "bool", Boolean(true)), 4) → Integer(2) ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(4, sql:Index("unique", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "int", Null), 4) → None ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x00"] -storage set mvcc:TxnWrite(4, sql:Index("unique", "int", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "int", Integer(2)), 4) → Integer(2) ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(4, sql:Index("unique", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Null), 4) → None ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x00"] -storage set mvcc:TxnWrite(4, sql:Index("unique", "float", Float(2.718))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Float(2.718)), 4) → Integer(2) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(4, sql:Index("unique", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", Null), 4) → None ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x00"] -storage set mvcc:TxnWrite(4, sql:Index("unique", "string", String("b"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", String("b")), 4) → Integer(2) ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(4, sql:Row("unique", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(2)), 4) → Integer(2),Boolean(true),Integer(2),Float(2.718),String("b") ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x13\x05\x02\x04\x01\x01\x02\x04\x03X9\xb4\xc8v\xbe\x05@\x04\x01b"] -storage delete mvcc:TxnWrite(4, sql:Index("unique", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(4, sql:Index("unique", "bool", Boolean(true))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] -storage delete mvcc:TxnWrite(4, sql:Index("unique", "float", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(4, sql:Index("unique", "float", Float(2.718))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00"] -storage delete mvcc:TxnWrite(4, sql:Index("unique", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(4, sql:Index("unique", "int", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] -storage delete mvcc:TxnWrite(4, sql:Index("unique", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(4, sql:Index("unique", "string", String("b"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(4, sql:Row("unique", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage set mvcc:TxnWrite(4, sql:Index(unique.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.bool, NULL), 4) → None ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x00"] +storage set mvcc:TxnWrite(4, sql:Index(unique.bool, TRUE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.bool, TRUE), 4) → 2 ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(4, sql:Index(unique.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.int, NULL), 4) → None ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x00"] +storage set mvcc:TxnWrite(4, sql:Index(unique.int, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.int, 2), 4) → 2 ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(4, sql:Index(unique.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, NULL), 4) → None ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x00"] +storage set mvcc:TxnWrite(4, sql:Index(unique.float, 2.718)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, 2.718), 4) → 2 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(4, sql:Index(unique.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, NULL), 4) → None ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x00"] +storage set mvcc:TxnWrite(4, sql:Index(unique.string, "b")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, "b"), 4) → 2 ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(4, sql:Row(unique, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 2), 4) → 2,TRUE,2,2.718,"b" ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04" → "\x01\x13\x05\x02\x04\x01\x01\x02\x04\x03X9\xb4\xc8v\xbe\x05@\x04\x01b"] +storage delete mvcc:TxnWrite(4, sql:Index(unique.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(4, sql:Index(unique.bool, TRUE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] +storage delete mvcc:TxnWrite(4, sql:Index(unique.float, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(4, sql:Index(unique.float, 2.718)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00"] +storage delete mvcc:TxnWrite(4, sql:Index(unique.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(4, sql:Index(unique.int, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage delete mvcc:TxnWrite(4, sql:Index(unique.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(4, sql:Index(unique.string, "b")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(4, sql:Row(unique, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] storage delete mvcc:TxnActive(4) ["\x01\x00\x00\x00\x00\x00\x00\x00\x04"] # An update that violates the unique constraint fails. @@ -75,56 +75,56 @@ Error: invalid input: value abc already in unique column string --- storage set mvcc:NextVersion → 14 ["\x00" → "\x0e"] storage set mvcc:TxnActive(13) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\r" → ""] -storage set mvcc:TxnWrite(13, sql:Index("unique", "bool", Boolean(false))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "bool", Boolean(false)), 13) → None ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] -storage set mvcc:TxnWrite(13, sql:Index("unique", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "bool", Null), 13) → Integer(1) ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(13, sql:Index("unique", "int", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "int", Integer(1)), 13) → None ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] -storage set mvcc:TxnWrite(13, sql:Index("unique", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "int", Null), 13) → Integer(1) ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(13, sql:Index("unique", "float", Float(3.14))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Float(3.14)), 13) → None ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] -storage set mvcc:TxnWrite(13, sql:Index("unique", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Null), 13) → Integer(1) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(13, sql:Index("unique", "string", String("a"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04a\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", String("a")), 13) → None ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04a\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] -storage set mvcc:TxnWrite(13, sql:Index("unique", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", Null), 13) → Integer(1) ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(13, sql:Row("unique", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(1)), 13) → Integer(1),Null,Null,Null,Null ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x07\x05\x02\x02\x00\x00\x00\x00"] -storage set mvcc:TxnWrite(13, sql:Index("unique", "bool", Boolean(true))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "bool", Boolean(true)), 13) → None ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] -storage set mvcc:TxnWrite(13, sql:Index("unique", "bool", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "bool", Null), 13) → Integer(1),Integer(2) ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x05\x02\x02\x02\x02\x04"] -storage set mvcc:TxnWrite(13, sql:Index("unique", "int", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "int", Integer(2)), 13) → None ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] -storage set mvcc:TxnWrite(13, sql:Index("unique", "int", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "int", Null), 13) → Integer(1),Integer(2) ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x05\x02\x02\x02\x02\x04"] -storage set mvcc:TxnWrite(13, sql:Index("unique", "float", Float(2.718))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Float(2.718)), 13) → None ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] -storage set mvcc:TxnWrite(13, sql:Index("unique", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Null), 13) → Integer(1),Integer(2) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x05\x02\x02\x02\x02\x04"] -storage set mvcc:TxnWrite(13, sql:Index("unique", "string", String("b"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", String("b")), 13) → None ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] -storage set mvcc:TxnWrite(13, sql:Index("unique", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", Null), 13) → Integer(1),Integer(2) ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x05\x02\x02\x02\x02\x04"] -storage set mvcc:TxnWrite(13, sql:Row("unique", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(2)), 13) → Integer(2),Null,Null,Null,Null ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x07\x05\x02\x04\x00\x00\x00\x00"] -storage delete mvcc:TxnWrite(13, sql:Index("unique", "bool", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(13, sql:Index("unique", "bool", Boolean(false))) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(13, sql:Index("unique", "bool", Boolean(true))) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] -storage delete mvcc:TxnWrite(13, sql:Index("unique", "float", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(13, sql:Index("unique", "float", Float(2.718))) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00"] -storage delete mvcc:TxnWrite(13, sql:Index("unique", "float", Float(3.14))) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] -storage delete mvcc:TxnWrite(13, sql:Index("unique", "int", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(13, sql:Index("unique", "int", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(13, sql:Index("unique", "int", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] -storage delete mvcc:TxnWrite(13, sql:Index("unique", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(13, sql:Index("unique", "string", String("a"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04a\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(13, sql:Index("unique", "string", String("b"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(13, sql:Row("unique", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(13, sql:Row("unique", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage set mvcc:TxnWrite(13, sql:Index(unique.bool, FALSE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.bool, FALSE), 13) → None ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] +storage set mvcc:TxnWrite(13, sql:Index(unique.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.bool, NULL), 13) → 1 ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(13, sql:Index(unique.int, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.int, 1), 13) → None ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] +storage set mvcc:TxnWrite(13, sql:Index(unique.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.int, NULL), 13) → 1 ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(13, sql:Index(unique.float, 3.14)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, 3.14), 13) → None ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] +storage set mvcc:TxnWrite(13, sql:Index(unique.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, NULL), 13) → 1 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(13, sql:Index(unique.string, "a")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04a\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, "a"), 13) → None ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04a\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] +storage set mvcc:TxnWrite(13, sql:Index(unique.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, NULL), 13) → 1 ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(13, sql:Row(unique, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 1), 13) → 1,NULL,NULL,NULL,NULL ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x07\x05\x02\x02\x00\x00\x00\x00"] +storage set mvcc:TxnWrite(13, sql:Index(unique.bool, TRUE)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.bool, TRUE), 13) → None ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] +storage set mvcc:TxnWrite(13, sql:Index(unique.bool, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.bool, NULL), 13) → 1,2 ["\x04\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x05\x02\x02\x02\x02\x04"] +storage set mvcc:TxnWrite(13, sql:Index(unique.int, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.int, 2), 13) → None ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] +storage set mvcc:TxnWrite(13, sql:Index(unique.int, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.int, NULL), 13) → 1,2 ["\x04\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x05\x02\x02\x02\x02\x04"] +storage set mvcc:TxnWrite(13, sql:Index(unique.float, 2.718)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, 2.718), 13) → None ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] +storage set mvcc:TxnWrite(13, sql:Index(unique.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, NULL), 13) → 1,2 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x05\x02\x02\x02\x02\x04"] +storage set mvcc:TxnWrite(13, sql:Index(unique.string, "b")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, "b"), 13) → None ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x00"] +storage set mvcc:TxnWrite(13, sql:Index(unique.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, NULL), 13) → 1,2 ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x05\x02\x02\x02\x02\x04"] +storage set mvcc:TxnWrite(13, sql:Row(unique, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 2), 13) → 2,NULL,NULL,NULL,NULL ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\r" → "\x01\x07\x05\x02\x04\x00\x00\x00\x00"] +storage delete mvcc:TxnWrite(13, sql:Index(unique.bool, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(13, sql:Index(unique.bool, FALSE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(13, sql:Index(unique.bool, TRUE)) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffbool\x00\xff\x00\xff\x01\x01\x00\x00"] +storage delete mvcc:TxnWrite(13, sql:Index(unique.float, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(13, sql:Index(unique.float, 2.718)) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\x05\xbev\xc8\xb49X\x00\x00"] +storage delete mvcc:TxnWrite(13, sql:Index(unique.float, 3.14)) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xc0\t\x1e\xb8Q\xeb\x85\x1f\x00\x00"] +storage delete mvcc:TxnWrite(13, sql:Index(unique.int, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(13, sql:Index(unique.int, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(13, sql:Index(unique.int, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffint\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage delete mvcc:TxnWrite(13, sql:Index(unique.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(13, sql:Index(unique.string, "a")) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04a\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(13, sql:Index(unique.string, "b")) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04b\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(13, sql:Row(unique, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(13, sql:Row(unique, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\r\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] storage delete mvcc:TxnActive(13) ["\x01\x00\x00\x00\x00\x00\x00\x00\r"] > SELECT * FROM "unique" @@ -137,22 +137,22 @@ storage delete mvcc:TxnActive(13) ["\x01\x00\x00\x00\x00\x00\x00\x00\r"] --- storage set mvcc:NextVersion → 15 ["\x00" → "\x0f"] storage set mvcc:TxnActive(14) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x0e" → ""] -storage set mvcc:TxnWrite(14, sql:Index("unique", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Null), 14) → Integer(2) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(14, sql:Index("unique", "float", Float(NaN))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Float(NaN)), 14) → Integer(1) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(14, sql:Row("unique", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(1)), 14) → Integer(1),Null,Null,Float(NaN),Null ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x0f\x05\x02\x02\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf8\x7f\x00"] -storage set mvcc:TxnWrite(14, sql:Index("unique", "float", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Null), 14) → None ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] -storage set mvcc:TxnWrite(14, sql:Index("unique", "float", Float(NaN))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Float(NaN)), 14) → Integer(1),Integer(2) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x05\x02\x02\x02\x02\x04"] -storage set mvcc:TxnWrite(14, sql:Row("unique", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(2)), 14) → Integer(2),Null,Null,Float(NaN),Null ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x0f\x05\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf8\x7f\x00"] -storage delete mvcc:TxnWrite(14, sql:Index("unique", "float", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(14, sql:Index("unique", "float", Float(NaN))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(14, sql:Row("unique", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] -storage delete mvcc:TxnWrite(14, sql:Row("unique", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage set mvcc:TxnWrite(14, sql:Index(unique.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, NULL), 14) → 2 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(14, sql:Index(unique.float, NaN)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, NaN), 14) → 1 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(14, sql:Row(unique, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 1), 14) → 1,NULL,NULL,NaN,NULL ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x0f\x05\x02\x02\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf8\x7f\x00"] +storage set mvcc:TxnWrite(14, sql:Index(unique.float, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, NULL), 14) → None ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x00"] +storage set mvcc:TxnWrite(14, sql:Index(unique.float, NaN)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, NaN), 14) → 1,2 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x05\x02\x02\x02\x02\x04"] +storage set mvcc:TxnWrite(14, sql:Row(unique, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 2), 14) → 2,NULL,NULL,NaN,NULL ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e" → "\x01\x0f\x05\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf8\x7f\x00"] +storage delete mvcc:TxnWrite(14, sql:Index(unique.float, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(14, sql:Index(unique.float, NaN)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(14, sql:Row(unique, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage delete mvcc:TxnWrite(14, sql:Row(unique, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0e\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] storage delete mvcc:TxnActive(14) ["\x01\x00\x00\x00\x00\x00\x00\x00\x0e"] > SELECT * FROM "unique" @@ -166,15 +166,15 @@ storage delete mvcc:TxnActive(14) ["\x01\x00\x00\x00\x00\x00\x00\x00\x0e"] --- storage set mvcc:NextVersion → 16 ["\x00" → "\x10"] storage set mvcc:TxnActive(15) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x0f" → ""] -storage set mvcc:TxnWrite(15, sql:Index("unique", "float", Float(NaN))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Float(NaN)), 15) → Integer(2) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(15, sql:Index("unique", "float", Float(0.0))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Float(0.0)), 15) → Integer(1) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(15, sql:Row("unique", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(1)), 15) → Integer(1),Null,Null,Float(0.0),Null ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x01\x0f\x05\x02\x02\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"] -storage delete mvcc:TxnWrite(15, sql:Index("unique", "float", Float(0.0))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(15, sql:Index("unique", "float", Float(NaN))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(15, sql:Row("unique", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage set mvcc:TxnWrite(15, sql:Index(unique.float, NaN)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, NaN), 15) → 2 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(15, sql:Index(unique.float, 0)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, 0), 15) → 1 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(15, sql:Row(unique, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 1), 15) → 1,NULL,NULL,0,NULL ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f" → "\x01\x0f\x05\x02\x02\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"] +storage delete mvcc:TxnWrite(15, sql:Index(unique.float, 0)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(15, sql:Index(unique.float, NaN)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(15, sql:Row(unique, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x0f\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] storage delete mvcc:TxnActive(15) ["\x01\x00\x00\x00\x00\x00\x00\x00\x0f"] Error: invalid input: value 0 already in unique column float @@ -189,27 +189,27 @@ Error: invalid input: value 0 already in unique column float --- storage set mvcc:NextVersion → 18 ["\x00" → "\x12"] storage set mvcc:TxnActive(17) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x11" → ""] -storage set mvcc:TxnWrite(17, sql:Index("unique", "float", Float(0.0))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x11\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Float(0.0)), 17) → None ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11" → "\x00"] -storage set mvcc:TxnWrite(17, sql:Index("unique", "float", Float(inf))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x11\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Float(inf)), 17) → Integer(1) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(17, sql:Row("unique", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x11\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(1)), 17) → Integer(1),Null,Null,Float(inf),Null ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11" → "\x01\x0f\x05\x02\x02\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\x7f\x00"] -storage delete mvcc:TxnWrite(17, sql:Index("unique", "float", Float(0.0))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x11\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(17, sql:Index("unique", "float", Float(inf))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x11\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(17, sql:Row("unique", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x11\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage set mvcc:TxnWrite(17, sql:Index(unique.float, 0)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x11\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, 0), 17) → None ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11" → "\x00"] +storage set mvcc:TxnWrite(17, sql:Index(unique.float, inf)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x11\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, inf), 17) → 1 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(17, sql:Row(unique, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x11\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 1), 17) → 1,NULL,NULL,inf,NULL ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11" → "\x01\x0f\x05\x02\x02\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\x7f\x00"] +storage delete mvcc:TxnWrite(17, sql:Index(unique.float, 0)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x11\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(17, sql:Index(unique.float, inf)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x11\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf0\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(17, sql:Row(unique, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x11\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] storage delete mvcc:TxnActive(17) ["\x01\x00\x00\x00\x00\x00\x00\x00\x11"] storage set mvcc:NextVersion → 19 ["\x00" → "\x13"] storage set mvcc:TxnActive(18) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x12" → ""] -storage set mvcc:TxnWrite(18, sql:Index("unique", "float", Float(NaN))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Float(NaN)), 18) → None ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x00"] -storage set mvcc:TxnWrite(18, sql:Index("unique", "float", Float(-inf))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "float", Float(-inf)), 18) → Integer(2) ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(18, sql:Row("unique", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(2)), 18) → Integer(2),Null,Null,Float(-inf),Null ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\x0f\x05\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\xff\x00"] -storage delete mvcc:TxnWrite(18, sql:Index("unique", "float", Float(-inf))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00"] -storage delete mvcc:TxnWrite(18, sql:Index("unique", "float", Float(NaN))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(18, sql:Row("unique", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage set mvcc:TxnWrite(18, sql:Index(unique.float, NaN)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, NaN), 18) → None ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x00"] +storage set mvcc:TxnWrite(18, sql:Index(unique.float, -inf)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.float, -inf), 18) → 2 ["\x04\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(18, sql:Row(unique, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 2), 18) → 2,NULL,NULL,-inf,NULL ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12" → "\x01\x0f\x05\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\xff\x00"] +storage delete mvcc:TxnWrite(18, sql:Index(unique.float, -inf)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\x00\xff\x0f\xff\xff\xff\xff\xff\xff\x00\x00"] +storage delete mvcc:TxnWrite(18, sql:Index(unique.float, NaN)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x01unique\x00\xff\x00\xfffloat\x00\xff\x00\xff\x03\xff\xf8\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(18, sql:Row(unique, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x12\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] storage delete mvcc:TxnActive(18) ["\x01\x00\x00\x00\x00\x00\x00\x00\x12"] > SELECT * FROM "unique" @@ -233,27 +233,27 @@ Error: invalid input: value already in unique column string --- storage set mvcc:NextVersion → 23 ["\x00" → "\x17"] storage set mvcc:TxnActive(22) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x16" → ""] -storage set mvcc:TxnWrite(22, sql:Index("unique", "string", String(""))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", String("")), 22) → None ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16" → "\x00"] -storage set mvcc:TxnWrite(22, sql:Index("unique", "string", String("case"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", String("case")), 22) → Integer(1) ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16" → "\x01\x03\x01\x02\x02"] -storage set mvcc:TxnWrite(22, sql:Row("unique", Integer(1))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(1)), 22) → Integer(1),Null,Null,Float(inf),String("case") ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16" → "\x01\x14\x05\x02\x02\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\x7f\x04\x04case"] -storage delete mvcc:TxnWrite(22, sql:Index("unique", "string", String(""))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(22, sql:Index("unique", "string", String("case"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(22, sql:Row("unique", Integer(1))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] +storage set mvcc:TxnWrite(22, sql:Index(unique.string, "")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, ""), 22) → None ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16" → "\x00"] +storage set mvcc:TxnWrite(22, sql:Index(unique.string, "case")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, "case"), 22) → 1 ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16" → "\x01\x03\x01\x02\x02"] +storage set mvcc:TxnWrite(22, sql:Row(unique, 1)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 1), 22) → 1,NULL,NULL,inf,"case" ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16" → "\x01\x14\x05\x02\x02\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\x7f\x04\x04case"] +storage delete mvcc:TxnWrite(22, sql:Index(unique.string, "")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(22, sql:Index(unique.string, "case")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04case\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(22, sql:Row(unique, 1)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x16\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x01\x00\x00"] storage delete mvcc:TxnActive(22) ["\x01\x00\x00\x00\x00\x00\x00\x00\x16"] storage set mvcc:NextVersion → 24 ["\x00" → "\x18"] storage set mvcc:TxnActive(23) → "" ["\x01\x00\x00\x00\x00\x00\x00\x00\x17" → ""] -storage set mvcc:TxnWrite(23, sql:Index("unique", "string", Null)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", Null), 23) → None ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17" → "\x00"] -storage set mvcc:TxnWrite(23, sql:Index("unique", "string", String("CaSe"))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00" → ""] -storage set mvcc:Version(sql:Index("unique", "string", String("CaSe")), 23) → Integer(2) ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17" → "\x01\x03\x01\x02\x04"] -storage set mvcc:TxnWrite(23, sql:Row("unique", Integer(2))) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] -storage set mvcc:Version(sql:Row("unique", Integer(2)), 23) → Integer(2),Null,Null,Float(-inf),String("CaSe") ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17" → "\x01\x14\x05\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\xff\x04\x04CaSe"] -storage delete mvcc:TxnWrite(23, sql:Index("unique", "string", Null)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(23, sql:Index("unique", "string", String("CaSe"))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00"] -storage delete mvcc:TxnWrite(23, sql:Row("unique", Integer(2))) ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] +storage set mvcc:TxnWrite(23, sql:Index(unique.string, NULL)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, NULL), 23) → None ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17" → "\x00"] +storage set mvcc:TxnWrite(23, sql:Index(unique.string, "CaSe")) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00" → ""] +storage set mvcc:Version(sql:Index(unique.string, "CaSe"), 23) → 2 ["\x04\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17" → "\x01\x03\x01\x02\x04"] +storage set mvcc:TxnWrite(23, sql:Row(unique, 2)) → "" ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00" → ""] +storage set mvcc:Version(sql:Row(unique, 2), 23) → 2,NULL,NULL,-inf,"CaSe" ["\x04\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17" → "\x01\x14\x05\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\xf0\xff\x04\x04CaSe"] +storage delete mvcc:TxnWrite(23, sql:Index(unique.string, NULL)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(23, sql:Index(unique.string, "CaSe")) ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x01unique\x00\xff\x00\xffstring\x00\xff\x00\xff\x04CaSe\x00\xff\x00\xff\x00\x00"] +storage delete mvcc:TxnWrite(23, sql:Row(unique, 2)) ["\x03\x00\x00\x00\x00\x00\x00\x00\x17\x02unique\x00\xff\x00\xff\x02\x80\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x00\xff\x02\x00\x00"] storage delete mvcc:TxnActive(23) ["\x01\x00\x00\x00\x00\x00\x00\x00\x17"] > SELECT * FROM "unique"