diff --git a/core/trino-spi/src/main/java/io/trino/spi/session/PropertyMetadata.java b/core/trino-spi/src/main/java/io/trino/spi/session/PropertyMetadata.java index a24153d89dbd..80c112fffc51 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/session/PropertyMetadata.java +++ b/core/trino-spi/src/main/java/io/trino/spi/session/PropertyMetadata.java @@ -58,7 +58,7 @@ public PropertyMetadata( requireNonNull(decoder, "decoder is null"); requireNonNull(encoder, "encoder is null"); - if (name.isEmpty() || !name.trim().toLowerCase(ENGLISH).equals(name)) { + if (name.isEmpty() || !name.trim().toLowerCase(ENGLISH).equals(name) || name.contains(".")) { throw new IllegalArgumentException(format("Invalid property name '%s'", name)); } if (description.isEmpty() || !description.trim().equals(description)) { diff --git a/plugin/trino-bigquery/src/test/java/io/trino/plugin/bigquery/TestBigQueryPlugin.java b/plugin/trino-bigquery/src/test/java/io/trino/plugin/bigquery/TestBigQueryPlugin.java index 7b94582b1590..575ad3247395 100644 --- a/plugin/trino-bigquery/src/test/java/io/trino/plugin/bigquery/TestBigQueryPlugin.java +++ b/plugin/trino-bigquery/src/test/java/io/trino/plugin/bigquery/TestBigQueryPlugin.java @@ -14,19 +14,29 @@ package io.trino.plugin.bigquery; import io.trino.spi.connector.ConnectorFactory; +import io.trino.testing.TestingConnectorContext; import org.testng.annotations.Test; +import java.util.Map; + import static com.google.common.collect.Iterables.getOnlyElement; import static io.airlift.testing.Assertions.assertInstanceOf; public class TestBigQueryPlugin { @Test - public void testStartup() + public void testCreateConnector() { BigQueryPlugin plugin = new BigQueryPlugin(); ConnectorFactory factory = getOnlyElement(plugin.getConnectorFactories()); assertInstanceOf(factory, BigQueryConnectorFactory.class); - // TODO test the factory + + factory.create( + "test", + Map.of( + "bigquery.project-id", "xxx", + "bigquery.credentials-key", "ewogICAgInR5cGUiOiAic2VydmljZV9hY2NvdW50IiwKICAgICJwcm9qZWN0X2lkIjogInByZXN0b3Rlc3QiLAogICAgInByaXZhdGVfa2V5X2lkIjogIngiLAogICAgInByaXZhdGVfa2V5IjogIi0tLS0tQkVHSU4gUFJJVkFURSBLRVktLS0tLVxuTUlJRXZRSUJBREFOQmdrcWhraUc5dzBCQVFFRkFBU0NCS2N3Z2dTakFnRUFBb0lCQVFDM3E0NkcrdlRtdllmR1xuUEVCcUZST2MwWllEUFE4Z1VRYlEvaWRiYXBQc0s3TUxIZEx1RUdzQkF4SjMyYkdKV2FXV1pKMlZvKzA2Y3E4UlxuM1VZdVJ5RDBvNVk5OTV3d0t5YUVMdjVHTHFxMlpkQ0U2MGNqbE8yeXM4dUg4MVJMQStOME9zUzI0WXAvTmw1V1xuMHl4bkVuaW5VSW5Hb1VteVJ0K1V1aTIxNTQ3WTZFeDFKMGdqVndoNWtBNTJBcG0xVzVjZ3JKUWgwMlZTNUZERlxudEtnWjlKNFUyZVQvM2RNUkFlN0dLaWtseGpMTktjSzJ6T3JuYVpzb0pBTnNrZ0xMdjhPaDJEdlpQbWd1dmtxL1xuUU4yRVRCSXVLRUxCbEN4ZHZkRVp5L2pPcUVmdW1xcWI4VTVqVk4vdit6Q0pZVHREcVRGVWxLRVZDbEVNV3BCUFxuR3dIUzg5MlRBZ01CQUFFQ2dnRUFVOWxuTE9vZXFjUTIydUlneWcwck1mbGdrY1ByUnVhV3hReHlMVUsvbXg3c1xuRXhRZmVuMVdURlQ1dG10VXFJNmJrTWdJUlF0Y1BzV2lkUFplbHJ2MEtKc1IrT0kwbEt6dVhZUVNvem1reDdZOVxuZHFEdWppanNSeHZidkFuekhuZjgrOC9raEZUODVFeU96dmFERzk4TDQ5NVp0NnRrT0pZd2RmWjA3Y2x6cGtQSVxudVNDMGRTMldFckZnT0JiK3BJZGFwU3dSN1gxOTlROGNsenhjYlVUUUJJaGJDMnFhUmUvelFBdHNIS3ArMHRRVFxuWEI0Z3A1bitXc0pGM2lmTlYwdkZ0VWRRUlNCNFBmRzExRW1lczBQTFpxV1ZYb2xGdWpVQW8xS0o3dXFWTVpoUlxuQTF6VEpEbzNaaklHUllvbmRHQWRHR1hrMU1rd1JCcGoxR0FRb08xSm9RS0JnUURjUFhLcjF0MlBVbnJMelN1UFxuNVM2ek9WMUVzNkpJbmpVaGtXNFFhcTQ4RFRYNEg2bkdTYkdyYW5tbVpyQXlWNytEeXZPWGVzaC9ITzJROWtlaFxuRlczaUVtQzBCZE9FeWVuRUJUNThidHR5VzlMVUtBVjhjendYTno4Q3lSQ0xGd292UDIzUjFkS3BZdGtsR0l6NVxuWjJaMEF1SEtzcWd2TC9Jeng2bU1QNU0rQXdLQmdRRFZmZ2ttMUJPVzhad3JvNFFjbE43bnlKN01lQ3BCTFZycVxuUU9OcThqeE5EaGpsT0VDSElZZmFTUUZLYXkwa2pBTndTQjRMYURuTXJTbmRJYWxqV3F1LzBtdThMLzNwQzg4MlxuOUhpNU1Mc1Jjb0trNDY5UnRLRVIxWEwvcE5sb1NTd2dkZWJtUWk3clhNUzFCQks4aFZ0UFFObmV0RE1sLy9JTFxuS3YzbmtycFZNUUtCZ0dnaUdiVU1PK2dIUEk1ZUxRbTFlRFkvbWt6Z2pvdTlXaXZNQW5sNnAzVTNYZHc2eEdBL1xuK2VTdHpHVVVTcDBUQmpkL1gxdXhMMW1DeVFUd25YK1pqVUlHSkhrYUJCL1dCRlN0a2hUdHFZN1J3Y2FVUWJ2TlxuRkkxNWpxNTNlUDM2MzlMbEw3eTJXQXZFOUJ6cEZjYmEwQU5zVld3c3V2N01zYjB2MjRlM2k1d1hBb0dCQUswWlxuL2kyZmN5ckdTRXdSendLbHFuN2c2ZkQ3MWJiM0lXb2lwc0tHR21LWDlaT1ZvcXh1Z1lwNSt6UHQ1ckpsWER4a1xuSFFnK3YrNjIwT1RkY0V5QXJoVmdkYjRtWTRmYjdXMnZsMXNBcWcwaGZkQllWRVM1WW9mbE85TVFSTDhMNVYyRVxuZTIxamFFdXA4a3liT3Qza2V2NnRwSG13UG5Dbk1BZmlHZkR6eFdWaEFvR0FYa1k5bjNsSDFISDJBUDhzMkNnNVxuN3o3NVhLYWtxWE9CMkNhTWFuOWxJd0FCVzhSam1IKzRiU2VVQ0kwM1hRRExrY1R3T0N3QStrL3FvZldBeW1ldVxudzU4Vzh5cGlWVGpDVDErUzh5VjhYL0htTERVa3VsTnUvY2psYlJPdnJmSlRIL2pNbVhhTEQxeVZlYXlxOFlGZFxubnl6SmpiR1BwdGsvYVRTYk5rQmpvdWM9XG4tLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tXG4iLAogICAgImNsaWVudF9lbWFpbCI6ICJ4IiwKICAgICJjbGllbnRfaWQiOiAieCIsCiAgICAiYXV0aF91cmkiOiAiaHR0cHM6Ly9hY2NvdW50cy5nb29nbGUuY29tL28vb2F1dGgyL2F1dGgiLAogICAgInRva2VuX3VyaSI6ICJodHRwczovL29hdXRoMi5nb29nbGVhcGlzLmNvbS90b2tlbiIsCiAgICAiYXV0aF9wcm92aWRlcl94NTA5X2NlcnRfdXJsIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL29hdXRoMi92MS9jZXJ0cyIsCiAgICAiY2xpZW50X3g1MDlfY2VydF91cmwiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vcm9ib3QvdjEvbWV0YWRhdGEveDUwOS9wcmVzdG90ZXN0JTQwcHJlc3RvdGVzdC5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIKfQo="), + new TestingConnectorContext()) + .shutdown(); } } diff --git a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeSessionProperties.java b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeSessionProperties.java index 82d2bb04326d..2f2281819434 100644 --- a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeSessionProperties.java +++ b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeSessionProperties.java @@ -48,7 +48,7 @@ public final class DeltaLakeSessionProperties public static final String VACUUM_MIN_RETENTION = "vacuum_min_retention"; private static final String HIVE_CATALOG_NAME = "hive_catalog_name"; private static final String PARQUET_MAX_READ_BLOCK_SIZE = "parquet_max_read_block_size"; - private static final String PARQUET_MAX_READ_BLOCK_ROW_COUNT = "parquet.max_read_block_row_count"; + private static final String PARQUET_MAX_READ_BLOCK_ROW_COUNT = "parquet_max_read_block_row_count"; private static final String PARQUET_USE_COLUMN_INDEX = "parquet_use_column_index"; private static final String PARQUET_OPTIMIZED_READER_ENABLED = "parquet_optimized_reader_enabled"; private static final String PARQUET_OPTIMIZED_NESTED_READER_ENABLED = "parquet_optimized_nested_reader_enabled"; diff --git a/testing/trino-tests/src/test/java/io/trino/execution/AbstractTestCoordinatorDynamicFiltering.java b/testing/trino-tests/src/test/java/io/trino/execution/AbstractTestCoordinatorDynamicFiltering.java index bc6163caa303..ee313e8f525a 100644 --- a/testing/trino-tests/src/test/java/io/trino/execution/AbstractTestCoordinatorDynamicFiltering.java +++ b/testing/trino-tests/src/test/java/io/trino/execution/AbstractTestCoordinatorDynamicFiltering.java @@ -104,7 +104,7 @@ public abstract class AbstractTestCoordinatorDynamicFiltering public void setup() { // create lineitem table in test connector - getQueryRunner().installPlugin(new TestPlugin(getRetryPolicy() == RetryPolicy.TASK)); + getQueryRunner().installPlugin(new TestingPlugin(getRetryPolicy() == RetryPolicy.TASK)); getQueryRunner().installPlugin(new TpchPlugin()); getQueryRunner().installPlugin(new TpcdsPlugin()); getQueryRunner().installPlugin(new MemoryPlugin()); @@ -425,12 +425,12 @@ protected void assertQueryDynamicFilters( computeActual(session, query); } - private class TestPlugin + private class TestingPlugin implements Plugin { private final boolean isTaskRetryMode; - public TestPlugin(boolean isTaskRetryMode) + public TestingPlugin(boolean isTaskRetryMode) { this.isTaskRetryMode = isTaskRetryMode; } diff --git a/testing/trino-tests/src/test/java/io/trino/execution/TestBeginQuery.java b/testing/trino-tests/src/test/java/io/trino/execution/TestBeginQuery.java index 7b657e5fdadb..032d38eac693 100644 --- a/testing/trino-tests/src/test/java/io/trino/execution/TestBeginQuery.java +++ b/testing/trino-tests/src/test/java/io/trino/execution/TestBeginQuery.java @@ -75,7 +75,7 @@ protected QueryRunner createQueryRunner() public void setUp() { metadata = new TestMetadata(); - getQueryRunner().installPlugin(new TestPlugin(metadata)); + getQueryRunner().installPlugin(new TestingPlugin(metadata)); getQueryRunner().installPlugin(new TpchPlugin()); getQueryRunner().createCatalog("test", "test", ImmutableMap.of()); getQueryRunner().createCatalog("tpch", "tpch", ImmutableMap.of()); @@ -142,12 +142,12 @@ private void assertBeginQuery(String query) metadata.resetCounters(); } - private static class TestPlugin + private static class TestingPlugin implements Plugin { private final TestMetadata metadata; - private TestPlugin(TestMetadata metadata) + private TestingPlugin(TestMetadata metadata) { this.metadata = requireNonNull(metadata, "metadata is null"); }