Commit 34be00b
committed
refactor: replace NDJSON spill/streaming with columnar binary format
Data was being serialized as row-based JSON (NDJSON) for spill storage
and streaming despite the source data being columnar (Lance/Parquet).
This introduced unnecessary overhead: column name repetition per row,
text encoding, and BigInt workarounds (__bigint__ prefix hack).
New columnar binary format (QMCB): header + per-column typed arrays
(Float64Array, BigInt64Array, packed bools, offset+data strings,
dimensioned float vectors) with null bitmaps. Applied to:
- R2SpillBackend (edge spill)
- FsSpillBackend (local spill)
- streamRpc + handleQueryStream (DO → client streaming)
- executeStream client-side parsing (frame reassembly)1 parent d7d1d38 commit 34be00b
5 files changed
+510
-138
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
188 | | - | |
| 188 | + | |
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
139 | 139 | | |
140 | 140 | | |
141 | 141 | | |
142 | | - | |
| 142 | + | |
143 | 143 | | |
| 144 | + | |
144 | 145 | | |
145 | 146 | | |
146 | 147 | | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
| 148 | + | |
152 | 149 | | |
153 | 150 | | |
154 | 151 | | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
155 | 161 | | |
156 | 162 | | |
157 | 163 | | |
158 | 164 | | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
169 | 181 | | |
170 | 182 | | |
171 | | - | |
172 | 183 | | |
173 | 184 | | |
174 | 185 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
891 | 891 | | |
892 | 892 | | |
893 | 893 | | |
894 | | - | |
895 | | - | |
896 | | - | |
897 | | - | |
898 | | - | |
899 | | - | |
900 | | - | |
901 | | - | |
902 | | - | |
903 | | - | |
904 | | - | |
905 | | - | |
906 | | - | |
907 | | - | |
908 | | - | |
909 | | - | |
| 894 | + | |
910 | 895 | | |
| 896 | + | |
| 897 | + | |
911 | 898 | | |
912 | | - | |
| 899 | + | |
913 | 900 | | |
914 | 901 | | |
915 | 902 | | |
| |||
925 | 912 | | |
926 | 913 | | |
927 | 914 | | |
928 | | - | |
929 | | - | |
930 | | - | |
931 | | - | |
932 | | - | |
| 915 | + | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
933 | 919 | | |
934 | 920 | | |
935 | 921 | | |
936 | 922 | | |
937 | 923 | | |
938 | | - | |
939 | | - | |
940 | | - | |
941 | | - | |
942 | | - | |
943 | | - | |
944 | | - | |
945 | | - | |
946 | | - | |
947 | | - | |
948 | | - | |
949 | | - | |
950 | | - | |
951 | | - | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
952 | 929 | | |
953 | 930 | | |
954 | 931 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
1806 | 1806 | | |
1807 | 1807 | | |
1808 | 1808 | | |
1809 | | - | |
| 1809 | + | |
1810 | 1810 | | |
1811 | 1811 | | |
1812 | 1812 | | |
1813 | 1813 | | |
1814 | 1814 | | |
1815 | 1815 | | |
1816 | 1816 | | |
1817 | | - | |
1818 | | - | |
1819 | | - | |
1820 | | - | |
1821 | | - | |
1822 | | - | |
1823 | | - | |
1824 | | - | |
1825 | | - | |
1826 | | - | |
1827 | | - | |
1828 | | - | |
1829 | | - | |
| 1817 | + | |
| 1818 | + | |
| 1819 | + | |
| 1820 | + | |
| 1821 | + | |
| 1822 | + | |
| 1823 | + | |
| 1824 | + | |
| 1825 | + | |
| 1826 | + | |
| 1827 | + | |
| 1828 | + | |
| 1829 | + | |
| 1830 | + | |
| 1831 | + | |
| 1832 | + | |
| 1833 | + | |
| 1834 | + | |
1830 | 1835 | | |
1831 | | - | |
1832 | | - | |
| 1836 | + | |
| 1837 | + | |
1833 | 1838 | | |
1834 | 1839 | | |
1835 | 1840 | | |
| |||
1873 | 1878 | | |
1874 | 1879 | | |
1875 | 1880 | | |
1876 | | - | |
1877 | 1881 | | |
| 1882 | + | |
1878 | 1883 | | |
1879 | 1884 | | |
1880 | 1885 | | |
1881 | 1886 | | |
1882 | | - | |
| 1887 | + | |
| 1888 | + | |
| 1889 | + | |
| 1890 | + | |
| 1891 | + | |
| 1892 | + | |
| 1893 | + | |
| 1894 | + | |
| 1895 | + | |
1883 | 1896 | | |
1884 | 1897 | | |
1885 | 1898 | | |
| |||
0 commit comments