Alex Chi Z.
Alex Chi Z.
Currently, the nullable encoding is done by using a bitmap, and is only implemented for primitive types. https://github.com/risinglightdb/risinglight/blob/7b5bc7a1a258afd64a483990ca95f4c799482791/src/storage/secondary/block/primitive_nullable_block_builder.rs#L18 Indeed, such logic can be done in a more generic way. We...
This will happen at the end of the second import operation. ``` cargo run --release -- -f tests/sql/tpch/create.sql cargo run --release -- -f tests/sql/tpch/import.sql cargo run --release -- -f tests/sql/tpch/import.sql...
Currently, the logic is like: https://github.com/risinglightdb/risinglight/blob/fea5e0b3de264e3f2275d1ca6c04c2c97ef8d639/src/storage/secondary/rowset/rowset_iterator.rs#L108-L122 If there is any hint from column iterators, we choose the minimum of remaining items N, so that we can issue as few I/O...
Currently, the implementation of TableScan's schema is not correct. https://github.com/risinglightdb/risinglight/blob/c221b085ceb4a61fe1cf1e6c9d6caa36b7215a2e/src/optimizer/plan_nodes/logical_table_scan.rs#L75-L77 When `with_row_handler` is enabled, we should have an extra i64 column for row handlers at the end.
Currently, we are using the default derive of `Serialize` and `Deserialize`. But these two derives might not be a good fit for wire protocol. We might need a better way...
In https://github.com/risinglightdb/risinglight/commit/38482e05b1a89690d610c8aeddaa2f6be13b18b1, we added insert / create column name by simply setting the data chunk header. In the future, the column name should always be derived in planner (optimizer).
... like Postgres or DuckDB?
Currently, we didn't check if the schema is corresponded to the produced data chunk. We should do some checks in debug mode, so as to reduce further bugs.
https://github.com/risinglightdb/risinglight/blob/40db687e7424da4ef96661c9cfe65adcbcf5a1a6/src/binder/expression/agg_call.rs#L65-L83 Currently, we always select the 0th column in binder for `count(*)`. This has caused problems like https://github.com/risinglightdb/risinglight/issues/200. In the future, we should be able to do both of the...
e.g. ```sql select replace(x) from table; ```