Bounds and history

A query accepts four bounds that protect the engine. bind reads the database at an earlier transaction, or over facts that you supply for one query. Each example reads the same five entities as Queries.

Bounds

Each bound is a member of the query document. Zero gives no explicit bound. Queries still receive a dynamic cost budget when maxCost is zero. Each bound has its own rejection.

BoundLimitsRejection
maxCostCPU time on the query's execution thread, in 100-nanosecond ticksWork_Limit_Exceeded
maxResultsthe number of rows in the resultResult_Limit_Exceeded
maxBytesthe size of the resultByte_Limit_Exceeded
maxWorkRowsthe rows that the engine handlesWork_Rows_Limit_Exceeded

maxResults counts the rows that remain after orderBy, distinct and the window clauses. The engine rejects five result rows against a bound of two.

TRON249 B
Offset (hex)Bytes (hex)Meaning
0054 52 4F 4Emagic TRON
045C 3F6E616D65txt "?name"
0A0E 0D 00 0100 010000 00 04000000array leaf, size 13, shift 0, bitmap 0001, count 1 (root): @4
172C 3F65txt "?e"
1A6C 73616C617279txt "salary"
214C 3F73616Ctxt "?sal"
260E 15 00 0700 030000 00 17000000 1A0000 00 21000000array leaf, size 21, shift 0, bitmap 0007, count 3 (root): @17 → @1A → @21
3B2C 3F65txt "?e"
3E4C 6E616D65txt "name"
435C 3F6E616D65txt "?name"
490E 15 00 0700 030000 00 3B000000 3E0000 00 43000000array leaf, size 21, shift 0, bitmap 0007, count 3 (root): @3B → @3E → @43
5E0E 11 00 0300 020000 00 26000000 490000 00array leaf, size 17, shift 0, bitmap 0003, count 2 (root): @26 → @49
6F5C 3F6E616D65txt "?name"
750E 0D 00 0100 010000 00 6F000000array leaf, size 13, shift 0, bitmap 0001, count 1 (root): @6F
825C 7768657265txt "where"
880F 0A 82000000 5E00 0000map leaf, size 10: @82 → @5E
92AC 6D617852657375 6C7473txt "maxResults"
9D02 02000000000000 00i64 2
A60F 0A 92000000 9D00 0000map leaf, size 10: @92 → @9D
B007 0E 04010000 8800 0000 A6000000map branch, size 14, depth 1, slots 2, 8: @88 → @A6
BE4C 66696E64txt "find"
C30F 0A BE000000 0A00 0000map leaf, size 10: @BE → @A
CD7C 6F726465724279txt "orderBy"
D50F 0A CD000000 7500 0000map leaf, size 10: @CD → @75
DF07 12 2A000000 B000 0000 C3000000 D500 0000map branch, size 18, depth 0 (root), slots 1, 3, 5: @B0 → @C3 → @D5

Error

Result_Limit_Exceeded

The caller can also give maxCost with the request, beside the document. Stardust then uses the smaller of the two values.

The engine measures CPU time from the start of query execution through result construction. It includes planning, fact scans, expressions, native helpers and rendering on that thread. It excludes time spent waiting and work on other threads. It varies between runs and is neither a bytecode count nor an instruction count.

The public API returns rows, with optional explain records for individual calls. The query-run record stops before later page reads.

A positive maxCost limits this measured time. A clock read has a cost, so the engine schedules its checks. Checks occur less often while the limit is far and more often as the limit comes near. It reads the clock again after rendering.

A query can pass the limit by a small amount before the next check. It can pass it by more when its work suddenly becomes slower or a single helper runs for a long time. Without a positive maxCost, Stardust derives a CPU time budget from query structure and rows handled. The other bounds apply to rows and bytes independently.

Result memory

The database's memory_budget_bytes option also limits result construction. Ordering, grouping and distinct use temporary sorted runs when their records do not fit in memory. Collected aggregate inputs and windows read these runs. The engine removes its temporary runs when their owner closes.

