Skip to content

Commit 858a468

Browse files
authored
Merge pull request #841 from evoskuil/master
Add aggregate table templates.
2 parents bbcb1ff + d15a41c commit 858a468

60 files changed

Lines changed: 2298 additions & 1603 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Makefile.am

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ test_libbitcoin_database_test_SOURCES = \
8989
test/primitives/keys.cpp \
9090
test/primitives/linkage.cpp \
9191
test/primitives/manager.cpp \
92+
test/primitives/nohead.cpp \
9293
test/primitives/nomap.cpp \
9394
test/query/amounts.cpp \
9495
test/query/confirmed.cpp \
@@ -201,6 +202,7 @@ include_bitcoin_database_impl_primitives_HEADERS = \
201202
include/bitcoin/database/impl/primitives/keys.ipp \
202203
include/bitcoin/database/impl/primitives/linkage.ipp \
203204
include/bitcoin/database/impl/primitives/manager.ipp \
205+
include/bitcoin/database/impl/primitives/nohead.ipp \
204206
include/bitcoin/database/impl/primitives/nomap.ipp
205207

206208
include_bitcoin_database_impl_querydir = ${includedir}/bitcoin/database/impl/query
@@ -268,13 +270,15 @@ include_bitcoin_database_impl_store_HEADERS = \
268270
include/bitcoin/database/impl/store/store_close.ipp \
269271
include/bitcoin/database/impl/store/store_create.ipp \
270272
include/bitcoin/database/impl/store/store_dump.ipp \
273+
include/bitcoin/database/impl/store/store_events.ipp \
271274
include/bitcoin/database/impl/store/store_open.ipp \
272275
include/bitcoin/database/impl/store/store_open_load.ipp \
273276
include/bitcoin/database/impl/store/store_prune.ipp \
274277
include/bitcoin/database/impl/store/store_reload.ipp \
275278
include/bitcoin/database/impl/store/store_report.ipp \
276279
include/bitcoin/database/impl/store/store_restore.ipp \
277280
include/bitcoin/database/impl/store/store_snapshot.ipp \
281+
include/bitcoin/database/impl/store/store_tables.ipp \
278282
include/bitcoin/database/impl/store/store_unload_close.ipp
279283

280284
include_bitcoin_database_locksdir = ${includedir}/bitcoin/database/locks
@@ -289,6 +293,7 @@ include_bitcoin_database_memory_HEADERS = \
289293
include/bitcoin/database/memory/accessor.hpp \
290294
include/bitcoin/database/memory/finalizer.hpp \
291295
include/bitcoin/database/memory/map.hpp \
296+
include/bitcoin/database/memory/maps.hpp \
292297
include/bitcoin/database/memory/memory.hpp \
293298
include/bitcoin/database/memory/reader.hpp \
294299
include/bitcoin/database/memory/streamers.hpp \
@@ -309,7 +314,9 @@ include_bitcoin_database_primitives_HEADERS = \
309314
include/bitcoin/database/primitives/keys.hpp \
310315
include/bitcoin/database/primitives/linkage.hpp \
311316
include/bitcoin/database/primitives/manager.hpp \
317+
include/bitcoin/database/primitives/nohead.hpp \
312318
include/bitcoin/database/primitives/nomap.hpp \
319+
include/bitcoin/database/primitives/nomaps.hpp \
313320
include/bitcoin/database/primitives/primitives.hpp
314321

315322
include_bitcoin_database_tablesdir = ${includedir}/bitcoin/database/tables

builds/msvc/vs2022/libbitcoin-database-test/libbitcoin-database-test.vcxproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@
142142
<ClCompile Include="..\..\..\..\test\primitives\keys.cpp" />
143143
<ClCompile Include="..\..\..\..\test\primitives\linkage.cpp" />
144144
<ClCompile Include="..\..\..\..\test\primitives\manager.cpp" />
145+
<ClCompile Include="..\..\..\..\test\primitives\nohead.cpp" />
145146
<ClCompile Include="..\..\..\..\test\primitives\nomap.cpp" />
146147
<ClCompile Include="..\..\..\..\test\query\address\address_balance.cpp" />
147148
<ClCompile Include="..\..\..\..\test\query\address\address_history.cpp" />

