@@ -472,7 +472,8 @@ inline void Node256::copyChildrenAndKeyFrom(const Node256 &other) {
|
|||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
std::string getSearchPathPrintable(Node *n);
|
std::string getSearchPathPrintable(Node *n);
|
||||||
}
|
std::string getSearchPath(Node *n);
|
||||||
|
} // namespace
|
||||||
|
|
||||||
// Bound memory usage following the analysis in the ART paper
|
// Bound memory usage following the analysis in the ART paper
|
||||||
|
|
||||||
@@ -1224,28 +1225,11 @@ Node *erase(Node *self, NodeAllocators *allocators, ConflictSet::Impl *impl,
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (self->getType()) {
|
assert(self->getType() == Type_Node0);
|
||||||
case Type_Node0:
|
allocators->node0.release((Node0 *)self);
|
||||||
allocators->node0.release((Node0 *)self);
|
|
||||||
break;
|
|
||||||
case Type_Node3:
|
|
||||||
allocators->node3.release((Node3 *)self);
|
|
||||||
break;
|
|
||||||
case Type_Node16:
|
|
||||||
allocators->node16.release((Node16 *)self);
|
|
||||||
break;
|
|
||||||
case Type_Node48:
|
|
||||||
allocators->node48.release((Node48 *)self);
|
|
||||||
break;
|
|
||||||
case Type_Node256:
|
|
||||||
allocators->node256.release((Node256 *)self);
|
|
||||||
break;
|
|
||||||
default: // GCOVR_EXCL_LINE
|
|
||||||
__builtin_unreachable(); // GCOVR_EXCL_LINE
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (parent->getType()) {
|
switch (parent->getType()) {
|
||||||
case Type_Node0:
|
case Type_Node0: // GCOVR_EXCL_LINE
|
||||||
__builtin_unreachable(); // GCOVR_EXCL_LINE
|
__builtin_unreachable(); // GCOVR_EXCL_LINE
|
||||||
case Type_Node3: {
|
case Type_Node3: {
|
||||||
auto *parent3 = static_cast<Node3 *>(parent);
|
auto *parent3 = static_cast<Node3 *>(parent);
|
||||||
@@ -2480,11 +2464,13 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
|
|||||||
assert(n != nullptr);
|
assert(n != nullptr);
|
||||||
// Don't erase the root
|
// Don't erase the root
|
||||||
if (n == root) {
|
if (n == root) {
|
||||||
n = nextLogical(n);
|
n = nextPhysical(n);
|
||||||
}
|
}
|
||||||
for (; keyUpdates > 0 && n != nullptr; --keyUpdates) {
|
for (; keyUpdates > 0 && n != nullptr; --keyUpdates) {
|
||||||
if (std::max(n->entry.pointVersion, n->entry.rangeVersion) <=
|
printf("len: %d, cap: %d, type: %d %s\n", n->partialKeyLen,
|
||||||
oldestVersion) {
|
n->getCapacity(), n->getType(), getSearchPath(n).c_str());
|
||||||
|
if (n->entryPresent && std::max(n->entry.pointVersion,
|
||||||
|
n->entry.rangeVersion) <= oldestVersion) {
|
||||||
// Any transaction n would have prevented from committing is
|
// Any transaction n would have prevented from committing is
|
||||||
// going to fail with TooOld anyway.
|
// going to fail with TooOld anyway.
|
||||||
|
|
||||||
@@ -2495,7 +2481,7 @@ struct __attribute__((visibility("hidden"))) ConflictSet::Impl {
|
|||||||
n = erase(n, &allocators, this, dummy);
|
n = erase(n, &allocators, this, dummy);
|
||||||
} else {
|
} else {
|
||||||
maybeDecreaseCapacity(n, &allocators, this);
|
maybeDecreaseCapacity(n, &allocators, this);
|
||||||
n = nextLogical(n);
|
n = nextPhysical(n);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (n == nullptr) {
|
if (n == nullptr) {
|
||||||
|
260
script_tests/256-256.txt
Normal file
260
script_tests/256-256.txt
Normal file
@@ -0,0 +1,260 @@
|
|||||||
|
|
||||||
|
; Create a node with a large partial key capacity
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
; Make it a Node256
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaA
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaB
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaC
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaD
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaE
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaF
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaG
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaH
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaI
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJ
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaK
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaL
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaM
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaN
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaO
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaP
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQ
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaR
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaS
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaT
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaU
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaV
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaW
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaX
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaY
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZ
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaad
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaai
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaj
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaak
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaam
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaan
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaao
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaap
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaq
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaat
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaau
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaav
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaw
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaax
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaay
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
; Lower its partial key length
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
version 2
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
; Create work for setoldest
|
||||||
|
|
||||||
|
begin x
|
||||||
|
end y
|
||||||
|
rangewrite
|
||||||
|
version 3
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 4
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 5
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 6
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 7
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 8
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 9
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 10
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 11
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 12
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 13
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 14
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 15
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 16
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 17
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 18
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 19
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 20
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 21
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 22
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 23
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
version 1
|
||||||
|
setoldest
|
145
script_tests/48-48.txt
Normal file
145
script_tests/48-48.txt
Normal file
@@ -0,0 +1,145 @@
|
|||||||
|
; Create a node with a large partial key capacity
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
; Make it a Node48
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaad
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaae
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaf
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaai
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaj
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaak
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaam
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaan
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaao
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaap
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaq
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
; Lower its partial key length
|
||||||
|
begin aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
version 2
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
; Create work for setoldest
|
||||||
|
|
||||||
|
begin x
|
||||||
|
end y
|
||||||
|
rangewrite
|
||||||
|
version 3
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 4
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 5
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 6
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 7
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 8
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 9
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 10
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 11
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 12
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 13
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 14
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 15
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 16
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 17
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 18
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 19
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 20
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
rangewrite
|
||||||
|
version 21
|
||||||
|
addwrites
|
||||||
|
|
||||||
|
version 1
|
||||||
|
setoldest
|
120
script_tests/downsize-256.txt
Normal file
120
script_tests/downsize-256.txt
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
begin
|
||||||
|
pointwrite
|
||||||
|
begin 0
|
||||||
|
pointwrite
|
||||||
|
begin 00
|
||||||
|
pointwrite
|
||||||
|
begin 00A
|
||||||
|
pointwrite
|
||||||
|
begin 00B
|
||||||
|
pointwrite
|
||||||
|
begin 00C
|
||||||
|
pointwrite
|
||||||
|
begin 00D
|
||||||
|
pointwrite
|
||||||
|
begin 00E
|
||||||
|
pointwrite
|
||||||
|
begin 00F
|
||||||
|
pointwrite
|
||||||
|
begin 00G
|
||||||
|
pointwrite
|
||||||
|
begin 00H
|
||||||
|
pointwrite
|
||||||
|
begin 00I
|
||||||
|
pointwrite
|
||||||
|
begin 00J
|
||||||
|
pointwrite
|
||||||
|
begin 00K
|
||||||
|
pointwrite
|
||||||
|
begin 00L
|
||||||
|
pointwrite
|
||||||
|
begin 00M
|
||||||
|
pointwrite
|
||||||
|
begin 00N
|
||||||
|
pointwrite
|
||||||
|
begin 00O
|
||||||
|
pointwrite
|
||||||
|
begin 00P
|
||||||
|
pointwrite
|
||||||
|
begin 00Q
|
||||||
|
pointwrite
|
||||||
|
begin 00R
|
||||||
|
pointwrite
|
||||||
|
begin 00S
|
||||||
|
pointwrite
|
||||||
|
begin 00T
|
||||||
|
pointwrite
|
||||||
|
begin 00U
|
||||||
|
pointwrite
|
||||||
|
begin 00V
|
||||||
|
pointwrite
|
||||||
|
begin 00W
|
||||||
|
pointwrite
|
||||||
|
begin 00X
|
||||||
|
pointwrite
|
||||||
|
begin 00Y
|
||||||
|
pointwrite
|
||||||
|
begin 00Z
|
||||||
|
pointwrite
|
||||||
|
begin 00a
|
||||||
|
pointwrite
|
||||||
|
begin 00b
|
||||||
|
pointwrite
|
||||||
|
begin 00c
|
||||||
|
pointwrite
|
||||||
|
begin 00d
|
||||||
|
pointwrite
|
||||||
|
begin 00e
|
||||||
|
pointwrite
|
||||||
|
begin 00f
|
||||||
|
pointwrite
|
||||||
|
begin 00g
|
||||||
|
pointwrite
|
||||||
|
begin 00h
|
||||||
|
pointwrite
|
||||||
|
begin 00i
|
||||||
|
pointwrite
|
||||||
|
begin 00j
|
||||||
|
pointwrite
|
||||||
|
begin 00k
|
||||||
|
pointwrite
|
||||||
|
begin 00l
|
||||||
|
pointwrite
|
||||||
|
begin 00m
|
||||||
|
pointwrite
|
||||||
|
begin 00n
|
||||||
|
pointwrite
|
||||||
|
begin 00o
|
||||||
|
pointwrite
|
||||||
|
begin 00p
|
||||||
|
pointwrite
|
||||||
|
begin 00q
|
||||||
|
pointwrite
|
||||||
|
begin 00r
|
||||||
|
pointwrite
|
||||||
|
begin 00s
|
||||||
|
pointwrite
|
||||||
|
begin 00t
|
||||||
|
pointwrite
|
||||||
|
begin 00u
|
||||||
|
pointwrite
|
||||||
|
begin 00v
|
||||||
|
pointwrite
|
||||||
|
begin 00w
|
||||||
|
pointwrite
|
||||||
|
begin 00x
|
||||||
|
pointwrite
|
||||||
|
begin 00y
|
||||||
|
pointwrite
|
||||||
|
begin 00z
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin 0
|
||||||
|
end 000
|
||||||
|
rangewrite
|
||||||
|
|
||||||
|
begin
|
||||||
|
end 00
|
||||||
|
rangewrite
|
||||||
|
|
||||||
|
addwrites
|
68
script_tests/downsize-48.txt
Normal file
68
script_tests/downsize-48.txt
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
begin
|
||||||
|
pointwrite
|
||||||
|
begin 0
|
||||||
|
pointwrite
|
||||||
|
begin 00
|
||||||
|
pointwrite
|
||||||
|
begin 00a
|
||||||
|
pointwrite
|
||||||
|
begin 00b
|
||||||
|
pointwrite
|
||||||
|
begin 00c
|
||||||
|
pointwrite
|
||||||
|
begin 00d
|
||||||
|
pointwrite
|
||||||
|
begin 00e
|
||||||
|
pointwrite
|
||||||
|
begin 00f
|
||||||
|
pointwrite
|
||||||
|
begin 00g
|
||||||
|
pointwrite
|
||||||
|
begin 00h
|
||||||
|
pointwrite
|
||||||
|
begin 00i
|
||||||
|
pointwrite
|
||||||
|
begin 00j
|
||||||
|
pointwrite
|
||||||
|
begin 00k
|
||||||
|
pointwrite
|
||||||
|
begin 00l
|
||||||
|
pointwrite
|
||||||
|
begin 00m
|
||||||
|
pointwrite
|
||||||
|
begin 00n
|
||||||
|
pointwrite
|
||||||
|
begin 00o
|
||||||
|
pointwrite
|
||||||
|
begin 00p
|
||||||
|
pointwrite
|
||||||
|
begin 00q
|
||||||
|
pointwrite
|
||||||
|
begin 00r
|
||||||
|
pointwrite
|
||||||
|
begin 00s
|
||||||
|
pointwrite
|
||||||
|
begin 00t
|
||||||
|
pointwrite
|
||||||
|
begin 00u
|
||||||
|
pointwrite
|
||||||
|
begin 00v
|
||||||
|
pointwrite
|
||||||
|
begin 00w
|
||||||
|
pointwrite
|
||||||
|
begin 00x
|
||||||
|
pointwrite
|
||||||
|
begin 00y
|
||||||
|
pointwrite
|
||||||
|
begin 00z
|
||||||
|
pointwrite
|
||||||
|
|
||||||
|
begin 0
|
||||||
|
end 000
|
||||||
|
rangewrite
|
||||||
|
|
||||||
|
begin
|
||||||
|
end 00
|
||||||
|
rangewrite
|
||||||
|
|
||||||
|
addwrites
|
Reference in New Issue
Block a user