A single collected value, the minimum workspace or a requested output document can still exceed the budget. That operation returns out_of_memory. Reading small pages lets a caller process a large result with bounded engine memory.

Each returned page is independent of its cursor and database. Pages that the caller keeps use caller-owned memory. Binding operations such as all_pages collect these pages in caller-owned memory and can grow with the full result.

Reading an earlier transaction

bind.with.db reads the database as it was. asOf accepts a transaction id, a UTC instant, or a duration relative to now. Transaction ids start at 1.

TRON286 B
Offset (hex)Bytes (hex)Meaning
00054 52 4F 4Emagic TRON
0045C 3F6E616D65txt "?name"
00A0E 0D 00 0100 010000 00 04000000array leaf, size 13, shift 0, bitmap 0001, count 1 (root): @4
0172C 3F65txt "?e"
01A6C 73616C617279txt "salary"
0214C 3F73616Ctxt "?sal"
0260E 15 00 0700 030000 00 17000000 1A0000 00 21000000array leaf, size 21, shift 0, bitmap 0007, count 3 (root): @17 → @1A → @21
03B2C 3F65txt "?e"
03E4C 6E616D65txt "name"
0435C 3F6E616D65txt "?name"
0490E 15 00 0700 030000 00 3B000000 3E0000 00 43000000array leaf, size 21, shift 0, bitmap 0007, count 3 (root): @3B → @3E → @43
05E0E 11 00 0300 020000 00 26000000 490000 00array leaf, size 17, shift 0, bitmap 0003, count 2 (root): @26 → @49
06F5C 3F6E616D65txt "?name"
0750E 0D 00 0100 010000 00 6F000000array leaf, size 13, shift 0, bitmap 0001, count 1 (root): @6F
0824C 61734F66txt "asOf"
08702 06000000000000 00i64 6
0900F 0A 82000000 8700 0000map leaf, size 10: @82 → @87
09A2C 6462txt "db"
09D0F 0A 9A000000 9000 0000map leaf, size 10: @9A → @90
0A74C 77697468txt "with"
0AC0F 0A A7000000 9D00 0000map leaf, size 10: @A7 → @9D
0B65C 7768657265txt "where"
0BC0F 0A B6000000 5E00 0000map leaf, size 10: @B6 → @5E
0C64C 62696E64txt "bind"
0CB0F 0A C6000000 AC00 0000map leaf, size 10: @C6 → @AC
0D54C 66696E64txt "find"
0DA0F 0A D5000000 0A00 0000map leaf, size 10: @D5 → @A
0E407 0E 01200000 CB00 0000 DA000000map branch, size 14, depth 1, slots 0, 13: @CB → @DA
0F27C 6F726465724279txt "orderBy"
0FA0F 0A F2000000 7500 0000map leaf, size 10: @F2 → @75
10407 12 2A000000 BC00 0000 E4000000 FA00 0000map branch, size 18, depth 0 (root), slots 1, 3, 5: @BC → @E4 → @FA
TRON135 B
Offset (hex)Bytes (hex)Meaning
0054 52 4F 4Emagic TRON
044C 6E616D65txt "name"
093C 416461txt "Ada"
0D0F 0A 04000000 0900 0000map leaf, size 10: @4 → @9
174C 6E616D65txt "name"
1C3C 426F62txt "Bob"
200F 0A 17000000 1C00 0000map leaf, size 10: @17 → @1C
2A4C 6E616D65txt "name"
2F2C 4379txt "Cy"
320F 0A 2A000000 2F00 0000map leaf, size 10: @2A → @2F
3C4C 6E616D65txt "name"
413C 44616Etxt "Dan"
450F 0A 3C000000 4100 0000map leaf, size 10: @3C → @41
4F4C 6E616D65txt "name"
543C 457665txt "Eve"
580F 0A 4F000000 5400 0000map leaf, size 10: @4F → @54
620E 1D 00 1F00 050000 00 0D000000 200000 00 32000000 450000 00 58000000array leaf, size 29, shift 0, bitmap 001F, count 5 (root): @D → @20 → @32 → @45 → @58

