Explain output shows the work that a call completed.
The example executes the names query with an explain record and reads its completed stages.
query_text holds this document:
TRON165 B
Offset (hex) Bytes (hex) Meaning 00 54 52 4F 4E magic TRON 04 5C 3F6E616D65 txt "?name" 0A 0E 0D 00 0100 010000
00 04000000 array leaf, size 13, shift 0, bitmap 0001, count 1 (root): @4 17 2C 3F65 txt "?e" 1A 4C 6E616D65 txt "name" 1F 5C 3F6E616D65 txt "?name" 25 0E 15 00 0700 030000
00 17000000 1A0000
00 1F000000 array leaf, size 21, shift 0, bitmap 0007, count 3 (root): @17 → @1A → @1F 3A 0E 0D 00 0100 010000
00 25000000 array leaf, size 13, shift 0, bitmap 0001, count 1 (root): @25 47 5C 3F6E616D65 txt "?name" 4D 0E 0D 00 0100 010000
00 47000000 array leaf, size 13, shift 0, bitmap 0001, count 1 (root): @47 5A 5C 7768657265 txt "where" 60 0F 0A 5A000000 3A00
0000 map leaf, size 10: @5A → @3A 6A 4C 66696E64 txt "find" 6F 0F 0A 6A000000 0A00
0000 map leaf, size 10: @6A → @A 79 7C 6F726465724279 txt "orderBy" 81 0F 0A 79000000 4D00
0000 map leaf, size 10: @79 → @4D 8B 07 12 2A000000 6000
0000 6F000000 8100
0000 map branch, size 18, depth 0 (root), slots 1, 3, 5: @60 → @6F → @81
python 198 B
explain = stardust .QueryExplain ()
async with (await stardust .parse (query_text , "tron" )) as definition , (await db .query (definition )) as query , (await query .run (explain = explain )):
result = explain
TRON1.1 kB
Offset (hex) Bytes (hex) Meaning 000 54 52 4F 4E magic TRON 004 BC 6172656E615F62
79746573 txt "arena_bytes" 010 02 90060000000000
00 i64 1680 019 0F 0A 04000000 1000
0000 map leaf, size 10: @4 → @10 023 3C 637075 txt "cpu" 027 02 34080000000000
00 i64 2100 030 0F 0A 23000000 2700
0000 map leaf, size 10: @23 → @27 03A 4C 77616C6C txt "wall" 03F 02 B6080000000000
00 i64 2230 048 0F 0A 3A000000 3F00
0000 map leaf, size 10: @3A → @3F 052 07 12 21800000 1900
0000 30000000 4800
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @19 → @30 → @48 064 BC 6172656E615F62
79746573 txt "arena_bytes" 070 02 00000000000000
00 i64 0 079 0F 0A 64000000 7000
0000 map leaf, size 10: @64 → @70 083 3C 637075 txt "cpu" 087 02 00000000000000
00 i64 0 090 0F 0A 83000000 8700
0000 map leaf, size 10: @83 → @87 09A 4C 77616C6C txt "wall" 09F 02 00000000000000
00 i64 0 0A8 0F 0A 9A000000 9F00
0000 map leaf, size 10: @9A → @9F 0B2 07 12 21800000 7900
0000 90000000 A800
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @79 → @90 → @A8 0C4 BC 6172656E615F62
79746573 txt "arena_bytes" 0D0 02 001D0000000000
00 i64 7424 0D9 0F 0A C4000000 D000
0000 map leaf, size 10: @C4 → @D0 0E3 3C 637075 txt "cpu" 0E7 02 1E230000000000
00 i64 8990 0F0 0F 0A E3000000 E700
0000 map leaf, size 10: @E3 → @E7 0FA 4C 77616C6C txt "wall" 0FF 02 3C230000000000
00 i64 9020 108 0F 0A FA000000 FF00
0000 map leaf, size 10: @FA → @FF 112 07 12 21800000 D900
0000 F0000000 0801
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @D9 → @F0 → @108 124 BC 6172656E615F62
79746573 txt "arena_bytes"
Show all 106 nodes Offset (hex) Bytes (hex) Meaning 130 02 90230000000000
00 i64 9104 139 0F 0A 24010000 3001
0000 map leaf, size 10: @124 → @130 143 3C 637075 txt "cpu" 147 02 842B0000000000
00 i64 11140 150 0F 0A 43010000 4701
0000 map leaf, size 10: @143 → @147 15A 4C 77616C6C txt "wall" 15F 02 2E2C0000000000
00 i64 11310 168 0F 0A 5A010000 5F01
0000 map leaf, size 10: @15A → @15F 172 07 12 21800000 3901
0000 50010000 6801
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @139 → @150 → @168 184 7C 65786563757465 txt "execute" 18C 02 00000000000000
00 i64 0 195 0F 0A 84010000 8C01
0000 map leaf, size 10: @184 → @18C 19F 4C 726F7773 txt "rows" 1A4 02 03000000000000
00 i64 3 1AD 0F 0A 9F010000 A401
0000 map leaf, size 10: @19F → @1A4 1B7 4C 706C616E txt "plan" 1BC 02 26020000000000
00 i64 550 1C5 0F 0A B7010000 BC01
0000 map leaf, size 10: @1B7 → @1BC 1CF 3C 72756E txt "run" 1D3 0F 0A CF010000 1201
0000 map leaf, size 10: @1CF → @112 1DD 07 12 01840000 AD01
0000 C5010000 D301
0000 map branch, size 18, depth 1, slots 0, 10, 15: @1AD → @1C5 → @1D3 1EF 5C 67726F7570 txt "group" 1F5 02 00000000000000
00 i64 0 1FE 0F 0A EF010000 F501
0000 map leaf, size 10: @1EF → @1F5 208 7C 636F6D70696C65 txt "compile" 210 02 9A010000000000
00 i64 410 219 0F 0A 08020000 1002
0000 map leaf, size 10: @208 → @210 223 AC 706172616D6574
657273 txt "parameters" 22E 0F 0A 23020000 B200
0000 map leaf, size 10: @223 → @B2 238 14 10 737461676573
5F636F6D706C6574
6564 txt "stages_completed" 24A 02 03000000000000
00 i64 3 253 0F 0A 38020000 4A02
0000 map leaf, size 10: @238 → @24A 25D 5C 6F72646572 txt "order" 263 02 00000000000000
00 i64 0 26C 0F 0A 5D020000 6302
0000 map leaf, size 10: @25D → @263 276 07 0E C0000000 5302
0000 6C020000 map branch, size 14, depth 1, slots 6, 7: @253 → @26C 284 EC 6172656E615F63
61706163697479 txt "arena_capacity" 293 02 00004000000000
00 i64 4194304 29C 0F 0A 84020000 9302
0000 map leaf, size 10: @284 → @293 2A6 14 11 627564676574
5F757365645F6279
746573 txt "budget_used_bytes" 2B9 02 D2270000000000
00 i64 10194 2C2 0F 0A A6020000 B902
0000 map leaf, size 10: @2A6 → @2B9 2CC 07 0E 24000000 9C02
0000 C2020000 map branch, size 14, depth 1, slots 2, 5: @29C → @2C2 2DA FC 6275646765745F
7265667573616C73 txt "budget_refusals" 2EA 02 00000000000000
00 i64 0 2F3 0F 0A DA020000 EA02
0000 map leaf, size 10: @2DA → @2EA 2FD 4C 776F726B txt "work" 302 02 F8160000000000
00 i64 5880 30B 0F 0A FD020000 0203
0000 map leaf, size 10: @2FD → @302 315 07 0E 88000000 F302
0000 0B030000 map branch, size 14, depth 1, slots 3, 7: @2F3 → @30B 323 FC 6D656D6F72795F
7265667573616C73 txt "memory_refusals" 333 02 00000000000000
00 i64 0 33C 0F 0A 23030000 3303
0000 map leaf, size 10: @323 → @333 346 CC 6275646765745F
6279746573 txt "budget_bytes" 353 02 00823E71020000
00 i64 10489856512 35C 0F 0A 46030000 5303
0000 map leaf, size 10: @346 → @353 366 5C 746F74616C txt "total" 36C 0F 0A 66030000 7201
0000 map leaf, size 10: @366 → @172 376 14 11 627564676574
5F7065616B5F6279
746573 txt "budget_peak_bytes" 389 02 542F0000000000
00 i64 12116 392 0F 0A 76030000 8903
0000 map leaf, size 10: @376 → @389 39C 07 16 13040000 3C03
0000 5C030000 6C03
0000 92030000 map branch, size 22, depth 1, slots 0, 1, 4, 10: @33C → @35C → @36C → @392 3B2 5C 7265747279 txt "retry" 3B8 02 00000000000000
00 i64 0 3C1 0F 0A B2030000 B803
0000 map leaf, size 10: @3B2 → @3B8 3CB 7C 72657472696573 txt "retries" 3D3 02 00000000000000
00 i64 0 3DC 0F 0A CB030000 D303
0000 map leaf, size 10: @3CB → @3D3 3E6 CC 6D656D6F72795F
6279746573 txt "memory_bytes" 3F3 02 6B170000000000
00 i64 5995 3FC 0F 0A E6030000 F303
0000 map leaf, size 10: @3E6 → @3F3 406 FC 6C6F61645F6465
66696E6974696F6E txt "load_definition" 416 0F 0A 06040000 5200
0000 map leaf, size 10: @406 → @52 420 07 0E 01100000 FC03
0000 16040000 map branch, size 14, depth 1, slots 0, 12: @3FC → @416 42E 07 36 FBDA0000 9501
0000 DD010000 FE01
0000 19020000 2E02
0000 76020000 CC02
0000 15030000 9C03
0000 C1030000 DC03
0000 20040000 map branch, size 54, depth 0 (root), slots 0, 1, 3, 4, 5, 6, 7, 9, 11, 12, 14, 15: @195 → @1DD → @1FE → @219 → @22E → @276 → @2CC → @315 → @39C → @3C1 → @3DC → @420
Offset (hex) Bytes (hex) Meaning
A failed call can still supply explain output for the stages that completed.
Read stages_completed.
Then read the fields of the stages that completed.
The record tables below give the fields, absent values, and time units of each operation.
A call's cost record describes that execution. It does not load stored plan history.
Use the plan operation in Definitions with the explain action to read accepted plans and their history.
Each revision reports its version, source and reason. Trial decisions include candidate proposals and measured verdicts.
Set page_size and max_bytes to bound one diagnostic response.
The response includes the current accepted transaction, the complete plan state and a history page from one snapshot.
Pass a nonzero next_after as the next page's argument.
The adaptive query planner can retry a capped plan with the statistics plan.
Query explain reports those attempts in retry and retries.
This record measures one explain stage. The cpu and wall fields are durations. The ABI gives 100-ns ticks. Thus, a time less than one tick is zero.
This record contains explain output for build.
This record contains explain output for evaluate.
This record contains explain output for query run. The compile, plan, execute, group and order fields divide the wall time of run into stages.
This record contains explain output for mutation run.
This record contains explain output for merge_patch.
The generator captured each result from the native library.
expression_text holds this document:
TRON47 B
Offset (hex) Bytes (hex) Meaning 00 54 52 4F 4E magic TRON 04 1C 2B txt "+" 06 2C 3F78 txt "?x" 09 02 01000000000000
00 i64 1 12 0E 15 00 0700 030000
00 04000000 060000
00 09000000 array leaf, size 21, shift 0, bitmap 0007, count 3 (root): @4 → @6 → @9
python 179 B
explain = stardust .BuildExplain ()
async with (await stardust .parse (expression_text , "tron" )) as expression , (await stardust .build (expression , explain )):
result = explain .total
TRON108 B
Offset (hex) Bytes (hex) Meaning 00 54 52 4F 4E magic TRON 04 BC 6172656E615F62
79746573 txt "arena_bytes" 10 02 00000000000000
00 i64 0 19 0F 0A 04000000 1000
0000 map leaf, size 10: @4 → @10 23 3C 637075 txt "cpu" 27 02 46000000000000
00 i64 70 30 0F 0A 23000000 2700
0000 map leaf, size 10: @23 → @27 3A 4C 77616C6C txt "wall" 3F 02 50000000000000
00 i64 80 48 0F 0A 3A000000 3F00
0000 map leaf, size 10: @3A → @3F 52 07 12 21800000 1900
0000 30000000 4800
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @19 → @30 → @48
expression_text holds this document:
TRON47 B
Offset (hex) Bytes (hex) Meaning 00 54 52 4F 4E magic TRON 04 1C 2B txt "+" 06 2C 3F78 txt "?x" 09 02 01000000000000
00 i64 1 12 0E 15 00 0700 030000
00 04000000 060000
00 09000000 array leaf, size 21, shift 0, bitmap 0007, count 3 (root): @4 → @6 → @9
python 173 B
explain = stardust .BuildExplain ()
async with (await stardust .parse (expression_text , "tron" )) as expression , (await stardust .build (expression , explain )):
result = explain
TRON486 B
Offset (hex) Bytes (hex) Meaning 000 54 52 4F 4E magic TRON 004 BC 6172656E615F62
79746573 txt "arena_bytes" 010 02 00000000000000
00 i64 0 019 0F 0A 04000000 1000
0000 map leaf, size 10: @4 → @10 023 3C 637075 txt "cpu" 027 02 00000000000000
00 i64 0 030 0F 0A 23000000 2700
0000 map leaf, size 10: @23 → @27 03A 4C 77616C6C txt "wall" 03F 02 0A000000000000
00 i64 10 048 0F 0A 3A000000 3F00
0000 map leaf, size 10: @3A → @3F 052 07 12 21800000 1900
0000 30000000 4800
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @19 → @30 → @48 064 BC 6172656E615F62
79746573 txt "arena_bytes" 070 02 00000000000000
00 i64 0 079 0F 0A 64000000 7000
0000 map leaf, size 10: @64 → @70 083 3C 637075 txt "cpu" 087 02 28000000000000
00 i64 40 090 0F 0A 83000000 8700
0000 map leaf, size 10: @83 → @87 09A 4C 77616C6C txt "wall" 09F 02 28000000000000
00 i64 40 0A8 0F 0A 9A000000 9F00
0000 map leaf, size 10: @9A → @9F 0B2 07 12 21800000 7900
0000 90000000 A800
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @79 → @90 → @A8 0C4 BC 6172656E615F62
79746573 txt "arena_bytes" 0D0 02 00000000000000
00 i64 0 0D9 0F 0A C4000000 D000
0000 map leaf, size 10: @C4 → @D0 0E3 3C 637075 txt "cpu" 0E7 02 32000000000000
00 i64 50 0F0 0F 0A E3000000 E700
0000 map leaf, size 10: @E3 → @E7 0FA 4C 77616C6C txt "wall" 0FF 02 3C000000000000
00 i64 60 108 0F 0A FA000000 FF00
0000 map leaf, size 10: @FA → @FF 112 07 12 21800000 D900
0000 F0000000 0801
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @D9 → @F0 → @108 124 14 12 707265706172
655F657870726573
73696F6E txt "prepare_expression" 138 0F 0A 24010000 5200
0000 map leaf, size 10: @124 → @52 142 7C 636F6D70696C65 txt "compile" 14A 0F 0A 42010000 B200
0000 map leaf, size 10: @142 → @B2 154 14 10 737461676573
5F636F6D706C6574
6564 txt "stages_completed" 166 02 02000000000000
00 i64 2 16F 0F 0A 54010000 6601
0000 map leaf, size 10: @154 → @166 179 EC 6172656E615F63
61706163697479 txt "arena_capacity" 188 02 00000100000000
00 i64 65536 191 0F 0A 79010000 8801
0000 map leaf, size 10: @179 → @188 19B 5C 746F74616C txt "total" 1A1 0F 0A 9B010000 1201
0000 map leaf, size 10: @19B → @112 1AB 9C 63616368655F68
6974 txt "cache_hit" 1B5 09 bit true 1B6 0F 0A AB010000 B501
0000 map leaf, size 10: @1AB → @1B5 1C0 07 1E D2480000 3801
0000 4A010000 6F01
0000 91010000 A101
0000 B6010000 map branch, size 30, depth 0 (root), slots 1, 4, 6, 7, 11, 14: @138 → @14A → @16F → @191 → @1A1 → @1B6
seed_text holds this document:
TRON449 B
Offset (hex) Bytes (hex) Meaning 000 54 52 4F 4E magic TRON 004 3C 616765 txt "age" 008 02 24000000000000
00 i64 36 011 0F 0A 04000000 0800
0000 map leaf, size 10: @4 → @8 01B 4C 726F6C65 txt "role" 020 8C 656E67696E6565
72 txt "engineer" 029 0F 0A 1B000000 2000
0000 map leaf, size 10: @1B → @20 033 4C 6E616D65 txt "name" 038 3C 416461 txt "Ada" 03C 0F 0A 33000000 3800
0000 map leaf, size 10: @33 → @38 046 07 12 00910000 1100
0000 29000000 3C00
0000 map branch, size 18, depth 0 (root), slots 8, 12, 15: @11 → @29 → @3C 058 5C 236C696E6B txt "#link" 05E 5C 235F616461 txt "#_ada" 064 0F 0A 58000000 5E00
0000 map leaf, size 10: @58 → @5E 06E 3C 616765 txt "age" 072 02 29000000000000
00 i64 41 07B 0F 0A 6E000000 7200
0000 map leaf, size 10: @6E → @72 085 6C 6D656E746F72 txt "mentor" 08C 0F 0A 85000000 6400
0000 map leaf, size 10: @85 → @64 096 4C 726F6C65 txt "role" 09B 8C 656E67696E6565
72 txt "engineer" 0A4 0F 0A 96000000 9B00
0000 map leaf, size 10: @96 → @9B 0AE 4C 6E616D65 txt "name" 0B3 3C 426F62 txt "Bob" 0B7 0F 0A AE000000 B300
0000 map leaf, size 10: @AE → @B3 0C1 07 16 00990000 7B00
0000 8C000000 A400
0000 B7000000 map branch, size 22, depth 0 (root), slots 8, 11, 12, 15: @7B → @8C → @A4 → @B7 0D7 3C 616765 txt "age" 0DB 02 1D000000000000
00 i64 29 0E4 0F 0A D7000000 DB00
0000 map leaf, size 10: @D7 → @DB 0EE 4C 726F6C65 txt "role" 0F3 8C 64657369676E65
72 txt "designer" 0FC 0F 0A EE000000 F300
0000 map leaf, size 10: @EE → @F3 106 4C 6E616D65 txt "name" 10B 2C 4379 txt "Cy" 10E 0F 0A 06010000 0B01
0000 map leaf, size 10: @106 → @10B 118 07 12 00910000 E400
0000 FC000000 0E01
0000 map branch, size 18, depth 0 (root), slots 8, 12, 15: @E4 → @FC → @10E 12A 6C 617574686F72 txt "author" 131 5C 736D6F6B65 txt "smoke" 137 0F 0A 2A010000 3101
0000 map leaf, size 10: @12A → @131 141 6C 726561736F6E txt "reason" 148 4C 73656564 txt "seed" 14D 0F 0A 41010000 4801
0000 map leaf, size 10: @141 → @148 157 07 0E 40080000 3701
0000 4D010000 map branch, size 14, depth 0 (root), slots 6, 11: @137 → @14D 165 4C 235F7478 txt "#_tx" 16A 0F 0A 65010000 5701
0000 map leaf, size 10: @165 → @157 174 4C 235F6379 txt "#_cy" 179 0F 0A 74010000 1801
0000 map leaf, size 10: @174 → @118 183 5C 235F626F62 txt "#_bob" 189 0F 0A 83010000 C100
0000 map leaf, size 10: @183 → @C1 193 5C 235F616461 txt "#_ada" 199 0F 0A 93010000 4600
0000 map leaf, size 10: @193 → @46 1A3 07 16 88210000 6A01
0000 79010000 8901
0000 99010000 map branch, size 22, depth 0 (root), slots 3, 7, 8, 13: @16A → @179 → @189 → @199
python 154 B
explain = stardust .PatchExplain ()
async with (await stardust .parse (seed_text , "tron" )) as seed :
(await db .merge_patch (seed , explain ))
result = explain
TRON461 B
Offset (hex) Bytes (hex) Meaning 000 54 52 4F 4E magic TRON 004 BC 6172656E615F62
79746573 txt "arena_bytes" 010 02 180C0000000000
00 i64 3096 019 0F 0A 04000000 1000
0000 map leaf, size 10: @4 → @10 023 3C 637075 txt "cpu" 027 02 48080000000000
00 i64 2120 030 0F 0A 23000000 2700
0000 map leaf, size 10: @23 → @27 03A 4C 77616C6C txt "wall" 03F 02 5C080000000000
00 i64 2140 048 0F 0A 3A000000 3F00
0000 map leaf, size 10: @3A → @3F 052 07 12 21800000 1900
0000 30000000 4800
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @19 → @30 → @48 064 BC 6172656E615F62
79746573 txt "arena_bytes" 070 02 481F0000000000
00 i64 8008 079 0F 0A 64000000 7000
0000 map leaf, size 10: @64 → @70 083 3C 637075 txt "cpu" 087 02 F8020000000000
00 i64 760 090 0F 0A 83000000 8700
0000 map leaf, size 10: @83 → @87 09A 4C 77616C6C txt "wall" 09F 02 1EB40000000000
00 i64 46110 0A8 0F 0A 9A000000 9F00
0000 map leaf, size 10: @9A → @9F 0B2 07 12 21800000 7900
0000 90000000 A800
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @79 → @90 → @A8 0C4 BC 6172656E615F62
79746573 txt "arena_bytes" 0D0 02 6E2B0000000000
00 i64 11118 0D9 0F 0A C4000000 D000
0000 map leaf, size 10: @C4 → @D0 0E3 3C 637075 txt "cpu" 0E7 02 120C0000000000
00 i64 3090 0F0 0F 0A E3000000 E700
0000 map leaf, size 10: @E3 → @E7 0FA 4C 77616C6C txt "wall" 0FF 02 56BD0000000000
00 i64 48470 108 0F 0A FA000000 FF00
0000 map leaf, size 10: @FA → @FF 112 07 12 21800000 D900
0000 F0000000 0801
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @D9 → @F0 → @108 124 14 10 737461676573
5F636F6D706C6574
6564 txt "stages_completed" 136 02 02000000000000
00 i64 2 13F 0F 0A 24010000 3601
0000 map leaf, size 10: @124 → @136 149 EC 6172656E615F63
61706163697479 txt "arena_capacity" 158 02 00004000000000
00 i64 4194304 161 0F 0A 49010000 5801
0000 map leaf, size 10: @149 → @158 16B 5C 746F74616C txt "total" 171 0F 0A 6B010000 1201
0000 map leaf, size 10: @16B → @112 17B 6C 636F6D6D6974 txt "commit" 182 0F 0A 7B010000 B200
0000 map leaf, size 10: @17B → @B2 18C AC 636F70795F7061
746368 txt "copy_patch" 197 0F 0A 8C010000 5200
0000 map leaf, size 10: @18C → @52 1A1 07 0E 08100000 8201
0000 97010000 map branch, size 14, depth 1, slots 3, 12: @182 → @197 1AF 07 16 C0880000 3F01
0000 61010000 7101
0000 A1010000 map branch, size 22, depth 0 (root), slots 6, 7, 11, 15: @13F → @161 → @171 → @1A1
birthday_text holds this document:
TRON221 B
Offset (hex) Bytes (hex) Meaning 00 54 52 4F 4E magic TRON 04 2C 3F65 txt "?e" 07 0E 0D 00 0100 010000
00 04000000 array leaf, size 13, shift 0, bitmap 0001, count 1 (root): @4 14 2C 3F65 txt "?e" 17 4C 6E616D65 txt "name" 1C 3C 416461 txt "Ada" 20 0E 15 00 0700 030000
00 14000000 170000
00 1C000000 array leaf, size 21, shift 0, bitmap 0007, count 3 (root): @14 → @17 → @1C 35 0E 0D 00 0100 010000
00 20000000 array leaf, size 13, shift 0, bitmap 0001, count 1 (root): @20 42 5C 7768657265 txt "where" 48 0F 0A 42000000 3500
0000 map leaf, size 10: @42 → @35 52 4C 66696E64 txt "find" 57 0F 0A 52000000 0700
0000 map leaf, size 10: @52 → @7 61 07 0E 0A000000 4800
0000 57000000 map branch, size 14, depth 0 (root), slots 1, 3: @48 → @57 6F 3C 616765 txt "age" 73 02 25000000000000
00 i64 37 7C 0F 0A 6F000000 7300
0000 map leaf, size 10: @6F → @73 86 2C 3F65 txt "?e" 89 0F 0A 86000000 7C00
0000 map leaf, size 10: @86 → @7C 93 5C 7175657279 txt "query" 99 0F 0A 93000000 6100
0000 map leaf, size 10: @93 → @61 A3 5C 7061746368 txt "patch" A9 0F 0A A3000000 8900
0000 map leaf, size 10: @A3 → @89 B3 07 0E 40020000 9900
0000 A9000000 map branch, size 14, depth 2, slots 6, 9: @99 → @A9 C1 07 0A 01000000 B300
0000 map branch, size 10, depth 1, slots 0: @B3 CB 07 0A 80000000 C100
0000 map branch, size 10, depth 0 (root), slots 7: @C1
python 208 B
explain = stardust .MutationExplain ()
async with (await stardust .parse (birthday_text , "tron" )) as birthday , (await db .mutation (birthday )) as mutation :
(await mutation .run (explain = explain ))
result = explain
TRON606 B
Offset (hex) Bytes (hex) Meaning 000 54 52 4F 4E magic TRON 004 BC 6172656E615F62
79746573 txt "arena_bytes" 010 02 10090000000000
00 i64 2320 019 0F 0A 04000000 1000
0000 map leaf, size 10: @4 → @10 023 3C 637075 txt "cpu" 027 02 A4060000000000
00 i64 1700 030 0F 0A 23000000 2700
0000 map leaf, size 10: @23 → @27 03A 4C 77616C6C txt "wall" 03F 02 CC060000000000
00 i64 1740 048 0F 0A 3A000000 3F00
0000 map leaf, size 10: @3A → @3F 052 07 12 21800000 1900
0000 30000000 4800
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @19 → @30 → @48 064 BC 6172656E615F62
79746573 txt "arena_bytes" 070 02 00000000000000
00 i64 0 079 0F 0A 64000000 7000
0000 map leaf, size 10: @64 → @70 083 3C 637075 txt "cpu" 087 02 0A000000000000
00 i64 10 090 0F 0A 83000000 8700
0000 map leaf, size 10: @83 → @87 09A 4C 77616C6C txt "wall" 09F 02 0A000000000000
00 i64 10 0A8 0F 0A 9A000000 9F00
0000 map leaf, size 10: @9A → @9F 0B2 07 12 21800000 7900
0000 90000000 A800
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @79 → @90 → @A8 0C4 BC 6172656E615F62
79746573 txt "arena_bytes" 0D0 02 50AB0000000000
00 i64 43856 0D9 0F 0A C4000000 D000
0000 map leaf, size 10: @C4 → @D0 0E3 3C 637075 txt "cpu" 0E7 02 262A0000000000
00 i64 10790 0F0 0F 0A E3000000 E700
0000 map leaf, size 10: @E3 → @E7 0FA 4C 77616C6C txt "wall" 0FF 02 88900000000000
00 i64 37000 108 0F 0A FA000000 FF00
0000 map leaf, size 10: @FA → @FF 112 07 12 21800000 D900
0000 F0000000 0801
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @D9 → @F0 → @108 124 BC 6172656E615F62
79746573 txt "arena_bytes"
Show all 58 nodes Offset (hex) Bytes (hex) Meaning 130 02 60B40000000000
00 i64 46176 139 0F 0A 24010000 3001
0000 map leaf, size 10: @124 → @130 143 3C 637075 txt "cpu" 147 02 56310000000000
00 i64 12630 150 0F 0A 43010000 4701
0000 map leaf, size 10: @143 → @147 15A 4C 77616C6C txt "wall" 15F 02 E0970000000000
00 i64 38880 168 0F 0A 5A010000 5F01
0000 map leaf, size 10: @15A → @15F 172 07 12 21800000 3901
0000 50010000 6801
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @139 → @150 → @168 184 3C 72756E txt "run" 188 0F 0A 84010000 1201
0000 map leaf, size 10: @184 → @112 192 AC 706172616D6574
657273 txt "parameters" 19D 0F 0A 92010000 B200
0000 map leaf, size 10: @192 → @B2 1A7 14 10 737461676573
5F636F6D706C6574
6564 txt "stages_completed" 1B9 02 03000000000000
00 i64 3 1C2 0F 0A A7010000 B901
0000 map leaf, size 10: @1A7 → @1B9 1CC EC 6172656E615F63
61706163697479 txt "arena_capacity" 1DB 02 00004000000000
00 i64 4194304 1E4 0F 0A CC010000 DB01
0000 map leaf, size 10: @1CC → @1DB 1EE 5C 746F74616C txt "total" 1F4 0F 0A EE010000 7201
0000 map leaf, size 10: @1EE → @172 1FE 8C 617474656D7074
73 txt "attempts" 207 02 01000000000000
00 i64 1 210 0F 0A FE010000 0702
0000 map leaf, size 10: @1FE → @207 21A FC 6C6F61645F6465
66696E6974696F6E txt "load_definition" 22A 0F 0A 1A020000 5200
0000 map leaf, size 10: @21A → @52 234 07 22 E2A80000 8801
0000 9D010000 C201
0000 E4010000 F401
0000 10020000 2A02
0000 map branch, size 34, depth 0 (root), slots 1, 5, 6, 7, 11, 13, 15: @188 → @19D → @1C2 → @1E4 → @1F4 → @210 → @22A
Offset (hex) Bytes (hex) Meaning
expression_text holds this document:
TRON47 B
Offset (hex) Bytes (hex) Meaning 00 54 52 4F 4E magic TRON 04 1C 2B txt "+" 06 2C 3F78 txt "?x" 09 02 01000000000000
00 i64 1 12 0E 15 00 0700 030000
00 04000000 060000
00 09000000 array leaf, size 21, shift 0, bitmap 0007, count 3 (root): @4 → @6 → @9
input_text holds this document:
TRON33 B
Offset (hex) Bytes (hex) Meaning 00 54 52 4F 4E magic TRON 04 1C 78 txt "x" 06 02 29000000000000
00 i64 41 0F 0F 0A 04000000 0600
0000 map leaf, size 10: @4 → @6
python 279 B
explain = stardust .EvalExplain ()
async with (await stardust .parse (expression_text , "tron" )) as expression , (await stardust .build (expression )) as program , \
(await stardust .parse (input_text , "tron" )) as input , (await program .evaluate (input , explain )):
result = explain
TRON634 B
Offset (hex) Bytes (hex) Meaning 000 54 52 4F 4E magic TRON 004 BC 6172656E615F62
79746573 txt "arena_bytes" 010 02 00000000000000
00 i64 0 019 0F 0A 04000000 1000
0000 map leaf, size 10: @4 → @10 023 3C 637075 txt "cpu" 027 02 00000000000000
00 i64 0 030 0F 0A 23000000 2700
0000 map leaf, size 10: @23 → @27 03A 4C 77616C6C txt "wall" 03F 02 0A000000000000
00 i64 10 048 0F 0A 3A000000 3F00
0000 map leaf, size 10: @3A → @3F 052 07 12 21800000 1900
0000 30000000 4800
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @19 → @30 → @48 064 BC 6172656E615F62
79746573 txt "arena_bytes" 070 02 00000000000000
00 i64 0 079 0F 0A 64000000 7000
0000 map leaf, size 10: @64 → @70 083 3C 637075 txt "cpu" 087 02 96000000000000
00 i64 150 090 0F 0A 83000000 8700
0000 map leaf, size 10: @83 → @87 09A 4C 77616C6C txt "wall" 09F 02 96000000000000
00 i64 150 0A8 0F 0A 9A000000 9F00
0000 map leaf, size 10: @9A → @9F 0B2 07 12 21800000 7900
0000 90000000 A800
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @79 → @90 → @A8 0C4 BC 6172656E615F62
79746573 txt "arena_bytes" 0D0 02 00000000000000
00 i64 0 0D9 0F 0A C4000000 D000
0000 map leaf, size 10: @C4 → @D0 0E3 3C 637075 txt "cpu" 0E7 02 00000000000000
00 i64 0 0F0 0F 0A E3000000 E700
0000 map leaf, size 10: @E3 → @E7 0FA 4C 77616C6C txt "wall" 0FF 02 00000000000000
00 i64 0 108 0F 0A FA000000 FF00
0000 map leaf, size 10: @FA → @FF 112 07 12 21800000 D900
0000 F0000000 0801
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @D9 → @F0 → @108 124 BC 6172656E615F62
79746573 txt "arena_bytes"
Show all 59 nodes Offset (hex) Bytes (hex) Meaning 130 02 00000000000000
00 i64 0 139 0F 0A 24010000 3001
0000 map leaf, size 10: @124 → @130 143 3C 637075 txt "cpu" 147 02 A0000000000000
00 i64 160 150 0F 0A 43010000 4701
0000 map leaf, size 10: @143 → @147 15A 4C 77616C6C txt "wall" 15F 02 AA000000000000
00 i64 170 168 0F 0A 5A010000 5F01
0000 map leaf, size 10: @15A → @15F 172 07 12 21800000 3901
0000 50010000 6801
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @139 → @150 → @168 184 EC 646F63756D656E
745F6279746573 txt "document_bytes" 193 02 2A000000000000
00 i64 42 19C 0F 0A 84010000 9301
0000 map leaf, size 10: @184 → @193 1A6 14 11 707265706172
655F766172696162
6C6573 txt "prepare_variables" 1B9 0F 0A A6010000 5200
0000 map leaf, size 10: @1A6 → @52 1C3 14 10 737461676573
5F636F6D706C6574
6564 txt "stages_completed" 1D5 02 03000000000000
00 i64 3 1DE 0F 0A C3010000 D501
0000 map leaf, size 10: @1C3 → @1D5 1E8 EC 6172656E615F63
61706163697479 txt "arena_capacity" 1F7 02 00000100000000
00 i64 65536 200 0F 0A E8010000 F701
0000 map leaf, size 10: @1E8 → @1F7 20A EC 61646F70745F64
6F63756D656E74 txt "adopt_document" 219 0F 0A 0A020000 1201
0000 map leaf, size 10: @20A → @112 223 07 0E 14000000 0002
0000 19020000 map branch, size 14, depth 1, slots 2, 4: @200 → @219 231 8C 6576616C756174
65 txt "evaluate" 23A 0F 0A 31020000 B200
0000 map leaf, size 10: @231 → @B2 244 5C 746F74616C txt "total" 24A 0F 0A 44020000 7201
0000 map leaf, size 10: @244 → @172 254 07 1E E20A0000 9C01
0000 B9010000 DE01
0000 23020000 3A02
0000 4A020000 map branch, size 30, depth 0 (root), slots 1, 5, 6, 7, 9, 11: @19C → @1B9 → @1DE → @223 → @23A → @24A
Offset (hex) Bytes (hex) Meaning
query_text holds this document:
TRON165 B
Offset (hex) Bytes (hex) Meaning 00 54 52 4F 4E magic TRON 04 5C 3F6E616D65 txt "?name" 0A 0E 0D 00 0100 010000
00 04000000 array leaf, size 13, shift 0, bitmap 0001, count 1 (root): @4 17 2C 3F65 txt "?e" 1A 4C 6E616D65 txt "name" 1F 5C 3F6E616D65 txt "?name" 25 0E 15 00 0700 030000
00 17000000 1A0000
00 1F000000 array leaf, size 21, shift 0, bitmap 0007, count 3 (root): @17 → @1A → @1F 3A 0E 0D 00 0100 010000
00 25000000 array leaf, size 13, shift 0, bitmap 0001, count 1 (root): @25 47 5C 3F6E616D65 txt "?name" 4D 0E 0D 00 0100 010000
00 47000000 array leaf, size 13, shift 0, bitmap 0001, count 1 (root): @47 5A 5C 7768657265 txt "where" 60 0F 0A 5A000000 3A00
0000 map leaf, size 10: @5A → @3A 6A 4C 66696E64 txt "find" 6F 0F 0A 6A000000 0A00
0000 map leaf, size 10: @6A → @A 79 7C 6F726465724279 txt "orderBy" 81 0F 0A 79000000 4D00
0000 map leaf, size 10: @79 → @4D 8B 07 12 2A000000 6000
0000 6F000000 8100
0000 map branch, size 18, depth 0 (root), slots 1, 3, 5: @60 → @6F → @81
python 198 B
explain = stardust .QueryExplain ()
async with (await stardust .parse (query_text , "tron" )) as definition , (await db .query (definition )) as query , (await query .run (explain = explain )):
result = explain
TRON1.1 kB
Offset (hex) Bytes (hex) Meaning 000 54 52 4F 4E magic TRON 004 BC 6172656E615F62
79746573 txt "arena_bytes" 010 02 90060000000000
00 i64 1680 019 0F 0A 04000000 1000
0000 map leaf, size 10: @4 → @10 023 3C 637075 txt "cpu" 027 02 50050000000000
00 i64 1360 030 0F 0A 23000000 2700
0000 map leaf, size 10: @23 → @27 03A 4C 77616C6C txt "wall" 03F 02 5A050000000000
00 i64 1370 048 0F 0A 3A000000 3F00
0000 map leaf, size 10: @3A → @3F 052 07 12 21800000 1900
0000 30000000 4800
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @19 → @30 → @48 064 BC 6172656E615F62
79746573 txt "arena_bytes" 070 02 00000000000000
00 i64 0 079 0F 0A 64000000 7000
0000 map leaf, size 10: @64 → @70 083 3C 637075 txt "cpu" 087 02 00000000000000
00 i64 0 090 0F 0A 83000000 8700
0000 map leaf, size 10: @83 → @87 09A 4C 77616C6C txt "wall" 09F 02 0A000000000000
00 i64 10 0A8 0F 0A 9A000000 9F00
0000 map leaf, size 10: @9A → @9F 0B2 07 12 21800000 7900
0000 90000000 A800
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @79 → @90 → @A8 0C4 BC 6172656E615F62
79746573 txt "arena_bytes" 0D0 02 001D0000000000
00 i64 7424 0D9 0F 0A C4000000 D000
0000 map leaf, size 10: @C4 → @D0 0E3 3C 637075 txt "cpu" 0E7 02 881D0000000000
00 i64 7560 0F0 0F 0A E3000000 E700
0000 map leaf, size 10: @E3 → @E7 0FA 4C 77616C6C txt "wall" 0FF 02 9C1D0000000000
00 i64 7580 108 0F 0A FA000000 FF00
0000 map leaf, size 10: @FA → @FF 112 07 12 21800000 D900
0000 F0000000 0801
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @D9 → @F0 → @108 124 BC 6172656E615F62
79746573 txt "arena_bytes"
Show all 106 nodes Offset (hex) Bytes (hex) Meaning 130 02 90230000000000
00 i64 9104 139 0F 0A 24010000 3001
0000 map leaf, size 10: @124 → @130 143 3C 637075 txt "cpu" 147 02 00230000000000
00 i64 8960 150 0F 0A 43010000 4701
0000 map leaf, size 10: @143 → @147 15A 4C 77616C6C txt "wall" 15F 02 1E230000000000
00 i64 8990 168 0F 0A 5A010000 5F01
0000 map leaf, size 10: @15A → @15F 172 07 12 21800000 3901
0000 50010000 6801
0000 map branch, size 18, depth 0 (root), slots 0, 5, 15: @139 → @150 → @168 184 7C 65786563757465 txt "execute" 18C 02 00000000000000
00 i64 0 195 0F 0A 84010000 8C01
0000 map leaf, size 10: @184 → @18C 19F 4C 726F7773 txt "rows" 1A4 02 03000000000000
00 i64 3 1AD 0F 0A 9F010000 A401
0000 map leaf, size 10: @19F → @1A4 1B7 4C 706C616E txt "plan" 1BC 02 90010000000000
00 i64 400 1C5 0F 0A B7010000 BC01
0000 map leaf, size 10: @1B7 → @1BC 1CF 3C 72756E txt "run" 1D3 0F 0A CF010000 1201
0000 map leaf, size 10: @1CF → @112 1DD 07 12 01840000 AD01
0000 C5010000 D301
0000 map branch, size 18, depth 1, slots 0, 10, 15: @1AD → @1C5 → @1D3 1EF 5C 67726F7570 txt "group" 1F5 02 00000000000000
00 i64 0 1FE 0F 0A EF010000 F501
0000 map leaf, size 10: @1EF → @1F5 208 7C 636F6D70696C65 txt "compile" 210 02 F0000000000000
00 i64 240 219 0F 0A 08020000 1002
0000 map leaf, size 10: @208 → @210 223 AC 706172616D6574
657273 txt "parameters" 22E 0F 0A 23020000 B200
0000 map leaf, size 10: @223 → @B2 238 14 10 737461676573
5F636F6D706C6574
6564 txt "stages_completed" 24A 02 03000000000000
00 i64 3 253 0F 0A 38020000 4A02
0000 map leaf, size 10: @238 → @24A 25D 5C 6F72646572 txt "order" 263 02 00000000000000
00 i64 0 26C 0F 0A 5D020000 6302
0000 map leaf, size 10: @25D → @263 276 07 0E C0000000 5302
0000 6C020000 map branch, size 14, depth 1, slots 6, 7: @253 → @26C 284 EC 6172656E615F63
61706163697479 txt "arena_capacity" 293 02 00004000000000
00 i64 4194304 29C 0F 0A 84020000 9302
0000 map leaf, size 10: @284 → @293 2A6 14 11 627564676574
5F757365645F6279
746573 txt "budget_used_bytes" 2B9 02 D2270000000000
00 i64 10194 2C2 0F 0A A6020000 B902
0000 map leaf, size 10: @2A6 → @2B9 2CC 07 0E 24000000 9C02
0000 C2020000 map branch, size 14, depth 1, slots 2, 5: @29C → @2C2 2DA FC 6275646765745F
7265667573616C73 txt "budget_refusals" 2EA 02 00000000000000
00 i64 0 2F3 0F 0A DA020000 EA02
0000 map leaf, size 10: @2DA → @2EA 2FD 4C 776F726B txt "work" 302 02 F2120000000000
00 i64 4850 30B 0F 0A FD020000 0203
0000 map leaf, size 10: @2FD → @302 315 07 0E 88000000 F302
0000 0B030000 map branch, size 14, depth 1, slots 3, 7: @2F3 → @30B 323 FC 6D656D6F72795F
7265667573616C73 txt "memory_refusals" 333 02 00000000000000
00 i64 0 33C 0F 0A 23030000 3303
0000 map leaf, size 10: @323 → @333 346 CC 6275646765745F
6279746573 txt "budget_bytes" 353 02 00823E71020000
00 i64 10489856512 35C 0F 0A 46030000 5303
0000 map leaf, size 10: @346 → @353 366 5C 746F74616C txt "total" 36C 0F 0A 66030000 7201
0000 map leaf, size 10: @366 → @172 376 14 11 627564676574
5F7065616B5F6279
746573 txt "budget_peak_bytes" 389 02 BB370000000000
00 i64 14267 392 0F 0A 76030000 8903
0000 map leaf, size 10: @376 → @389 39C 07 16 13040000 3C03
0000 5C030000 6C03
0000 92030000 map branch, size 22, depth 1, slots 0, 1, 4, 10: @33C → @35C → @36C → @392 3B2 5C 7265747279 txt "retry" 3B8 02 00000000000000
00 i64 0 3C1 0F 0A B2030000 B803
0000 map leaf, size 10: @3B2 → @3B8 3CB 7C 72657472696573 txt "retries" 3D3 02 00000000000000
00 i64 0 3DC 0F 0A CB030000 D303
0000 map leaf, size 10: @3CB → @3D3 3E6 CC 6D656D6F72795F
6279746573 txt "memory_bytes" 3F3 02 6B170000000000
00 i64 5995 3FC 0F 0A E6030000 F303
0000 map leaf, size 10: @3E6 → @3F3 406 FC 6C6F61645F6465
66696E6974696F6E txt "load_definition" 416 0F 0A 06040000 5200
0000 map leaf, size 10: @406 → @52 420 07 0E 01100000 FC03
0000 16040000 map branch, size 14, depth 1, slots 0, 12: @3FC → @416 42E 07 36 FBDA0000 9501
0000 DD010000 FE01
0000 19020000 2E02
0000 76020000 CC02
0000 15030000 9C03
0000 C1030000 DC03
0000 20040000 map branch, size 54, depth 0 (root), slots 0, 1, 3, 4, 5, 6, 7, 9, 11, 12, 14, 15: @195 → @1DD → @1FE → @219 → @22E → @276 → @2CC → @315 → @39C → @3C1 → @3DC → @420
Offset (hex) Bytes (hex) Meaning