builds/msvc/vs2022/libbitcoin-database-test/libbitcoin-database-test.vcxproj.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@
120120
<ClCompile Include="..\..\..\..\test\primitives\manager.cpp">
121121
<Filter>src\primitives</Filter>
122122
</ClCompile>
123+
<ClCompile Include="..\..\..\..\test\primitives\nohead.cpp">
124+
<Filter>src\primitives</Filter>
125+
</ClCompile>
123126
<ClCompile Include="..\..\..\..\test\primitives\nomap.cpp">
124127
<Filter>src\primitives</Filter>
125128
</ClCompile>

builds/msvc/vs2022/libbitcoin-database/libbitcoin-database.vcxproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@
157157
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\interfaces\memory.hpp" />
158158
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\interfaces\storage.hpp" />
159159
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\map.hpp" />
160+
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\maps.hpp" />
160161
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\memory.hpp" />
161162
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\reader.hpp" />
162163
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\streamers.hpp" />
@@ -169,7 +170,9 @@
169170
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\keys.hpp" />
170171
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\linkage.hpp" />
171172
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\manager.hpp" />
173+
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\nohead.hpp" />
172174
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\nomap.hpp" />
175+
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\nomaps.hpp" />
173176
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\primitives.hpp" />
174177
<ClInclude Include="..\..\..\..\include\bitcoin\database\query.hpp" />
175178
<ClInclude Include="..\..\..\..\include\bitcoin\database\settings.hpp" />
@@ -227,6 +230,7 @@
227230
<None Include="..\..\..\..\include\bitcoin\database\impl\primitives\keys.ipp" />
228231
<None Include="..\..\..\..\include\bitcoin\database\impl\primitives\linkage.ipp" />
229232
<None Include="..\..\..\..\include\bitcoin\database\impl\primitives\manager.ipp" />
233+
<None Include="..\..\..\..\include\bitcoin\database\impl\primitives\nohead.ipp" />
230234
<None Include="..\..\..\..\include\bitcoin\database\impl\primitives\nomap.ipp" />
231235
<None Include="..\..\..\..\include\bitcoin\database\impl\query\address\address_balance.ipp" />
232236
<None Include="..\..\..\..\include\bitcoin\database\impl\query\address\address_history.ipp" />
@@ -273,13 +277,15 @@
273277
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_close.ipp" />
274278
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_create.ipp" />
275279
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_dump.ipp" />
280+
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_events.ipp" />
276281
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_open.ipp" />
277282
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_open_load.ipp" />
278283
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_prune.ipp" />
279284
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_reload.ipp" />
280285
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_report.ipp" />
281286
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_restore.ipp" />
282287
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_snapshot.ipp" />
288+
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_tables.ipp" />
283289
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_unload_close.ipp" />
284290
<None Include="packages.config" />
285291
</ItemGroup>

builds/msvc/vs2022/libbitcoin-database/libbitcoin-database.vcxproj.filters

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,9 @@
191191
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\map.hpp">
192192
<Filter>include\bitcoin\database\memory</Filter>
193193
</ClInclude>
194+
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\maps.hpp">
195+
<Filter>include\bitcoin\database\memory</Filter>
196+
</ClInclude>
194197
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\memory.hpp">
195198
<Filter>include\bitcoin\database\memory</Filter>
196199
</ClInclude>
@@ -227,9 +230,15 @@
227230
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\manager.hpp">
228231
<Filter>include\bitcoin\database\primitives</Filter>
229232
</ClInclude>
233+
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\nohead.hpp">
234+
<Filter>include\bitcoin\database\primitives</Filter>
235+
</ClInclude>
230236
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\nomap.hpp">
231237
<Filter>include\bitcoin\database\primitives</Filter>
232238
</ClInclude>
239+
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\nomaps.hpp">
240+
<Filter>include\bitcoin\database\primitives</Filter>
241+
</ClInclude>
233242
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\primitives.hpp">
234243
<Filter>include\bitcoin\database\primitives</Filter>
235244
</ClInclude>
@@ -397,6 +406,9 @@
397406
<None Include="..\..\..\..\include\bitcoin\database\impl\primitives\manager.ipp">
398407
<Filter>include\bitcoin\database\impl\primitives</Filter>
399408
</None>
409+
<None Include="..\..\..\..\include\bitcoin\database\impl\primitives\nohead.ipp">
410+
<Filter>include\bitcoin\database\impl\primitives</Filter>
411+
</None>
400412
<None Include="..\..\..\..\include\bitcoin\database\impl\primitives\nomap.ipp">
401413
<Filter>include\bitcoin\database\impl\primitives</Filter>
402414
</None>
@@ -535,6 +547,9 @@
535547
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_dump.ipp">
536548
<Filter>include\bitcoin\database\impl\store</Filter>
537549
</None>
550+
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_events.ipp">
551+
<Filter>include\bitcoin\database\impl\store</Filter>
552+
</None>
538553
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_open.ipp">
539554
<Filter>include\bitcoin\database\impl\store</Filter>
540555
</None>
@@ -556,6 +571,9 @@
556571
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_snapshot.ipp">
557572
<Filter>include\bitcoin\database\impl\store</Filter>
558573
</None>
574+
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_tables.ipp">
575+
<Filter>include\bitcoin\database\impl\store</Filter>
576+
</None>
559577
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_unload_close.ipp">
560578
<Filter>include\bitcoin\database\impl\store</Filter>
561579
</None>

