refactor(orm)!: refactor hooks into validate and write hooks (#11185)

* refactor(orm)!: refactor hooks into validate and write hooks

* impl and tests

* docs

* update mock hooks and tests

Co-authored-by: Marko <marbar3778@yahoo.com>
This commit is contained in:
Aaron Craelius
2022-02-25 14:54:44 +01:00
committed by GitHub
co-authored by Marko
parent c686634819
commit 57b46134a9
15 changed files with 393 additions and 147 deletions
+8 -4
View File
@@ -4,7 +4,7 @@ GET 03808002
SEQ testpb.ExampleAutoIncrementTable 0
GET 03000001
PK testpb.ExampleAutoIncrementTable 1 -> {"id":1}
ORM INSERT testpb.ExampleAutoIncrementTable {"id":1,"x":"foo","y":5}
ORM BEFORE INSERT testpb.ExampleAutoIncrementTable {"id":1,"x":"foo","y":5}
HAS 0301666f6f
ERR:EOF
SET 03000001 1203666f6f1805
@@ -13,11 +13,12 @@ SET 03808002 01
SEQ testpb.ExampleAutoIncrementTable 1
SET 0301666f6f 0001
UNIQ testpb.ExampleAutoIncrementTable x : foo -> 1
ORM AFTER INSERT testpb.ExampleAutoIncrementTable {"id":1,"x":"foo","y":5}
GET 03808002 01
SEQ testpb.ExampleAutoIncrementTable 1
GET 03000002
PK testpb.ExampleAutoIncrementTable 2 -> {"id":2}
ORM INSERT testpb.ExampleAutoIncrementTable {"id":2,"x":"bar","y":10}
ORM BEFORE INSERT testpb.ExampleAutoIncrementTable {"id":2,"x":"bar","y":10}
HAS 0301626172
ERR:EOF
SET 03000002 1203626172180a
@@ -26,6 +27,7 @@ SET 03808002 02
SEQ testpb.ExampleAutoIncrementTable 2
SET 0301626172 0002
UNIQ testpb.ExampleAutoIncrementTable x : bar -> 2
ORM AFTER INSERT testpb.ExampleAutoIncrementTable {"id":2,"x":"bar","y":10}
GET 03808002 02
SEQ testpb.ExampleAutoIncrementTable 2
ITERATOR 0300 -> 0301
@@ -54,18 +56,20 @@ ITERATOR 0300 -> 0301
VALID false
GET 03000001 1203666f6f1805
PK testpb.ExampleAutoIncrementTable 1 -> {"id":1,"x":"foo","y":5}
ORM DELETE testpb.ExampleAutoIncrementTable {"id":1,"x":"foo","y":5}
ORM BEFORE DELETE testpb.ExampleAutoIncrementTable {"id":1,"x":"foo","y":5}
DEL 03000001
DEL PK testpb.ExampleAutoIncrementTable 1 -> {"id":1}
DEL 0301666f6f
DEL ERR:EOF
ORM AFTER DELETE testpb.ExampleAutoIncrementTable {"id":1,"x":"foo","y":5}
GET 03000002 1203626172180a
PK testpb.ExampleAutoIncrementTable 2 -> {"id":2,"x":"bar","y":10}
ORM DELETE testpb.ExampleAutoIncrementTable {"id":2,"x":"bar","y":10}
ORM BEFORE DELETE testpb.ExampleAutoIncrementTable {"id":2,"x":"bar","y":10}
DEL 03000002
DEL PK testpb.ExampleAutoIncrementTable 2 -> {"id":2}
DEL 0301626172
DEL ERR:EOF
ORM AFTER DELETE testpb.ExampleAutoIncrementTable {"id":2,"x":"bar","y":10}
GET 03808002 02
SEQ testpb.ExampleAutoIncrementTable 2
ITERATOR 0300 -> 0301
+50 -25
View File
@@ -1,6 +1,6 @@
GET 010000047ffffffffffffffe616263
PK testpb.ExampleTable 4/-2/abc -> {"u32":4,"str":"abc","i64":-2}
ORM INSERT testpb.ExampleTable {"u32":4,"u64":7,"str":"abc","i64":-2}
ORM BEFORE INSERT testpb.ExampleTable {"u32":4,"u64":7,"str":"abc","i64":-2}
HAS 01010007616263
ERR:EOF
SET 010000047ffffffffffffffe616263 1007
@@ -11,6 +11,7 @@ SET 01026162630000047ffffffffffffffe
IDX testpb.ExampleTable str/u32/i64 : abc/4/-2 -> 4/-2/abc
SET 0103006162630000047ffffffffffffffe
IDX testpb.ExampleTable bz/str/u32/i64 : []/abc/4/-2 -> 4/-2/abc
ORM AFTER INSERT testpb.ExampleTable {"u32":4,"u64":7,"str":"abc","i64":-2}
ITERATOR 0100 -> 0101
VALID true
KEY 010000047ffffffffffffffe616263 1007
@@ -19,7 +20,7 @@ ITERATOR 0100 -> 0101
VALID false
GET 010000047ffffffffffffffe616264
PK testpb.ExampleTable 4/-2/abd -> {"u32":4,"str":"abd","i64":-2}
ORM INSERT testpb.ExampleTable {"u32":4,"u64":7,"str":"abd","i64":-2}
ORM BEFORE INSERT testpb.ExampleTable {"u32":4,"u64":7,"str":"abd","i64":-2}
HAS 01010007616264
ERR:EOF
SET 010000047ffffffffffffffe616264 1007
@@ -30,6 +31,7 @@ SET 01026162640000047ffffffffffffffe
IDX testpb.ExampleTable str/u32/i64 : abd/4/-2 -> 4/-2/abd
SET 0103006162640000047ffffffffffffffe
IDX testpb.ExampleTable bz/str/u32/i64 : []/abd/4/-2 -> 4/-2/abd
ORM AFTER INSERT testpb.ExampleTable {"u32":4,"u64":7,"str":"abd","i64":-2}
ITERATOR 0100 -> 0101
VALID true
KEY 010000047ffffffffffffffe616263 1007
@@ -42,7 +44,7 @@ ITERATOR 0100 -> 0101
VALID false
GET 010000047fffffffffffffff616263
PK testpb.ExampleTable 4/-1/abc -> {"u32":4,"str":"abc","i64":-1}
ORM INSERT testpb.ExampleTable {"u32":4,"u64":8,"str":"abc","i64":-1}
ORM BEFORE INSERT testpb.ExampleTable {"u32":4,"u64":8,"str":"abc","i64":-1}
HAS 01010008616263
ERR:EOF
SET 010000047fffffffffffffff616263 1008
@@ -53,9 +55,10 @@ SET 01026162630000047fffffffffffffff
IDX testpb.ExampleTable str/u32/i64 : abc/4/-1 -> 4/-1/abc
SET 0103006162630000047fffffffffffffff
IDX testpb.ExampleTable bz/str/u32/i64 : []/abc/4/-1 -> 4/-1/abc
ORM AFTER INSERT testpb.ExampleTable {"u32":4,"u64":8,"str":"abc","i64":-1}
GET 010000057ffffffffffffffe616264
PK testpb.ExampleTable 5/-2/abd -> {"u32":5,"str":"abd","i64":-2}
ORM INSERT testpb.ExampleTable {"u32":5,"u64":8,"str":"abd","i64":-2}
ORM BEFORE INSERT testpb.ExampleTable {"u32":5,"u64":8,"str":"abd","i64":-2}
HAS 01010008616264
ERR:EOF
SET 010000057ffffffffffffffe616264 1008
@@ -66,9 +69,10 @@ SET 01026162640000057ffffffffffffffe
IDX testpb.ExampleTable str/u32/i64 : abd/5/-2 -> 5/-2/abd
SET 0103006162640000057ffffffffffffffe
IDX testpb.ExampleTable bz/str/u32/i64 : []/abd/5/-2 -> 5/-2/abd
ORM AFTER INSERT testpb.ExampleTable {"u32":5,"u64":8,"str":"abd","i64":-2}
GET 010000057ffffffffffffffe616265
PK testpb.ExampleTable 5/-2/abe -> {"u32":5,"str":"abe","i64":-2}
ORM INSERT testpb.ExampleTable {"u32":5,"u64":9,"str":"abe","i64":-2}
ORM BEFORE INSERT testpb.ExampleTable {"u32":5,"u64":9,"str":"abe","i64":-2}
HAS 01010009616265
ERR:EOF
SET 010000057ffffffffffffffe616265 1009
@@ -79,9 +83,10 @@ SET 01026162650000057ffffffffffffffe
IDX testpb.ExampleTable str/u32/i64 : abe/5/-2 -> 5/-2/abe
SET 0103006162650000057ffffffffffffffe
IDX testpb.ExampleTable bz/str/u32/i64 : []/abe/5/-2 -> 5/-2/abe
ORM AFTER INSERT testpb.ExampleTable {"u32":5,"u64":9,"str":"abe","i64":-2}
GET 010000077ffffffffffffffe616265
PK testpb.ExampleTable 7/-2/abe -> {"u32":7,"str":"abe","i64":-2}
ORM INSERT testpb.ExampleTable {"u32":7,"u64":10,"str":"abe","i64":-2}
ORM BEFORE INSERT testpb.ExampleTable {"u32":7,"u64":10,"str":"abe","i64":-2}
HAS 0101000a616265
ERR:EOF
SET 010000077ffffffffffffffe616265 100a
@@ -92,9 +97,10 @@ SET 01026162650000077ffffffffffffffe
IDX testpb.ExampleTable str/u32/i64 : abe/7/-2 -> 7/-2/abe
SET 0103006162650000077ffffffffffffffe
IDX testpb.ExampleTable bz/str/u32/i64 : []/abe/7/-2 -> 7/-2/abe
ORM AFTER INSERT testpb.ExampleTable {"u32":7,"u64":10,"str":"abe","i64":-2}
GET 010000077fffffffffffffff616265
PK testpb.ExampleTable 7/-1/abe -> {"u32":7,"str":"abe","i64":-1}
ORM INSERT testpb.ExampleTable {"u32":7,"u64":11,"str":"abe","i64":-1}
ORM BEFORE INSERT testpb.ExampleTable {"u32":7,"u64":11,"str":"abe","i64":-1}
HAS 0101000b616265
ERR:EOF
SET 010000077fffffffffffffff616265 100b
@@ -105,9 +111,10 @@ SET 01026162650000077fffffffffffffff
IDX testpb.ExampleTable str/u32/i64 : abe/7/-1 -> 7/-1/abe
SET 0103006162650000077fffffffffffffff
IDX testpb.ExampleTable bz/str/u32/i64 : []/abe/7/-1 -> 7/-1/abe
ORM AFTER INSERT testpb.ExampleTable {"u32":7,"u64":11,"str":"abe","i64":-1}
GET 010000087ffffffffffffffc616263
PK testpb.ExampleTable 8/-4/abc -> {"u32":8,"str":"abc","i64":-4}
ORM INSERT testpb.ExampleTable {"u32":8,"u64":11,"str":"abc","i64":-4}
ORM BEFORE INSERT testpb.ExampleTable {"u32":8,"u64":11,"str":"abc","i64":-4}
HAS 0101000b616263
ERR:EOF
SET 010000087ffffffffffffffc616263 100b
@@ -118,9 +125,10 @@ SET 01026162630000087ffffffffffffffc
IDX testpb.ExampleTable str/u32/i64 : abc/8/-4 -> 8/-4/abc
SET 0103006162630000087ffffffffffffffc
IDX testpb.ExampleTable bz/str/u32/i64 : []/abc/8/-4 -> 8/-4/abc
ORM AFTER INSERT testpb.ExampleTable {"u32":8,"u64":11,"str":"abc","i64":-4}
GET 010000088000000000000001616263
PK testpb.ExampleTable 8/1/abc -> {"u32":8,"str":"abc","i64":1}
ORM INSERT testpb.ExampleTable {"u32":8,"u64":12,"str":"abc","i64":1}
ORM BEFORE INSERT testpb.ExampleTable {"u32":8,"u64":12,"str":"abc","i64":1}
HAS 0101000c616263
ERR:EOF
SET 010000088000000000000001616263 100c
@@ -131,9 +139,10 @@ SET 01026162630000088000000000000001
IDX testpb.ExampleTable str/u32/i64 : abc/8/1 -> 8/1/abc
SET 0103006162630000088000000000000001
IDX testpb.ExampleTable bz/str/u32/i64 : []/abc/8/1 -> 8/1/abc
ORM AFTER INSERT testpb.ExampleTable {"u32":8,"u64":12,"str":"abc","i64":1}
GET 010000088000000000000001616264
PK testpb.ExampleTable 8/1/abd -> {"u32":8,"str":"abd","i64":1}
ORM INSERT testpb.ExampleTable {"u32":8,"u64":10,"str":"abd","i64":1}
ORM BEFORE INSERT testpb.ExampleTable {"u32":8,"u64":10,"str":"abd","i64":1}
HAS 0101000a616264
ERR:EOF
SET 010000088000000000000001616264 100a
@@ -144,6 +153,7 @@ SET 01026162640000088000000000000001
IDX testpb.ExampleTable str/u32/i64 : abd/8/1 -> 8/1/abd
SET 0103006162640000088000000000000001
IDX testpb.ExampleTable bz/str/u32/i64 : []/abd/8/1 -> 8/1/abd
ORM AFTER INSERT testpb.ExampleTable {"u32":8,"u64":10,"str":"abd","i64":1}
ITERATOR 01000008 -> 01000009
VALID true
KEY 010000087ffffffffffffffc616263 100b
@@ -614,7 +624,7 @@ ITERATOR 0100 -> 0101
VALID false
GET 010000047ffffffffffffffe616263 1007
PK testpb.ExampleTable 4/-2/abc -> {"u32":4,"u64":7,"str":"abc","i64":-2}
ORM UPDATE testpb.ExampleTable {"u32":4,"u64":7,"str":"abc","i64":-2} -> {"u32":4,"u64":14,"str":"abc","bz":"abc","i64":-2}
ORM BEFORE UPDATE testpb.ExampleTable {"u32":4,"u64":7,"str":"abc","i64":-2} -> {"u32":4,"u64":14,"str":"abc","bz":"abc","i64":-2}
HAS 0101000e616263
ERR:EOF
SET 010000047ffffffffffffffe616263 100e2203616263
@@ -627,9 +637,10 @@ DEL 0103006162630000047ffffffffffffffe
DEL IDX testpb.ExampleTable bz/str/u32/i64 : []/abc/4/-2 -> 4/-2/abc
SET 0103036162636162630000047ffffffffffffffe
IDX testpb.ExampleTable bz/str/u32/i64 : [97 98 99]/abc/4/-2 -> 4/-2/abc
ORM AFTER UPDATE testpb.ExampleTable {"u32":4,"u64":7,"str":"abc","i64":-2} -> {"u32":4,"u64":14,"str":"abc","bz":"abc","i64":-2}
GET 010000047ffffffffffffffe616264 1007
PK testpb.ExampleTable 4/-2/abd -> {"u32":4,"u64":7,"str":"abd","i64":-2}
ORM UPDATE testpb.ExampleTable {"u32":4,"u64":7,"str":"abd","i64":-2} -> {"u32":4,"u64":14,"str":"abd","bz":"abd","i64":-2}
ORM BEFORE UPDATE testpb.ExampleTable {"u32":4,"u64":7,"str":"abd","i64":-2} -> {"u32":4,"u64":14,"str":"abd","bz":"abd","i64":-2}
HAS 0101000e616264
ERR:EOF
SET 010000047ffffffffffffffe616264 100e2203616264
@@ -642,9 +653,10 @@ DEL 0103006162640000047ffffffffffffffe
DEL IDX testpb.ExampleTable bz/str/u32/i64 : []/abd/4/-2 -> 4/-2/abd
SET 0103036162646162640000047ffffffffffffffe
IDX testpb.ExampleTable bz/str/u32/i64 : [97 98 100]/abd/4/-2 -> 4/-2/abd
ORM AFTER UPDATE testpb.ExampleTable {"u32":4,"u64":7,"str":"abd","i64":-2} -> {"u32":4,"u64":14,"str":"abd","bz":"abd","i64":-2}
GET 010000047fffffffffffffff616263 1008
PK testpb.ExampleTable 4/-1/abc -> {"u32":4,"u64":8,"str":"abc","i64":-1}
ORM UPDATE testpb.ExampleTable {"u32":4,"u64":8,"str":"abc","i64":-1} -> {"u32":4,"u64":16,"str":"abc","bz":"abc","i64":-1}
ORM BEFORE UPDATE testpb.ExampleTable {"u32":4,"u64":8,"str":"abc","i64":-1} -> {"u32":4,"u64":16,"str":"abc","bz":"abc","i64":-1}
HAS 01010010616263
ERR:EOF
SET 010000047fffffffffffffff616263 10102203616263
@@ -657,9 +669,10 @@ DEL 0103006162630000047fffffffffffffff
DEL IDX testpb.ExampleTable bz/str/u32/i64 : []/abc/4/-1 -> 4/-1/abc
SET 0103036162636162630000047fffffffffffffff
IDX testpb.ExampleTable bz/str/u32/i64 : [97 98 99]/abc/4/-1 -> 4/-1/abc
ORM AFTER UPDATE testpb.ExampleTable {"u32":4,"u64":8,"str":"abc","i64":-1} -> {"u32":4,"u64":16,"str":"abc","bz":"abc","i64":-1}
GET 010000057ffffffffffffffe616264 1008
PK testpb.ExampleTable 5/-2/abd -> {"u32":5,"u64":8,"str":"abd","i64":-2}
ORM UPDATE testpb.ExampleTable {"u32":5,"u64":8,"str":"abd","i64":-2} -> {"u32":5,"u64":16,"str":"abd","bz":"abd","i64":-2}
ORM BEFORE UPDATE testpb.ExampleTable {"u32":5,"u64":8,"str":"abd","i64":-2} -> {"u32":5,"u64":16,"str":"abd","bz":"abd","i64":-2}
HAS 01010010616264
ERR:EOF
SET 010000057ffffffffffffffe616264 10102203616264
@@ -672,9 +685,10 @@ DEL 0103006162640000057ffffffffffffffe
DEL IDX testpb.ExampleTable bz/str/u32/i64 : []/abd/5/-2 -> 5/-2/abd
SET 0103036162646162640000057ffffffffffffffe
IDX testpb.ExampleTable bz/str/u32/i64 : [97 98 100]/abd/5/-2 -> 5/-2/abd
ORM AFTER UPDATE testpb.ExampleTable {"u32":5,"u64":8,"str":"abd","i64":-2} -> {"u32":5,"u64":16,"str":"abd","bz":"abd","i64":-2}
GET 010000057ffffffffffffffe616265 1009
PK testpb.ExampleTable 5/-2/abe -> {"u32":5,"u64":9,"str":"abe","i64":-2}
ORM UPDATE testpb.ExampleTable {"u32":5,"u64":9,"str":"abe","i64":-2} -> {"u32":5,"u64":18,"str":"abe","bz":"abe","i64":-2}
ORM BEFORE UPDATE testpb.ExampleTable {"u32":5,"u64":9,"str":"abe","i64":-2} -> {"u32":5,"u64":18,"str":"abe","bz":"abe","i64":-2}
HAS 01010012616265
ERR:EOF
SET 010000057ffffffffffffffe616265 10122203616265
@@ -687,6 +701,7 @@ DEL 0103006162650000057ffffffffffffffe
DEL IDX testpb.ExampleTable bz/str/u32/i64 : []/abe/5/-2 -> 5/-2/abe
SET 0103036162656162650000057ffffffffffffffe
IDX testpb.ExampleTable bz/str/u32/i64 : [97 98 101]/abe/5/-2 -> 5/-2/abe
ORM AFTER UPDATE testpb.ExampleTable {"u32":5,"u64":9,"str":"abe","i64":-2} -> {"u32":5,"u64":18,"str":"abe","bz":"abe","i64":-2}
ITERATOR 0100 -> 0101
VALID true
KEY 010000047ffffffffffffffe616263 100e2203616263
@@ -731,7 +746,7 @@ ITERATOR 0100 -> 0101
VALID false
GET 010000098000000000000000
PK testpb.ExampleTable 9/0/ -> {"u32":9}
ORM INSERT testpb.ExampleTable {"u32":9}
ORM BEFORE INSERT testpb.ExampleTable {"u32":9}
HAS 01010000
ERR:EOF
SET 010000098000000000000000
@@ -742,13 +757,15 @@ SET 01020000098000000000000000
IDX testpb.ExampleTable str/u32/i64 : /9/0 -> 9/0/
SET 0103000000098000000000000000
IDX testpb.ExampleTable bz/str/u32/i64 : []//9/0 -> 9/0/
ORM AFTER INSERT testpb.ExampleTable {"u32":9}
GET 010000098000000000000000
PK testpb.ExampleTable 9/0/ -> {"u32":9}
GET 010000098000000000000000
PK testpb.ExampleTable 9/0/ -> {"u32":9}
ORM UPDATE testpb.ExampleTable {"u32":9} -> {"u32":9,"b":true}
ORM BEFORE UPDATE testpb.ExampleTable {"u32":9} -> {"u32":9,"b":true}
SET 010000098000000000000000 7801
PK testpb.ExampleTable 9/0/ -> {"u32":9,"b":true}
ORM AFTER UPDATE testpb.ExampleTable {"u32":9} -> {"u32":9,"b":true}
GET 010000098000000000000000 7801
PK testpb.ExampleTable 9/0/ -> {"u32":9,"b":true}
ITERATOR 0100 -> 0101
@@ -913,7 +930,7 @@ ITERATOR 0100 -> 0101
VALID false
GET 010000077ffffffffffffffe616265 100a
PK testpb.ExampleTable 7/-2/abe -> {"u32":7,"u64":10,"str":"abe","i64":-2}
ORM DELETE testpb.ExampleTable {"u32":7,"u64":10,"str":"abe","i64":-2}
ORM BEFORE DELETE testpb.ExampleTable {"u32":7,"u64":10,"str":"abe","i64":-2}
DEL 010000077ffffffffffffffe616265
DEL PK testpb.ExampleTable 7/-2/abe -> {"u32":7,"str":"abe","i64":-2}
DEL 0101000a616265
@@ -922,6 +939,7 @@ DEL 01026162650000077ffffffffffffffe
DEL IDX testpb.ExampleTable str/u32/i64 : abe/7/-2 -> 7/-2/abe
DEL 0103006162650000077ffffffffffffffe
DEL IDX testpb.ExampleTable bz/str/u32/i64 : []/abe/7/-2 -> 7/-2/abe
ORM AFTER DELETE testpb.ExampleTable {"u32":7,"u64":10,"str":"abe","i64":-2}
HAS 010000077ffffffffffffffe616265
PK testpb.ExampleTable 7/-2/abe -> {"u32":7,"str":"abe","i64":-2}
ITERATOR 0100 -> 0101
@@ -992,21 +1010,21 @@ ITERATOR 010261626400 -> 010261626401
IDX testpb.ExampleTable str/u32/i64 : abd/4/-2 -> 4/-2/abd
GET 010000047ffffffffffffffe616264 100e2203616264
PK testpb.ExampleTable 4/-2/abd -> {"u32":4,"u64":14,"str":"abd","bz":"abd","i64":-2}
ORM DELETE testpb.ExampleTable {"u32":4,"u64":14,"str":"abd","bz":"abd","i64":-2}
ORM BEFORE DELETE testpb.ExampleTable {"u32":4,"u64":14,"str":"abd","bz":"abd","i64":-2}
NEXT
VALID true
KEY 01026162640000057ffffffffffffffe
IDX testpb.ExampleTable str/u32/i64 : abd/5/-2 -> 5/-2/abd
GET 010000057ffffffffffffffe616264 10102203616264
PK testpb.ExampleTable 5/-2/abd -> {"u32":5,"u64":16,"str":"abd","bz":"abd","i64":-2}
ORM DELETE testpb.ExampleTable {"u32":5,"u64":16,"str":"abd","bz":"abd","i64":-2}
ORM BEFORE DELETE testpb.ExampleTable {"u32":5,"u64":16,"str":"abd","bz":"abd","i64":-2}
NEXT
VALID true
KEY 01026162640000088000000000000001
IDX testpb.ExampleTable str/u32/i64 : abd/8/1 -> 8/1/abd
GET 010000088000000000000001616264 100a
PK testpb.ExampleTable 8/1/abd -> {"u32":8,"u64":10,"str":"abd","i64":1}
ORM DELETE testpb.ExampleTable {"u32":8,"u64":10,"str":"abd","i64":1}
ORM BEFORE DELETE testpb.ExampleTable {"u32":8,"u64":10,"str":"abd","i64":1}
NEXT
VALID false
CLOSE
@@ -1022,18 +1040,21 @@ DEL 01026162640000047ffffffffffffffe
DEL IDX testpb.ExampleTable str/u32/i64 : abd/4/-2 -> 4/-2/abd
DEL 0103036162646162640000047ffffffffffffffe
DEL IDX testpb.ExampleTable bz/str/u32/i64 : [97 98 100]/abd/4/-2 -> 4/-2/abd
ORM AFTER DELETE testpb.ExampleTable {"u32":4,"u64":14,"str":"abd","bz":"abd","i64":-2}
DEL 01010010616264
DEL ERR:EOF
DEL 01026162640000057ffffffffffffffe
DEL IDX testpb.ExampleTable str/u32/i64 : abd/5/-2 -> 5/-2/abd
DEL 0103036162646162640000057ffffffffffffffe
DEL IDX testpb.ExampleTable bz/str/u32/i64 : [97 98 100]/abd/5/-2 -> 5/-2/abd
ORM AFTER DELETE testpb.ExampleTable {"u32":5,"u64":16,"str":"abd","bz":"abd","i64":-2}
DEL 0101000a616264
DEL ERR:EOF
DEL 01026162640000088000000000000001
DEL IDX testpb.ExampleTable str/u32/i64 : abd/8/1 -> 8/1/abd
DEL 0103006162640000088000000000000001
DEL IDX testpb.ExampleTable bz/str/u32/i64 : []/abd/8/1 -> 8/1/abd
ORM AFTER DELETE testpb.ExampleTable {"u32":8,"u64":10,"str":"abd","i64":1}
ITERATOR 0100 -> 0101
VALID true
KEY 010000047ffffffffffffffe616263 100e2203616263
@@ -1070,21 +1091,21 @@ ITERATOR 0102616263000008 -> 0102616265000006
IDX testpb.ExampleTable str/u32/i64 : abc/8/-4 -> 8/-4/abc
GET 010000087ffffffffffffffc616263 100b
PK testpb.ExampleTable 8/-4/abc -> {"u32":8,"u64":11,"str":"abc","i64":-4}
ORM DELETE testpb.ExampleTable {"u32":8,"u64":11,"str":"abc","i64":-4}
ORM BEFORE DELETE testpb.ExampleTable {"u32":8,"u64":11,"str":"abc","i64":-4}
NEXT
VALID true
KEY 01026162630000088000000000000001
IDX testpb.ExampleTable str/u32/i64 : abc/8/1 -> 8/1/abc
GET 010000088000000000000001616263 100c
PK testpb.ExampleTable 8/1/abc -> {"u32":8,"u64":12,"str":"abc","i64":1}
ORM DELETE testpb.ExampleTable {"u32":8,"u64":12,"str":"abc","i64":1}
ORM BEFORE DELETE testpb.ExampleTable {"u32":8,"u64":12,"str":"abc","i64":1}
NEXT
VALID true
KEY 01026162650000057ffffffffffffffe
IDX testpb.ExampleTable str/u32/i64 : abe/5/-2 -> 5/-2/abe
GET 010000057ffffffffffffffe616265 10122203616265
PK testpb.ExampleTable 5/-2/abe -> {"u32":5,"u64":18,"str":"abe","bz":"abe","i64":-2}
ORM DELETE testpb.ExampleTable {"u32":5,"u64":18,"str":"abe","bz":"abe","i64":-2}
ORM BEFORE DELETE testpb.ExampleTable {"u32":5,"u64":18,"str":"abe","bz":"abe","i64":-2}
NEXT
VALID false
CLOSE
@@ -1100,18 +1121,21 @@ DEL 01026162630000087ffffffffffffffc
DEL IDX testpb.ExampleTable str/u32/i64 : abc/8/-4 -> 8/-4/abc
DEL 0103006162630000087ffffffffffffffc
DEL IDX testpb.ExampleTable bz/str/u32/i64 : []/abc/8/-4 -> 8/-4/abc
ORM AFTER DELETE testpb.ExampleTable {"u32":8,"u64":11,"str":"abc","i64":-4}
DEL 0101000c616263
DEL ERR:EOF
DEL 01026162630000088000000000000001
DEL IDX testpb.ExampleTable str/u32/i64 : abc/8/1 -> 8/1/abc
DEL 0103006162630000088000000000000001
DEL IDX testpb.ExampleTable bz/str/u32/i64 : []/abc/8/1 -> 8/1/abc
ORM AFTER DELETE testpb.ExampleTable {"u32":8,"u64":12,"str":"abc","i64":1}
DEL 01010012616265
DEL ERR:EOF
DEL 01026162650000057ffffffffffffffe
DEL IDX testpb.ExampleTable str/u32/i64 : abe/5/-2 -> 5/-2/abe
DEL 0103036162656162650000057ffffffffffffffe
DEL IDX testpb.ExampleTable bz/str/u32/i64 : [97 98 101]/abe/5/-2 -> 5/-2/abe
ORM AFTER DELETE testpb.ExampleTable {"u32":5,"u64":18,"str":"abe","bz":"abe","i64":-2}
ITERATOR 0100 -> 0101
VALID true
KEY 010000047ffffffffffffffe616263 100e2203616263
@@ -1132,7 +1156,7 @@ ITERATOR 0100 -> 0101
VALID false
GET 010000047ffffffffffffffe616263 100e2203616263
PK testpb.ExampleTable 4/-2/abc -> {"u32":4,"u64":14,"str":"abc","bz":"abc","i64":-2}
ORM DELETE testpb.ExampleTable {"u32":4,"u64":14,"str":"abc","bz":"abc","i64":-2}
ORM BEFORE DELETE testpb.ExampleTable {"u32":4,"u64":14,"str":"abc","bz":"abc","i64":-2}
DEL 010000047ffffffffffffffe616263
DEL PK testpb.ExampleTable 4/-2/abc -> {"u32":4,"str":"abc","i64":-2}
DEL 0101000e616263
@@ -1141,6 +1165,7 @@ DEL 01026162630000047ffffffffffffffe
DEL IDX testpb.ExampleTable str/u32/i64 : abc/4/-2 -> 4/-2/abc
DEL 0103036162636162630000047ffffffffffffffe
DEL IDX testpb.ExampleTable bz/str/u32/i64 : [97 98 99]/abc/4/-2 -> 4/-2/abc
ORM AFTER DELETE testpb.ExampleTable {"u32":4,"u64":14,"str":"abc","bz":"abc","i64":-2}
ITERATOR 0100 -> 0101
VALID true
KEY 010000047fffffffffffffff616263 10102203616263