Skip to content

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

Closed as not planned
@presedo93

Description

@presedo93

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugdb:mysqlRelated to MySQLdb:third-party-compatConcerns a third-party database implementation that advertises support for a well known protocol

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions