Skip to main content

Module mysql

Module mysql 

Source
Expand description

MySQL Source implementation.

Module layout (mirrors postgres/):

  • mod.rs (this file) — MysqlSource struct + connect/TLS path, the extraction-pressure sampler, the lean_pool_opts / connect_pool / build_mysql_ssl_opts helpers, introspect_mysql_table_for_chunking together with the InnoDB AVG_ROW_LENGTH correction, the cursor-bound exec_iter export loop (mysql_run_export), and the Source trait impl.
  • [arrow_convert] — the entire row → Arrow RecordBatch pipeline: mysql_type_to_rivet + mysql_native_type_name, mysql_schema_and_arrow_types, BIT / TIME / DECIMAL decoders, and the array builders. Kept in a sibling because it is the largest single-purpose cluster in this driver (~510 LoC) and has zero reverse dependency back into the connection / pool / cursor layer.
  • [proxy] — MysqlProxyKind enum, the pure classify_mysql_proxy classifier, the I/O wrapper detect_mysql_proxy_kind, and warn_proxy_kind. Detection runs once at connect time; the classifier is exhaustively unit-tested in isolation (no live MySQL needed).

Structs§

MysqlSource

Enums§

MysqlProxyKind
What the MySQL connection is actually talking to.