builds/msvc/vs2026/libbitcoin-database-test/libbitcoin-database-test.vcxproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@
142142
<ClCompile Include="..\..\..\..\test\primitives\keys.cpp" />
143143
<ClCompile Include="..\..\..\..\test\primitives\linkage.cpp" />
144144
<ClCompile Include="..\..\..\..\test\primitives\manager.cpp" />
145+
<ClCompile Include="..\..\..\..\test\primitives\nohead.cpp" />
145146
<ClCompile Include="..\..\..\..\test\primitives\nomap.cpp" />
146147
<ClCompile Include="..\..\..\..\test\query\address\address_balance.cpp" />
147148
<ClCompile Include="..\..\..\..\test\query\address\address_history.cpp" />

builds/msvc/vs2026/libbitcoin-database-test/libbitcoin-database-test.vcxproj.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@
120120
<ClCompile Include="..\..\..\..\test\primitives\manager.cpp">
121121
<Filter>src\primitives</Filter>
122122
</ClCompile>
123+
<ClCompile Include="..\..\..\..\test\primitives\nohead.cpp">
124+
<Filter>src\primitives</Filter>
125+
</ClCompile>
123126
<ClCompile Include="..\..\..\..\test\primitives\nomap.cpp">
124127
<Filter>src\primitives</Filter>
125128
</ClCompile>

builds/msvc/vs2026/libbitcoin-database/libbitcoin-database.vcxproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@
157157
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\interfaces\memory.hpp" />
158158
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\interfaces\storage.hpp" />
159159
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\map.hpp" />
160+
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\maps.hpp" />
160161
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\memory.hpp" />
161162
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\reader.hpp" />
162163
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\streamers.hpp" />
@@ -169,7 +170,9 @@
169170
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\keys.hpp" />
170171
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\linkage.hpp" />
171172
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\manager.hpp" />
173+
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\nohead.hpp" />
172174
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\nomap.hpp" />
175+
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\nomaps.hpp" />
173176
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\primitives.hpp" />
174177
<ClInclude Include="..\..\..\..\include\bitcoin\database\query.hpp" />
175178
<ClInclude Include="..\..\..\..\include\bitcoin\database\settings.hpp" />
@@ -227,6 +230,7 @@
227230
<None Include="..\..\..\..\include\bitcoin\database\impl\primitives\keys.ipp" />
228231
<None Include="..\..\..\..\include\bitcoin\database\impl\primitives\linkage.ipp" />
229232
<None Include="..\..\..\..\include\bitcoin\database\impl\primitives\manager.ipp" />
233+
<None Include="..\..\..\..\include\bitcoin\database\impl\primitives\nohead.ipp" />
230234
<None Include="..\..\..\..\include\bitcoin\database\impl\primitives\nomap.ipp" />
231235
<None Include="..\..\..\..\include\bitcoin\database\impl\query\address\address_balance.ipp" />
232236
<None Include="..\..\..\..\include\bitcoin\database\impl\query\address\address_history.ipp" />
@@ -273,13 +277,15 @@
273277
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_close.ipp" />
274278
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_create.ipp" />
275279
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_dump.ipp" />
280+
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_events.ipp" />
276281
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_open.ipp" />
277282
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_open_load.ipp" />
278283
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_prune.ipp" />
279284
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_reload.ipp" />
280285
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_report.ipp" />
281286
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_restore.ipp" />
282287
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_snapshot.ipp" />
288+
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_tables.ipp" />
283289
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_unload_close.ipp" />
284290
<None Include="packages.config" />
285291
</ItemGroup>

