Gaia Platform 0.4.0-beta
Pre-release
Pre-release
What's Changed
- Replace usage of 'common fields' with 'value linked references' by @mihirj1993 in #1070
- GAIAPLAT1036 Make gaiat print same help when executed with -h and without any parameters by @fineg74 in #1071
- Move PingPong workload over to simplified template pattern. by @JackAtGaia in #1064
- Implement "safe timestamp" and "safe watermark" classes by @senderista in #1072
- Introduce a class to support defining custom integer-based data types by @LaurentiuCristofor in #801
- Replace synchronization builtins with std::atomic by @senderista in #1074
- Don't advance post-GC watermark past a begin_ts with a live commit_ts by @senderista in #1076
- Redefine gaia_id_t as a strong type by @LaurentiuCristofor in #1078
- Fix incorrect call in autoconnect by @LaurentiuCristofor in #1081
- Redefine gaia_type_t as an int_type_t based class by @LaurentiuCristofor in #1082
- Fix SDK break by @LaurentiuCristofor in #1083
- Redefine remaining common types as strong types by @LaurentiuCristofor in #1084
- Redefine gaia::db types as strong types by @LaurentiuCristofor in #1085
- Redefine persistence and index data types by @LaurentiuCristofor in #1086
- Fix debug build break by @LaurentiuCristofor in #1087
- Update hello example readme by @vDonGlover in #1009
- Add a JSON extract test that extracts row data by @waynelwarren in #1066
- Redefine memory manager data types by @LaurentiuCristofor in #1088
- GAIAPLAT-1683: TEST-FRAMEWORK: Modifications and encapsulation of release suites by @JackAtGaia in #1075
- Check for CMAKE_CXX_STANDARD in ruleset translation by @senderista in #1091
- Fix FDW tests by making them execute against the default database instance by @LaurentiuCristofor in #1092
- Fix typo in comment by @vDonGlover in #1094
- [GAIAPLAT-1024] get_txn_id() is redundant once get_current_txn_id() is implemented by @yiwen-wong in #1098
- Disallow creating relationship across databases by @chuan in #1097
- Remove gaia_db_internal.hpp from includes in record_list.hpp by @yiwen-wong in #1101
- Rename EDC to DAC by @LaurentiuCristofor in #1100
- Fix for GAIAPLAT-1730 Fix incorrect generation when define is used in the expression by @fineg74 in #1095
- [GAIAPLAT-1682] Migrate to flatbuffers 2.0.0 by @simone-gaia in #1093
- [GAIAPLAT-1682] Delete flatbuffers 1.12.0 code by @simone-gaia in #1105
- Fix build break due to missing gdev.cfg in flatbuffers by @simone-gaia in #1106
- Move all public database exceptions into exceptions.hpp by @LaurentiuCristofor in #1096
- Fix a rule translation test break by @fineg74 in #1104
- Update gaia_translate and its tests to include correct headers by @LaurentiuCristofor in #1107
- Fix incubator build break by @simone-gaia in #1109
- Reorganize public rules headers by @LaurentiuCristofor in #1110
- Making public more database engine exceptions by @LaurentiuCristofor in #1108
- GAIAPLAT-1701: Use the table type and not its gaia id when reporting invalid subscriptions by @daxhaw in #1111
- Clean up names and placement of some files by @LaurentiuCristofor in #1112
- Fix debug build break from flatbuffers change by @senderista in #1114
- Don't log spurious errors from server when client closes cursor socket by @senderista in #1113
- Fix DAC reference offset constant types by @chuan in #1115
- Mark index entries committed before truncating txn_metadata by @yiwen-wong in #1079
- Decommit unused pages in the txn metadata table by @senderista in #1073
- Update catalog DAC fbs code by @chuan in #1116
- GAIAPLAT-1721 : Adding memory sampling support to framework. by @JackAtGaia in #1089
- Move global compile definitions to Gaia-target-specific scope by @senderista in #1119
- [GAIAPLAT-1748] INDEX: skip attempting to garbage collect offsets from index entries if their types do not match the indexed type by @yiwen-wong in #1117
- [GAIAPLAT-1749] INDEX: Keep track of updated txn id, mark committed txn ids and skip if no work to be done by @yiwen-wong in #1121
- Fix dac_object_t::verify_type() implementation and uses by @LaurentiuCristofor in #1122
- Add llvm support for meta rule 3 by @fineg74 in #1118
- [GAIAPLAT-1765] Add arm64 to the supported target architectures by @simone-gaia in #1126
- Remove RPM support as it is broken by @simone-gaia in #1127
- Explicitly specify build type and compiler in external projects by @senderista in #1128
- Fix compiler warnings for int_type_t and memory_manager_t clases by @LaurentiuCristofor in #1129
- GAIAPLAT-1404: Remove internal dependencies from sdk smoke test by @daxhaw in #1123
- Update value linked relationship to support parent side auto connect by @chuan in #1125
- Add missing parenthesis to function call in sdk test by @LaurentiuCristofor in #1130
- [GAIAPLAT-1635] Replace gaia_ptr_t public ctor with from_locator() method by @simone-gaia in #1131
- Pull rocksdb arm64 fix by @mihirj1993 in #1135
- Fail with error message when repeated options are given to gdev by @senderista in #1137
- [GAIAPLAT-1803]: Fix assert caused by going past the end of an array by @daxhaw in #1134
- [GAIAPLAT-1808] Remove VLR code from direct_access example by @simone-gaia in #1132
- Fix test_db.py failure caused by gaia_ptr_t refactoring by @simone-gaia in #1139
- Fix dependency issue with test_sdk by @simone-gaia in #1140
- Revert "Fail with error message when repeated options are given to gdev (#1137)" by @simone-gaia in #1142
- Fix an ubsan error by @chuan in #1143
- [GAIAPLAT-1811] Add multithread direct_access example by @simone-gaia in #1133
- Add dummy sanitizer option for sanitizer-free debug builds by @senderista in #1149
- Add gdev option to skip top-level build by @senderista in #1148
- Upgrade LLVM toolchain to version 13 by @senderista in #1152
- [GAIAPLAT-1814] Update examples license to MIT by @simone-gaia in #1147
- [GAIAPLAT-1752] INDEX: eliminate memory allocation when garbage collecting offsets by @yiwen-wong in #1124
- [GAIAPLAT-1678] Widen the width of the stats column to accommodate max_uint32 integer values. by @daxhaw in #1155
- Bump Gaia version to 0.3.3-beta by @simone-gaia in #1156
- Fix hello example include path by @simone-gaia in #1157
- Define & implement the DDL for new catalog schema by @waynelwarren in #1141
- [GAIAPLAT-1841] gaia_db_server abort on DROP INDEX by @yiwen-wong in #1158
- Avoid leaking Gaia build options into transitively dependent targets by @senderista in #1160
- Add CMake option to disable asserts by @senderista in #1159
- Remove current_chunk field from txn log header by @senderista in #1162
- Enable TSan by @senderista in #1154
- [GAIAPLAT-1846] Improve clang-format lambda formatting by @simone-gaia in #1163
- [GAIAPLAT-1845] Prevent retail_assert macros from allocating strings on false conditions by @simone-gaia in #1161
- Revert "Define & implement the DDL for new catalog schema (#1141)" by @chuan in #1166
- Prevent bogus warnings from ASSERT_UNREACHABLE by @senderista in #1171
- Change hardcoded count of data mappings to enum value by @senderista in #1172
- Import 'Configure policy CMP0116' from LLVM by @simone-gaia in #1167
- Allow building Gaia using Ninja by @simone-gaia in #1173
- Add debug helper to display fd name by @senderista in #1175
- Minor readability fixes by @senderista in #1176
- Make unnecessarily public fields private by @senderista in #1177
- NULL SUPPORT: Add is_null field to data_holder_t by @yiwen-wong in #1150
- Added Missing null hash constant by @yiwen-wong in #1178
- Making gdev to build with Ninja. by @simone-gaia in #1174
- Fixed method call for verify_serialization by @yiwen-wong in #1179
- Revert "Making gdev to build with Ninja." by @simone-gaia in #1180
- Remove forked gdev.cfg and add Coverage config option to gdev by @senderista in #1136
- Virtualize log record operation type and remove deleted object ID field by @senderista in #1164
- Git mixin for gdev by @phillipov in #1183
- INDEX: NULL index_key support by @yiwen-wong in #1182
- Fix txn metadata types and names by @senderista in #1186
- Allow building gaiat tests in parallel by @simone-gaia in #1165
- Make Ninja the default build system in gdev by @simone-gaia in #1189
- [GAIAPLAT-1860] Remove usage of libexplain in server_instance_t by @simone-gaia in #1192
- Make Gaia subprojects build with the same generator as main project (make, ninja, etc..) by @simone-gaia in #1191
- Add code generation and tests for meta rule 3 by @fineg74 in #1187
- Cleanup some minor payload_types issues by @LaurentiuCristofor in #1193
- Add errno literal value to system error messages by @senderista in #1194
- Retyped DAC constants away from raw int types by @phillipov in #1185
- Fix for GAIAPLAT1840 by @fineg74 in #1196
- Move private class sections after public ones and field declarations at the end by @LaurentiuCristofor in #1195
- Fix broken includes in Cmake translate_ruleset_internal() by @simone-gaia in #1197
- Fix are_field_values_equal() to handle missing values as nulls by @LaurentiuCristofor in #1198
- Revert default usage of Ninja in gdev by @simone-gaia in #1201
- Doc about using VS Code with gdev containers by @phillipov in #1200
- Update payload_types API to handle missing fields as null; update unit test and index code by @LaurentiuCristofor in #1199
- Replace ref chain with ref anchor chain by @chuan in #1170
- SCRATCH: Add a test for FlatBufferBuilder.ForceDefaults() by @LaurentiuCristofor in #1202
- Update NULL support in FDW code by @LaurentiuCristofor in #1204
- Fix DAC cpp style by @chuan in #1205
- Update two db unit tests by @chuan in #1207
- Add CMake option to disable ccache by @senderista in #1210
- Update obsolete clang version references by @senderista in #1209
- Add more tests for flatbuffers serialization by @LaurentiuCristofor in #1208
- [GAIAPLAT-1768] Moved expressions to its own folder and namespace by @yiwen-wong in #1203
- [GAIAPLAT-1725] only emit a single diagnostic if gaiat can't connect to the db server by @daxhaw in #1206
- [GAIAPLAT-1779] Fix clang-tidy warnings in translation engine by @daxhaw in #1212
- Refactor catalog_core_t to a namespace by @chuan in #1214
- Fix warnings in int_type.hpp and db_types.hpp by @simone-gaia in #1211
- [GAIAPLAT-1901] Add dependency between gaiac and gaia_db_server_exec by @simone-gaia in #1217
- [GAIAPLAT-1391] Allow deleting connected nodes by @chuan in #1215
- Implementation of GitHub Actions for Build Workflow by @JackAtGaia in #1213
- Clarify binary/ternary operator formatting rules by @simone-gaia in #1216
- [GAIAPLAT-1901] Add dependency between process_schema_internal() and gaia_db_server_exec by @simone-gaia in #1222
- Change 'an MIT-style license' to 'the MIT license' by @LaurentiuCristofor in #1221
- Gaiaplat 1903 : Add Clang-format scanning to pre-commit. by @JackAtGaia in #1223
- GAIAPLAT-1904 - Adding in end-of-file-fixer to pre-commit by @JackAtGaia in #1225
- GAIAPLAT-1905 : Enabling rule for preventing 'trailing-whitespace' by @JackAtGaia in #1227
- Fix LLVM and JSON header includes by @LaurentiuCristofor in #1231
- Add developer docs links to the example readmes. by @vDonGlover in #1229
- Rename BUILD_GAIA_RELEASE to BUILD_GAIA_SDK by @daxhaw in #1230
- Rename 'auto_begin' parameter of auto_transaction to 'auto_restart' by @LaurentiuCristofor in #1234
- Add symlink updates to toolchain install instructions by @senderista in #1236
- Re-run pre-commit to fix lint errors by @LaurentiuCristofor in #1235
- GAIAPLAT-1787 : Fixing duplicate builds. by @JackAtGaia in #1238
- Create stability in the catalog extraction test by @waynelwarren in #1224
- New expression construction/evaluation framework by @yiwen-wong in #1226
- [GAIAPLAT-1708] Add support for optional scalar values in the catalog by @simone-gaia in #1233
- Fix incorrect clang version by @senderista in #1245
- GAIAPLAT-1924 : Adding support for detecting and removing multiple empty lines. by @JackAtGaia in #1242
- GAIAPLAT-1941 : Remove generated files from pre-commit scanning. by @JackAtGaia in #1248
- [GAIAPLAT-1907] Allow using optional scalar value in fbs binary schema by @simone-gaia in #1247
- GAIAPLAT-1922 : First pass at restructuring guidelines. by @JackAtGaia in #1241
- Gaiaplat 1929 : Adding verification of license text prefix at the top of source files. by @JackAtGaia in #1249
- Fix build failure due to all tables marked as system tables by @simone-gaia in #1252
- GAIAPLAT-1946 : re-inserting double line until fix is in. by @JackAtGaia in #1253
- [GAIAPLAT-1925] Expression functor fix by @yiwen-wong in #1246
- Gaiaplat 1922 - Updates to guidelines for new pre-commit checks. by @JackAtGaia in #1250
- GAIAPLAT-1945 : Test submit by @JackAtGaia in #1251
- Add 'hash' fields to core catalog, add core catalog tests by @waynelwarren in #1243
- Rename private set_record() method to set() by @LaurentiuCristofor in #1254
- Fix non-standard file headers by @LaurentiuCristofor in #1256
- GAIAPLAT-1936 - Ensuring that examples have consistent MIT license prefix. by @JackAtGaia in #1257
- GAIAPLAT-1931 : Fixing file prefix for dev_tools/sdk by @JackAtGaia in #1258
- GAIAPLAT-1942 : Fixing file prefix for production/tests/ by @JackAtGaia in #1259
- GAIAPLAT-1939 : Changing file prefix for production/cmake and production/coverage by @JackAtGaia in #1260
- Move gaia_field 'hash' field after 'optional' by @chuan in #1255
- GAIAPLAT-1953 - adding in ability to kick off workflow manually by @JackAtGaia in #1263
- Add support for 'OPTIONAL' in DDL by @chuan in #1261
- GAIAPLAT-1839 - Cleaning up production/db/core formatting. by @JackAtGaia in #1266
- Add size helpers to db_object_t by @senderista in #1269
- Fix shebang line in scripts to not hardcode interpreter path by @senderista in #1268
- GAIAPLAT-1787 - Removed remaining Slack integration point from build. by @JackAtGaia in #1271
- Fix handling of invalid locator values during record_list iteration by @LaurentiuCristofor in #1273
- GAIAPLAT-1957 - Adding PyBind support back in by @JackAtGaia in #1270
- GAIAPLAT-1798 - Implementation of Code coverage measurements. by @JackAtGaia in #1265
- Gaiaplat 1953 - Bring current GH Actions more in line with TeamCity Functionality by @JackAtGaia in #1264
- GAIAPLAT-1897 - Fixing GDev cache that was disabled during GHA development by @JackAtGaia in #1272
- Move cpack outside of gdev by @daxhaw in #1240
- GAIAPLAT-1963 - Small change to 'fix_double_empty_lines.py' to bypass binary files. by @JackAtGaia in #1277
- Forbid system db operations by @chuan in #1278
- Add scalar array support for declarative language (LLVM only) by @fineg74 in #1244
- Create and test "rules catalog" tables by @waynelwarren in #1267
- GAIAPLAT-1798 - Adding missing permissions line back in. by @JackAtGaia in #1275
- Fix client calculation of batch buffer size by @LaurentiuCristofor in #1279
- Add logging for new session termination by @senderista in #1280
- [GAIAPLAT-1949] Create optional class as replacement of c++17 std::optional by @simone-gaia in #1262
- Creating rules catalog tables with is_system turned on by @waynelwarren in #1281
- Fix build warning for unused variable in gaia_fdw.cpp by @LaurentiuCristofor in #1284
- Gaiaplat 1961: Adding in developer workflows for manual execution. by @JackAtGaia in #1274
- Move the initialize_rules_tables() method into the event_manager init() by @waynelwarren in #1287
- Move rules catalog table creation to ddl executor by @chuan in #1291
- Add is_valid() method to int_type_t and disable operator bool() by @LaurentiuCristofor in #1286
- change int to size_t to eliminate warnings by @waynelwarren in #1285
- Also disable operator bool() const for int_type_t by @LaurentiuCristofor in #1294
- Fix infinite loop in test by @waynelwarren in #1295
- Add a new assert to client iteration and other cleanup by @LaurentiuCristofor in #1298
- [GAIAPLAT-1971] Remove hard-coded dependency on clang and lld in the .deb by @simone-gaia in #1300
- [GAIAPLAT-1950] Make DAC classes use flatbuffers::Optional for scalar fields by @simone-gaia in #1283
- GAIAPLAT-1243: Ensure CI jobs pull version info from production build by @daxhaw in #1299
- Fix memory manager check broken by recent change by @LaurentiuCristofor in #1302
- Install clang in ubuntu docker container for VerifySDK job by @daxhaw in #1301
- Add assertions to memory manager offset calculation helpers by @LaurentiuCristofor in #1303
- Add CMake option to enable profiling support by @senderista in #1304
- Gaiaplat 1976 - Ensure that unit test failures are properly propogated. by @JackAtGaia in #1305
- Rename iterator conformance test by @LaurentiuCristofor in #1308
- SDK build break: Ensure ForceDefaults is true on FlatbufferBuilder instances by @daxhaw in #1310
- Re-enable rule tests by @daxhaw in #1306
- GAIAPLAT-1894 : Enabled better caching between jobs. by @JackAtGaia in #1282
- [GAIAPLAT-1947] Fix mark_entries_committed() crash while incrementing operator by @yiwen-wong in #1309
- GAIAPLAT-1940: add license text for CMake files under production/tools by @daxhaw in #1312
- Add configure_gaia_target() to QP CMakeLists.txt by @senderista in #1307
- Fix accidentally quadratic behavior in GC by @senderista in #1314
- GAIAPLAT-1781: Fix sporadic failure in test_two_rules by @daxhaw in #1319
- Add code generation support for scalar array fields by @fineg74 in #1311
- Fix dac array nullable case by @chuan in #1318
- Add .deb install option regarding gaia systemd service by @chuan in #1313
- Gaiaplat 1996 - Coverage job improvements by @JackAtGaia in #1321
- Fix a type matadata bug by @chuan in #1324
- [GAIAPLAT-1992] Add optional to direct_acess examples by @simone-gaia in #1315
- GAIAPLAT-1799 - Start of adding performance tests to builds. by @JackAtGaia in #1323
- GAIAPLAT-1962 - Adding setup-job action as part of workflows. by @JackAtGaia in #1328
- VLR Examples: Direct Access and Rules by @phillipov in #1326
- [GAIAPLAT-1995] Transaction conflicts cause server segmentation fault by @yiwen-wong in #1327
- Gaiaplat 1962a: Adding build job action and coverage job action, and usage in workflows. by @JackAtGaia in #1330
- Comment generic client iteration assertion and add specific assertion to id generator path by @JackAtGaia in #1329
- GAIAPLAT-1964: update the error message when an ambiguous field reference is found by @daxhaw in #1332
- [GAIAPLAT-2006] Non-deterministic crash when generator_iterator is in… by @yiwen-wong in #1335
- Gaiaplat 1799 - Testing caching for long-running jobs by @JackAtGaia in #1331
- Gaiaplat 1962 - Moved lint and third-party steps into action.yml. by @JackAtGaia in #1334
- Initial gaiat tests for scalar arrays by @waynelwarren in #1325
- Remove unnecessary std::move for generator. by @yiwen-wong in #1336
- Add versioning, verbose test failure output, and build-type to CI by @daxhaw in #1337
- GAIAPLAT-1892 - Fixed issue with setup by @JackAtGaia in #1338
- GAIAPLAT-2004 - Allowing new integration tests only workflow to work … by @JackAtGaia in #1333
- Gaiaplat 2004 by @JackAtGaia in #1339
- Eliminate use of hard-coded "_t" used to create types in gaiac & gaiat by @waynelwarren in #1317
- Gaiaplat 1975 - test for catching failure by @JackAtGaia in #1316
- Add a new test for concurrent table scans by @LaurentiuCristofor in #1344
- Simplify the installation choices for Gaia service by @simone-gaia in #1345
- Gaiaplat 2004 - Splitting integration and performance tests into their own jobs by @JackAtGaia in #1342
- Gaiaplat 2001 - Adding palletbox to the list of tests to run. by @JackAtGaia in #1343
- Refactor expressions API to simplify implementation of specialized operator by @yiwen-wong in #1288
- Move txn logs into single shared memory segment (phase 1) by @senderista in #1322
- GAIAPLAT-1838 - Pure Copy of GDev folder into Docker_Dev folder. by @JackAtGaia in #1349
- GAIAPLAT-1838 - Starting with initial GDEV by @JackAtGaia in #1347
- Update comment on manual closing of client fd by @LaurentiuCristofor in #1351
- [GAIAPLAT-2027] Ensure that NULL ordering for indexes are the same as in optional by @yiwen-wong in #1356
- [GAIAPLAT-2057] Concurrency issue in db_hash_map causes "Cannot find an object with ID 'xxx'." by @simone-gaia in #1353
- Also clear the record_list_manager when clearing the shared memory by @LaurentiuCristofor in #1358
- Gaiaplat 1838 - Next Phase - Removing async/await and adding docstrings by @JackAtGaia in #1357
- Gaiaplat 1838 - Next Phase by @JackAtGaia in #1359
- Port most operators from C++ and misc template fixes by @yiwen-wong in #1355
- Make test_expressions_perf compile, but leave them disabled by @simone-gaia in #1362
- Implement unary + operator for expressions by @yiwen-wong in #1361
- Disable new txn log allocation by @senderista in #1365
- Bump Gaia version to 0.4.0-beta by @simone-gaia in #1363
- Gaiaplat 1838 : Applying PyLint and Resolving any warnings from Docker_Dev by @JackAtGaia in #1360
- Gaiaplat 1838 : Applying Black formatter to Docker_Dev by @JackAtGaia in #1367
- GAIAPLAT-2062 - Attempt to fix build break by @JackAtGaia in #1369
Full Changelog: v0.3.3-beta...v0.4.0-beta