diff --git a/query-engine/connector-test-kit-rs/query-engine-tests/tests/new/interactive_tx.rs b/query-engine/connector-test-kit-rs/query-engine-tests/tests/new/interactive_tx.rs index 5616847c60c1..743c42154db8 100644 --- a/query-engine/connector-test-kit-rs/query-engine-tests/tests/new/interactive_tx.rs +++ b/query-engine/connector-test-kit-rs/query-engine-tests/tests/new/interactive_tx.rs @@ -1,7 +1,7 @@ use query_engine_tests::test_suite; use std::borrow::Cow; -#[test_suite(schema(generic), exclude(Vitess("planetscale.js")))] +#[test_suite(schema(generic))] mod interactive_tx { use query_engine_tests::*; use tokio::time; @@ -213,7 +213,7 @@ mod interactive_tx { Ok(()) } - #[connector_test(exclude(Vitess("planetscale.js", "planetscale.js.wasm")))] + #[connector_test(exclude(Vitess("planetscale.js.wasm")))] async fn batch_queries_failure(mut runner: Runner) -> TestResult<()> { // Tx expires after five second. let tx_id = runner.start_tx(5000, 5000, None).await?; @@ -256,7 +256,7 @@ mod interactive_tx { Ok(()) } - #[connector_test(exclude(Vitess("planetscale.js", "planetscale.js.wasm")))] + #[connector_test(exclude(Vitess("planetscale.js.wasm")))] async fn tx_expiration_failure_cycle(mut runner: Runner) -> TestResult<()> { // Tx expires after one seconds. let tx_id = runner.start_tx(5000, 1000, None).await?; @@ -598,6 +598,8 @@ mod itx_isolation { Ok(()) } + // On PlanetScale, this fails with: + // `InteractiveTransactionError("Error in connector: Error querying the database: Server error: `ERROR 25001 (1568): Transaction characteristics can't be changed while a transaction is in progress'")` #[connector_test(exclude(MongoDb, Vitess("planetscale.js", "planetscale.js.wasm")))] async fn casing_doesnt_matter(mut runner: Runner) -> TestResult<()> { let tx_id = runner.start_tx(5000, 5000, Some("sErIaLiZaBlE".to_owned())).await?; diff --git a/query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/batching/transactional_batch.rs b/query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/batching/transactional_batch.rs index d805c728b6d9..50fe1372948a 100644 --- a/query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/batching/transactional_batch.rs +++ b/query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/batching/transactional_batch.rs @@ -44,7 +44,7 @@ mod transactional { Ok(()) } - #[connector_test(exclude(Vitess("planetscale.js", "planetscale.js.wasm")))] + #[connector_test] async fn one_success_one_fail(runner: Runner) -> TestResult<()> { let queries = vec![ r#"mutation { createOneModelA(data: { id: 1 }) { id }}"#.to_string(), @@ -77,7 +77,7 @@ mod transactional { Ok(()) } - #[connector_test(exclude(Vitess("planetscale.js", "planetscale.js.wasm")))] + #[connector_test] async fn one_query(runner: Runner) -> TestResult<()> { // Existing ModelA in the DB will prevent the nested ModelA creation in the batch. insta::assert_snapshot!( @@ -104,6 +104,8 @@ mod transactional { Ok(()) } + // On PlanetScale, this fails with: + // "Error in connector: Error querying the database: Server error: `ERROR 25001 (1568): Transaction characteristics can't be changed while a transaction is in progress'"" #[connector_test(exclude(MongoDb, Vitess("planetscale.js", "planetscale.js.wasm")))] async fn valid_isolation_level(runner: Runner) -> TestResult<()> { let queries = vec![r#"mutation { createOneModelB(data: { id: 1 }) { id }}"#.to_string()]; diff --git a/query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/filters/search_filter.rs b/query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/filters/search_filter.rs index a86bcf176cb6..477d53b4bb2b 100644 --- a/query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/filters/search_filter.rs +++ b/query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/filters/search_filter.rs @@ -229,9 +229,7 @@ mod search_filter_with_index { super::ensure_filter_tree_shake_works(runner).await } - // This test correctly fails on PlanetScale, but its message is not the same as the one in the test: - // "DatabaseError: Can't find FULLTEXT index matching the column list (errno 1191) (sqlstate HY000)" - #[connector_test(exclude(Vitess("planetscale.js", "planetscale.js.wasm")))] + #[connector_test(exclude(Vitess("planetscale.js.wasm")))] async fn throws_error_on_missing_index(runner: Runner) -> TestResult<()> { super::create_test_data(&runner).await?; diff --git a/query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/order_and_pagination/order_by_dependent.rs b/query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/order_and_pagination/order_by_dependent.rs index d12f7fcfed65..78152e9f26e7 100644 --- a/query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/order_and_pagination/order_by_dependent.rs +++ b/query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/order_and_pagination/order_by_dependent.rs @@ -223,7 +223,7 @@ mod order_by_dependent { } // "[Circular with differing records] Ordering by related record field ascending" should "work" - #[connector_test(exclude(SqlServer, Vitess("planetscale.js", "planetscale.js.wasm")))] + #[connector_test(exclude(SqlServer))] async fn circular_diff_related_record_asc(runner: Runner) -> TestResult<()> { // Records form circles with their relations create_row(&runner, 1, Some(1), Some(1), Some(3)).await?; @@ -244,7 +244,10 @@ mod order_by_dependent { } }"#, MongoDb(_) | Sqlite(_) => vec![r#"{"data":{"findManyModelA":[{"id":3,"b":null},{"id":4,"b":null},{"id":1,"b":{"c":{"a":{"id":3}}}},{"id":2,"b":{"c":{"a":{"id":4}}}}]}}"#], - MySql(_) | CockroachDb(_) => vec![ + MySql(_) + | CockroachDb(_) + | Vitess(Some(VitessVersion::PlanetscaleJsNapi)) + | Vitess(Some(VitessVersion::PlanetscaleJsWasm)) => vec![ r#"{"data":{"findManyModelA":[{"id":4,"b":null},{"id":3,"b":null},{"id":1,"b":{"c":{"a":{"id":3}}}},{"id":2,"b":{"c":{"a":{"id":4}}}}]}}"#, r#"{"data":{"findManyModelA":[{"id":3,"b":null},{"id":4,"b":null},{"id":1,"b":{"c":{"a":{"id":3}}}},{"id":2,"b":{"c":{"a":{"id":4}}}}]}}"#, ], @@ -258,7 +261,7 @@ mod order_by_dependent { } // "[Circular with differing records] Ordering by related record field descending" should "work" - #[connector_test(exclude(SqlServer, Vitess("planetscale.js", "planetscale.js.wasm")))] + #[connector_test(exclude(SqlServer))] async fn circular_diff_related_record_desc(runner: Runner) -> TestResult<()> { // Records form circles with their relations create_row(&runner, 1, Some(1), Some(1), Some(3)).await?; @@ -279,7 +282,10 @@ mod order_by_dependent { } }"#, MongoDb(_) | Sqlite(_)=> vec![r#"{"data":{"findManyModelA":[{"id":2,"b":{"c":{"a":{"id":4}}}},{"id":1,"b":{"c":{"a":{"id":3}}}},{"id":3,"b":null},{"id":4,"b":null}]}}"#], - MySql(_) | CockroachDb(_) => vec![ + MySql(_) + | CockroachDb(_) + | Vitess(Some(VitessVersion::PlanetscaleJsNapi)) + | Vitess(Some(VitessVersion::PlanetscaleJsWasm)) => vec![ r#"{"data":{"findManyModelA":[{"id":2,"b":{"c":{"a":{"id":4}}}},{"id":1,"b":{"c":{"a":{"id":3}}}},{"id":4,"b":null},{"id":3,"b":null}]}}"#, r#"{"data":{"findManyModelA":[{"id":2,"b":{"c":{"a":{"id":4}}}},{"id":1,"b":{"c":{"a":{"id":3}}}},{"id":3,"b":null},{"id":4,"b":null}]}}"#, ], diff --git a/query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/order_and_pagination/order_by_dependent_pagination.rs b/query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/order_and_pagination/order_by_dependent_pagination.rs index 323192be180d..a15879e15647 100644 --- a/query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/order_and_pagination/order_by_dependent_pagination.rs +++ b/query-engine/connector-test-kit-rs/query-engine-tests/tests/queries/order_and_pagination/order_by_dependent_pagination.rs @@ -79,7 +79,7 @@ mod order_by_dependent_pag { // "[Hops: 1] Ordering by related record field ascending with nulls" should "work" // TODO(julius): should enable for SQL Server when partial indices are in the PSL - #[connector_test(exclude(SqlServer, Vitess("planetscale.js", "planetscale.js.wasm")))] + #[connector_test(exclude(SqlServer))] async fn hop_1_related_record_asc_nulls(runner: Runner) -> TestResult<()> { // 1 record has the "full chain", one half, one none create_row(&runner, 1, Some(1), Some(1), None).await?; @@ -97,7 +97,12 @@ mod order_by_dependent_pag { } }"#, // Depends on how null values are handled. - MongoDb(_) | Sqlite(_) | MySql(_) | CockroachDb(_) => vec![r#"{"data":{"findManyModelA":[{"id":1,"b":{"id":1}},{"id":2,"b":{"id":2}}]}}"#], + MongoDb(_) + | Sqlite(_) + | MySql(_) + | CockroachDb(_) + | Vitess(Some(VitessVersion::PlanetscaleJsNapi)) + | Vitess(Some(VitessVersion::PlanetscaleJsWasm)) => vec![r#"{"data":{"findManyModelA":[{"id":1,"b":{"id":1}},{"id":2,"b":{"id":2}}]}}"#], _ => vec![r#"{"data":{"findManyModelA":[{"id":1,"b":{"id":1}},{"id":2,"b":{"id":2}},{"id":3,"b":null}]}}"#] ); @@ -146,7 +151,7 @@ mod order_by_dependent_pag { // "[Hops: 2] Ordering by related record field ascending with nulls" should "work" // TODO(garren): should enable for SQL Server when partial indices are in the PSL - #[connector_test(exclude(SqlServer, Vitess("planetscale.js", "planetscale.js.wasm")))] + #[connector_test(exclude(SqlServer))] async fn hop_2_related_record_asc_null(runner: Runner) -> TestResult<()> { // 1 record has the "full chain", one half, one none create_row(&runner, 1, Some(1), Some(1), None).await?; @@ -166,7 +171,12 @@ mod order_by_dependent_pag { } }"#, // Depends on how null values are handled. - MongoDb(_) | Sqlite(_) | MySql(_) | CockroachDb(_) => vec![r#"{"data":{"findManyModelA":[{"id":1,"b":{"c":{"id":1}}}]}}"#], + MongoDb(_) + | Sqlite(_) + | MySql(_) + | CockroachDb(_) + | Vitess(Some(VitessVersion::PlanetscaleJsNapi)) + | Vitess(Some(VitessVersion::PlanetscaleJsWasm)) => vec![r#"{"data":{"findManyModelA":[{"id":1,"b":{"c":{"id":1}}}]}}"#], _ => vec![r#"{"data":{"findManyModelA":[{"id":1,"b":{"c":{"id":1}}},{"id":2,"b":{"c":null}},{"id":3,"b":null}]}}"#] ); @@ -227,7 +237,7 @@ mod order_by_dependent_pag { // "[Circular with differing records] Ordering by related record field ascending" should "work" // TODO(julius): should enable for SQL Server when partial indices are in the PSL - #[connector_test(exclude(SqlServer, Vitess("planetscale.js", "planetscale.js.wasm")))] + #[connector_test(exclude(SqlServer))] async fn circular_diff_related_record_asc(runner: Runner) -> TestResult<()> { // Records form circles with their relations create_row(&runner, 1, Some(1), Some(1), Some(3)).await?; @@ -248,7 +258,12 @@ mod order_by_dependent_pag { } }"#, // Depends on how null values are handled. - MongoDb(_) | MySql(_) | Sqlite(_) | CockroachDb(_) => vec![r#"{"data":{"findManyModelA":[{"id":1,"b":{"c":{"a":{"id":3}}}},{"id":2,"b":{"c":{"a":{"id":4}}}}]}}"#], + MongoDb(_) + | Sqlite(_) + | MySql(_) + | CockroachDb(_) + | Vitess(Some(VitessVersion::PlanetscaleJsNapi)) + | Vitess(Some(VitessVersion::PlanetscaleJsWasm)) => vec![r#"{"data":{"findManyModelA":[{"id":1,"b":{"c":{"a":{"id":3}}}},{"id":2,"b":{"c":{"a":{"id":4}}}}]}}"#], _ => vec![r#"{"data":{"findManyModelA":[{"id":1,"b":{"c":{"a":{"id":3}}}},{"id":2,"b":{"c":{"a":{"id":4}}}},{"id":3,"b":null},{"id":4,"b":null}]}}"#] ); diff --git a/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/ids/byoid.rs b/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/ids/byoid.rs index 5d46b75a98fa..7a85da2e9d33 100644 --- a/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/ids/byoid.rs +++ b/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/ids/byoid.rs @@ -45,11 +45,7 @@ mod byoid { } // "A Create Mutation" should "create and return item with own Id" - #[connector_test( - schema(schema_1), - only(MySql, Postgres, Sqlite, Vitess), - exclude(Vitess("planetscale.js", "planetscale.js.wasm")) - )] + #[connector_test(schema(schema_1), only(MySql, Postgres, Sqlite, Vitess))] async fn create_and_return_item_woi_1(runner: Runner) -> TestResult<()> { insta::assert_snapshot!( run_query!(&runner, r#"mutation { @@ -59,7 +55,11 @@ mod byoid { ); let error_target = match runner.connector_version() { - query_engine_tests::ConnectorVersion::MySql(_) => "constraint: `PRIMARY`", + query_engine_tests::ConnectorVersion::MySql(_) + | query_engine_tests::ConnectorVersion::Vitess(Some(query_tests_setup::VitessVersion::PlanetscaleJsNapi)) + | query_engine_tests::ConnectorVersion::Vitess(Some(query_tests_setup::VitessVersion::PlanetscaleJsWasm)) => { + "constraint: `PRIMARY`" + } query_engine_tests::ConnectorVersion::Vitess(_) => "(not available)", _ => "fields: (`id`)", }; @@ -77,11 +77,7 @@ mod byoid { } // "A Create Mutation" should "create and return item with own Id" - #[connector_test( - schema(schema_2), - only(MySql, Postgres, Sqlite, Vitess), - exclude(Vitess("planetscale.js", "planetscale.js.wasm")) - )] + #[connector_test(schema(schema_2), only(MySql, Postgres, Sqlite, Vitess))] async fn create_and_return_item_woi_2(runner: Runner) -> TestResult<()> { insta::assert_snapshot!( run_query!(&runner, r#"mutation { @@ -91,7 +87,11 @@ mod byoid { ); let error_target = match runner.connector_version() { - ConnectorVersion::MySql(_) => "constraint: `PRIMARY`", + query_engine_tests::ConnectorVersion::MySql(_) + | query_engine_tests::ConnectorVersion::Vitess(Some(query_tests_setup::VitessVersion::PlanetscaleJsNapi)) + | query_engine_tests::ConnectorVersion::Vitess(Some(query_tests_setup::VitessVersion::PlanetscaleJsWasm)) => { + "constraint: `PRIMARY`" + } ConnectorVersion::Vitess(_) => "(not available)", _ => "fields: (`id`)", }; @@ -139,11 +139,7 @@ mod byoid { } // "A Nested Create Mutation" should "create and return item with own Id" - #[connector_test( - schema(schema_1), - only(MySql, Postgres, Sqlite, Vitess), - exclude(Vitess("planetscale.js", "planetscale.js.wasm")) - )] + #[connector_test(schema(schema_1), only(MySql, Postgres, Sqlite, Vitess))] async fn nested_create_return_item_woi_1(runner: Runner) -> TestResult<()> { insta::assert_snapshot!( run_query!(&runner, r#"mutation { @@ -153,7 +149,11 @@ mod byoid { ); let error_target = match runner.connector_version() { - ConnectorVersion::MySql(_) => "constraint: `PRIMARY`", + query_engine_tests::ConnectorVersion::MySql(_) + | query_engine_tests::ConnectorVersion::Vitess(Some(query_tests_setup::VitessVersion::PlanetscaleJsNapi)) + | query_engine_tests::ConnectorVersion::Vitess(Some(query_tests_setup::VitessVersion::PlanetscaleJsWasm)) => { + "constraint: `PRIMARY`" + } ConnectorVersion::Vitess(_) => "(not available)", _ => "fields: (`id`)", }; @@ -171,11 +171,7 @@ mod byoid { } // "A Nested Create Mutation" should "create and return item with own Id" - #[connector_test( - schema(schema_2), - only(MySql, Postgres, Sqlite, Vitess), - exclude(Vitess("planetscale.js", "planetscale.js.wasm")) - )] + #[connector_test(schema(schema_2), only(MySql, Postgres, Sqlite, Vitess))] async fn nested_create_return_item_woi_2(runner: Runner) -> TestResult<()> { insta::assert_snapshot!( run_query!(&runner, r#"mutation { @@ -185,7 +181,11 @@ mod byoid { ); let error_target = match runner.connector_version() { - ConnectorVersion::MySql(_) => "constraint: `PRIMARY`", + query_engine_tests::ConnectorVersion::MySql(_) + | query_engine_tests::ConnectorVersion::Vitess(Some(query_tests_setup::VitessVersion::PlanetscaleJsNapi)) + | query_engine_tests::ConnectorVersion::Vitess(Some(query_tests_setup::VitessVersion::PlanetscaleJsWasm)) => { + "constraint: `PRIMARY`" + } ConnectorVersion::Vitess(_) => "(not available)", _ => "fields: (`id`)", }; diff --git a/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/nested_mutations/not_using_schema_base/nested_create_many.rs b/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/nested_mutations/not_using_schema_base/nested_create_many.rs index cd71df429ea3..3cd6be2eabe2 100644 --- a/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/nested_mutations/not_using_schema_base/nested_create_many.rs +++ b/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/nested_mutations/not_using_schema_base/nested_create_many.rs @@ -78,7 +78,7 @@ mod nested_create_many { // "Nested createMany" should "error on duplicates by default" // TODO(dom): Not working for mongo - #[connector_test(exclude(Sqlite, MongoDb, Vitess("planetscale.js", "planetscale.js.wasm")))] + #[connector_test(exclude(Sqlite, MongoDb))] async fn nested_createmany_fail_dups(runner: Runner) -> TestResult<()> { assert_error!( &runner, diff --git a/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/relations/compound_fks_mixed_requiredness.rs b/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/relations/compound_fks_mixed_requiredness.rs index 8f91a6039de4..d1be84d2d9a9 100644 --- a/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/relations/compound_fks_mixed_requiredness.rs +++ b/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/relations/compound_fks_mixed_requiredness.rs @@ -25,7 +25,9 @@ mod compound_fks { schema.to_owned() } - // "A One to Many relation with mixed requiredness" should "be writable and readable" + // "A One to Many relation with mixed requiredness" should "be writable and readable"- + // In PlanetScale, this fails with: + // `Expected result to return an error, but found success: {"data":{"createOnePost":{"id":2,"user_id":2,"user_age":2,"User":null}}}` #[connector_test(exclude(MySql(5.6), MongoDb, Vitess("planetscale.js", "planetscale.js.wasm")))] async fn one2m_mix_required_writable_readable(runner: Runner) -> TestResult<()> { // Setup user diff --git a/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/top_level_mutations/create.rs b/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/top_level_mutations/create.rs index 5c91f1c7f18a..1247b3e27bea 100644 --- a/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/top_level_mutations/create.rs +++ b/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/top_level_mutations/create.rs @@ -205,7 +205,7 @@ mod create { // TODO(dom): Not working on mongo // TODO(dom): 'Expected result to return an error, but found success: {"data":{"createOneScalarModel":{"optUnique":"test"}}}' // Comment(dom): Expected, we're not enforcing uniqueness for the test setup yet. - #[connector_test(exclude(MongoDb, Vitess("planetscale.js", "planetscale.js.wasm")))] + #[connector_test(exclude(MongoDb))] async fn gracefully_fails_when_uniq_violation(runner: Runner) -> TestResult<()> { run_query!( &runner, diff --git a/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/top_level_mutations/create_many.rs b/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/top_level_mutations/create_many.rs index 832205e66c60..35a044b1473d 100644 --- a/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/top_level_mutations/create_many.rs +++ b/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/top_level_mutations/create_many.rs @@ -165,7 +165,7 @@ mod create_many { } // "createMany" should "error on duplicates by default" - #[connector_test(schema(schema_4), exclude(Vitess("planetscale.js", "planetscale.js.wasm")))] + #[connector_test(schema(schema_4))] async fn create_many_error_dups(runner: Runner) -> TestResult<()> { assert_error!( &runner, diff --git a/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/top_level_mutations/update_many.rs b/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/top_level_mutations/update_many.rs index 80c59a1a65f4..88186aa28665 100644 --- a/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/top_level_mutations/update_many.rs +++ b/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/top_level_mutations/update_many.rs @@ -123,7 +123,7 @@ mod update_many { } // "An updateMany mutation" should "correctly apply all number operations for Int" - #[connector_test(exclude(Vitess("planetscale.js", "planetscale.js.wasm"), CockroachDb))] + #[connector_test(exclude(Vitess("planetscale.js.wasm"), CockroachDb))] async fn apply_number_ops_for_int(runner: Runner) -> TestResult<()> { create_row(&runner, r#"{ id: 1, optStr: "str1" }"#).await?; create_row(&runner, r#"{ id: 2, optStr: "str2", optInt: 2 }"#).await?; @@ -240,7 +240,7 @@ mod update_many { } // "An updateMany mutation" should "correctly apply all number operations for Float" - #[connector_test(exclude(Vitess("planetscale.js", "planetscale.js.wasm")))] + #[connector_test(exclude(Vitess("planetscale.js.wasm")))] async fn apply_number_ops_for_float(runner: Runner) -> TestResult<()> { create_row(&runner, r#"{ id: 1, optStr: "str1" }"#).await?; create_row(&runner, r#"{ id: 2, optStr: "str2", optFloat: 2 }"#).await?; @@ -298,6 +298,9 @@ mod update_many { // MySql does not count incrementing a null so the count is different if !matches!(runner.connector_version(), ConnectorVersion::MySql(_)) { + // On PlanetScale, this fails with: + // left: Number(2) + // right: 3 assert_eq!(count, 3); } diff --git a/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/top_level_mutations/upsert.rs b/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/top_level_mutations/upsert.rs index e876bac06211..2b3dee14f8e7 100644 --- a/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/top_level_mutations/upsert.rs +++ b/query-engine/connector-test-kit-rs/query-engine-tests/tests/writes/top_level_mutations/upsert.rs @@ -674,7 +674,7 @@ mod upsert { Ok(()) } - #[connector_test(schema(generic), exclude(Vitess("planetscale.js", "planetscale.js.wasm")))] + #[connector_test(schema(generic))] async fn upsert_fails_if_filter_dont_match(runner: Runner) -> TestResult<()> { run_query!( &runner, diff --git a/query-engine/connector-test-kit-rs/query-tests-setup/src/connector_tag/mod.rs b/query-engine/connector-test-kit-rs/query-tests-setup/src/connector_tag/mod.rs index ac07d9b71546..8033ae27ae96 100644 --- a/query-engine/connector-test-kit-rs/query-tests-setup/src/connector_tag/mod.rs +++ b/query-engine/connector-test-kit-rs/query-tests-setup/src/connector_tag/mod.rs @@ -8,6 +8,7 @@ mod sqlite; mod vitess; pub use mysql::MySqlVersion; +pub use vitess::VitessVersion; pub(crate) use cockroachdb::*; pub(crate) use js::*;