gitextract_nc06cv1f/ ├── .github/ │ └── workflows/ │ └── ci.yml ├── .gitignore ├── Cargo.toml ├── LICENSE ├── README.md ├── cluster/ │ ├── run.sh │ ├── toydb1/ │ │ └── toydb.yaml │ ├── toydb2/ │ │ └── toydb.yaml │ ├── toydb3/ │ │ └── toydb.yaml │ ├── toydb4/ │ │ └── toydb.yaml │ └── toydb5/ │ └── toydb.yaml ├── config/ │ └── toydb.yaml ├── docs/ │ ├── architecture/ │ │ ├── README.md │ │ ├── client.md │ │ ├── encoding.md │ │ ├── index.md │ │ ├── mvcc.md │ │ ├── overview.md │ │ ├── raft.md │ │ ├── server.md │ │ ├── sql-data.md │ │ ├── sql-execution.md │ │ ├── sql-optimizer.md │ │ ├── sql-parser.md │ │ ├── sql-planner.md │ │ ├── sql-raft.md │ │ ├── sql-storage.md │ │ ├── sql.md │ │ └── storage.md │ ├── architecture.md │ ├── crate/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── src/ │ │ └── lib.rs │ ├── examples.md │ ├── references.md │ ├── sql.md │ └── tools/ │ └── update-links.py ├── rust-toolchain ├── rustfmt.toml ├── src/ │ ├── bin/ │ │ ├── toydb.rs │ │ ├── toydump.rs │ │ ├── toysql.rs │ │ └── workload.rs │ ├── client.rs │ ├── encoding/ │ │ ├── bincode.rs │ │ ├── format.rs │ │ ├── keycode.rs │ │ └── mod.rs │ ├── error.rs │ ├── lib.rs │ ├── raft/ │ │ ├── log.rs │ │ ├── message.rs │ │ ├── mod.rs │ │ ├── node.rs │ │ ├── state.rs │ │ └── testscripts/ │ │ ├── log/ │ │ │ ├── append │ │ │ ├── commit │ │ │ ├── get │ │ │ ├── has │ │ │ ├── init │ │ │ ├── scan │ │ │ ├── scan_apply │ │ │ ├── splice │ │ │ ├── status │ │ │ └── term │ │ └── node/ │ │ ├── append │ │ ├── append_base_missing │ │ ├── append_base_missing_all │ │ ├── append_commit_quorum │ │ ├── append_initial │ │ ├── append_max_entries │ │ ├── append_pipeline │ │ ├── append_probe_divergent_first │ │ ├── append_probe_divergent_long │ │ ├── append_probe_divergent_short │ │ ├── append_probe_divergent_single │ │ ├── append_response_beyond_last_index_panics │ │ ├── append_response_stale_reject │ │ ├── election │ │ ├── election_candidate_behind_leader │ │ ├── election_candidate_behind_quorum │ │ ├── election_contested │ │ ├── election_tie │ │ ├── election_tie_even │ │ ├── heartbeat_commits_follower │ │ ├── heartbeat_converts_candidate │ │ ├── heartbeat_converts_follower │ │ ├── heartbeat_converts_follower_leaderless │ │ ├── heartbeat_converts_leader │ │ ├── heartbeat_lost_append_duplicate │ │ ├── heartbeat_lost_append_multiple │ │ ├── heartbeat_lost_append_single │ │ ├── heartbeat_lost_read │ │ ├── heartbeat_match_commits │ │ ├── heartbeat_multiple_leaders_panic │ │ ├── heartbeat_old_commit_index │ │ ├── heartbeat_old_last_index │ │ ├── heartbeat_probe_divergent │ │ ├── old_campaign_rejected │ │ ├── old_campaign_response_ignored │ │ ├── old_heartbeat_ignored │ │ ├── request_candidate_abort │ │ ├── request_follower │ │ ├── request_follower_campaign_abort │ │ ├── request_follower_disconnect_stall │ │ ├── request_follower_leaderless_abort │ │ ├── request_leader │ │ ├── request_leader_campaign_abort │ │ ├── request_leader_change_linearizability │ │ ├── request_leader_disconnect │ │ ├── request_leader_read_quorum │ │ ├── request_leader_read_quorum_sequence │ │ ├── request_leader_single │ │ ├── request_status │ │ ├── request_status_single │ │ ├── restart │ │ ├── restart_apply │ │ ├── restart_commit_recover │ │ ├── restart_term_vote │ │ ├── tick_candidate │ │ ├── tick_follower │ │ ├── tick_follower_leaderless │ │ └── tick_leader │ ├── server.rs │ ├── sql/ │ │ ├── engine/ │ │ │ ├── engine.rs │ │ │ ├── local.rs │ │ │ ├── mod.rs │ │ │ └── raft.rs │ │ ├── execution/ │ │ │ ├── aggregator.rs │ │ │ ├── executor.rs │ │ │ ├── join.rs │ │ │ ├── mod.rs │ │ │ └── session.rs │ │ ├── mod.rs │ │ ├── parser/ │ │ │ ├── ast.rs │ │ │ ├── lexer.rs │ │ │ ├── mod.rs │ │ │ └── parser.rs │ │ ├── planner/ │ │ │ ├── mod.rs │ │ │ ├── optimizer.rs │ │ │ ├── plan.rs │ │ │ └── planner.rs │ │ ├── testscripts/ │ │ │ ├── expressions/ │ │ │ │ ├── cnf │ │ │ │ ├── func │ │ │ │ ├── func_sqrt │ │ │ │ ├── literals │ │ │ │ ├── op_compare_equal │ │ │ │ ├── op_compare_greater │ │ │ │ ├── op_compare_greater_equal │ │ │ │ ├── op_compare_is_nan │ │ │ │ ├── op_compare_is_null │ │ │ │ ├── op_compare_lesser │ │ │ │ ├── op_compare_lesser_equal │ │ │ │ ├── op_compare_not_equal │ │ │ │ ├── op_logic_and │ │ │ │ ├── op_logic_not │ │ │ │ ├── op_logic_or │ │ │ │ ├── op_math_add │ │ │ │ ├── op_math_divide │ │ │ │ ├── op_math_exponentiate │ │ │ │ ├── op_math_factorial │ │ │ │ ├── op_math_identity │ │ │ │ ├── op_math_multiply │ │ │ │ ├── op_math_negate │ │ │ │ ├── op_math_remainder │ │ │ │ ├── op_math_subtract │ │ │ │ ├── op_precedence │ │ │ │ └── op_string_like │ │ │ ├── optimizers/ │ │ │ │ ├── constant_folder │ │ │ │ ├── filter_pushdown │ │ │ │ ├── hash_join │ │ │ │ ├── index_lookup │ │ │ │ └── short_circuit │ │ │ ├── queries/ │ │ │ │ ├── aggregate │ │ │ │ ├── clauses │ │ │ │ ├── group_by │ │ │ │ ├── having │ │ │ │ ├── join_cross │ │ │ │ ├── join_inner │ │ │ │ ├── join_outer │ │ │ │ ├── limit │ │ │ │ ├── offset │ │ │ │ ├── order │ │ │ │ ├── select │ │ │ │ ├── where_ │ │ │ │ ├── where_index │ │ │ │ └── where_primary_key │ │ │ ├── schema/ │ │ │ │ ├── create_table │ │ │ │ ├── create_table_datatypes │ │ │ │ ├── create_table_default │ │ │ │ ├── create_table_index │ │ │ │ ├── create_table_names │ │ │ │ ├── create_table_null │ │ │ │ ├── create_table_primary_key │ │ │ │ ├── create_table_reference │ │ │ │ ├── create_table_transaction │ │ │ │ ├── create_table_unique │ │ │ │ ├── drop_table │ │ │ │ ├── drop_table_index │ │ │ │ ├── drop_table_ref │ │ │ │ └── drop_table_transaction │ │ │ ├── transactions/ │ │ │ │ ├── anomaly_dirty_read │ │ │ │ ├── anomaly_dirty_write │ │ │ │ ├── anomaly_fuzzy_read │ │ │ │ ├── anomaly_lost_update │ │ │ │ ├── anomaly_phantom_read │ │ │ │ ├── anomaly_read_skew │ │ │ │ ├── anomaly_write_skew │ │ │ │ ├── begin │ │ │ │ ├── commit │ │ │ │ ├── isolation │ │ │ │ ├── rollback │ │ │ │ └── schema │ │ │ └── writes/ │ │ │ ├── delete │ │ │ ├── delete_index │ │ │ ├── delete_reference │ │ │ ├── delete_where │ │ │ ├── insert │ │ │ ├── insert_datatypes │ │ │ ├── insert_default │ │ │ ├── insert_index │ │ │ ├── insert_null │ │ │ ├── insert_primary_key │ │ │ ├── insert_reference │ │ │ ├── insert_unique │ │ │ ├── update │ │ │ ├── update_datatypes │ │ │ ├── update_default │ │ │ ├── update_expression │ │ │ ├── update_index │ │ │ ├── update_null │ │ │ ├── update_primary_key │ │ │ ├── update_reference │ │ │ ├── update_unique │ │ │ └── update_where │ │ └── types/ │ │ ├── expression.rs │ │ ├── mod.rs │ │ ├── schema.rs │ │ └── value.rs │ └── storage/ │ ├── bitcask.rs │ ├── engine.rs │ ├── memory.rs │ ├── mod.rs │ ├── mvcc.rs │ └── testscripts/ │ ├── bitcask/ │ │ ├── compact │ │ ├── compact_open │ │ ├── log │ │ └── status │ ├── engine/ │ │ ├── keys │ │ ├── point │ │ ├── scan │ │ └── scan_prefix │ ├── memory/ │ │ └── status │ └── mvcc/ │ ├── anomaly_dirty_read │ ├── anomaly_dirty_write │ ├── anomaly_fuzzy_read │ ├── anomaly_lost_update │ ├── anomaly_phantom_read │ ├── anomaly_read_skew │ ├── anomaly_write_skew │ ├── bank │ ├── begin │ ├── begin_as_of │ ├── begin_readonly │ ├── delete │ ├── delete_conflict │ ├── get │ ├── get_isolation │ ├── resume │ ├── rollback │ ├── scan │ ├── scan_isolation │ ├── scan_key_version_encoding │ ├── scan_prefix │ ├── set │ ├── set_conflict │ └── unversioned └── tests/ ├── scripts/ │ ├── anomalies │ ├── client │ ├── errors │ ├── isolation │ └── queries ├── testcluster.rs └── tests.rs