The seed patch creates all five entities atomically in transaction 6. A snapshot before that commit holds none of them.

TRON79 B
Offset (hex)Bytes (hex)Meaning
0054 52 4F 4Emagic TRON
044C 61734F66txt "asOf"
0902 05000000000000 00i64 5
120F 0A 04000000 0900 0000map leaf, size 10: @4 → @9
1C2C 6462txt "db"
1F0F 0A 1C000000 1200 0000map leaf, size 10: @1C → @12
294C 77697468txt "with"
2E0F 0A 29000000 1F00 0000map leaf, size 10: @29 → @1F
384C 62696E64txt "bind"
3D0F 0A 38000000 2E00 0000map leaf, size 10: @38 → @2E
TRON21 B
Offset (hex)Bytes (hex)Meaning
0054 52 4F 4Emagic TRON
040E 09 00 0000 000000 00array leaf, size 9, shift 0, bitmap 0000, count 0 (root)
TRON79 B
Offset (hex)Bytes (hex)Meaning
0054 52 4F 4Emagic TRON
044C 61734F66txt "asOf"
0902 01000000000000 00i64 1
120F 0A 04000000 0900 0000map leaf, size 10: @4 → @9
1C2C 6462txt "db"
1F0F 0A 1C000000 1200 0000map leaf, size 10: @1C → @12
294C 77697468txt "with"
2E0F 0A 29000000 1F00 0000map leaf, size 10: @29 → @1F
384C 62696E64txt "bind"
3D0F 0A 38000000 2E00 0000map leaf, size 10: @38 → @2E
TRON21 B
Offset (hex)Bytes (hex)Meaning
0054 52 4F 4Emagic TRON
040E 09 00 0000 000000 00array leaf, size 9, shift 0, bitmap 0000, count 0 (root)

A UTC instant selects the newest transaction committed at or before that time. An instant after the last commit selects the head transaction.

TRON107 B
Offset (hex)Bytes (hex)Meaning
0054 52 4F 4Emagic TRON
044C 23757463txt "#utc"
0914 14 323032372D30 312D30315430303A 30303A30305Atxt "2027-01-01T00:00:00Z"
1F0F 0A 04000000 0900 0000map leaf, size 10: @4 → @9
294C 61734F66txt "asOf"
2E0F 0A 29000000 1F00 0000map leaf, size 10: @29 → @1F
382C 6462txt "db"
3B0F 0A 38000000 2E00 0000map leaf, size 10: @38 → @2E
454C 77697468txt "with"
4A0F 0A 45000000 3B00 0000map leaf, size 10: @45 → @3B
544C 62696E64txt "bind"
590F 0A 54000000 4A00 0000map leaf, size 10: @54 → @4A
TRON135 B
Offset (hex)Bytes (hex)Meaning
0054 52 4F 4Emagic TRON
044C 6E616D65txt "name"
093C 416461txt "Ada"
0D0F 0A 04000000 0900 0000map leaf, size 10: @4 → @9
174C 6E616D65txt "name"
1C3C 426F62txt "Bob"
200F 0A 17000000 1C00 0000map leaf, size 10: @17 → @1C
2A4C 6E616D65txt "name"
2F2C 4379txt "Cy"
320F 0A 2A000000 2F00 0000map leaf, size 10: @2A → @2F
3C4C 6E616D65txt "name"
413C 44616Etxt "Dan"
450F 0A 3C000000 4100 0000map leaf, size 10: @3C → @41
4F4C 6E616D65txt "name"
543C 457665txt "Eve"
580F 0A 4F000000 5400 0000map leaf, size 10: @4F → @54
620E 1D 00 1F00 050000 00 0D000000 200000 00 32000000 450000 00 58000000array leaf, size 29, shift 0, bitmap 001F, count 5 (root): @D → @20 → @32 → @45 → @58

