MCPcopy Create free account
hub / github.com/f0rr0/oliphaunt / sqlx_extended_query_errors_recover_after_sync

Function sqlx_extended_query_errors_recover_after_sync

tests/client_compat.rs:762–795  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

760
761#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
762async fn sqlx_extended_query_errors_recover_after_sync() -> Result<()> {
763 let server = PgliteServer::temporary_tcp()?;
764 let mut conn = sqlx::PgConnection::connect(&server.connection_uri())
765 .await
766 .context("connect with SQLx")?;
767
768 let parse_err = sqlx::query("SELECT missing FROM missing_table WHERE id = $1")
769 .bind(7_i32)
770 .fetch_one(&mut conn)
771 .await
772 .expect_err("undefined table should fail during extended-query parse");
773 assert_sqlx_code(&parse_err, "42P01");
774 let row = sqlx::query("SELECT 21::int4 AS recovered_after_parse")
775 .fetch_one(&mut conn)
776 .await
777 .context("query after parse error")?;
778 assert_eq!(row.try_get::<i32, _>("recovered_after_parse")?, 21);
779
780 let execute_err = sqlx::query("SELECT 10 / $1::int4 AS impossible")
781 .bind(0_i32)
782 .fetch_one(&mut conn)
783 .await
784 .expect_err("division by zero should fail during extended-query execute");
785 assert_sqlx_code(&execute_err, "22012");
786 let row = sqlx::query("SELECT 22::int4 AS recovered_after_execute")
787 .fetch_one(&mut conn)
788 .await
789 .context("query after execute error")?;
790 assert_eq!(row.try_get::<i32, _>("recovered_after_execute")?, 22);
791
792 conn.close().await?;
793 server.shutdown()?;
794 Ok(())
795}
796
797#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
798async fn sqlx_simple_query_timezone_errors_recover() -> Result<()> {

Callers

nothing calls this directly

Calls 5

connection_uriMethod · 0.80
bindMethod · 0.80
assert_sqlx_codeFunction · 0.70
closeMethod · 0.45
shutdownMethod · 0.45

Tested by

no test coverage detected