sqlx icon indicating copy to clipboard operation
sqlx copied to clipboard

Can't disable prepared statements when connecting to a Starrock DB

Open presedo93 opened this issue 1 year ago • 0 comments

Bug Description

I'm trying to use sqlx to connect to a StarrocksDB. Checking the docs/forums, it doesn't support prepared-cache but it mentions that most MySQL clients should be able to disable that feature. I set statement_cache_capacity to 0 as the docs mention but I still get this error when trying to connect:

Error: Database(MySqlDatabaseError { code: Some("HY000"), number: 1064, message: "Getting analyzing error. Detail message: Set statement only support constant expr.." })

Can it be that setting statement_cache_capacity to 0 does not disable the prepared-cache?

Thanks!

Minimal Reproduction

use sqlx::mysql::MySqlConnectOptions;
use sqlx::ConnectOptions;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let _pool = MySqlConnectOptions::new()
        .host("127.0.0.1")
        .username("root")
        .database("my_db")
        .port(9030)
        .statement_cache_capacity(0)
        .connect()
        .await?;

    Ok(())
}

Info

  • SQLx version: 0.7.4
  • SQLx features enabled: ["runtime-tokio", "mysql"]
  • Database server and version: StarrocksDB (MySQL)
  • Operating system: macOS
  • rustc --version: 1.77.2

presedo93 avatar Apr 18 '24 07:04 presedo93