An instant before the first commit gives no facts.

TRON107 B
Offset (hex)Bytes (hex)Meaning
0054 52 4F 4Emagic TRON
044C 23757463txt "#utc"
0914 14 323032362D30 382D32325431323A 30303A30305Atxt "2026-08-22T12:00:00Z"
1F0F 0A 04000000 0900 0000map leaf, size 10: @4 → @9
294C 61734F66txt "asOf"
2E0F 0A 29000000 1F00 0000map leaf, size 10: @29 → @1F
382C 6462txt "db"
3B0F 0A 38000000 2E00 0000map leaf, size 10: @38 → @2E
454C 77697468txt "with"
4A0F 0A 45000000 3B00 0000map leaf, size 10: @45 → @3B
544C 62696E64txt "bind"
590F 0A 54000000 4A00 0000map leaf, size 10: @54 → @4A
TRON21 B
Offset (hex)Bytes (hex)Meaning
0054 52 4F 4Emagic TRON
040E 09 00 0000 000000 00array leaf, size 9, shift 0, bitmap 0000, count 0 (root)

A duration adds to the current time, so {#dur PT0S} reads the present. A negative duration reads the past, as {#dur -PT5S} does for five seconds ago.

TRON90 B
Offset (hex)Bytes (hex)Meaning
0054 52 4F 4Emagic TRON
044C 23647572txt "#dur"
094C 50543053txt "PT0S"
0E0F 0A 04000000 0900 0000map leaf, size 10: @4 → @9
184C 61734F66txt "asOf"
1D0F 0A 18000000 0E00 0000map leaf, size 10: @18 → @E
272C 6462txt "db"
2A0F 0A 27000000 1D00 0000map leaf, size 10: @27 → @1D
344C 77697468txt "with"
390F 0A 34000000 2A00 0000map leaf, size 10: @34 → @2A
434C 62696E64txt "bind"
480F 0A 43000000 3900 0000map leaf, size 10: @43 → @39
TRON135 B
Offset (hex)Bytes (hex)Meaning
0054 52 4F 4Emagic TRON
044C 6E616D65txt "name"
093C 416461txt "Ada"
0D0F 0A 04000000 0900 0000map leaf, size 10: @4 → @9
174C 6E616D65txt "name"
1C3C 426F62txt "Bob"
200F 0A 17000000 1C00 0000map leaf, size 10: @17 → @1C
2A4C 6E616D65txt "name"
2F2C 4379txt "Cy"
320F 0A 2A000000 2F00 0000map leaf, size 10: @2A → @2F
3C4C 6E616D65txt "name"
413C 44616Etxt "Dan"
450F 0A 3C000000 4100 0000map leaf, size 10: @3C → @41
4F4C 6E616D65txt "name"
543C 457665txt "Eve"
580F 0A 4F000000 5400 0000map leaf, size 10: @4F → @54
620E 1D 00 1F00 050000 00 0D000000 200000 00 32000000 450000 00 58000000array leaf, size 29, shift 0, bitmap 001F, count 5 (root): @D → @20 → @32 → @45 → @58

asOf, from, and to also accept input variables such as ?timestamp. Supply a transaction id, UTC instant, or duration through parameters. You can save the query before you supply the value. Execution without the required value gives Missing_Parameter.

An asOf query can use a schema clause. The current schema validates each entity's document at the selected transaction. The query excludes entities that do not exist at that transaction.

interval reads a window of transactions instead. It has from and to, and both ends are inside the window. Each end accepts a transaction id, a UTC instant, or a duration. An instant window that resolves inverted gives no facts.

TRON162 B
Offset (hex)Bytes (hex)Meaning
0054 52 4F 4Emagic TRON
044C 23757463txt "#utc"
0914 14 323032362D30 382D30315430303A 30303A30305Atxt "2026-08-01T00:00:00Z"
1F0F 0A 04000000 0900 0000map leaf, size 10: @4 → @9
294C 66726F6Dtxt "from"
2E0F 0A 29000000 1F00 0000map leaf, size 10: @29 → @1F
382C 746Ftxt "to"
3B02 1D000000000000 00i64 29
440F 0A 38000000 3B00 0000map leaf, size 10: @38 → @3B
4E07 0E 00900000 2E00 0000 44000000map branch, size 14, depth 0 (root), slots 12, 15: @2E → @44
5C8C 696E7465727661 6Ctxt "interval"
650F 0A 5C000000 4E00 0000map leaf, size 10: @5C → @4E
6F2C 6462txt "db"
720F 0A 6F000000 6500 0000map leaf, size 10: @6F → @65
7C4C 77697468txt "with"
810F 0A 7C000000 7200 0000map leaf, size 10: @7C → @72
8B4C 62696E64txt "bind"
900F 0A 8B000000 8100 0000map leaf, size 10: @8B → @81
TRON135 B
Offset (hex)Bytes (hex)Meaning
0054 52 4F 4Emagic TRON
044C 6E616D65txt "name"
093C 416461txt "Ada"
0D0F 0A 04000000 0900 0000map leaf, size 10: @4 → @9
174C 6E616D65txt "name"
1C3C 426F62txt "Bob"
200F 0A 17000000 1C00 0000map leaf, size 10: @17 → @1C
2A4C 6E616D65txt "name"
2F2C 4379txt "Cy"
320F 0A 2A000000 2F00 0000map leaf, size 10: @2A → @2F
3C4C 6E616D65txt "name"
413C 44616Etxt "Dan"
450F 0A 3C000000 4100 0000map leaf, size 10: @3C → @41
4F4C 6E616D65txt "name"
543C 457665txt "Eve"
580F 0A 4F000000 5400 0000map leaf, size 10: @4F → @54
620E 1D 00 1F00 050000 00 0D000000 200000 00 32000000 450000 00 58000000array leaf, size 29, shift 0, bitmap 001F, count 5 (root): @D → @20 → @32 → @45 → @58

A fourth term in a fact clause binds the transaction of that fact.

TRON181 B
Offset (hex)Bytes (hex)Meaning
0054 52 4F 4Emagic TRON
045C 3F6E616D65txt "?name"
0A3C 3F7478txt "?tx"
0E0E 11 00 0300 020000 00 04000000 0A0000 00array leaf, size 17, shift 0, bitmap 0003, count 2 (root): @4 → @A
1F2C 3F65txt "?e"
224C 6E616D65txt "name"
275C 3F6E616D65txt "?name"
2D3C 3F7478txt "?tx"
310E 19 00 0F00 040000 00 1F000000 220000 00 27000000 2D0000 00array leaf, size 25, shift 0, bitmap 000F, count 4 (root): @1F → @22 → @27 → @2D
4A0E 0D 00 0100 010000 00 31000000array leaf, size 13, shift 0, bitmap 0001, count 1 (root): @31
575C 3F6E616D65txt "?name"
5D0E 0D 00 0100 010000 00 57000000array leaf, size 13, shift 0, bitmap 0001, count 1 (root): @57
6A5C 7768657265txt "where"
700F 0A 6A000000 4A00 0000map leaf, size 10: @6A → @4A
7A4C 66696E64txt "find"
7F0F 0A 7A000000 0E00 0000map leaf, size 10: @7A → @E
897C 6F726465724279txt "orderBy"
910F 0A 89000000 5D00 0000map leaf, size 10: @89 → @5D
9B07 12 2A000000 7000 0000 7F000000 9100 0000map branch, size 18, depth 0 (root), slots 1, 3, 5: @70 → @7F → @91
TRON395 B
Offset (hex)Bytes (hex)Meaning
00054 52 4F 4Emagic TRON
0045C 236C696E6Btxt "#link"
00A02 06000000000000 00i64 6
0130F 0A 04000000 0A00 0000map leaf, size 10: @4 → @A
01D2C 7478txt "tx"
0200F 0A 1D000000 1300 0000map leaf, size 10: @1D → @13
02A4C 6E616D65txt "name"
02F3C 416461txt "Ada"
0330F 0A 2A000000 2F00 0000map leaf, size 10: @2A → @2F
03D07 0E 00C00000 2000 0000 33000000map branch, size 14, depth 0 (root), slots 14, 15: @20 → @33
04B5C 236C696E6Btxt "#link"
05102 06000000000000 00i64 6
05A0F 0A 4B000000 5100 0000map leaf, size 10: @4B → @51
0642C 7478txt "tx"
0670F 0A 64000000 5A00 0000map leaf, size 10: @64 → @5A
0714C 6E616D65txt "name"
0763C 426F62txt "Bob"
07A0F 0A 71000000 7600 0000map leaf, size 10: @71 → @76
08407 0E 00C00000 6700 0000 7A000000map branch, size 14, depth 0 (root), slots 14, 15: @67 → @7A
0925C 236C696E6Btxt "#link"
09802 06000000000000 00i64 6
0A10F 0A 92000000 9800 0000map leaf, size 10: @92 → @98
0AB2C 7478txt "tx"
0AE0F 0A AB000000 A100 0000map leaf, size 10: @AB → @A1
0B84C 6E616D65txt "name"
0BD2C 4379txt "Cy"
0C00F 0A B8000000 BD00 0000map leaf, size 10: @B8 → @BD
0CA07 0E 00C00000 AE00 0000 C0000000map branch, size 14, depth 0 (root), slots 14, 15: @AE → @C0
0D85C 236C696E6Btxt "#link"
0DE02 06000000000000 00i64 6
0E70F 0A D8000000 DE00 0000map leaf, size 10: @D8 → @DE
0F12C 7478txt "tx"
0F40F 0A F1000000 E700 0000map leaf, size 10: @F1 → @E7
0FE4C 6E616D65txt "name"
1033C 44616Etxt "Dan"
1070F 0A FE000000 0301 0000map leaf, size 10: @FE → @103
11107 0E 00C00000 F400 0000 07010000map branch, size 14, depth 0 (root), slots 14, 15: @F4 → @107
11F5C 236C696E6Btxt "#link"
12502 06000000000000 00i64 6
12E0F 0A 1F010000 2501 0000map leaf, size 10: @11F → @125
1382C 7478txt "tx"
13B0F 0A 38010000 2E01 0000map leaf, size 10: @138 → @12E
1454C 6E616D65txt "name"
14A3C 457665txt "Eve"
14E0F 0A 45010000 4A01 0000map leaf, size 10: @145 → @14A
15807 0E 00C00000 3B01 0000 4E010000map branch, size 14, depth 0 (root), slots 14, 15: @13B → @14E
1660E 1D 00 1F00 050000 00 3D000000 840000 00 CA000000 110100 00 58010000array leaf, size 29, shift 0, bitmap 001F, count 5 (root): @3D → @84 → @CA → @111 → @158

When a temporal read is rejected

db accepts asOf or interval, and it needs one of them.

ConditionReason
asOf 0Transaction ids start at 1
A malformed #utc or #dur valueThe bound is not a valid temporal value
interval with from above to, as transaction idsThe window is empty
asOf and interval togetherThe two forms exclude each other
A member that is not asOf or intervaldb accepts no other member
An interval read with a schema clauseSchema matching requires a single snapshot

Each of these conditions gives one error. This query reads transaction 0:

TRON245 B
Offset (hex)Bytes (hex)Meaning
0054 52 4F 4Emagic TRON
045C 3F6E616D65txt "?name"
0A0E 0D 00 0100 010000 00 04000000array leaf, size 13, shift 0, bitmap 0001, count 1 (root): @4
172C 3F65txt "?e"
1A6C 73616C617279txt "salary"
214C 3F73616Ctxt "?sal"
260E 15 00 0700 030000 00 17000000 1A0000 00 21000000array leaf, size 21, shift 0, bitmap 0007, count 3 (root): @17 → @1A → @21
3B2C 3F65txt "?e"
3E4C 6E616D65txt "name"
435C 3F6E616D65txt "?name"
490E 15 00 0700 030000 00 3B000000 3E0000 00 43000000array leaf, size 21, shift 0, bitmap 0007, count 3 (root): @3B → @3E → @43
5E0E 11 00 0300 020000 00 26000000 490000 00array leaf, size 17, shift 0, bitmap 0003, count 2 (root): @26 → @49
6F4C 61734F66txt "asOf"
7402 00000000000000 00i64 0
7D0F 0A 6F000000 7400 0000map leaf, size 10: @6F → @74
872C 6462txt "db"
8A0F 0A 87000000 7D00 0000map leaf, size 10: @87 → @7D
944C 77697468txt "with"
990F 0A 94000000 8A00 0000map leaf, size 10: @94 → @8A
A35C 7768657265txt "where"
A90F 0A A3000000 5E00 0000map leaf, size 10: @A3 → @5E
B34C 62696E64txt "bind"
B80F 0A B3000000 9900 0000map leaf, size 10: @B3 → @99
C24C 66696E64txt "find"
C70F 0A C2000000 0A00 0000map leaf, size 10: @C2 → @A
D107 0E 01200000 B800 0000 C7000000map branch, size 14, depth 1, slots 0, 13: @B8 → @C7
DF07 0E 0A000000 A900 0000 D1000000map branch, size 14, depth 0 (root), slots 1, 3: @A9 → @D1

Error

Invalid_Temporal

Facts for one query

bind.with.facts adds facts that the database does not hold. Each key is a UTC timestamp, and its value is a merge patch below entities, keyed by entity id, as Patches describes. Ada has ID 1 in this fixture.

TRON363 B
Offset (hex)Bytes (hex)Meaning
00054 52 4F 4Emagic TRON
0045C 3F6E616D65txt "?name"
00A4C 3F73616Ctxt "?sal"
00F0E 11 00 0300 020000 00 04000000 0A0000 00array leaf, size 17, shift 0, bitmap 0003, count 2 (root): @4 → @A
0202C 3F65txt "?e"
0236C 73616C617279txt "salary"
02A4C 3F73616Ctxt "?sal"
02F0E 15 00 0700 030000 00 20000000 230000 00 2A000000array leaf, size 21, shift 0, bitmap 0007, count 3 (root): @20 → @23 → @2A
0442C 3F65txt "?e"
0474C 6E616D65txt "name"
04C5C 3F6E616D65txt "?name"
0520E 15 00 0700 030000 00 44000000 470000 00 4C000000array leaf, size 21, shift 0, bitmap 0007, count 3 (root): @44 → @47 → @4C
0670E 11 00 0300 020000 00 2F000000 520000 00array leaf, size 17, shift 0, bitmap 0003, count 2 (root): @2F → @52
0785C 3F6E616D65txt "?name"
07E0E 0D 00 0100 010000 00 78000000array leaf, size 13, shift 0, bitmap 0001, count 1 (root): @78
08B6C 73616C617279txt "salary"
09202 C8000000000000 00i64 200
09B0F 0A 8B000000 9200 0000map leaf, size 10: @8B → @92
0A51C 31txt "1"
0A70F 0A A5000000 9B00 0000map leaf, size 10: @A5 → @9B
0B18C 656E7469746965 73txt "entities"
0BA0F 0A B1000000 A700 0000map leaf, size 10: @B1 → @A7
0C414 14 323032302D31 302D33305432333A 32303A32305Atxt "2020-10-30T23:20:20Z"
0DA0F 0A C4000000 BA00 0000map leaf, size 10: @C4 → @BA
0E45C 6661637473txt "facts"
0EA0F 0A E4000000 DA00 0000map leaf, size 10: @E4 → @DA
0F44C 77697468txt "with"
0F90F 0A F4000000 EA00 0000map leaf, size 10: @F4 → @EA
1035C 7768657265txt "where"
1090F 0A 03010000 6700 0000map leaf, size 10: @103 → @67
1134C 62696E64txt "bind"
1180F 0A 13010000 F900 0000map leaf, size 10: @113 → @F9
1224C 66696E64txt "find"
1270F 0A 22010000 0F00 0000map leaf, size 10: @122 → @F
13107 0E 01200000 1801 0000 27010000map branch, size 14, depth 1, slots 0, 13: @118 → @127
13F7C 6F726465724279txt "orderBy"
1470F 0A 3F010000 7E00 0000map leaf, size 10: @13F → @7E
15107 12 2A000000 0901 0000 31010000 4701 0000map branch, size 18, depth 0 (root), slots 1, 3, 5: @109 → @131 → @147
TRON320 B
Offset (hex)Bytes (hex)Meaning
00054 52 4F 4Emagic TRON
0043C 73616Ctxt "sal"
00802 C8000000000000 00i64 200
0110F 0A 04000000 0800 0000map leaf, size 10: @4 → @8
01B4C 6E616D65txt "name"
0203C 416461txt "Ada"
0240F 0A 1B000000 2000 0000map leaf, size 10: @1B → @20
02E07 0E 80800000 1100 0000 24000000map branch, size 14, depth 0 (root), slots 7, 15: @11 → @24
03C3C 73616Ctxt "sal"
04002 64000000000000 00i64 100
0490F 0A 3C000000 4000 0000map leaf, size 10: @3C → @40
0534C 6E616D65txt "name"
0583C 426F62txt "Bob"
05C0F 0A 53000000 5800 0000map leaf, size 10: @53 → @58
06607 0E 80800000 4900 0000 5C000000map branch, size 14, depth 0 (root), slots 7, 15: @49 → @5C
0743C 73616Ctxt "sal"
07802 5A000000000000 00i64 90
0810F 0A 74000000 7800 0000map leaf, size 10: @74 → @78
08B4C 6E616D65txt "name"
0902C 4379txt "Cy"
0930F 0A 8B000000 9000 0000map leaf, size 10: @8B → @90
09D07 0E 80800000 8100 0000 93000000map branch, size 14, depth 0 (root), slots 7, 15: @81 → @93
0AB3C 73616Ctxt "sal"
0AF02 46000000000000 00i64 70
0B80F 0A AB000000 AF00 0000map leaf, size 10: @AB → @AF
0C24C 6E616D65txt "name"
0C73C 44616Etxt "Dan"
0CB0F 0A C2000000 C700 0000map leaf, size 10: @C2 → @C7
0D507 0E 80800000 B800 0000 CB000000map branch, size 14, depth 0 (root), slots 7, 15: @B8 → @CB
0E33C 73616Ctxt "sal"
0E702 50000000000000 00i64 80
0F00F 0A E3000000 E700 0000map leaf, size 10: @E3 → @E7
0FA4C 6E616D65txt "name"
0FF3C 457665txt "Eve"
1030F 0A FA000000 FF00 0000map leaf, size 10: @FA → @FF
10D07 0E 80800000 F000 0000 03010000map branch, size 14, depth 0 (root), slots 7, 15: @F0 → @103
11B0E 1D 00 1F00 050000 00 2E000000 660000 00 9D000000 D50000 00 0D010000array leaf, size 29, shift 0, bitmap 001F, count 5 (root): @2E → @66 → @9D → @D5 → @10D

A value replaces the stored field, and null retracts it. A reference field uses {#link <id>}. An id that the database does not hold becomes a new entity for this query alone. Stardust writes none of these facts.

Run it

database query · query run.