builds/msvc/vs2026/libbitcoin-database/libbitcoin-database.vcxproj.filters

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,9 @@
191191
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\map.hpp">
192192
<Filter>include\bitcoin\database\memory</Filter>
193193
</ClInclude>
194+
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\maps.hpp">
195+
<Filter>include\bitcoin\database\memory</Filter>
196+
</ClInclude>
194197
<ClInclude Include="..\..\..\..\include\bitcoin\database\memory\memory.hpp">
195198
<Filter>include\bitcoin\database\memory</Filter>
196199
</ClInclude>
@@ -227,9 +230,15 @@
227230
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\manager.hpp">
228231
<Filter>include\bitcoin\database\primitives</Filter>
229232
</ClInclude>
233+
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\nohead.hpp">
234+
<Filter>include\bitcoin\database\primitives</Filter>
235+
</ClInclude>
230236
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\nomap.hpp">
231237
<Filter>include\bitcoin\database\primitives</Filter>
232238
</ClInclude>
239+
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\nomaps.hpp">
240+
<Filter>include\bitcoin\database\primitives</Filter>
241+
</ClInclude>
233242
<ClInclude Include="..\..\..\..\include\bitcoin\database\primitives\primitives.hpp">
234243
<Filter>include\bitcoin\database\primitives</Filter>
235244
</ClInclude>
@@ -397,6 +406,9 @@
397406
<None Include="..\..\..\..\include\bitcoin\database\impl\primitives\manager.ipp">
398407
<Filter>include\bitcoin\database\impl\primitives</Filter>
399408
</None>
409+
<None Include="..\..\..\..\include\bitcoin\database\impl\primitives\nohead.ipp">
410+
<Filter>include\bitcoin\database\impl\primitives</Filter>
411+
</None>
400412
<None Include="..\..\..\..\include\bitcoin\database\impl\primitives\nomap.ipp">
401413
<Filter>include\bitcoin\database\impl\primitives</Filter>
402414
</None>
@@ -535,6 +547,9 @@
535547
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_dump.ipp">
536548
<Filter>include\bitcoin\database\impl\store</Filter>
537549
</None>
550+
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_events.ipp">
551+
<Filter>include\bitcoin\database\impl\store</Filter>
552+
</None>
538553
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_open.ipp">
539554
<Filter>include\bitcoin\database\impl\store</Filter>
540555
</None>
@@ -556,6 +571,9 @@
556571
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_snapshot.ipp">
557572
<Filter>include\bitcoin\database\impl\store</Filter>
558573
</None>
574+
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_tables.ipp">
575+
<Filter>include\bitcoin\database\impl\store</Filter>
576+
</None>
559577
<None Include="..\..\..\..\include\bitcoin\database\impl\store\store_unload_close.ipp">
560578
<Filter>include\bitcoin\database\impl\store</Filter>
561579
</None>

include/bitcoin/database.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include <bitcoin/database/memory/accessor.hpp>
3333
#include <bitcoin/database/memory/finalizer.hpp>
3434
#include <bitcoin/database/memory/map.hpp>
35+
#include <bitcoin/database/memory/maps.hpp>
3536
#include <bitcoin/database/memory/memory.hpp>
3637
#include <bitcoin/database/memory/reader.hpp>
3738
#include <bitcoin/database/memory/streamers.hpp>
@@ -46,7 +47,9 @@
4647
#include <bitcoin/database/primitives/keys.hpp>
4748
#include <bitcoin/database/primitives/linkage.hpp>
4849
#include <bitcoin/database/primitives/manager.hpp>
50+
#include <bitcoin/database/primitives/nohead.hpp>
4951
#include <bitcoin/database/primitives/nomap.hpp>
52+
#include <bitcoin/database/primitives/nomaps.hpp>
5053
#include <bitcoin/database/primitives/primitives.hpp>
5154
#include <bitcoin/database/tables/context.hpp>
5255
#include <bitcoin/database/tables/event.hpp>

0 commit comments

Comments
 (0)