该项目是一款综合性的MySQL数据库管理工具,采用C++和Python进行开发,源代码包含586个文件,涵盖226个头文件(hpp)、190个C++源文件(cpp)、37个Qt Book(qbk)、25个接口文件(ipp)、22个Python脚本(py)、22个Docker容器配置文件(dockerfile)、11个文本文件(txt)、6个YAML配置文件(yml)、5个SVG图形文件(svg)、5个SQL脚本(sql)。该项目旨在为用户提供高效的数据库管理功能,适用于多种开发环境和平台。
关键词
C++ 数据库管理工具 Python MySQL Shell
目录结构
├── .clang-format ├── .clangd ├── .codecov.yml ├── .dockerignore ├── .drone.star ├── .github ├── workflows ├── build-code.yml ├── coverage.yml ├── docker-linux.yml ├── docker-windows.yml ├── fuzz.yml ├── .gitignore ├── CMakeLists.txt ├── LICENSE_1_0.txt ├── bench ├── CMakeLists.txt ├── connection_pool.cpp ├── run.sh ├── cmake ├── test_utils.cmake ├── doc ├── Jamfile ├── doxygen.hpp ├── images ├── connection_pool_bench.svg ├── pooled_connection_lifecycle.svg ├── protocol.svg ├── protocol_multi_resultset.svg ├── results.svg ├── qbk ├── 00_main.qbk ├── 01_intro.qbk ├── 02_integrating.qbk ├── 03_tutorial.qbk ├── 04_overview.qbk ├── 05_dynamic_interface.qbk ├── 06_static_interface.qbk ├── 07_queries.qbk ├── 08_prepared_statements.qbk ├── 09_multi_resultset.qbk ├── 10_multi_function.qbk ├── 11_metadata.qbk ├── 12_async.qbk ├── 13_ssl.qbk ├── 14_other_streams.qbk ├── 15_error_handling.qbk ├── 16_connparams.qbk ├── 17_reconnecting.qbk ├── 18_charsets.qbk ├── 19_time_types.qbk ├── 20_any_connection.qbk ├── 21_connection_pool.qbk ├── 22_sql_formatting.qbk ├── 23_sql_formatting_advanced.qbk ├── 24_examples.qbk ├── 24_pipeline.qbk ├── 25_tests.qbk ├── helpers ├── ExecutionRequest.qbk ├── ExecutionStateType.qbk ├── FieldViewFwdIterator.qbk ├── Formattable.qbk ├── OutputString.qbk ├── ResultsType.qbk ├── SocketStream.qbk ├── StaticRow.qbk ├── Stream.qbk ├── WritableFieldTuple.qbk ├── quickref.xml ├── upgrade_1_82.md ├── xsl ├── custom-overrides.xsl ├── example ├── CMakeLists.txt ├── Jamfile ├── any_connection.cpp ├── async_callbacks.cpp ├── async_coroutines.cpp ├── async_coroutinescpp20.cpp ├── async_futures.cpp ├── batch_inserts.cpp ├── batch_inserts_generic.cpp ├── connection_pool ├── handle_request.cpp ├── handle_request.hpp ├── log_error.hpp ├── main.cpp ├── repository.cpp ├── repository.hpp ├── server.cpp ├── server.hpp ├── types.hpp ├── db_setup.sql ├── dynamic_filters.cpp ├── metadata.cpp ├── order_management ├── db_setup.sql ├── parse_cmdline.hpp ├── prepared_statements_cpp11.cpp ├── prepared_statements_cpp14.cpp ├── stored_procedures_cpp11.cpp ├── stored_procedures_cpp14.cpp ├── patch_updates.cpp ├── pipeline.cpp ├── private ├── employees_multiple.json ├── employees_single.json ├── run_batch_inserts.py ├── run_connection_pool.py ├── run_dynamic_filters.py ├── run_patch_updates.py ├── run_stored_procedures.py ├── test_script.sql ├── source_script.cpp ├── ssl.cpp ├── timeouts.cpp ├── tutorial.cpp ├── unix_socket.cpp ├── include ├── boost ├── mysql.hpp ├── mysql ├── any_address.hpp ├── any_connection.hpp ├── bad_field_access.hpp ├── blob.hpp ├── blob_view.hpp ├── buffer_params.hpp ├── character_set.hpp ├── client_errc.hpp ├── column_type.hpp ├── common_server_errc.hpp ├── connect_params.hpp ├── connection.hpp ├── connection_pool.hpp ├── constant_string_view.hpp ├── date.hpp ├── datetime.hpp ├── days.hpp ├── defaults.hpp ├── detail ├── access.hpp ├── algo_params.hpp ├── any_execution_request.hpp ├── any_resumable_ref.hpp ├── character_set.hpp ├── coldef_view.hpp ├── config.hpp ├── connect_params_helpers.hpp ├── connection_impl.hpp ├── connection_pool_fwd.hpp ├── datetime.hpp ├── engine.hpp ├── engine_impl.hpp ├── engine_stream_adaptor.hpp ├── escape_string.hpp ├── execution_concepts.hpp ├── execution_processor ├── execution_processor.hpp ├── execution_state_impl.hpp ├── results_impl.hpp ├── static_execution_state_impl.hpp ├── static_results_impl.hpp ├── field_impl.hpp ├── flags.hpp ├── format_sql.hpp ├── make_string_view.hpp ├── next_action.hpp ├── ok_view.hpp ├── output_string.hpp ├── pipeline.hpp ├── rebind_executor.hpp ├── results_iterator.hpp ├── resultset_encoding.hpp ├── row_impl.hpp ├── rows_iterator.hpp ├── socket_stream.hpp ├── ssl_fwd.hpp ├── string_view_offset.hpp ├── throw_on_error_loc.hpp ├── typing ├── meta_check_context.hpp ├── pos_map.hpp ├── readable_field_traits.hpp ├── row_traits.hpp ├── void_t.hpp ├── writable_field_traits.hpp ├── diagnostics.hpp ├── error_categories.hpp ├── error_code.hpp ├── error_with_diagnostics.hpp ├── escape_string.hpp ├── execution_state.hpp ├── field.hpp ├── field_kind.hpp ├── field_view.hpp ├── format_sql.hpp ├── handshake_params.hpp ├── impl ├── any_connection.ipp ├── character_set.ipp ├── column_type.ipp ├── connection_impl.ipp ├── connection_pool.ipp ├── date.ipp ├── datetime.ipp ├── engine_impl_instantiations.ipp ├── error_categories.ipp ├── escape_string.ipp ├── execution_state_impl.ipp ├── field.ipp ├── field_kind.ipp ├── field_view.hpp ├── field_view.ipp ├── format_sql.hpp ├── format_sql.ipp ├── internal ├── auth ├── auth.hpp ├── auth.ipp ├── byte_to_hex.hpp ├── call_next_char.hpp ├── connection_pool ├── connection_node.hpp ├── connection_pool_impl.hpp ├── internal_pool_params.hpp ├── run_with_timeout.hpp ├── sansio_connection_node.hpp ├── timer_list.hpp ├── wait_group.hpp ├── coroutine.hpp ├── dt_to_string.hpp ├── error ├── server_error_to_string.hpp ├── server_error_to_string.ipp ├── protocol ├── capabilities.hpp ├── db_flavor.hpp ├── deserialization.hpp ├── frame_header.hpp ├── impl ├── binary_protocol.hpp ├── bit_deserialization.hpp ├── deserialization_context.hpp ├── null_bitmap.hpp ├── protocol_field_type.hpp ├── protocol_types.hpp ├── serialization_context.hpp ├── span_string.hpp ├── text_protocol.hpp ├── serialization.hpp ├── static_buffer.hpp ├── sansio ├── close_connection.hpp ├── close_statement.hpp ├── connect.hpp ├── connection_state.hpp ├── connection_state_data.hpp ├── execute.hpp ├── handshake.hpp ├── message_reader.hpp ├── ping.hpp ├── prepare_statement.hpp ├── quit_connection.hpp ├── read_buffer.hpp ├── read_resultset_head.hpp ├── read_some_rows.hpp ├── read_some_rows_dynamic.hpp ├── reset_connection.hpp ├── run_pipeline.hpp ├── set_character_set.hpp ├── start_execution.hpp ├── top_level_algo.hpp ├── ssl_context_with_default.hpp ├── variant_stream.hpp ├── is_fatal_error.ipp ├── meta_check_context.ipp ├── pfr.hpp ├── pipeline.ipp ├── results_impl.ipp ├── resultset.ipp ├── row_impl.ipp ├── statement.hpp ├── static_execution_state_impl.ipp ├── static_results_impl.ipp ├── is_fatal_error.hpp ├── mariadb_collations.hpp ├── mariadb_server_errc.hpp ├── metadata.hpp ├── metadata_collection_view.hpp ├── metadata_mode.hpp ├── mysql_collations.hpp ├── mysql_server_errc.hpp ├── pfr.hpp ├── pipeline.hpp ├── pool_params.hpp ├── results.hpp ├── resultset.hpp ├── resultset_view.hpp ├── row.hpp ├── row_view.hpp ├── rows.hpp ├── rows_view.hpp ├── src.hpp ├── ssl_mode.hpp ├── statement.hpp ├── static_execution_state.hpp ├── static_results.hpp ├── string_view.hpp ├── tcp.hpp ├── tcp_ssl.hpp ├── throw_on_error.hpp ├── time.hpp ├── underlying_row.hpp ├── unix.hpp ├── unix_ssl.hpp ├── index.html ├── meta ├── libraries.json ├── readme.txt ├── test ├── CMakeLists.txt ├── Jamfile ├── cmake_b2_separate_compilation_test ├── CMakeLists.txt ├── boost_mysql.cpp ├── main.cpp ├── cmake_b2_test ├── CMakeLists.txt ├── main.cpp ├── cmake_test ├── CMakeLists.txt ├── main.cpp ├── common ├── include ├── test_common ├── assert_buffer_equals.hpp ├── buffer_concat.hpp ├── check_meta.hpp ├── ci_server.hpp ├── create_basic.hpp ├── create_diagnostics.hpp ├── has_ranges.hpp ├── netfun_helpers.hpp ├── netfun_maker.hpp ├── network_result.hpp ├── printing.hpp ├── stringize.hpp ├── tracker_executor.hpp ├── validate_string_contains.hpp ├── src ├── boost_asio.cpp ├── boost_mysql.cpp ├── entry_point.cpp ├── printing.cpp ├── tracker_executor.cpp ├── fuzzing ├── Jamfile ├── fuzz_auth_switch.cpp ├── fuzz_column_definition.cpp ├── fuzz_err_packet.cpp ├── fuzz_escape_string.cpp ├── fuzz_execute_response.cpp ├── fuzz_format_args.cpp ├── fuzz_format_identifier.cpp ├── fuzz_format_sql_injection.cpp ├── fuzz_format_strings.cpp ├── fuzz_handshake_server_response.cpp ├── fuzz_ok_packet.cpp ├── fuzz_ok_response.cpp ├── fuzz_prepare_stmt_response.cpp ├── fuzz_row.cpp ├── fuzz_row_message.cpp ├── fuzz_server_hello.cpp ├── fuzz_text_field.cpp ├── fuzz_utf8mb4.cpp ├── integration ├── CMakeLists.txt ├── Jamfile ├── db_setup.sql ├── db_setup_sha256.sql ├── include ├── test_integration ├── common.hpp ├── er_connection.hpp ├── er_network_variant.hpp ├── get_endpoint.hpp ├── metadata_validator.hpp ├── network_test.hpp ├── run_stackful_coro.hpp ├── server_ca.hpp ├── snippets ├── credentials.hpp ├── describe.hpp ├── get_any_connection.hpp ├── get_connection.hpp ├── run_coro.hpp ├── static_rows.hpp ├── streams.hpp ├── tcp_network_fixture.hpp ├── pch.hpp ├── src ├── async_callback.cpp ├── async_coroutines.cpp ├── async_coroutinescpp20.cpp ├── er_impl_common.hpp ├── er_network_variant.cpp ├── get_endpoint.cpp ├── metadata_validator.cpp ├── sync_errc.cpp ├── sync_exc.cpp ├── test ├── any_connection.cpp ├── character_set_tracking.cpp ├── connection_pool.cpp ├── crud.cpp ├── database_types.cpp ├── db_specific.cpp ├── handshake.cpp ├── multi_queries.cpp ├── pipeline.cpp ├── prepared_statements.cpp ├── reconnect.cpp ├── snippets ├── any_connection.cpp ├── charsets.cpp ├── connection_pool.cpp ├── dynamic.cpp ├── metadata.cpp ├── multi_function.cpp ├── multi_resultset.cpp ├── overview.cpp ├── pipeline.cpp ├── prepared_statements.cpp ├── sql_formatting.cpp ├── sql_formatting_custom.cpp ├── static.cpp ├── time_types.cpp ├── spotchecks.cpp ├── static_interface.cpp ├── stored_procedures.cpp ├── thread_safety ├── Jamfile ├── connection_pool.cpp ├── unit ├── CMakeLists.txt ├── Jamfile ├── include ├── test_unit ├── algo_test.hpp ├── create_coldef_frame.hpp ├── create_err.hpp ├── create_execution_processor.hpp ├── create_frame.hpp ├── create_meta.hpp ├── create_ok.hpp ├── create_ok_frame.hpp ├── create_prepare_statement_response.hpp ├── create_query_frame.hpp ├── create_row_message.hpp ├── create_statement.hpp ├── custom_allocator.hpp ├── fail_count.hpp ├── ff_charset.hpp ├── mock_execution_processor.hpp ├── mock_message.hpp ├── printing.hpp ├── row_identity.hpp ├── run_coroutine.hpp ├── test_stream.hpp ├── pch.hpp ├── src ├── printing.cpp ├── test_stream.cpp ├── test ├── any_address.cpp ├── any_connection.cpp ├── auth ├── auth.cpp ├── character_set.cpp ├── client_errc.cpp ├── common_server_errc.cpp ├── connection.cpp ├── connection_pool.cpp ├── connection_pool ├── connection_pool_impl.cpp ├── mock_timer.hpp ├── run_with_timeout.cpp ├── sansio_connection_node.cpp ├── timer_list.cpp ├── wait_group.cpp ├── constant_string_view.cpp ├── date.cpp ├── datetime.cpp ├── detail ├── connect_params_helpers.cpp ├── datetime.cpp ├── engine_impl.cpp ├── execution_concepts.cpp ├── output_string.cpp ├── row_impl.cpp ├── rows_iterator.cpp ├── socket_stream.cpp ├── typing ├── meta_check_context.cpp ├── pos_map.cpp ├── readable_field_traits.cpp ├── row_traits.cpp ├── writable_field_traits.cpp ├── diagnostics.cpp ├── escape_string.cpp ├── execution_processor ├── execution_processor.cpp ├── execution_processor_helpers.hpp ├── execution_state_impl.cpp ├── results_impl.cpp ├── static_execution_processor_helpers.hpp ├── static_execution_state_impl.cpp ├── static_results_impl.cpp ├── execution_state.cpp ├── field.cpp ├── field_view.cpp ├── format_sql ├── api.cpp ├── basic_format_context.cpp ├── custom_formatter.cpp ├── format_common.hpp ├── format_strings.cpp ├── formattable.cpp ├── formattable_ref.cpp ├── individual_value.cpp ├── ranges.cpp ├── sequence.cpp ├── impl ├── dt_to_string.cpp ├── ssl_context_with_default.cpp ├── is_fatal_error.cpp ├── mariadb_server_errc.cpp ├── metadata.cpp ├── mysql_server_errc.cpp ├── pfr.cpp ├── pipeline.cpp ├── pool_params.cpp ├── protocol ├── binary_protocol.cpp ├── capabilities.cpp ├── deserialization.cpp ├── deserialization_context.cpp ├── frame_header.cpp ├── null_bitmap.cpp ├── operators.hpp ├── protocol_field_type.cpp ├── protocol_types.cpp ├── serialization.cpp ├── serialization_context.cpp ├── serialization_test.hpp ├── static_buffer.cpp ├── text_protocol.cpp ├── results.cpp ├── resultset.cpp ├── resultset_view.cpp ├── row.cpp ├── row_view.cpp ├── rows.cpp ├── rows_view.cpp ├── sansio ├── close_statement.cpp ├── execute.cpp ├── message_reader.cpp ├── ping.cpp ├── prepare_statement.cpp ├── read_buffer.cpp ├── read_resultset_head.cpp ├── read_some_rows.cpp ├── read_some_rows_dynamic.cpp ├── reset_connection.cpp ├── run_pipeline.cpp ├── set_character_set.cpp ├── start_execution.cpp ├── top_level_algo.cpp ├── spotchecks ├── connection_use_after_move.cpp ├── default_completion_tokens.cpp ├── misc.cpp ├── multifn.cpp ├── read_some_rows_static.cpp ├── statement.cpp ├── static_execution_state.cpp ├── static_results.cpp ├── throw_on_error.cpp ├── tools ├── ci ├── ci_util ├── __init__.py ├── b2.py ├── cmake.py ├── common.py ├── db_setup.py ├── docs.py ├── fuzz.py ├── install_boost.py ├── main.py ├── seed_corpus.py ├── main.py ├── seed_corpus.py ├── docker ├── build-clang11.dockerfile ├── build-clang14.dockerfile ├── build-clang16-i386.dockerfile ├── build-clang16.dockerfile ├── build-clang17.dockerfile ├── build-clang18.dockerfile ├── build-clang3_6.dockerfile ├── build-clang7.dockerfile ├── build-cmake3_8.dockerfile ├── build-docs.dockerfile ├── build-gcc10.dockerfile ├── build-gcc11.dockerfile ├── build-gcc13.dockerfile ├── build-gcc14.dockerfile ├── build-gcc5.dockerfile ├── build-gcc6.dockerfile ├── build-msvc.dockerfile ├── build-noopenssl.dockerfile ├── install_build_docs.sh ├── mariadb.dockerfile ├── mysql5.dockerfile ├── mysql8.dockerfile ├── mysql9.dockerfile ├── ssl.cnf ├── unix-socket.cnf ├── error_codes.csv ├── osx-ci.cnf ├── scripts ├── build_unix_local.sh ├── build_windows_local.bat ├── check_links.py ├── collations.py ├── corpus_field_table.py ├── file_headers.py ├── server_errors.py ├── seed_corpus ├── field_table.csv ├── protocol_messages.csv ├── sql_injection_payloads.txt ├── setup_db_osx.sh ├── ssl ├── ca-cert.pem ├── server-cert.pem ├── server-key.pem ├── user-config-osx-gha.jam ├── valgrind_suppressions.txt ├── win-ci.cnf