diff --git a/src/query.rs b/src/query.rs index 107c1a32..d58f7428 100644 --- a/src/query.rs +++ b/src/query.rs @@ -147,7 +147,7 @@ impl Query { let use_post = !read_only || query.len() > MAX_QUERY_LEN_TO_USE_GET; let (method, body, content_length) = if use_post { - if read_only { + if read_only && !self.client.options.contains_key("readonly") { pairs.append_pair("readonly", "1"); } let len = query.len(); diff --git a/tests/it/query.rs b/tests/it/query.rs index 80e01588..5c464e1f 100644 --- a/tests/it/query.rs +++ b/tests/it/query.rs @@ -106,6 +106,16 @@ async fn long_query() { .unwrap(); assert_eq!(got_string, long_string); + + let got_string = client + .query("select ?") + .bind(&long_string) + .with_option("readonly", "2") + .fetch_one::() + .await + .unwrap(); + + assert_eq!(got_string, long_string); } // See #22.