Skip to content

Conversation

bobozaur
Copy link
Owner

@bobozaur bobozaur commented Jun 6, 2025

Adds compile-time query macros and sqlx-exasol-cli, sqlx-cli like tool. Depends on launchbadge/sqlx#3889.

TODO:

  • Get the publish workflow up to speed.
  • Consider renaming ExaIter to ExaParamsArray.
  • Look into sqlx_core::net::BufferedSocket.
  • Look into reusing the StatementCache from sqlx_core.
  • Update to latest sqlx changes and make use of forward_encode_impl! for arrays and string types.
  • Impl ExaHasArrayType to limit usage of array types to one dimensional arrays.
  • Move tests to a newer version of Exasol.
  • Review the MAX_PRECISION of integer types.
  • Review dependency graph and try to upgrade dependencies' versions.
  • Test a custom wrapper type at compile time, including as an array of parameters.
  • Review proc-macro customizations.
  • Maybe get rid of anyhow in tests and use BoxDynError instead?

Documentation:

  • Update README.md and lib.rs
  • Update ETL docs
  • Review all crates docs
  • Document the removal of Encode for &mut [T]
  • Document either usage of extern crate sqlx_exasol as sqlx; or using package in Cargo.toml to satisfy internal SQLx path qualifications (see Configurable macros namespace launchbadge/sqlx#3944).
  • Document the removal of ExaDataType::compatible in favor of TypeInfo::type_compatible
  • Document the removal of ExaDataType::Null
  • Document the removal of uint support, 128 bit ints and f32.
  • Document addition of ExaIntervalYearToMonth and ExaIntervalDayToSecond
  • Document addition of Encode/Decode for Json
  • Document the HASHTYPE_FORMAT caveat used for Uuid.
  • Document the HashType newtype.
  • Document the geo-types feature (and that they do not work at compile time as prepared statement parameters implicitly due to Wrong parameter type for GEOMETRY columns exasol/websocket-api#39).
  • Document the types module with list of supported types and Exasol equivalents
  • Document the addition of ProtocolVersion::V5
  • Document the addition of ExaCompressionMode
  • Update CHANGELOG
  • Add to CHANGELOG that tests and fixes were done around TLS and compression IO combos
  • Document the updated Debug impl for ExaWriter and ExaReader
  • Document the removal of protocol-version parameter from the connection string and ExaConnectOptionsBuilder as well as making ProtocolVersion private.

Closes #9 .

@bobozaur bobozaur self-assigned this Jun 6, 2025
@bobozaur bobozaur force-pushed the compile-time-support branch from 76022de to b4f288d Compare July 14, 2025 08:44
@bobozaur bobozaur force-pushed the compile-time-support branch 2 times, most recently from a7ec53a to 3cf80ea Compare July 22, 2025 16:46
@bobozaur bobozaur force-pushed the compile-time-support branch from 1a05b5b to a82e3ac Compare August 3, 2025 19:57
@bobozaur bobozaur force-pushed the compile-time-support branch from e98f444 to 2c23e02 Compare August 9, 2025 21:24
@bobozaur bobozaur force-pushed the compile-time-support branch from 1124b8e to 81c395b Compare August 10, 2025 18:11
@bobozaur bobozaur force-pushed the compile-time-support branch from 81c395b to 2488c7c Compare August 10, 2025 18:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compile-time query support

1 participant