From 3a25487dea419583727a2356317eea0048069110 Mon Sep 17 00:00:00 2001 From: t8y2 <1156263951@qq.com> Date: Tue, 23 Jun 2026 11:38:16 +0800 Subject: [PATCH] feat(agents): move agents into dbx repo --- .github/workflows/agents-release.yml | 624 ++++++ .github/workflows/ci.yml | 83 + README.md | 10 +- README.zh-CN.md | 10 +- agents/.gitignore | 7 + agents/README.md | 83 + agents/build.gradle | 54 + agents/common/build.gradle | 3 + .../java/com/dbx/agent/AbstractJdbcAgent.java | 205 ++ .../java/com/dbx/agent/AgentProtocol.java | 134 ++ .../java/com/dbx/agent/BaseDatabaseAgent.java | 102 + .../main/java/com/dbx/agent/ColumnInfo.java | 176 ++ .../com/dbx/agent/ConfiguredJdbcAgent.java | 179 ++ .../java/com/dbx/agent/ConnectParams.java | 243 +++ .../java/com/dbx/agent/DatabaseAgent.java | 147 ++ .../main/java/com/dbx/agent/DatabaseInfo.java | 41 + .../main/java/com/dbx/agent/DdlBuilder.java | 195 ++ .../java/com/dbx/agent/EwkbWktDecoder.java | 671 +++++++ .../com/dbx/agent/ExecuteQueryOptions.java | 67 + .../com/dbx/agent/ExecuteQueryParams.java | 78 + .../java/com/dbx/agent/ForeignKeyInfo.java | 78 + .../main/java/com/dbx/agent/IndexInfo.java | 141 ++ .../java/com/dbx/agent/JdbcAgentProfile.java | 223 +++ .../main/java/com/dbx/agent/JdbcExecutor.java | 652 +++++++ .../java/com/dbx/agent/JdbcIdentifiers.java | 16 + .../java/com/dbx/agent/JsonRpcServer.java | 301 +++ .../main/java/com/dbx/agent/ObjectInfo.java | 82 + .../main/java/com/dbx/agent/ObjectSource.java | 82 + .../java/com/dbx/agent/PostgresLikeAgent.java | 499 +++++ .../dbx/agent/PostgresLikeAgentProfile.java | 30 + .../java/com/dbx/agent/QueryPageOptions.java | 82 + .../java/com/dbx/agent/QueryPageParams.java | 90 + .../java/com/dbx/agent/QueryPageResult.java | 163 ++ .../main/java/com/dbx/agent/QueryResult.java | 137 ++ .../java/com/dbx/agent/SchemaTableParams.java | 51 + .../com/dbx/agent/StandardJdbcMetadata.java | 350 ++++ .../main/java/com/dbx/agent/TableInfo.java | 67 + .../com/dbx/agent/TransactionExecutor.java | 135 ++ .../main/java/com/dbx/agent/TriggerInfo.java | 63 + .../src/main/resources/agent-protocol-v1.json | 75 + .../com/dbx/agent/AbstractJdbcAgentTest.java | 443 +++++ .../agent/CommonJavaCompatibilityTest.java | 491 +++++ .../dbx/agent/ConfiguredJdbcAgentTest.java | 91 + .../com/dbx/agent/EwkbWktDecoderTest.java | 163 ++ .../agent/JdbcAgentProfileExtendedTest.java | 109 ++ .../java/com/dbx/agent/JdbcExecutorTest.java | 98 + .../com/dbx/agent/PostgresLikeAgentTest.java | 304 +++ .../dbx/agent/StandardJdbcMetadataTest.java | 471 +++++ agents/docs/agent-authoring.md | 318 +++ .../examples/jdbc-agent-template/README.md | 20 + .../examples/jdbc-agent-template/build.gradle | 64 + .../jdbc-agent-template/settings.gradle | 21 + .../com/dbx/agent/template/TemplateAgent.java | 27 + .../dbx/agent/template/TemplateAgentTest.java | 23 + agents/docs/release-checklist.md | 200 ++ agents/drivers/access/build.gradle | 9 + .../com/dbx/agent/access/AccessAgent.java | 366 ++++ .../com/dbx/agent/access/AccessAgentTest.java | 113 ++ agents/drivers/bigquery/build.gradle | 13 + .../com/dbx/agent/bigquery/BigQueryAgent.java | 145 ++ .../bigquery/BigQueryAgentMetadataTest.java | 49 + .../dbx/agent/bigquery/BigQueryAgentTest.java | 16 + agents/drivers/cassandra/build.gradle | 10 + .../dbx/agent/cassandra/CassandraAgent.java | 185 ++ .../agent/cassandra/CassandraAgentTest.java | 16 + agents/drivers/dameng/build.gradle | 13 + agents/drivers/dameng/libs/.gitkeep | 0 .../com/dbx/agent/dameng/DamengAgent.java | 758 ++++++++ .../agent/dameng/DamengAgentMetadataTest.java | 279 +++ .../agent/dameng/DamengAgentPagingTest.java | 277 +++ .../com/dbx/agent/dameng/DamengAgentTest.java | 16 + .../dbx/agent/dameng/DamengAgentUrlTest.java | 29 + agents/drivers/databend/build.gradle | 9 + .../com/dbx/agent/databend/DatabendAgent.java | 233 +++ .../dbx/agent/databend/DatabendAgentTest.java | 54 + agents/drivers/databricks/build.gradle | 10 + .../dbx/agent/databricks/DatabricksAgent.java | 41 + .../agent/databricks/DatabricksAgentTest.java | 22 + agents/drivers/db2/build.gradle | 10 + .../main/java/com/dbx/agent/db2/Db2Agent.java | 385 ++++ .../java/com/dbx/agent/db2/Db2AgentTest.java | 163 ++ agents/drivers/etcd/build.gradle | 11 + .../java/com/dbx/agent/etcd/EtcdAgent.java | 420 ++++ .../com/dbx/agent/etcd/EtcdAgentTest.java | 55 + agents/drivers/exasol/build.gradle | 10 + .../com/dbx/agent/exasol/ExasolAgent.java | 22 + agents/drivers/firebird/build.gradle | 10 + .../com/dbx/agent/firebird/FirebirdAgent.java | 22 + agents/drivers/gaussdb/build.gradle | 10 + .../com/dbx/agent/gaussdb/GaussdbAgent.java | 432 +++++ .../dbx/agent/gaussdb/GaussdbAgentTest.java | 43 + agents/drivers/gbase8a/build.gradle | 12 + ...ase-connector-java-9.5.0.10-build1-bin.jar | Bin 0 -> 846594 bytes .../com/dbx/agent/gbase8a/Gbase8aAgent.java | 66 + agents/drivers/gbase8s/build.gradle | 12 + agents/drivers/gbase8s/libs/gbasedbt-jdbc.jar | Bin 0 -> 2943130 bytes .../com/dbx/agent/gbase8s/Gbase8sAgent.java | 374 ++++ .../dbx/agent/gbase8s/Gbase8sAgentTest.java | 98 + agents/drivers/goldendb/build.gradle | 10 + agents/drivers/goldendb/libs/.gitkeep | 0 .../com/dbx/agent/goldendb/GoldendbAgent.java | 409 ++++ .../goldendb/GoldendbAgentMetadataTest.java | 25 + .../dbx/agent/goldendb/GoldendbAgentTest.java | 16 + agents/drivers/h2/build.gradle | 10 + .../main/java/com/dbx/agent/h2/H2Agent.java | 349 ++++ .../java/com/dbx/agent/h2/H2AgentTest.java | 114 ++ agents/drivers/highgo/build.gradle | 16 + .../com/dbx/agent/highgo/HighgoAgent.java | 20 + .../com/dbx/agent/highgo/HighgoAgentTest.java | 46 + agents/drivers/hive/build.gradle | 11 + .../java/com/dbx/agent/hive/HiveAgent.java | 219 +++ .../agent/hive/HiveAgentExecutionTest.java | 16 + .../dbx/agent/hive/HiveAgentMetadataTest.java | 186 ++ .../com/dbx/agent/hive/HiveAgentTest.java | 11 + agents/drivers/informix/build.gradle | 10 + .../com/dbx/agent/informix/InformixAgent.java | 429 +++++ .../informix/InformixAgentExecutionTest.java | 16 + .../dbx/agent/informix/InformixAgentTest.java | 128 ++ agents/drivers/iotdb/build.gradle | 10 + .../java/com/dbx/agent/iotdb/IoTDBAgent.java | 22 + .../com/dbx/agent/iotdb/IoTDBAgentTest.java | 32 + agents/drivers/iris/build.gradle | 9 + .../java/com/dbx/agent/iris/IrisAgent.java | 159 ++ .../com/dbx/agent/iris/IrisAgentTest.java | 154 ++ agents/drivers/kingbase/build.gradle | 10 + agents/drivers/kingbase/libs/.gitkeep | 0 .../com/dbx/agent/kingbase/KingbaseAgent.java | 349 ++++ .../dbx/agent/kingbase/KingbaseAgentTest.java | 184 ++ agents/drivers/kylin/build.gradle | 10 + .../java/com/dbx/agent/kylin/KylinAgent.java | 144 ++ .../com/dbx/agent/kylin/KylinAgentTest.java | 16 + agents/drivers/mongodb/build.gradle | 11 + .../com/dbx/agent/mongodb/MongoAgent.java | 586 ++++++ .../com/dbx/agent/mongodb/MongoAgentTest.java | 322 ++++ agents/drivers/neo4j/build.gradle | 10 + .../java/com/dbx/agent/neo4j/Neo4jAgent.java | 350 ++++ .../com/dbx/agent/neo4j/Neo4jAgentTest.java | 183 ++ agents/drivers/oceanbase-oracle/build.gradle | 10 + .../oceanbaseoracle/OceanBaseOracleAgent.java | 449 +++++ .../OceanBaseOracleAgentTest.java | 59 + agents/drivers/oracle-10g/build.gradle | 11 + .../dbx/agent/oracle10g/Oracle10gAgent.java | 515 +++++ .../agent/oracle10g/Oracle10gAgentTest.java | 205 ++ agents/drivers/oracle-go/.gitignore | 2 + agents/drivers/oracle-go/README.md | 36 + agents/drivers/oracle-go/go.mod | 5 + agents/drivers/oracle-go/go.sum | 2 + agents/drivers/oracle-go/main.go | 1400 ++++++++++++++ agents/drivers/oracle-go/main_test.go | 284 +++ agents/drivers/oracle-legacy/build.gradle | 19 + .../agent/oraclelegacy/OracleLegacyAgent.java | 10 + agents/drivers/oracle/build.gradle | 11 + .../com/dbx/agent/oracle/OracleAgent.java | 616 ++++++ .../com/dbx/agent/oracle/OracleAgentTest.java | 76 + agents/drivers/saphana/build.gradle | 10 + .../com/dbx/agent/saphana/SapHanaAgent.java | 26 + agents/drivers/snowflake/build.gradle | 10 + .../dbx/agent/snowflake/SnowflakeAgent.java | 243 +++ .../snowflake/SnowflakeAgentMetadataTest.java | 29 + .../agent/snowflake/SnowflakeAgentTest.java | 16 + agents/drivers/sundb/build.gradle | 13 + .../java/com/dbx/agent/sundb/SundbAgent.java | 384 ++++ .../agent/sundb/SundbAgentMetadataTest.java | 23 + .../com/dbx/agent/sundb/SundbAgentTest.java | 16 + agents/drivers/tdengine/build.gradle | 10 + .../com/dbx/agent/tdengine/TDengineAgent.java | 598 ++++++ .../tdengine/TDengineAgentPagingTest.java | 178 ++ .../dbx/agent/tdengine/TDengineAgentTest.java | 140 ++ agents/drivers/teradata/build.gradle | 10 + .../com/dbx/agent/teradata/TeradataAgent.java | 21 + agents/drivers/trino/build.gradle | 10 + .../java/com/dbx/agent/trino/TrinoAgent.java | 272 +++ .../com/dbx/agent/trino/TrinoAgentTest.java | 16 + agents/drivers/vastbase/build.gradle | 10 + agents/drivers/vastbase/libs/.gitkeep | 0 .../com/dbx/agent/vastbase/VastbaseAgent.java | 61 + .../dbx/agent/vastbase/VastbaseAgentTest.java | 26 + agents/drivers/vertica/build.gradle | 10 + .../com/dbx/agent/vertica/VerticaAgent.java | 21 + agents/drivers/xugu/README.md | 36 + agents/drivers/xugu/go.mod | 5 + agents/drivers/xugu/go.sum | 2 + agents/drivers/xugu/main.go | 1714 +++++++++++++++++ agents/drivers/xugu/main_test.go | 370 ++++ agents/drivers/yashandb/build.gradle | 9 + .../com/dbx/agent/yashandb/YashandbAgent.java | 22 + .../dbx/agent/yashandb/YashandbAgentTest.java | 30 + agents/drivers/zookeeper/build.gradle | 13 + .../dbx/agent/zookeeper/ZooKeeperAgent.java | 549 ++++++ .../agent/zookeeper/ZooKeeperAgentTest.java | 396 ++++ agents/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 48462 bytes .../gradle/wrapper/gradle-wrapper.properties | 9 + agents/gradlew | 248 +++ agents/gradlew.bat | 82 + agents/opengauss/build.gradle | 10 + .../dbx/agent/opengauss/OpenGaussAgent.java | 20 + .../agent/opengauss/OpenGaussAgentTest.java | 21 + agents/scripts/build_offline_zip.sh | 64 + agents/scripts/release.sh | 60 + agents/scripts/validate_agent_jars.py | 68 + agents/scripts/validate_agents.py | 298 +++ agents/scripts/validate_agents_test.py | 437 +++++ agents/settings.gradle | 16 + agents/test-support/build.gradle | 4 + .../com/dbx/agent/test/JdbcAgentFake.java | 177 ++ .../agent/test/JdbcConnectedAgentTest.java | 18 + .../agent/test/JdbcExecutionBehaviorTest.java | 148 ++ .../test/JdbcFakeExecutionBehaviorTest.java | 47 + .../agent/test/JdbcMetadataBehaviorTest.java | 67 + .../dbx/agent/test/JdbcMetadataSqlFake.java | 172 ++ .../java/com/dbx/agent/test/TestSupport.java | 31 + agents/versions.json | 41 + crates/dbx-core/src/agent_service.rs | 7 +- crates/dbx-core/tests/agent_service.rs | 7 +- docs/lib/agentRegistry.ts | 2 +- 215 files changed, 29740 insertions(+), 15 deletions(-) create mode 100644 .github/workflows/agents-release.yml create mode 100644 agents/.gitignore create mode 100644 agents/README.md create mode 100644 agents/build.gradle create mode 100644 agents/common/build.gradle create mode 100644 agents/common/src/main/java/com/dbx/agent/AbstractJdbcAgent.java create mode 100644 agents/common/src/main/java/com/dbx/agent/AgentProtocol.java create mode 100644 agents/common/src/main/java/com/dbx/agent/BaseDatabaseAgent.java create mode 100644 agents/common/src/main/java/com/dbx/agent/ColumnInfo.java create mode 100644 agents/common/src/main/java/com/dbx/agent/ConfiguredJdbcAgent.java create mode 100644 agents/common/src/main/java/com/dbx/agent/ConnectParams.java create mode 100644 agents/common/src/main/java/com/dbx/agent/DatabaseAgent.java create mode 100644 agents/common/src/main/java/com/dbx/agent/DatabaseInfo.java create mode 100644 agents/common/src/main/java/com/dbx/agent/DdlBuilder.java create mode 100644 agents/common/src/main/java/com/dbx/agent/EwkbWktDecoder.java create mode 100644 agents/common/src/main/java/com/dbx/agent/ExecuteQueryOptions.java create mode 100644 agents/common/src/main/java/com/dbx/agent/ExecuteQueryParams.java create mode 100644 agents/common/src/main/java/com/dbx/agent/ForeignKeyInfo.java create mode 100644 agents/common/src/main/java/com/dbx/agent/IndexInfo.java create mode 100644 agents/common/src/main/java/com/dbx/agent/JdbcAgentProfile.java create mode 100644 agents/common/src/main/java/com/dbx/agent/JdbcExecutor.java create mode 100644 agents/common/src/main/java/com/dbx/agent/JdbcIdentifiers.java create mode 100644 agents/common/src/main/java/com/dbx/agent/JsonRpcServer.java create mode 100644 agents/common/src/main/java/com/dbx/agent/ObjectInfo.java create mode 100644 agents/common/src/main/java/com/dbx/agent/ObjectSource.java create mode 100644 agents/common/src/main/java/com/dbx/agent/PostgresLikeAgent.java create mode 100644 agents/common/src/main/java/com/dbx/agent/PostgresLikeAgentProfile.java create mode 100644 agents/common/src/main/java/com/dbx/agent/QueryPageOptions.java create mode 100644 agents/common/src/main/java/com/dbx/agent/QueryPageParams.java create mode 100644 agents/common/src/main/java/com/dbx/agent/QueryPageResult.java create mode 100644 agents/common/src/main/java/com/dbx/agent/QueryResult.java create mode 100644 agents/common/src/main/java/com/dbx/agent/SchemaTableParams.java create mode 100644 agents/common/src/main/java/com/dbx/agent/StandardJdbcMetadata.java create mode 100644 agents/common/src/main/java/com/dbx/agent/TableInfo.java create mode 100644 agents/common/src/main/java/com/dbx/agent/TransactionExecutor.java create mode 100644 agents/common/src/main/java/com/dbx/agent/TriggerInfo.java create mode 100644 agents/common/src/main/resources/agent-protocol-v1.json create mode 100644 agents/common/src/test/java/com/dbx/agent/AbstractJdbcAgentTest.java create mode 100644 agents/common/src/test/java/com/dbx/agent/CommonJavaCompatibilityTest.java create mode 100644 agents/common/src/test/java/com/dbx/agent/ConfiguredJdbcAgentTest.java create mode 100644 agents/common/src/test/java/com/dbx/agent/EwkbWktDecoderTest.java create mode 100644 agents/common/src/test/java/com/dbx/agent/JdbcAgentProfileExtendedTest.java create mode 100644 agents/common/src/test/java/com/dbx/agent/JdbcExecutorTest.java create mode 100644 agents/common/src/test/java/com/dbx/agent/PostgresLikeAgentTest.java create mode 100644 agents/common/src/test/java/com/dbx/agent/StandardJdbcMetadataTest.java create mode 100644 agents/docs/agent-authoring.md create mode 100644 agents/docs/examples/jdbc-agent-template/README.md create mode 100644 agents/docs/examples/jdbc-agent-template/build.gradle create mode 100644 agents/docs/examples/jdbc-agent-template/settings.gradle create mode 100644 agents/docs/examples/jdbc-agent-template/src/main/java/com/dbx/agent/template/TemplateAgent.java create mode 100644 agents/docs/examples/jdbc-agent-template/src/test/java/com/dbx/agent/template/TemplateAgentTest.java create mode 100644 agents/docs/release-checklist.md create mode 100644 agents/drivers/access/build.gradle create mode 100644 agents/drivers/access/src/main/java/com/dbx/agent/access/AccessAgent.java create mode 100644 agents/drivers/access/src/test/java/com/dbx/agent/access/AccessAgentTest.java create mode 100644 agents/drivers/bigquery/build.gradle create mode 100644 agents/drivers/bigquery/src/main/java/com/dbx/agent/bigquery/BigQueryAgent.java create mode 100644 agents/drivers/bigquery/src/test/java/com/dbx/agent/bigquery/BigQueryAgentMetadataTest.java create mode 100644 agents/drivers/bigquery/src/test/java/com/dbx/agent/bigquery/BigQueryAgentTest.java create mode 100644 agents/drivers/cassandra/build.gradle create mode 100644 agents/drivers/cassandra/src/main/java/com/dbx/agent/cassandra/CassandraAgent.java create mode 100644 agents/drivers/cassandra/src/test/java/com/dbx/agent/cassandra/CassandraAgentTest.java create mode 100644 agents/drivers/dameng/build.gradle create mode 100644 agents/drivers/dameng/libs/.gitkeep create mode 100644 agents/drivers/dameng/src/main/java/com/dbx/agent/dameng/DamengAgent.java create mode 100644 agents/drivers/dameng/src/test/java/com/dbx/agent/dameng/DamengAgentMetadataTest.java create mode 100644 agents/drivers/dameng/src/test/java/com/dbx/agent/dameng/DamengAgentPagingTest.java create mode 100644 agents/drivers/dameng/src/test/java/com/dbx/agent/dameng/DamengAgentTest.java create mode 100644 agents/drivers/dameng/src/test/java/com/dbx/agent/dameng/DamengAgentUrlTest.java create mode 100644 agents/drivers/databend/build.gradle create mode 100644 agents/drivers/databend/src/main/java/com/dbx/agent/databend/DatabendAgent.java create mode 100644 agents/drivers/databend/src/test/java/com/dbx/agent/databend/DatabendAgentTest.java create mode 100644 agents/drivers/databricks/build.gradle create mode 100644 agents/drivers/databricks/src/main/java/com/dbx/agent/databricks/DatabricksAgent.java create mode 100644 agents/drivers/databricks/src/test/java/com/dbx/agent/databricks/DatabricksAgentTest.java create mode 100644 agents/drivers/db2/build.gradle create mode 100644 agents/drivers/db2/src/main/java/com/dbx/agent/db2/Db2Agent.java create mode 100644 agents/drivers/db2/src/test/java/com/dbx/agent/db2/Db2AgentTest.java create mode 100644 agents/drivers/etcd/build.gradle create mode 100644 agents/drivers/etcd/src/main/java/com/dbx/agent/etcd/EtcdAgent.java create mode 100644 agents/drivers/etcd/src/test/java/com/dbx/agent/etcd/EtcdAgentTest.java create mode 100644 agents/drivers/exasol/build.gradle create mode 100644 agents/drivers/exasol/src/main/java/com/dbx/agent/exasol/ExasolAgent.java create mode 100644 agents/drivers/firebird/build.gradle create mode 100644 agents/drivers/firebird/src/main/java/com/dbx/agent/firebird/FirebirdAgent.java create mode 100644 agents/drivers/gaussdb/build.gradle create mode 100644 agents/drivers/gaussdb/src/main/java/com/dbx/agent/gaussdb/GaussdbAgent.java create mode 100644 agents/drivers/gaussdb/src/test/java/com/dbx/agent/gaussdb/GaussdbAgentTest.java create mode 100644 agents/drivers/gbase8a/build.gradle create mode 100644 agents/drivers/gbase8a/libs/gbase-connector-java-9.5.0.10-build1-bin.jar create mode 100644 agents/drivers/gbase8a/src/main/java/com/dbx/agent/gbase8a/Gbase8aAgent.java create mode 100644 agents/drivers/gbase8s/build.gradle create mode 100644 agents/drivers/gbase8s/libs/gbasedbt-jdbc.jar create mode 100644 agents/drivers/gbase8s/src/main/java/com/dbx/agent/gbase8s/Gbase8sAgent.java create mode 100644 agents/drivers/gbase8s/src/test/java/com/dbx/agent/gbase8s/Gbase8sAgentTest.java create mode 100644 agents/drivers/goldendb/build.gradle create mode 100644 agents/drivers/goldendb/libs/.gitkeep create mode 100644 agents/drivers/goldendb/src/main/java/com/dbx/agent/goldendb/GoldendbAgent.java create mode 100644 agents/drivers/goldendb/src/test/java/com/dbx/agent/goldendb/GoldendbAgentMetadataTest.java create mode 100644 agents/drivers/goldendb/src/test/java/com/dbx/agent/goldendb/GoldendbAgentTest.java create mode 100644 agents/drivers/h2/build.gradle create mode 100644 agents/drivers/h2/src/main/java/com/dbx/agent/h2/H2Agent.java create mode 100644 agents/drivers/h2/src/test/java/com/dbx/agent/h2/H2AgentTest.java create mode 100644 agents/drivers/highgo/build.gradle create mode 100644 agents/drivers/highgo/src/main/java/com/dbx/agent/highgo/HighgoAgent.java create mode 100644 agents/drivers/highgo/src/test/java/com/dbx/agent/highgo/HighgoAgentTest.java create mode 100644 agents/drivers/hive/build.gradle create mode 100644 agents/drivers/hive/src/main/java/com/dbx/agent/hive/HiveAgent.java create mode 100644 agents/drivers/hive/src/test/java/com/dbx/agent/hive/HiveAgentExecutionTest.java create mode 100644 agents/drivers/hive/src/test/java/com/dbx/agent/hive/HiveAgentMetadataTest.java create mode 100644 agents/drivers/hive/src/test/java/com/dbx/agent/hive/HiveAgentTest.java create mode 100644 agents/drivers/informix/build.gradle create mode 100644 agents/drivers/informix/src/main/java/com/dbx/agent/informix/InformixAgent.java create mode 100644 agents/drivers/informix/src/test/java/com/dbx/agent/informix/InformixAgentExecutionTest.java create mode 100644 agents/drivers/informix/src/test/java/com/dbx/agent/informix/InformixAgentTest.java create mode 100644 agents/drivers/iotdb/build.gradle create mode 100644 agents/drivers/iotdb/src/main/java/com/dbx/agent/iotdb/IoTDBAgent.java create mode 100644 agents/drivers/iotdb/src/test/java/com/dbx/agent/iotdb/IoTDBAgentTest.java create mode 100644 agents/drivers/iris/build.gradle create mode 100644 agents/drivers/iris/src/main/java/com/dbx/agent/iris/IrisAgent.java create mode 100644 agents/drivers/iris/src/test/java/com/dbx/agent/iris/IrisAgentTest.java create mode 100644 agents/drivers/kingbase/build.gradle create mode 100644 agents/drivers/kingbase/libs/.gitkeep create mode 100644 agents/drivers/kingbase/src/main/java/com/dbx/agent/kingbase/KingbaseAgent.java create mode 100644 agents/drivers/kingbase/src/test/java/com/dbx/agent/kingbase/KingbaseAgentTest.java create mode 100644 agents/drivers/kylin/build.gradle create mode 100644 agents/drivers/kylin/src/main/java/com/dbx/agent/kylin/KylinAgent.java create mode 100644 agents/drivers/kylin/src/test/java/com/dbx/agent/kylin/KylinAgentTest.java create mode 100644 agents/drivers/mongodb/build.gradle create mode 100644 agents/drivers/mongodb/src/main/java/com/dbx/agent/mongodb/MongoAgent.java create mode 100644 agents/drivers/mongodb/src/test/java/com/dbx/agent/mongodb/MongoAgentTest.java create mode 100644 agents/drivers/neo4j/build.gradle create mode 100644 agents/drivers/neo4j/src/main/java/com/dbx/agent/neo4j/Neo4jAgent.java create mode 100644 agents/drivers/neo4j/src/test/java/com/dbx/agent/neo4j/Neo4jAgentTest.java create mode 100644 agents/drivers/oceanbase-oracle/build.gradle create mode 100644 agents/drivers/oceanbase-oracle/src/main/java/com/dbx/agent/oceanbaseoracle/OceanBaseOracleAgent.java create mode 100644 agents/drivers/oceanbase-oracle/src/test/java/com/dbx/agent/oceanbaseoracle/OceanBaseOracleAgentTest.java create mode 100644 agents/drivers/oracle-10g/build.gradle create mode 100644 agents/drivers/oracle-10g/src/main/java/com/dbx/agent/oracle10g/Oracle10gAgent.java create mode 100644 agents/drivers/oracle-10g/src/test/java/com/dbx/agent/oracle10g/Oracle10gAgentTest.java create mode 100644 agents/drivers/oracle-go/.gitignore create mode 100644 agents/drivers/oracle-go/README.md create mode 100644 agents/drivers/oracle-go/go.mod create mode 100644 agents/drivers/oracle-go/go.sum create mode 100644 agents/drivers/oracle-go/main.go create mode 100644 agents/drivers/oracle-go/main_test.go create mode 100644 agents/drivers/oracle-legacy/build.gradle create mode 100644 agents/drivers/oracle-legacy/src/main/java/com/dbx/agent/oraclelegacy/OracleLegacyAgent.java create mode 100644 agents/drivers/oracle/build.gradle create mode 100644 agents/drivers/oracle/src/main/java/com/dbx/agent/oracle/OracleAgent.java create mode 100644 agents/drivers/oracle/src/test/java/com/dbx/agent/oracle/OracleAgentTest.java create mode 100644 agents/drivers/saphana/build.gradle create mode 100644 agents/drivers/saphana/src/main/java/com/dbx/agent/saphana/SapHanaAgent.java create mode 100644 agents/drivers/snowflake/build.gradle create mode 100644 agents/drivers/snowflake/src/main/java/com/dbx/agent/snowflake/SnowflakeAgent.java create mode 100644 agents/drivers/snowflake/src/test/java/com/dbx/agent/snowflake/SnowflakeAgentMetadataTest.java create mode 100644 agents/drivers/snowflake/src/test/java/com/dbx/agent/snowflake/SnowflakeAgentTest.java create mode 100644 agents/drivers/sundb/build.gradle create mode 100644 agents/drivers/sundb/src/main/java/com/dbx/agent/sundb/SundbAgent.java create mode 100644 agents/drivers/sundb/src/test/java/com/dbx/agent/sundb/SundbAgentMetadataTest.java create mode 100644 agents/drivers/sundb/src/test/java/com/dbx/agent/sundb/SundbAgentTest.java create mode 100644 agents/drivers/tdengine/build.gradle create mode 100644 agents/drivers/tdengine/src/main/java/com/dbx/agent/tdengine/TDengineAgent.java create mode 100644 agents/drivers/tdengine/src/test/java/com/dbx/agent/tdengine/TDengineAgentPagingTest.java create mode 100644 agents/drivers/tdengine/src/test/java/com/dbx/agent/tdengine/TDengineAgentTest.java create mode 100644 agents/drivers/teradata/build.gradle create mode 100644 agents/drivers/teradata/src/main/java/com/dbx/agent/teradata/TeradataAgent.java create mode 100644 agents/drivers/trino/build.gradle create mode 100644 agents/drivers/trino/src/main/java/com/dbx/agent/trino/TrinoAgent.java create mode 100644 agents/drivers/trino/src/test/java/com/dbx/agent/trino/TrinoAgentTest.java create mode 100644 agents/drivers/vastbase/build.gradle create mode 100644 agents/drivers/vastbase/libs/.gitkeep create mode 100644 agents/drivers/vastbase/src/main/java/com/dbx/agent/vastbase/VastbaseAgent.java create mode 100644 agents/drivers/vastbase/src/test/java/com/dbx/agent/vastbase/VastbaseAgentTest.java create mode 100644 agents/drivers/vertica/build.gradle create mode 100644 agents/drivers/vertica/src/main/java/com/dbx/agent/vertica/VerticaAgent.java create mode 100644 agents/drivers/xugu/README.md create mode 100644 agents/drivers/xugu/go.mod create mode 100644 agents/drivers/xugu/go.sum create mode 100644 agents/drivers/xugu/main.go create mode 100644 agents/drivers/xugu/main_test.go create mode 100644 agents/drivers/yashandb/build.gradle create mode 100644 agents/drivers/yashandb/src/main/java/com/dbx/agent/yashandb/YashandbAgent.java create mode 100644 agents/drivers/yashandb/src/test/java/com/dbx/agent/yashandb/YashandbAgentTest.java create mode 100644 agents/drivers/zookeeper/build.gradle create mode 100644 agents/drivers/zookeeper/src/main/java/com/dbx/agent/zookeeper/ZooKeeperAgent.java create mode 100644 agents/drivers/zookeeper/src/test/java/com/dbx/agent/zookeeper/ZooKeeperAgentTest.java create mode 100644 agents/gradle/wrapper/gradle-wrapper.jar create mode 100644 agents/gradle/wrapper/gradle-wrapper.properties create mode 100755 agents/gradlew create mode 100644 agents/gradlew.bat create mode 100644 agents/opengauss/build.gradle create mode 100644 agents/opengauss/src/main/java/com/dbx/agent/opengauss/OpenGaussAgent.java create mode 100644 agents/opengauss/src/test/java/com/dbx/agent/opengauss/OpenGaussAgentTest.java create mode 100755 agents/scripts/build_offline_zip.sh create mode 100755 agents/scripts/release.sh create mode 100644 agents/scripts/validate_agent_jars.py create mode 100644 agents/scripts/validate_agents.py create mode 100644 agents/scripts/validate_agents_test.py create mode 100644 agents/settings.gradle create mode 100644 agents/test-support/build.gradle create mode 100644 agents/test-support/src/main/java/com/dbx/agent/test/JdbcAgentFake.java create mode 100644 agents/test-support/src/main/java/com/dbx/agent/test/JdbcConnectedAgentTest.java create mode 100644 agents/test-support/src/main/java/com/dbx/agent/test/JdbcExecutionBehaviorTest.java create mode 100644 agents/test-support/src/main/java/com/dbx/agent/test/JdbcFakeExecutionBehaviorTest.java create mode 100644 agents/test-support/src/main/java/com/dbx/agent/test/JdbcMetadataBehaviorTest.java create mode 100644 agents/test-support/src/main/java/com/dbx/agent/test/JdbcMetadataSqlFake.java create mode 100644 agents/test-support/src/main/java/com/dbx/agent/test/TestSupport.java create mode 100644 agents/versions.json diff --git a/.github/workflows/agents-release.yml b/.github/workflows/agents-release.yml new file mode 100644 index 0000000000..aae3f8dbe2 --- /dev/null +++ b/.github/workflows/agents-release.yml @@ -0,0 +1,624 @@ +name: Agents Release + +on: + push: + tags: ["agents-v*"] + +permissions: + contents: write + +jobs: + bump-versions: + runs-on: ubuntu-latest + outputs: + versions: ${{ steps.bump.outputs.versions }} + prev_versions: ${{ steps.bump.outputs.prev_versions }} + prev_tag: ${{ steps.bump.outputs.prev_tag }} + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Detect changes and bump versions + id: bump + shell: bash + run: | + PREV_TAG=$(git tag --sort=-creatordate | grep '^agents-v' | sed -n '2p') + if [ -z "$PREV_TAG" ]; then + echo "No previous tag found, all modules are new" + PREV_TAG=$(git rev-list --max-parents=0 HEAD) + fi + echo "Comparing $PREV_TAG..HEAD" + + VERSIONS=$(cat agents/versions.json) + PREV_VERSIONS="$VERSIONS" + CHANGED=false + + for dir in $(echo "$VERSIONS" | python3 -c "import sys,json; [print(k) for k in json.load(sys.stdin)]"); do + if [ -d "agents/drivers/$dir" ] || [ -d "agents/$dir" ] || [ "$dir" = "common" ]; then + if [ -d "agents/drivers/$dir" ]; then + CHECK_DIR="drivers/$dir" + else + CHECK_DIR="$dir" + fi + EXTRA_CHECK_DIR="" + if [ "$dir" = "oracle" ]; then + EXTRA_CHECK_DIR="drivers/oracle-go" + fi + DIFF_PATHS=("agents/$CHECK_DIR/") + if [ -n "$EXTRA_CHECK_DIR" ]; then + DIFF_PATHS+=("agents/$EXTRA_CHECK_DIR/") + fi + # common changes affect all modules + if git diff --quiet "$PREV_TAG"..HEAD -- agents/common/ 2>/dev/null; then + COMMON_CHANGED=false + else + COMMON_CHANGED=true + fi + + if git diff --quiet "$PREV_TAG"..HEAD -- "${DIFF_PATHS[@]}" 2>/dev/null && [ "$COMMON_CHANGED" = "false" ]; then + echo " $dir: no changes" + else + echo " $dir: CHANGED" + OLD_VER=$(echo "$VERSIONS" | python3 -c "import sys,json; print(json.load(sys.stdin).get('$dir','0.1.0'))") + IFS='.' read -r major minor patch <<< "$OLD_VER" + NEW_VER="$major.$minor.$((patch + 1))" + VERSIONS=$(echo "$VERSIONS" | python3 -c " + import sys, json + d = json.load(sys.stdin) + d['$dir'] = '$NEW_VER' + json.dump(d, sys.stdout, indent=2) + print() + ") + CHANGED=true + echo " $dir: $OLD_VER -> $NEW_VER" + fi + fi + done + + echo "$VERSIONS" > agents/versions.json + cat agents/versions.json + echo "versions=$(cat agents/versions.json | python3 -c 'import sys,json; print(json.dumps(json.load(sys.stdin)))')" >> "$GITHUB_OUTPUT" + echo "prev_versions=$(echo "$PREV_VERSIONS" | python3 -c 'import sys,json; print(json.dumps(json.load(sys.stdin)))')" >> "$GITHUB_OUTPUT" + echo "prev_tag=$PREV_TAG" >> "$GITHUB_OUTPUT" + + if [ "$CHANGED" = "true" ]; then + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add agents/versions.json + git commit -m "chore: bump module versions [skip ci]" + git push origin HEAD:main + fi + + build-agents: + needs: [bump-versions] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: | + 8 + 21 + - uses: gradle/actions/setup-gradle@v4 + - run: ./gradlew shadowJar + working-directory: agents + - run: python3 scripts/validate_agent_jars.py + working-directory: agents + - uses: actions/upload-artifact@v4 + with: + name: agent-jars + path: "agents/drivers/*/build/libs/dbx-agent-*.jar" + + build-oracle-native: + needs: [bump-versions] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version: "1.22.x" + - name: Test Oracle native agent + working-directory: agents/drivers/oracle-go + run: go test ./... + - name: Cross-compile Oracle native agent + shell: bash + run: | + mkdir -p release-native + cd agents/drivers/oracle-go + declare -A TARGETS=( + ["macos-aarch64"]="darwin/arm64" + ["macos-x64"]="darwin/amd64" + ["linux-aarch64"]="linux/arm64" + ["linux-x64"]="linux/amd64" + ["windows-aarch64"]="windows/arm64" + ["windows-x64"]="windows/amd64" + ) + for platform in "${!TARGETS[@]}"; do + IFS=/ read -r goos goarch <<< "${TARGETS[$platform]}" + output="../../../release-native/dbx-agent-oracle-${platform}" + if [[ "$goos" == "windows" ]]; then + output="${output}.exe" + fi + echo "Building $platform ($goos/$goarch)" + CGO_ENABLED=0 GOOS="$goos" GOARCH="$goarch" go build -trimpath -ldflags="-s -w" -o "$output" . + done + ls -lh ../../../release-native + - uses: actions/upload-artifact@v4 + with: + name: oracle-native + path: "release-native/dbx-agent-oracle-*" + + build-xugu-native: + needs: [bump-versions] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version: "1.22.x" + - name: Test Xugu native agent + working-directory: agents/drivers/xugu + run: GONOSUMDB=gitee.com/XuguDB/go-xugu-driver go test ./... + - name: Cross-compile Xugu native agent + shell: bash + run: | + mkdir -p release-native + cd agents/drivers/xugu + declare -A TARGETS=( + ["macos-aarch64"]="darwin/arm64" + ["macos-x64"]="darwin/amd64" + ["linux-aarch64"]="linux/arm64" + ["linux-x64"]="linux/amd64" + ["windows-aarch64"]="windows/arm64" + ["windows-x64"]="windows/amd64" + ) + for platform in "${!TARGETS[@]}"; do + IFS=/ read -r goos goarch <<< "${TARGETS[$platform]}" + output="../../../release-native/dbx-agent-xugu-${platform}" + if [[ "$goos" == "windows" ]]; then + output="${output}.exe" + fi + echo "Building $platform ($goos/$goarch)" + GONOSUMDB=gitee.com/XuguDB/go-xugu-driver CGO_ENABLED=0 GOOS="$goos" GOARCH="$goarch" go build -trimpath -ldflags="-s -w" -o "$output" . + done + ls -lh ../../../release-native + - uses: actions/upload-artifact@v4 + with: + name: xugu-native + path: "release-native/dbx-agent-xugu-*" + + build-jre: + runs-on: ubuntu-latest + strategy: + matrix: + include: + - jre-key: "21" + java-version: "21" + modules: "java.base,java.sql,java.sql.rowset,java.naming,java.management,java.desktop,java.security.jgss,java.security.sasl,jdk.charsets,java.scripting" + steps: + - uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: ${{ matrix.java-version }} + - name: Build JRE for all platforms + shell: bash + run: | + MODULES="${{ matrix.modules }}" + JLINK_OPTS="--strip-debug --no-header-files --no-man-pages --compress=zip-6" + JRE_KEY="${{ matrix.jre-key }}" + + jlink --add-modules $MODULES $JLINK_OPTS --output dbx-jre + tar czf dbx-jre-${JRE_KEY}-linux-x64.tar.gz dbx-jre + rm -rf dbx-jre + + ADOPTIUM="https://api.adoptium.net/v3/binary/latest/${{ matrix.java-version }}/ga" + declare -A PLATFORMS=( + ["macos-aarch64"]="mac/aarch64" + ["macos-x64"]="mac/x64" + ["linux-aarch64"]="linux/aarch64" + ["windows-x64"]="windows/x64" + ) + for platform in "${!PLATFORMS[@]}"; do + os_arch="${PLATFORMS[$platform]}" + echo "=== Downloading JDK for $platform ($os_arch) ===" + if [[ "$platform" == windows-* ]]; then + curl -L -o jdk-$platform.zip "$ADOPTIUM/$os_arch/jdk/hotspot/normal/eclipse?project=jdk" + mkdir -p jdk-$platform + unzip -q jdk-$platform.zip -d jdk-$platform-tmp + mv jdk-$platform-tmp/*/* jdk-$platform/ || mv jdk-$platform-tmp/* jdk-$platform/ + rm -rf jdk-$platform-tmp jdk-$platform.zip + else + curl -L -o jdk-$platform.tar.gz "$ADOPTIUM/$os_arch/jdk/hotspot/normal/eclipse?project=jdk" + mkdir -p jdk-$platform + tar xzf jdk-$platform.tar.gz -C jdk-$platform --strip-components=1 + rm -f jdk-$platform.tar.gz + fi + JAVA_HOME_CROSS="jdk-$platform" + if [ -d "$JAVA_HOME_CROSS/Contents/Home/jmods" ]; then + JMODS="$JAVA_HOME_CROSS/Contents/Home/jmods" + else + JMODS="$JAVA_HOME_CROSS/jmods" + fi + LLVM_OBJCOPY=$(ls /usr/bin/llvm-objcopy-* 2>/dev/null | sort -V | tail -1) + if [ -z "$LLVM_OBJCOPY" ]; then LLVM_OBJCOPY=$(which llvm-objcopy 2>/dev/null || true); fi + CROSS_OPTS="" + if [ -n "$LLVM_OBJCOPY" ]; then + CROSS_OPTS="--strip-native-debug-symbols=objcopy=$LLVM_OBJCOPY" + else + CROSS_OPTS="--disable-plugin strip-native-debug-symbols" + fi + jlink --module-path "$JMODS" --add-modules $MODULES $JLINK_OPTS $CROSS_OPTS --output dbx-jre + tar czf dbx-jre-${JRE_KEY}-$platform.tar.gz dbx-jre + rm -rf dbx-jre jdk-$platform + done + + ls -lh dbx-jre-*.tar.gz + - uses: actions/upload-artifact@v4 + with: + name: jre-${{ matrix.jre-key }} + path: "dbx-jre-*.tar.gz" + + build-jre8: + runs-on: ubuntu-latest + steps: + - name: Download Adoptium JRE 8 for all platforms + shell: bash + run: | + ADOPTIUM="https://api.adoptium.net/v3/binary/latest/8/ga" + declare -A PLATFORMS=( + ["linux-x64"]="linux/x64" + ["linux-aarch64"]="linux/aarch64" + ["macos-x64"]="mac/x64" + ["windows-x64"]="windows/x64" + ) + for platform in "${!PLATFORMS[@]}"; do + os_arch="${PLATFORMS[$platform]}" + echo "=== Downloading JRE 8 for $platform ($os_arch) ===" + if [[ "$platform" == windows-* ]]; then + curl -L -f -o jre8-$platform.zip "$ADOPTIUM/$os_arch/jre/hotspot/normal/eclipse?project=jdk" + mkdir -p jre8-extract + unzip -q jre8-$platform.zip -d jre8-extract + mv jre8-extract/*/ dbx-jre || mv jre8-extract/* dbx-jre + rm -rf jre8-extract jre8-$platform.zip + else + curl -L -f -o jre8-$platform.tar.gz "$ADOPTIUM/$os_arch/jre/hotspot/normal/eclipse?project=jdk" + mkdir -p dbx-jre + tar xzf jre8-$platform.tar.gz -C dbx-jre --strip-components=1 + rm -f jre8-$platform.tar.gz + fi + tar czf dbx-jre-8-$platform.tar.gz dbx-jre + rm -rf dbx-jre + done + + if [ -f dbx-jre-8-macos-x64.tar.gz ]; then + cp dbx-jre-8-macos-x64.tar.gz dbx-jre-8-macos-aarch64.tar.gz + fi + + ls -lh dbx-jre-8-*.tar.gz + - uses: actions/upload-artifact@v4 + with: + name: jre-8 + path: "dbx-jre-8-*.tar.gz" + + release: + needs: [bump-versions, build-agents, build-oracle-native, build-xugu-native, build-jre, build-jre8] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/download-artifact@v4 + with: + path: artifacts + + - name: Flatten artifacts + run: | + mkdir -p release + find artifacts/agent-jars -name '*.jar' -exec cp {} release/ \; + find artifacts/oracle-native -type f -name 'dbx-agent-oracle-*' -exec cp {} release/ \; + find artifacts/xugu-native -type f -name 'dbx-agent-xugu-*' -exec cp {} release/ \; + find artifacts -name 'dbx-jre-*.tar.gz' -exec cp {} release/ \; + ls -lh release/ + + - name: Generate agent-registry.json + env: + MODULE_VERSIONS: ${{ needs.bump-versions.outputs.versions }} + run: | + TAG="${GITHUB_REF_NAME}" + REPO="${GITHUB_REPOSITORY}" + RELEASE_VERSION="${TAG#agents-v}" + + get_module_version() { + local name="$1" + echo "$MODULE_VERSIONS" | python3 -c "import sys,json; print(json.load(sys.stdin).get('$name','${RELEASE_VERSION}'))" + } + + generate_jar_entry() { + local name="$1" label="$2" file="$3" jre_key="$4" version="$5" external_driver="$6" native_json="$7" + local sha256=$(sha256sum "$file" | cut -d' ' -f1) + local size=$(stat -c%s "$file") + local url="https://github.com/${REPO}/releases/download/${TAG}/$(basename $file)" + local native_line="" + if [ -n "$native_json" ]; then + native_line=" \"native\": {${native_json} + }," + fi + cat < release/agent-registry.json < /dev/null + echo "=== agent-registry.json ===" + cat release/agent-registry.json + + - name: Build offline ZIP bundles + run: bash agents/scripts/build_offline_zip.sh release + + - name: Generate release notes + env: + MODULE_VERSIONS: ${{ needs.bump-versions.outputs.versions }} + PREV_VERSIONS: ${{ needs.bump-versions.outputs.prev_versions }} + PREV_TAG: ${{ needs.bump-versions.outputs.prev_tag }} + run: | + NOTES="" + DRIVER_NAMES=() + for f in release/dbx-agent-*.jar; do + DRIVER_NAMES+=("$(basename "$f" .jar | sed 's/dbx-agent-//')") + done + for name in xugu; do + [ -f "release/dbx-agent-${name}.jar" ] && continue + compgen -G "release/dbx-agent-${name}-*" > /dev/null && DRIVER_NAMES+=("$name") + done + + native_only_label() { + local name="$1" + case "$name" in + xugu) echo "虚谷 XuguDB" ;; + *) echo "$name" ;; + esac + } + + for name in "${DRIVER_NAMES[@]}"; do + old_ver=$(echo "$PREV_VERSIONS" | python3 -c "import sys,json; print(json.load(sys.stdin).get('$name',''))") + new_ver=$(echo "$MODULE_VERSIONS" | python3 -c "import sys,json; print(json.load(sys.stdin).get('$name',''))") + [ "$old_ver" = "$new_ver" ] && continue + + jar_file="release/dbx-agent-${name}.jar" + if [ -f "$jar_file" ]; then + label=$(unzip -p "$jar_file" META-INF/MANIFEST.MF | awk -F': ' 'BEGIN{IGNORECASE=1} /^Agent-Label:/ {sub(/\r$/, "", $2); print $2; exit}' || echo "$name") + [ -z "$label" ] && label="$name" + else + label=$(native_only_label "$name") + fi + + NOTES="${NOTES}### ${label} (${old_ver} → ${new_ver})"$'\n' + if [ -d "agents/drivers/$name" ]; then + LOG_PATH="agents/drivers/$name/" + else + LOG_PATH="agents/$name/" + fi + LOG_PATHS=("$LOG_PATH") + if [ "$name" = "oracle" ]; then + LOG_PATHS+=("agents/drivers/oracle-go/") + fi + while IFS= read -r line; do + [ -n "$line" ] && NOTES="${NOTES}- ${line}"$'\n' + done < <(git log --oneline "$PREV_TAG"..HEAD -- "${LOG_PATHS[@]}" | sed 's/^[0-9a-f]* //') + + # include common changes if any + while IFS= read -r line; do + [ -n "$line" ] && NOTES="${NOTES}- ${line}"$'\n' + done < <(git log --oneline "$PREV_TAG"..HEAD -- agents/common/ | sed 's/^[0-9a-f]* //') + NOTES="${NOTES}"$'\n' + done + + if [ -z "$NOTES" ]; then + NOTES="Routine rebuild, no agent-specific changes."$'\n' + fi + + printf "## 更新内容\n\n%s" "$NOTES" > RELEASE_NOTES.md + echo "=== Release Notes ===" + cat RELEASE_NOTES.md + + - name: Create GitHub Release + uses: softprops/action-gh-release@v2 + with: + files: release/* + body_path: RELEASE_NOTES.md + make_latest: false + + - name: Update agents-latest GitHub release + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + git tag -f agents-latest "$GITHUB_SHA" + git push origin refs/tags/agents-latest --force + + if gh release view agents-latest --repo "$GITHUB_REPOSITORY" >/dev/null 2>&1; then + gh release upload agents-latest release/* --repo "$GITHUB_REPOSITORY" --clobber + gh release edit agents-latest \ + --repo "$GITHUB_REPOSITORY" \ + --title "Agents latest" \ + --notes "Moving release for the latest DBX agent registry, driver artifacts, managed JRE archives, and offline bundles." \ + --latest=false + else + gh release create agents-latest release/* \ + --repo "$GITHUB_REPOSITORY" \ + --title "Agents latest" \ + --notes "Moving release for the latest DBX agent registry, driver artifacts, managed JRE archives, and offline bundles." \ + --latest=false + fi + + - name: Upload to R2 + env: + MODULE_VERSIONS: ${{ needs.bump-versions.outputs.versions }} + PREV_VERSIONS: ${{ needs.bump-versions.outputs.prev_versions }} + AWS_ACCESS_KEY_ID: ${{ secrets.R2_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.R2_SECRET_ACCESS_KEY }} + R2_ENDPOINT: "https://${{ secrets.R2_ACCOUNT_ID }}.r2.cloudflarestorage.com" + R2_BUCKET: "s3://${{ secrets.R2_BUCKET_NAME }}" + run: | + # Always upload agent-registry.json + aws s3 cp release/agent-registry.json \ + "$R2_BUCKET/agents/agent-registry.json" \ + --endpoint-url "$R2_ENDPOINT" + echo "Uploaded agent-registry.json" + + # Upload only changed driver JARs + UPLOADED=0 + SKIPPED=0 + for f in release/dbx-agent-*.jar; do + [ ! -f "$f" ] && continue + name=$(basename "$f" .jar | sed 's/dbx-agent-//') + old_ver=$(echo "$PREV_VERSIONS" | python3 -c "import sys,json; print(json.load(sys.stdin).get('$name',''))" 2>/dev/null) + new_ver=$(echo "$MODULE_VERSIONS" | python3 -c "import sys,json; print(json.load(sys.stdin).get('$name',''))" 2>/dev/null) + if [ "$old_ver" = "$new_ver" ] && [ -n "$old_ver" ]; then + echo "Skip $(basename $f) (unchanged $old_ver)" + SKIPPED=$((SKIPPED + 1)) + continue + fi + aws s3 cp "$f" \ + "$R2_BUCKET/agents/drivers/$(basename $f)" \ + --endpoint-url "$R2_ENDPOINT" + echo "Uploaded $(basename $f) ($old_ver → $new_ver)" + UPLOADED=$((UPLOADED + 1)) + done + echo "Drivers: $UPLOADED uploaded, $SKIPPED skipped" + + for f in release/dbx-agent-*; do + [ -f "$f" ] || continue + [[ "$f" != *.jar ]] || continue + aws s3 cp "$f" \ + "$R2_BUCKET/agents/drivers/$(basename $f)" \ + --endpoint-url "$R2_ENDPOINT" + echo "Uploaded $(basename $f)" + done + + # Upload JRE — always overwrite to ensure latest modules + for f in release/dbx-jre-*.tar.gz; do + [ ! -f "$f" ] && continue + key="agents/jre/$(basename $f)" + aws s3 cp "$f" "$R2_BUCKET/$key" --endpoint-url "$R2_ENDPOINT" + echo "Uploaded $(basename $f)" + done diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 91a05a88ae..8d288fbb98 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -103,3 +103,86 @@ jobs: - name: JDBC plugin package check run: ./plugins/jdbc/package.sh + + changes: + runs-on: ubuntu-22.04 + outputs: + agents: ${{ steps.filter.outputs.agents }} + steps: + - uses: actions/checkout@v5 + with: + fetch-depth: 0 + + - name: Detect agent changes + id: filter + shell: bash + env: + BASE_SHA: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || github.event.before }} + run: | + if [ -z "$BASE_SHA" ] || echo "$BASE_SHA" | grep -Eq '^0+$' || ! git rev-parse --verify "$BASE_SHA^{commit}" >/dev/null 2>&1; then + if git rev-parse --verify HEAD^ >/dev/null 2>&1; then + BASE_SHA="HEAD^" + else + BASE_SHA="$(git hash-object -t tree /dev/null)" + fi + fi + + if git diff --name-only "$BASE_SHA" HEAD -- agents/ | grep -q .; then + echo "agents=true" >> "$GITHUB_OUTPUT" + else + echo "agents=false" >> "$GITHUB_OUTPUT" + fi + + agents: + needs: changes + if: needs.changes.outputs.agents == 'true' + runs-on: ubuntu-22.04 + defaults: + run: + working-directory: agents + steps: + - uses: actions/checkout@v5 + + - name: Setup Java + uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: | + 8 + 21 + + - name: Setup Go + uses: actions/setup-go@v5 + with: + go-version: "1.22.x" + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Agent script tests + run: python3 -m unittest discover -s scripts -p '*_test.py' + + - name: Agent validation + run: python3 scripts/validate_agents.py + + - name: Oracle native agent tests + run: go test ./... + working-directory: agents/drivers/oracle-go + + - name: Xugu native agent tests + run: GONOSUMDB=gitee.com/XuguDB/go-xugu-driver go test ./... + working-directory: agents/drivers/xugu + + - name: Oracle native agent build + run: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o /tmp/dbx-agent-oracle-linux-x64 . + working-directory: agents/drivers/oracle-go + + - name: Xugu native agent build + run: GONOSUMDB=gitee.com/XuguDB/go-xugu-driver CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o /tmp/dbx-agent-xugu-linux-x64 . + working-directory: agents/drivers/xugu + + - name: Java agent tests and packages + run: ./gradlew test shadowJar --continue + + - name: Agent jar validation + run: python3 scripts/validate_agent_jars.py diff --git a/README.md b/README.md index 3a0638261e..20eba2e8a0 100644 --- a/README.md +++ b/README.md @@ -273,16 +273,14 @@ pnpm dev:web # frontend pnpm dev:backend # backend ``` -[dbx-agents](https://github.com/t8y2/dbx-agents) is a separate repository containing JDBC agent driver development projects. For local development, clone it alongside `dbx/` under the same workspace directory and open the parent folder in your IDE: +JDBC agent driver development projects live in `agents/`: ```bash -mkdir dbx-workspace && cd dbx-workspace -git clone https://github.com/t8y2/dbx.git -git clone https://github.com/t8y2/dbx-agents.git -# Open dbx-workspace/ in your IDE to work on both projects together +cd agents +./gradlew test ``` -This keeps the two repositories independent (separate git histories) while making it easy to navigate between them during development. +Build artifacts from `agents/drivers//build/libs/` are picked up by local driver install flows when available. ### Build diff --git a/README.zh-CN.md b/README.zh-CN.md index bebe9f9463..1bcca8f93e 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -272,15 +272,15 @@ pnpm dev:web # 前端 pnpm dev:backend # 后端 ``` -[dbx-agents](https://github.com/t8y2/dbx-agents) 是独立仓库,存放 JDBC Agent 驱动开发工程。本地开发时建议克隆到 `dbx/` 同级目录下,用 IDE 打开父文件夹即可同时开发两个项目: +JDBC Agent 驱动开发工程位于 `agents/` 目录: ```bash -mkdir dbx-workspace && cd dbx-workspace -git clone https://github.com/t8y2/dbx.git -git clone https://github.com/t8y2/dbx-agents.git -# 用 IDE 打开 dbx-workspace/ 即可同时开发两个项目 +cd agents +./gradlew test ``` +本地驱动安装流程会优先查找 `agents/drivers//build/libs/` 下的构建产物。 + ### 构建 ```bash diff --git a/agents/.gitignore b/agents/.gitignore new file mode 100644 index 0000000000..f797c2c638 --- /dev/null +++ b/agents/.gitignore @@ -0,0 +1,7 @@ +*/libs/*.jar +gradle.properties +build/ +*/bin/ +.gradle/ +.DS_Store +openspec diff --git a/agents/README.md b/agents/README.md new file mode 100644 index 0000000000..b10576742f --- /dev/null +++ b/agents/README.md @@ -0,0 +1,83 @@ +# DBX Agents + +Agent drivers for [DBX](https://github.com/t8y2/dbx) — database support via JDBC and native database drivers. + +Each agent runs as a standalone process and communicates with DBX via stdin/stdout JSON-RPC 2.0. + +## Supported Databases + +| Agent | Database | JDBC Driver | +|-------|----------|-------------| +| access | Microsoft Access | UCanAccess | +| dameng | 达梦 DM8 | DM JDBC | +| kingbase | 人大金仓 KingbaseES | KingbaseES JDBC | +| vastbase | Vastbase | Vastbase JDBC | +| goldendb | GoldenDB | MySQL Connector/J | +| databend | Databend | Databend JDBC | +| databricks | Databricks SQL | Databricks JDBC | +| saphana | SAP HANA | SAP HANA JDBC | +| teradata | Teradata | Teradata JDBC | +| vertica | Vertica | Vertica JDBC | +| firebird | Firebird | Jaybird JDBC | +| exasol | Exasol | Exasol JDBC | +| oceanbase-oracle | OceanBase Oracle Mode | OceanBase JDBC | +| gbase8a | GBase 8a | External GBase 8a JDBC | +| gbase8s | GBase 8s | External GBase 8s JDBC | +| oracle | Oracle 10g+ | go-ora native agent | +| oracle-legacy | Oracle 11g/12c/18c/19c | ojdbc8 (compatibility fallback) | +| oracle-10g | Oracle 10g | ojdbc6 (compatibility fallback, JRE 8) | +| h2 | H2 | H2 JDBC | +| snowflake | Snowflake | Snowflake JDBC | +| trino | Trino (Presto) | Trino JDBC | +| hive | Apache Hive | Hive JDBC | +| db2 | IBM DB2 | DB2 JDBC | +| informix | IBM Informix | Informix JDBC | +| neo4j | Neo4j | Neo4j JDBC | +| cassandra | Apache Cassandra | Cassandra JDBC | +| bigquery | Google BigQuery | BigQuery JDBC | +| kylin | Apache Kylin | Kylin JDBC | +| sundb | SunDB | SunDB JDBC | +| gaussdb | GaussDB | GaussDB JDBC | +| tdengine | TDengine | taos-jdbcdriver (WebSocket, REST fallback) | +| yashandb | 崖山 YashanDB | YashanDB JDBC | +| xugu | 虚谷 XuguDB | XuguDB Go native agent | +| iotdb | Apache IoTDB | IoTDB JDBC | +| etcd | etcd | jetcd | + +## Multi-JRE Support + +Most Java agents target JRE 21. Native agents, such as `oracle` and `xugu`, do not require a JRE. Agents that still require legacy Java runtimes (e.g. compatibility fallback `oracle-10g` uses JRE 8) declare their JRE version in the registry. DBX downloads and manages multiple JRE installations automatically. + +## Build + +Requires JDK 8 and 21 (Gradle toolchain auto-downloads if needed). + +```bash +./gradlew shadowJar +(cd drivers/oracle-go && go build -o agent .) +(cd drivers/xugu && go build -o agent .) +``` + +Output JARs are in `drivers/{module}/build/libs/`. Native agents build from `drivers/oracle-go` and `drivers/xugu`. + +## Development + +- Agent authoring guide: [docs/agent-authoring.md](docs/agent-authoring.md) +- JDBC agent template: [docs/examples/jdbc-agent-template](docs/examples/jdbc-agent-template) +- Release checklist: [docs/release-checklist.md](docs/release-checklist.md) + +## Architecture + +``` +DBX Main Process (Rust/Tauri) + │ stdin/stdout (JSON-RPC 2.0) + ▼ +agent / java -jar dbx-agent-{type}.jar + │ + ▼ +Native driver / JDBC → Database +``` + +## License + +[AGPL-3.0](https://github.com/t8y2/dbx/blob/main/LICENSE) diff --git a/agents/build.gradle b/agents/build.gradle new file mode 100644 index 0000000000..4891f9e63f --- /dev/null +++ b/agents/build.gradle @@ -0,0 +1,54 @@ +plugins { + id 'com.gradleup.shadow' version '9.0.0-beta12' apply false +} + +def java8Projects = ['common', 'test-support', 'oracle-10g'] as Set +def infrastructureProjects = ['common', 'test-support'] as Set +def legacyStandaloneProjects = ['mongodb'] as Set +def agentProjects = subprojects.findAll { !infrastructureProjects.contains(it.name) } +def jdbcAgentProjects = agentProjects.findAll { !legacyStandaloneProjects.contains(it.name) } + +allprojects { + repositories { + mavenCentral() + } +} + +subprojects { + if (name == 'test-support') { + apply plugin: 'java-library' + } else { + apply plugin: 'java' + } + + java { + toolchain { + languageVersion = JavaLanguageVersion.of(java8Projects.contains(name) ? 8 : 21) + } + } + + dependencies { + testImplementation 'org.junit.jupiter:junit-jupiter:5.11.4' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.11.4' + } + + tasks.withType(Test).configureEach { + useJUnitPlatform() + } +} + +configure(agentProjects) { + apply plugin: 'com.gradleup.shadow' + + tasks.named('shadowJar') { + archiveBaseName = "dbx-agent-${project.name}" + archiveClassifier = '' + } +} + +configure(jdbcAgentProjects) { + dependencies { + implementation project(':common') + testImplementation project(':test-support') + } +} diff --git a/agents/common/build.gradle b/agents/common/build.gradle new file mode 100644 index 0000000000..ee0d25b0ff --- /dev/null +++ b/agents/common/build.gradle @@ -0,0 +1,3 @@ +dependencies { + implementation 'com.google.code.gson:gson:2.12.1' +} diff --git a/agents/common/src/main/java/com/dbx/agent/AbstractJdbcAgent.java b/agents/common/src/main/java/com/dbx/agent/AbstractJdbcAgent.java new file mode 100644 index 0000000000..8cd794e497 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/AbstractJdbcAgent.java @@ -0,0 +1,205 @@ +package com.dbx.agent; + +import java.net.URL; +import java.net.URLClassLoader; +import java.nio.file.Paths; +import java.sql.Connection; +import java.sql.Driver; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.Types; +import java.util.ArrayList; +import java.util.List; + +public abstract class AbstractJdbcAgent extends BaseDatabaseAgent { + private Connection connection; + private String configuredDatabase = ""; + + @Override + public final Connection getConnection() { + return connection; + } + + @Override + public final void connect(ConnectParams params) { + uncheckedVoid(() -> { + loadDriver(params); + connection = openConnection(params); + configuredDatabase = params.getDatabase(); + afterConnect(params, connection); + }); + } + + @Override + public final boolean testConnection(ConnectParams params) { + return unchecked(() -> { + loadDriver(params); + try (Connection conn = openConnection(params)) { + return conn.isValid(5); + } + }); + } + + private void loadDriver(ConnectParams params) throws Exception { + List driverPaths = params.getJdbc_driver_paths(); + String driverClass = params.getJdbc_driver_class(); + if (driverClass == null || driverClass.isEmpty()) { + driverClass = driverClass(); + } + if (driverPaths != null && !driverPaths.isEmpty()) { + List urls = new ArrayList<>(); + for (String path : driverPaths) { + urls.add(Paths.get(path).toUri().toURL()); + } + URLClassLoader loader = new URLClassLoader(urls.toArray(new URL[0]), getClass().getClassLoader()); + Driver driver = (Driver) Class.forName(driverClass, true, loader).getDeclaredConstructor().newInstance(); + DriverManager.registerDriver(new DriverShim(driver)); + } else { + Class.forName(driverClass); + } + } + + private static final class DriverShim implements Driver { + private final Driver driver; + + DriverShim(Driver driver) { + this.driver = driver; + } + + @Override + public Connection connect(String url, java.util.Properties info) throws java.sql.SQLException { + return driver.connect(url, info); + } + + @Override + public boolean acceptsURL(String url) throws java.sql.SQLException { + return driver.acceptsURL(url); + } + + @Override + public java.sql.DriverPropertyInfo[] getPropertyInfo(String url, java.util.Properties info) throws java.sql.SQLException { + return driver.getPropertyInfo(url, info); + } + + @Override + public int getMajorVersion() { + return driver.getMajorVersion(); + } + + @Override + public int getMinorVersion() { + return driver.getMinorVersion(); + } + + @Override + public boolean jdbcCompliant() { + return driver.jdbcCompliant(); + } + + @Override + public java.util.logging.Logger getParentLogger() throws java.sql.SQLFeatureNotSupportedException { + return driver.getParentLogger(); + } + } + + @Override + public QueryResult executeQuery(String sql, String schema, ExecuteQueryOptions options) { + return JdbcExecutor.INSTANCE.execute( + requireConnected(), + sql, + schema, + this::setSchemaSQL, + options.getMaxRows(), + options.getFetchSize(), + options.getTimeoutSecs(), + this::resultValue + ); + } + + @Override + public QueryPageResult executeQueryPage(String sql, String schema, QueryPageOptions options) { + return JdbcExecutor.INSTANCE.executePage( + requireConnected(), + sql, + schema, + this::setSchemaSQL, + options, + this::resultValue + ); + } + + @Override + public QueryPageResult fetchQueryPage(String sessionId, int pageSize) { + return JdbcExecutor.INSTANCE.fetchPage(sessionId, pageSize); + } + + @Override + public boolean closeQuerySession(String sessionId) { + return JdbcExecutor.INSTANCE.closeQuerySession(sessionId); + } + + @Override + public QueryResult executeTransaction(List statements, String schema) { + return TransactionExecutor.executeUpdateStatements(requireConnected(), statements, schema, this::setSchemaSQL); + } + + @Override + public void disconnect() { + uncheckedVoid(() -> { + if (connection != null) { + connection.close(); + } + connection = null; + }); + } + + protected abstract String driverClass(); + + protected abstract String buildJdbcUrl(ConnectParams params); + + protected Connection openConnection(ConnectParams params) throws Exception { + return DriverManager.getConnection(buildJdbcUrl(params), params.getUsername(), params.getPassword()); + } + + protected void afterConnect(ConnectParams params, Connection connection) throws Exception { + } + + protected String getConfiguredDatabase() { + return configuredDatabase; + } + + protected Object resultValue(ResultSet rs, int index, int sqlType) { + return unchecked(() -> { + Object value; + switch (sqlType) { + case Types.BIGINT: + value = rs.getLong(index); + break; + case Types.INTEGER: + case Types.SMALLINT: + case Types.TINYINT: + value = rs.getInt(index); + break; + case Types.FLOAT: + case Types.REAL: + value = rs.getFloat(index); + break; + case Types.DOUBLE: + value = rs.getDouble(index); + break; + case Types.DECIMAL: + case Types.NUMERIC: + value = rs.getBigDecimal(index); + break; + case Types.BOOLEAN: + case Types.BIT: + value = rs.getBoolean(index); + break; + default: + value = rs.getString(index); + break; + } + return rs.wasNull() ? null : value; + }); + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/AgentProtocol.java b/agents/common/src/main/java/com/dbx/agent/AgentProtocol.java new file mode 100644 index 0000000000..29513d54ba --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/AgentProtocol.java @@ -0,0 +1,134 @@ +package com.dbx.agent; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +public final class AgentProtocol { + public static final int PROTOCOL_VERSION = 1; + + public static final String METHOD_HANDSHAKE = "handshake"; + public static final String METHOD_CONNECT = "connect"; + public static final String METHOD_TEST_CONNECTION = "test_connection"; + public static final String METHOD_VALIDATE_CONNECTION = "validate_connection"; + public static final String METHOD_LIST_DATABASES = "list_databases"; + public static final String METHOD_LIST_SCHEMAS = "list_schemas"; + public static final String METHOD_LIST_TABLES = "list_tables"; + public static final String METHOD_LIST_OBJECTS = "list_objects"; + public static final String METHOD_GET_OBJECT_SOURCE = "get_object_source"; + public static final String METHOD_GET_TABLE_DDL = "get_table_ddl"; + public static final String METHOD_GET_COLUMNS = "get_columns"; + public static final String METHOD_LIST_INDEXES = "list_indexes"; + public static final String METHOD_LIST_FOREIGN_KEYS = "list_foreign_keys"; + public static final String METHOD_LIST_TRIGGERS = "list_triggers"; + public static final String METHOD_EXECUTE_QUERY = "execute_query"; + public static final String METHOD_EXECUTE_QUERY_PAGE = "execute_query_page"; + public static final String METHOD_FETCH_QUERY_PAGE = "fetch_query_page"; + public static final String METHOD_CLOSE_QUERY_SESSION = "close_query_session"; + public static final String METHOD_GET_EXPLAIN_INFO = "get_explain_info"; + public static final String METHOD_EXECUTE_TRANSACTION = "execute_transaction"; + public static final String METHOD_DISCONNECT = "disconnect"; + public static final String METHOD_SHUTDOWN = "shutdown"; + + public static final String MONGO_METHOD_LIST_DATABASES = "list_databases"; + public static final String MONGO_METHOD_LIST_COLLECTIONS = "list_collections"; + public static final String MONGO_METHOD_FIND_DOCUMENTS = "find_documents"; + public static final String MONGO_METHOD_INSERT_DOCUMENT = "insert_document"; + public static final String MONGO_METHOD_UPDATE_DOCUMENT = "update_document"; + public static final String MONGO_METHOD_DELETE_DOCUMENT = "delete_document"; + + public static final String KV_METHOD_LIST_PREFIX = "kv_list_prefix"; + public static final String KV_METHOD_GET = "kv_get"; + public static final String KV_METHOD_PUT = "kv_put"; + public static final String KV_METHOD_DELETE = "kv_delete"; + + public static final String CAPABILITY_CONNECT = "connect"; + public static final String CAPABILITY_TEST_CONNECTION = "test_connection"; + public static final String CAPABILITY_METADATA = "metadata"; + public static final String CAPABILITY_QUERY = "query"; + public static final String CAPABILITY_PAGED_QUERY = "paged_query"; + public static final String CAPABILITY_TRANSACTION = "transaction"; + public static final String CAPABILITY_DDL = "ddl"; + public static final String CAPABILITY_KV = "kv"; + + public static final List CAPABILITIES = Collections.unmodifiableList(Arrays.asList( + CAPABILITY_CONNECT, + CAPABILITY_TEST_CONNECTION, + CAPABILITY_METADATA, + CAPABILITY_QUERY, + CAPABILITY_PAGED_QUERY, + CAPABILITY_TRANSACTION, + CAPABILITY_DDL + )); + + public static final List ALL_CAPABILITIES = Collections.unmodifiableList(Arrays.asList( + CAPABILITY_CONNECT, + CAPABILITY_TEST_CONNECTION, + CAPABILITY_METADATA, + CAPABILITY_QUERY, + CAPABILITY_PAGED_QUERY, + CAPABILITY_TRANSACTION, + CAPABILITY_DDL, + CAPABILITY_KV + )); + + public static final List COMMON_METHODS = Collections.unmodifiableList(Arrays.asList( + METHOD_HANDSHAKE, + METHOD_CONNECT, + METHOD_TEST_CONNECTION, + METHOD_VALIDATE_CONNECTION, + METHOD_LIST_DATABASES, + METHOD_LIST_SCHEMAS, + METHOD_LIST_TABLES, + METHOD_LIST_OBJECTS, + METHOD_GET_OBJECT_SOURCE, + METHOD_GET_TABLE_DDL, + METHOD_GET_COLUMNS, + METHOD_LIST_INDEXES, + METHOD_LIST_FOREIGN_KEYS, + METHOD_LIST_TRIGGERS, + METHOD_EXECUTE_QUERY, + METHOD_EXECUTE_QUERY_PAGE, + METHOD_FETCH_QUERY_PAGE, + METHOD_CLOSE_QUERY_SESSION, + METHOD_GET_EXPLAIN_INFO, + METHOD_EXECUTE_TRANSACTION, + METHOD_DISCONNECT, + METHOD_SHUTDOWN + )); + + public static final List MONGO_LEGACY_METHODS = Collections.unmodifiableList(Arrays.asList( + MONGO_METHOD_LIST_DATABASES, + MONGO_METHOD_LIST_COLLECTIONS, + MONGO_METHOD_FIND_DOCUMENTS, + MONGO_METHOD_INSERT_DOCUMENT, + MONGO_METHOD_UPDATE_DOCUMENT, + MONGO_METHOD_DELETE_DOCUMENT + )); + + public static final List KV_METHODS = Collections.unmodifiableList(Arrays.asList( + KV_METHOD_LIST_PREFIX, + KV_METHOD_GET, + KV_METHOD_PUT, + KV_METHOD_DELETE + )); + + private AgentProtocol() { + } + + public static HandshakeResult handshakeResult() { + return new HandshakeResult(PROTOCOL_VERSION, PROTOCOL_VERSION, CAPABILITIES); + } + + public static final class HandshakeResult { + private final int protocolVersion; + private final int agentProtocolVersion; + private final List capabilities; + + private HandshakeResult(int protocolVersion, int agentProtocolVersion, List capabilities) { + this.protocolVersion = protocolVersion; + this.agentProtocolVersion = agentProtocolVersion; + this.capabilities = capabilities; + } + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/BaseDatabaseAgent.java b/agents/common/src/main/java/com/dbx/agent/BaseDatabaseAgent.java new file mode 100644 index 0000000000..d904fe779c --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/BaseDatabaseAgent.java @@ -0,0 +1,102 @@ +package com.dbx.agent; + +import java.sql.Connection; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public abstract class BaseDatabaseAgent implements DatabaseAgent { + @Override + public List listObjects(String schema) { + List result = new ArrayList<>(); + for (TableInfo table : listTables(schema)) { + result.add(new ObjectInfo(table.getName(), table.getTable_type(), schema, table.getComment())); + } + return result; + } + + @Override + public ObjectSource getObjectSource(String schema, String name, String objectType) { + throw new UnsupportedOperationException("Object source is not supported"); + } + + @Override + public String getTableDdl(String schema, String table) { + List indexes; + try { + indexes = listIndexes(schema, table); + } catch (RuntimeException e) { + indexes = Collections.emptyList(); + } + + List foreignKeys; + try { + foreignKeys = listForeignKeys(schema, table); + } catch (RuntimeException e) { + foreignKeys = Collections.emptyList(); + } + + return DatabaseAgent.buildTableDdl(schema, table, getColumns(schema, table), indexes, foreignKeys); + } + + @Override + public QueryPageResult executeQueryPage(String sql, String schema, QueryPageOptions options) { + Connection conn = requireConnected(); + return JdbcExecutor.INSTANCE.executePage( + conn, + sql, + schema, + this::setSchemaSQL, + options, + JdbcExecutor.INSTANCE::defaultResultValue + ); + } + + @Override + public QueryPageResult fetchQueryPage(String sessionId, int pageSize) { + return JdbcExecutor.INSTANCE.fetchPage(sessionId, pageSize); + } + + @Override + public boolean closeQuerySession(String sessionId) { + return JdbcExecutor.INSTANCE.closeQuerySession(sessionId); + } + + @Override + public QueryResult executeTransaction(List statements, String schema) { + return TransactionExecutor.executeUpdateStatements(requireConnected(), statements, schema, this::setSchemaSQL); + } + + protected Connection requireConnected() { + Connection conn = getConnection(); + if (conn == null) { + throw new IllegalStateException("Not connected"); + } + return conn; + } + + protected static T unchecked(ThrowingSupplier supplier) { + try { + return supplier.get(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + protected static void uncheckedVoid(ThrowingRunnable runnable) { + unchecked(() -> { + runnable.run(); + return null; + }); + } + + protected interface ThrowingSupplier { + T get() throws Exception; + } + + protected interface ThrowingRunnable { + void run() throws Exception; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/ColumnInfo.java b/agents/common/src/main/java/com/dbx/agent/ColumnInfo.java new file mode 100644 index 0000000000..d65df3b5e0 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/ColumnInfo.java @@ -0,0 +1,176 @@ +package com.dbx.agent; + +import java.util.Objects; + +public final class ColumnInfo { + private String name; + private String data_type; + private boolean is_nullable; + private String column_default; + private boolean is_primary_key; + private String extra; + private String comment; + private Integer numeric_precision; + private Integer numeric_scale; + private Integer character_maximum_length; + + public ColumnInfo() { + this("", "", true, null, false); + } + + public ColumnInfo(String name, String data_type, boolean is_nullable, String column_default, boolean is_primary_key) { + this(name, data_type, is_nullable, column_default, is_primary_key, null, null, null, null, null); + } + + public ColumnInfo( + String name, + String data_type, + boolean is_nullable, + String column_default, + boolean is_primary_key, + String extra, + String comment, + Integer numeric_precision, + Integer numeric_scale, + Integer character_maximum_length + ) { + this.name = name; + this.data_type = data_type; + this.is_nullable = is_nullable; + this.column_default = column_default; + this.is_primary_key = is_primary_key; + this.extra = extra; + this.comment = comment; + this.numeric_precision = numeric_precision; + this.numeric_scale = numeric_scale; + this.character_maximum_length = character_maximum_length; + } + + public String getName() { + return name; + } + + public String getData_type() { + return data_type; + } + + public boolean getIs_nullable() { + return is_nullable; + } + + public String getColumn_default() { + return column_default; + } + + public boolean getIs_primary_key() { + return is_primary_key; + } + + public String getExtra() { + return extra; + } + + public String getComment() { + return comment; + } + + public Integer getNumeric_precision() { + return numeric_precision; + } + + public Integer getNumeric_scale() { + return numeric_scale; + } + + public Integer getCharacter_maximum_length() { + return character_maximum_length; + } + + public void setName(String name) { + this.name = name; + } + + public void setData_type(String data_type) { + this.data_type = data_type; + } + + public void setIs_nullable(boolean is_nullable) { + this.is_nullable = is_nullable; + } + + public void setColumn_default(String column_default) { + this.column_default = column_default; + } + + public void setIs_primary_key(boolean is_primary_key) { + this.is_primary_key = is_primary_key; + } + + public void setExtra(String extra) { + this.extra = extra; + } + + public void setComment(String comment) { + this.comment = comment; + } + + public void setNumeric_precision(Integer numeric_precision) { + this.numeric_precision = numeric_precision; + } + + public void setNumeric_scale(Integer numeric_scale) { + this.numeric_scale = numeric_scale; + } + + public void setCharacter_maximum_length(Integer character_maximum_length) { + this.character_maximum_length = character_maximum_length; + } + + @Override + public boolean equals(Object other) { + if (this == other) return true; + if (!(other instanceof ColumnInfo)) return false; + ColumnInfo that = (ColumnInfo) other; + return is_nullable == that.is_nullable + && is_primary_key == that.is_primary_key + && Objects.equals(name, that.name) + && Objects.equals(data_type, that.data_type) + && Objects.equals(column_default, that.column_default) + && Objects.equals(extra, that.extra) + && Objects.equals(comment, that.comment) + && Objects.equals(numeric_precision, that.numeric_precision) + && Objects.equals(numeric_scale, that.numeric_scale) + && Objects.equals(character_maximum_length, that.character_maximum_length); + } + + @Override + public int hashCode() { + return Objects.hash( + name, + data_type, + is_nullable, + column_default, + is_primary_key, + extra, + comment, + numeric_precision, + numeric_scale, + character_maximum_length + ); + } + + @Override + public String toString() { + return "ColumnInfo(name=" + name + + ", data_type=" + data_type + + ", is_nullable=" + is_nullable + + ", column_default=" + column_default + + ", is_primary_key=" + is_primary_key + + ", extra=" + extra + + ", comment=" + comment + + ", numeric_precision=" + numeric_precision + + ", numeric_scale=" + numeric_scale + + ", character_maximum_length=" + character_maximum_length + + ")"; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/ConfiguredJdbcAgent.java b/agents/common/src/main/java/com/dbx/agent/ConfiguredJdbcAgent.java new file mode 100644 index 0000000000..c779c3b05d --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/ConfiguredJdbcAgent.java @@ -0,0 +1,179 @@ +package com.dbx.agent; + +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; + +public abstract class ConfiguredJdbcAgent extends AbstractJdbcAgent { + private final JdbcAgentProfile profile; + private String configuredDatabase = ""; + + protected ConfiguredJdbcAgent(JdbcAgentProfile profile) { + this.profile = profile; + } + + public JdbcAgentProfile getProfile() { + return profile; + } + + @Override + protected String driverClass() { + return profile.getDriverClass(); + } + + @Override + protected String buildJdbcUrl(ConnectParams params) { + return profile.buildUrl(params); + } + + @Override + protected void afterConnect(ConnectParams params, Connection connection) { + configuredDatabase = params.getDatabase(); + } + + @Override + public List listDatabases() { + return StandardJdbcMetadata.INSTANCE.listDatabases(requireConnection(), configuredDatabase); + } + + @Override + public List listSchemas() { + return StandardJdbcMetadata.INSTANCE.listSchemas(requireConnection(), profile); + } + + @Override + public List listTables(String schema) { + return StandardJdbcMetadata.INSTANCE.listTables(requireConnection(), profile, configuredDatabase, schema); + } + + @Override + public List listObjects(String schema) { + return StandardJdbcMetadata.INSTANCE.listObjects(listTables(schema), schema); + } + + @Override + public ObjectSource getObjectSource(String schema, String name, String objectType) { + throw new UnsupportedOperationException("Object source is not supported"); + } + + @Override + public List getColumns(String schema, String table) { + return StandardJdbcMetadata.INSTANCE.getColumns(requireConnection(), profile, configuredDatabase, schema, table); + } + + @Override + public List listIndexes(String schema, String table) { + return StandardJdbcMetadata.INSTANCE.listIndexes(requireConnection(), schema, table); + } + + @Override + public List listForeignKeys(String schema, String table) { + return StandardJdbcMetadata.INSTANCE.listForeignKeys(requireConnection(), schema, table); + } + + @Override + public List listTriggers(String schema, String table) { + return StandardJdbcMetadata.INSTANCE.listTriggers(schema, table); + } + + @Override + public String getTableDdl(String schema, String table) { + List indexes; + try { + indexes = listIndexes(schema, table); + } catch (RuntimeException e) { + indexes = Collections.emptyList(); + } + + List foreignKeys; + try { + foreignKeys = listForeignKeys(schema, table); + } catch (RuntimeException e) { + foreignKeys = Collections.emptyList(); + } + + return DatabaseAgent.buildTableDdl(schema, table, getColumns(schema, table), indexes, foreignKeys); + } + + @Override + public String setSchemaSQL(String schema) { + if (profile.getSkipExecutionContext()) { + return ""; + } + return StandardJdbcMetadata.schemaSwitchSql(requireConnection(), profile, schema); + } + + protected Connection requireConnection() { + return requireConnected(); + } + + @Override + protected Object resultValue(ResultSet rs, int index, int sqlType) { + return super.resultValue(rs, index, sqlType); + } + + private static String normalizeTableType(String type) { + if (type == null || type.trim().isEmpty()) { + return "TABLE"; + } + if ("BASE TABLE".equals(type.toUpperCase(Locale.ROOT))) { + return "TABLE"; + } + return type; + } + + private static Integer intOrNull(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value instanceof Number ? ((Number) value).intValue() : null; + } + + private static Integer characterLength(ResultSet rs) throws Exception { + String typeName = rs.getString("TYPE_NAME"); + if (typeName == null) { + return null; + } + String normalized = typeName.toLowerCase(Locale.ROOT); + if (!normalized.contains("char") && !normalized.contains("text")) { + return null; + } + return intOrNull(rs, "COLUMN_SIZE"); + } + + private static String blankToNull(String value) { + return value == null || value.trim().isEmpty() ? null : value; + } + + private static void addNonBlank(Set values, String value) { + if (value != null && !value.trim().isEmpty()) { + values.add(value); + } + } + + private static final class IndexColumn { + private final int ordinal; + private final String name; + + private IndexColumn(int ordinal, String name) { + this.ordinal = ordinal; + this.name = name; + } + + private int getOrdinal() { + return ordinal; + } + + private String getName() { + return name; + } + } + +} diff --git a/agents/common/src/main/java/com/dbx/agent/ConnectParams.java b/agents/common/src/main/java/com/dbx/agent/ConnectParams.java new file mode 100644 index 0000000000..3e4639a426 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/ConnectParams.java @@ -0,0 +1,243 @@ +package com.dbx.agent; + +import java.util.Collections; +import java.util.List; +import java.util.Objects; + +public final class ConnectParams { + private String host; + private int port; + private String database; + private String username; + private String password; + private String url_params; + private String connection_string; + private boolean mysql_compat_mode; + private String jdbc_driver_class; + private List jdbc_driver_paths; + private boolean ssl; + private String ca_cert_path; + private String client_cert_path; + private String client_key_path; + private String gbase_server; + private String informix_server; + + public ConnectParams() { + this("", 0, "", "", "", "", "", false, "", Collections.emptyList()); + } + + public ConnectParams( + String host, + int port, + String database, + String username, + String password, + String url_params, + String connection_string, + boolean mysql_compat_mode + ) { + this(host, port, database, username, password, url_params, connection_string, mysql_compat_mode, "", Collections.emptyList()); + } + + public ConnectParams( + String host, + int port, + String database, + String username, + String password, + String url_params, + String connection_string, + boolean mysql_compat_mode, + String jdbc_driver_class, + List jdbc_driver_paths + ) { + this.host = host; + this.port = port; + this.database = database; + this.username = username; + this.password = password; + this.url_params = url_params; + this.connection_string = connection_string; + this.mysql_compat_mode = mysql_compat_mode; + this.jdbc_driver_class = jdbc_driver_class; + this.jdbc_driver_paths = jdbc_driver_paths; + } + + public String getHost() { + return host; + } + + public int getPort() { + return port; + } + + public String getDatabase() { + return database; + } + + public String getUsername() { + return username; + } + + public String getPassword() { + return password; + } + + public String getUrl_params() { + return url_params; + } + + public String getConnection_string() { + return connection_string; + } + + public void setHost(String host) { + this.host = host; + } + + public void setPort(int port) { + this.port = port; + } + + public void setDatabase(String database) { + this.database = database; + } + + public void setUsername(String username) { + this.username = username; + } + + public void setPassword(String password) { + this.password = password; + } + + public void setUrl_params(String url_params) { + this.url_params = url_params; + } + + public void setConnection_string(String connection_string) { + this.connection_string = connection_string; + } + + public boolean isMysql_compat_mode() { + return mysql_compat_mode; + } + + public void setMysql_compat_mode(boolean mysql_compat_mode) { + this.mysql_compat_mode = mysql_compat_mode; + } + + public String getJdbc_driver_class() { + return jdbc_driver_class; + } + + public void setJdbc_driver_class(String jdbc_driver_class) { + this.jdbc_driver_class = jdbc_driver_class; + } + + public List getJdbc_driver_paths() { + return jdbc_driver_paths; + } + + public void setJdbc_driver_paths(List jdbc_driver_paths) { + this.jdbc_driver_paths = jdbc_driver_paths; + } + + public boolean isSsl() { + return ssl; + } + + public void setSsl(boolean ssl) { + this.ssl = ssl; + } + + public String getCa_cert_path() { + return ca_cert_path; + } + + public void setCa_cert_path(String ca_cert_path) { + this.ca_cert_path = ca_cert_path; + } + + public String getClient_cert_path() { + return client_cert_path; + } + + public void setClient_cert_path(String client_cert_path) { + this.client_cert_path = client_cert_path; + } + + public String getClient_key_path() { + return client_key_path; + } + + public void setClient_key_path(String client_key_path) { + this.client_key_path = client_key_path; + } + + public String getGbase_server() { + return gbase_server; + } + + public void setGbase_server(String gbase_server) { + this.gbase_server = gbase_server; + } + + public String getInformix_server() { + return informix_server; + } + + public void setInformix_server(String informix_server) { + this.informix_server = informix_server; + } + + @Override + public boolean equals(Object other) { + if (this == other) return true; + if (!(other instanceof ConnectParams)) return false; + ConnectParams that = (ConnectParams) other; + return port == that.port + && Objects.equals(host, that.host) + && Objects.equals(database, that.database) + && Objects.equals(username, that.username) + && Objects.equals(password, that.password) + && Objects.equals(url_params, that.url_params) + && Objects.equals(connection_string, that.connection_string) + && mysql_compat_mode == that.mysql_compat_mode + && Objects.equals(jdbc_driver_class, that.jdbc_driver_class) + && Objects.equals(jdbc_driver_paths, that.jdbc_driver_paths) + && ssl == that.ssl + && Objects.equals(ca_cert_path, that.ca_cert_path) + && Objects.equals(client_cert_path, that.client_cert_path) + && Objects.equals(client_key_path, that.client_key_path) + && Objects.equals(gbase_server, that.gbase_server) + && Objects.equals(informix_server, that.informix_server); + } + + @Override + public int hashCode() { + return Objects.hash(host, port, database, username, password, url_params, connection_string, + mysql_compat_mode, jdbc_driver_class, jdbc_driver_paths, ssl, ca_cert_path, client_cert_path, client_key_path, gbase_server, informix_server); + } + + @Override + public String toString() { + return "ConnectParams(host=" + host + + ", port=" + port + + ", database=" + database + + ", username=" + username + + ", password=" + password + + ", url_params=" + url_params + + ", connection_string=" + connection_string + + ", mysql_compat_mode=" + mysql_compat_mode + + ", jdbc_driver_class=" + jdbc_driver_class + + ", jdbc_driver_paths=" + jdbc_driver_paths + + ", ssl=" + ssl + + ", ca_cert_path=" + ca_cert_path + + ", client_cert_path=" + client_cert_path + + ", client_key_path=" + client_key_path + + ", gbase_server=" + gbase_server + + ", informix_server=" + informix_server + + ")"; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/DatabaseAgent.java b/agents/common/src/main/java/com/dbx/agent/DatabaseAgent.java new file mode 100644 index 0000000000..7c4958203f --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/DatabaseAgent.java @@ -0,0 +1,147 @@ +package com.dbx.agent; + +import java.sql.Connection; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public interface DatabaseAgent { + void connect(ConnectParams params); + + boolean testConnection(ConnectParams params); + + List listDatabases(); + + List listSchemas(); + + List listTables(String schema); + + default List listObjects(String schema) { + List result = new ArrayList<>(); + for (TableInfo table : listTables(schema)) { + result.add(new ObjectInfo(table.getName(), table.getTable_type(), schema, table.getComment())); + } + return result; + } + + List getColumns(String schema, String table); + + default ObjectSource getObjectSource(String schema, String name, String objectType) { + throw new UnsupportedOperationException("Object source is not supported"); + } + + default String getTableDdl(String schema, String table) { + List indexes; + try { + indexes = listIndexes(schema, table); + } catch (RuntimeException e) { + indexes = Collections.emptyList(); + } + + List foreignKeys; + try { + foreignKeys = listForeignKeys(schema, table); + } catch (RuntimeException e) { + foreignKeys = Collections.emptyList(); + } + + return buildTableDdl(schema, table, getColumns(schema, table), indexes, foreignKeys); + } + + List listIndexes(String schema, String table); + + List listForeignKeys(String schema, String table); + + List listTriggers(String schema, String table); + + default QueryResult executeQuery(String sql, String schema) { + return executeQuery(sql, schema, new ExecuteQueryOptions()); + } + + QueryResult executeQuery(String sql, String schema, ExecuteQueryOptions options); + + default QueryPageResult executeQueryPage(String sql, String schema) { + return executeQueryPage(sql, schema, new QueryPageOptions()); + } + + default QueryPageResult executeQueryPage(String sql, String schema, QueryPageOptions options) { + Connection conn = getConnection(); + if (conn == null) { + throw new IllegalStateException("Not connected"); + } + return JdbcExecutor.INSTANCE.executePage( + conn, + sql, + schema, + this::setSchemaSQL, + options, + JdbcExecutor.INSTANCE::defaultResultValue + ); + } + + default QueryPageResult fetchQueryPage(String sessionId, int pageSize) { + return JdbcExecutor.INSTANCE.fetchPage(sessionId, pageSize); + } + + default boolean closeQuerySession(String sessionId) { + return JdbcExecutor.INSTANCE.closeQuerySession(sessionId); + } + + /** + * Get DM execution plan. Supports two modes: + * mode="explain" (default) — direct plan, no execution + * mode="autotrace" — enable MONITOR_SQL_EXEC, execute SQL, then get plan with actual stats + * @return plan text + */ + default String getExplainInfo(String sql, String database, String schema, int timeoutSecs, String mode) { + throw new UnsupportedOperationException("getExplainInfo is not supported by this agent"); + } + + void disconnect(); + + Connection getConnection(); + + default QueryResult executeTransaction(List statements, String schema) { + Connection conn = getConnection(); + if (conn == null) { + throw new IllegalStateException("Not connected"); + } + return TransactionExecutor.executeUpdateStatements(conn, statements, schema, this::setSchemaSQL); + } + + default String setSchemaSQL(String schema) { + return "SET SCHEMA " + JdbcIdentifiers.INSTANCE.doubleQuote(schema); + } + + static String buildTableDdl( + String schema, + String table, + List columns, + List indexes, + List foreignKeys + ) { + return DdlBuilder.buildTableDdl(schema, table, columns, indexes, foreignKeys); + } + + static String trimSql(String sql) { + String trimmed = sql.trim(); + while (trimmed.endsWith(";")) { + trimmed = trimmed.substring(0, trimmed.length() - 1).trim(); + } + return trimmed; + } + + static T unchecked(ThrowingSupplier supplier) { + try { + return supplier.get(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + interface ThrowingSupplier { + T get() throws Exception; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/DatabaseInfo.java b/agents/common/src/main/java/com/dbx/agent/DatabaseInfo.java new file mode 100644 index 0000000000..e2c2f12761 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/DatabaseInfo.java @@ -0,0 +1,41 @@ +package com.dbx.agent; + +import java.util.Objects; + +public final class DatabaseInfo { + private String name; + + public DatabaseInfo() { + this(""); + } + + public DatabaseInfo(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public boolean equals(Object other) { + if (this == other) return true; + if (!(other instanceof DatabaseInfo)) return false; + DatabaseInfo that = (DatabaseInfo) other; + return Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(name); + } + + @Override + public String toString() { + return "DatabaseInfo(name=" + name + ")"; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/DdlBuilder.java b/agents/common/src/main/java/com/dbx/agent/DdlBuilder.java new file mode 100644 index 0000000000..e7549edc01 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/DdlBuilder.java @@ -0,0 +1,195 @@ +package com.dbx.agent; + +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + +public final class DdlBuilder { + private DdlBuilder() { + } + + public static String buildTableDdl( + String schema, + String table, + List columns, + List indexes, + List foreignKeys + ) { + return buildTableDdl(schema, table, columns, indexes, foreignKeys, false, false); + } + + public static String buildTableDdl( + String schema, + String table, + List columns, + List indexes, + List foreignKeys, + boolean useBacktick + ) { + return buildTableDdl(schema, table, columns, indexes, foreignKeys, useBacktick, false); + } + + public static String buildTableDdl( + String schema, + String table, + List columns, + List indexes, + List foreignKeys, + boolean useBacktick, + boolean includeColumnComments + ) { + String tableRef = qualifiedName(schema, table, useBacktick); + List columnLines = new ArrayList<>(); + for (ColumnInfo column : columns) { + StringBuilder line = new StringBuilder(); + line.append(" "); + line.append(quoteIdent(column.getName(), useBacktick)); + line.append(" "); + line.append(columnTypeSql(column)); + if (!column.getIs_nullable()) { + line.append(" NOT NULL"); + } + if (notBlank(column.getColumn_default())) { + line.append(" DEFAULT "); + line.append(column.getColumn_default()); + } + columnLines.add(line.toString()); + } + + List primaryKeys = new ArrayList<>(); + for (ColumnInfo column : columns) { + if (column.getIs_primary_key()) { + primaryKeys.add(quoteIdent(column.getName(), useBacktick)); + } + } + if (!primaryKeys.isEmpty()) { + columnLines.add(" PRIMARY KEY (" + join(primaryKeys, ", ") + ")"); + } + + for (ForeignKeyInfo fk : foreignKeys) { + columnLines.add( + " CONSTRAINT " + quoteIdent(fk.getName(), useBacktick) + + " FOREIGN KEY (" + quoteIdent(fk.getColumn(), useBacktick) + ") " + + "REFERENCES " + quoteIdent(fk.getRef_table(), useBacktick) + "(" + quoteIdent(fk.getRef_column(), useBacktick) + ")" + ); + } + + StringBuilder ddl = new StringBuilder(); + ddl.append("CREATE TABLE "); + ddl.append(tableRef); + ddl.append(" (\n"); + ddl.append(join(columnLines, ",\n")); + ddl.append("\n);\n"); + + if (includeColumnComments) { + for (ColumnInfo column : columns) { + if (!notBlank(column.getComment())) { + continue; + } + ddl.append("\nCOMMENT ON COLUMN "); + ddl.append(tableRef); + ddl.append("."); + ddl.append(quoteIdent(column.getName(), useBacktick)); + ddl.append(" IS '"); + ddl.append(sqlStringBody(column.getComment())); + ddl.append("';"); + } + } + + for (IndexInfo index : indexes) { + if (index.getIs_primary()) { + continue; + } + String unique = index.getIs_unique() ? "UNIQUE " : ""; + String using = notBlank(index.getIndex_type()) ? " USING " + index.getIndex_type() : ""; + List quotedColumns = new ArrayList<>(); + for (String column : index.getColumns()) { + quotedColumns.add(quoteIdent(column, useBacktick)); + } + String filter = notBlank(index.getFilter()) ? " WHERE " + index.getFilter() : ""; + ddl.append("\nCREATE "); + ddl.append(unique); + ddl.append("INDEX "); + ddl.append(quoteIdent(index.getName(), useBacktick)); + ddl.append(" ON "); + ddl.append(tableRef); + ddl.append(using); + ddl.append(" ("); + ddl.append(join(quotedColumns, ", ")); + ddl.append(")"); + ddl.append(filter); + ddl.append(";"); + if (notBlank(index.getComment())) { + ddl.append("\nCOMMENT ON INDEX "); + if (notBlank(schema)) { + ddl.append(quoteIdent(schema, useBacktick)); + ddl.append("."); + } + ddl.append(quoteIdent(index.getName(), useBacktick)); + ddl.append(" IS '"); + ddl.append(sqlStringBody(index.getComment())); + ddl.append("';"); + } + } + + return ddl.toString(); + } + + private static String quoteIdent(String identifier, boolean useBacktick) { + return useBacktick + ? JdbcIdentifiers.INSTANCE.backtick(identifier) + : JdbcIdentifiers.INSTANCE.doubleQuote(identifier); + } + + private static String qualifiedName(String schema, String name, boolean useBacktick) { + if (!notBlank(schema)) { + return quoteIdent(name, useBacktick); + } + return quoteIdent(schema, useBacktick) + "." + quoteIdent(name, useBacktick); + } + + private static String columnTypeSql(ColumnInfo column) { + String type = column.getData_type(); + String normalized = type.toLowerCase(Locale.ROOT); + if (isCharacterType(normalized) && column.getCharacter_maximum_length() != null) { + return type + "(" + column.getCharacter_maximum_length() + ")"; + } + if (isNumericType(normalized) && column.getNumeric_precision() != null) { + if (column.getNumeric_scale() != null) { + return type + "(" + column.getNumeric_precision() + ", " + column.getNumeric_scale() + ")"; + } + return type + "(" + column.getNumeric_precision() + ")"; + } + return type; + } + + private static boolean isCharacterType(String normalized) { + return "character varying".equals(normalized) + || "varchar".equals(normalized) + || "char".equals(normalized) + || "character".equals(normalized); + } + + private static boolean isNumericType(String normalized) { + return "numeric".equals(normalized) || "decimal".equals(normalized); + } + + private static boolean notBlank(String value) { + return value != null && !value.trim().isEmpty(); + } + + private static String sqlStringBody(String value) { + return value.replace("'", "''"); + } + + private static String join(List values, String separator) { + StringBuilder builder = new StringBuilder(); + for (int i = 0; i < values.size(); i++) { + if (i > 0) { + builder.append(separator); + } + builder.append(values.get(i)); + } + return builder.toString(); + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/EwkbWktDecoder.java b/agents/common/src/main/java/com/dbx/agent/EwkbWktDecoder.java new file mode 100644 index 0000000000..96af67a6f6 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/EwkbWktDecoder.java @@ -0,0 +1,671 @@ +package com.dbx.agent; + +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; + +/** + * Decode PostGIS EWKB / WKB byte streams (and PGgeometry / hex strings) into + * OGC Well-Known Text. Behaves identically to the Rust implementation in + * {@code crates/dbx-core/src/db/postgres.rs::ewkb_to_wkt}, including the + * {@code Z} / {@code M} / {@code ZM} dimension suffixes and {@code EMPTY} + * geometries. Used by the JDBC agent layer so that PostgresLike databases + * such as HighGo / KingBase / Vastbase / openGauss / GaussDB return WKT for + * {@code geometry}/{@code geography} columns instead of opaque hex blobs. + * + *

The decoder is permissive: any unrecognized payload (truncated bytes, + * unsupported geometry kind, non-hex strings, etc.) falls back to a hex + * representation prefixed with {@code 0x} so the cell remains visible. + */ +public final class EwkbWktDecoder { + /** Reflectively-detected PGgeometry classes that expose getValue() returning EWKT text. */ + private static final String[] PGGEOMETRY_CLASS_NAMES = new String[]{ + "org.postgis.PGgeometry", // legacy PostGIS-JDBC + "net.postgis.jdbc.PGgeometry", // modern PostGIS-JDBC (>= 2024 release) + "com.highgo.jdbc.geometry.PGgeometry" + }; + + /** + * Generic {@code org.postgresql.util.PGobject}-shaped classes. Their + * {@code getValue()} returns the textual representation the driver got off + * the wire. For PostGIS columns on HighGo / KingBase / Vastbase that text + * is the EWKB hex (e.g. {@code 0101000020E61000...}) — we still need to run + * it through the EWKB hex parser. + */ + private static final String[] PGOBJECT_CLASS_NAMES = new String[]{ + "org.postgresql.util.PGobject", + "com.highgo.jdbc.util.PGobject", + "org.postgresql.geometric.PGobject" + }; + + private EwkbWktDecoder() { + } + + /** + * Decode a JDBC-returned object from a {@code geometry} / {@code geography} + * column into a textual representation, preferring WKT. + * + *

Accepted inputs: + *

    + *
  • {@code null} — returned as-is.
  • + *
  • {@code byte[]} — interpreted as raw EWKB.
  • + *
  • A {@code PGgeometry}-like object exposing {@code getValue()} — the + * returned string is taken verbatim (already EWKT/WKT).
  • + *
  • {@link String} — if it looks like hex EWKB (with optional + * {@code 0x}/{@code \\x} prefix and a leading endian byte of + * {@code 00}/{@code 01}), it is decoded; otherwise returned as-is.
  • + *
+ * + * @param value raw column value + * @return decoded WKT, or a {@code 0x}-prefixed hex fallback, or {@code null} + */ + public static Object decode(Object value) { + if (value == null) { + return null; + } + if (value instanceof byte[]) { + return decodeBytes((byte[]) value); + } + if (value instanceof String) { + return decodeString((String) value); + } + // PGgeometry / PGobject and friends — pull out their getValue() text + // and run it through the same string path. For PostGIS-JDBC types + // getValue() yields EWKT (passes through unchanged); for the generic + // PGobject driver returns EWKB hex, which decodeString() decodes. + String pgValue = tryReflectiveGetValue(value); + if (pgValue != null) { + return decodeString(pgValue); + } + // Last resort: rely on toString() / underlying value. + return value.toString(); + } + + /** Decode a raw EWKB byte sequence; returns hex {@code 0x..} on failure. */ + static String decodeBytes(byte[] raw) { + if (raw == null) { + return null; + } + String wkt = parseEwkb(raw); + if (wkt != null) { + return wkt; + } + return bytesToHexWithPrefix(raw); + } + + /** + * Decode a string column. If the text matches an EWKB hex layout the bytes + * are decoded; otherwise (already WKT, ST_AsText output, etc.) returned + * unchanged. + */ + static String decodeString(String value) { + if (value == null) { + return null; + } + byte[] bytes = tryParseHex(value); + if (bytes == null) { + return value; + } + String wkt = parseEwkb(bytes); + if (wkt != null) { + return wkt; + } + // looked like hex but couldn't be parsed — preserve hex form. + return ensureHexPrefix(value); + } + + /** + * Try to extract textual value from PGgeometry / PGobject-like objects via + * {@code getValue()}. Returns {@code null} if the class doesn't match any + * known PostGIS / PostgreSQL JDBC type (or the call fails reflectively). + */ + private static String tryReflectiveGetValue(Object value) { + Class cls = value.getClass(); + if (!matchesAnyClassName(cls, PGGEOMETRY_CLASS_NAMES) + && !matchesAnyClassName(cls, PGOBJECT_CLASS_NAMES)) { + return null; + } + try { + Method getValue = cls.getMethod("getValue"); + Object result = getValue.invoke(value); + if (result instanceof String) { + return (String) result; + } + } catch (ReflectiveOperationException ignored) { + // fall through + } + return null; + } + + private static boolean matchesAnyClassName(Class cls, String[] names) { + Class current = cls; + while (current != null) { + for (String name : names) { + if (current.getName().equals(name)) { + return true; + } + for (Class iface : current.getInterfaces()) { + if (iface.getName().equals(name)) { + return true; + } + } + } + current = current.getSuperclass(); + } + return false; + } + + /** @return parsed bytes, or {@code null} if {@code value} is not hex EWKB. */ + static byte[] tryParseHex(String value) { + String s = value; + if (s.length() >= 2 && (s.startsWith("0x") || s.startsWith("0X"))) { + s = s.substring(2); + } else if (s.length() >= 2 && (s.startsWith("\\x") || s.startsWith("\\X"))) { + s = s.substring(2); + } + if (s.length() < 10 || (s.length() & 1) != 0) { + return null; + } + // First byte must be the WKB endian marker (00 = big, 01 = little) + char e0 = s.charAt(0); + char e1 = s.charAt(1); + if (!((e0 == '0') && (e1 == '0' || e1 == '1'))) { + return null; + } + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (!((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F'))) { + return null; + } + } + byte[] out = new byte[s.length() / 2]; + for (int i = 0; i < out.length; i++) { + int hi = Character.digit(s.charAt(i * 2), 16); + int lo = Character.digit(s.charAt(i * 2 + 1), 16); + out[i] = (byte) ((hi << 4) | lo); + } + return out; + } + + private static String ensureHexPrefix(String value) { + if (value.startsWith("0x") || value.startsWith("0X")) { + return value; + } + return "0x" + value; + } + + static String bytesToHexWithPrefix(byte[] bytes) { + StringBuilder sb = new StringBuilder(bytes.length * 2 + 2); + sb.append("0x"); + for (byte b : bytes) { + sb.append(Character.forDigit((b >> 4) & 0xF, 16)); + sb.append(Character.forDigit(b & 0xF, 16)); + } + return sb.toString(); + } + + // ── EWKB parser ──────────────────────────────────────────────────────── + + private static String parseEwkb(byte[] raw) { + if (raw == null || raw.length == 0) { + return null; + } + Reader reader = new Reader(raw); + Geometry g = parseGeometry(reader); + if (g == null || reader.pos != raw.length) { + return null; + } + return geometryToWkt(g); + } + + private static Geometry parseGeometry(Reader reader) { + Integer endian = reader.readU8(); + if (endian == null) { + return null; + } + boolean little; + if (endian == 0) { + little = false; + } else if (endian == 1) { + little = true; + } else { + return null; + } + Long typeWordBoxed = reader.readU32(little); + if (typeWordBoxed == null) { + return null; + } + long typeWord = typeWordBoxed; + Dims parsed = parseDimensions(typeWord); + long baseType = parsed.baseType; + if (parsed.hasSrid) { + if (reader.readU32(little) == null) { + return null; + } + } + Dimensions dims = parsed.dims; + switch ((int) baseType) { + case 1: { // Point + int len = dims.coordinateLen(); + List coords = new ArrayList<>(len); + for (int i = 0; i < len; i++) { + Double v = reader.readF64(little); + if (v == null) { + return null; + } + coords.add(v); + } + boolean allNan = true; + for (Double v : coords) { + if (!Double.isNaN(v)) { + allNan = false; + break; + } + } + return new Geometry(GeomKind.POINT, dims, allNan ? null : coords, null, null, null, null, null); + } + case 2: { // LineString + List> points = parsePoints(reader, little, dims); + if (points == null) return null; + return new Geometry(GeomKind.LINESTRING, dims, null, points, null, null, null, null); + } + case 3: { // Polygon + Long ringCount = reader.readU32(little); + if (ringCount == null) return null; + List>> rings = new ArrayList<>(); + for (int i = 0; i < ringCount; i++) { + List> ring = parsePoints(reader, little, dims); + if (ring == null) return null; + rings.add(ring); + } + return new Geometry(GeomKind.POLYGON, dims, null, null, rings, null, null, null); + } + case 4: { // MultiPoint + Long count = reader.readU32(little); + if (count == null) return null; + List> mpoints = new ArrayList<>(); + for (int i = 0; i < count; i++) { + List coords = readPointCoords(reader, dims); + if (coords == null) { + // sub-point parse failure (returning null != EMPTY); abort. + return null; + } + boolean allNan = true; + for (Double v : coords) { + if (!Double.isNaN(v)) { + allNan = false; + break; + } + } + mpoints.add(allNan ? null : coords); + } + return new Geometry(GeomKind.MULTIPOINT, dims, null, null, null, mpoints, null, null); + } + case 5: { // MultiLineString + Long count = reader.readU32(little); + if (count == null) return null; + List>> lines = new ArrayList<>(); + for (int i = 0; i < count; i++) { + Geometry sub = parseGeometry(reader); + if (sub == null || sub.kind != GeomKind.LINESTRING) return null; + lines.add(sub.points); + } + return new Geometry(GeomKind.MULTILINESTRING, dims, null, null, lines, null, null, null); + } + case 6: { // MultiPolygon + Long count = reader.readU32(little); + if (count == null) return null; + List>>> polys = new ArrayList<>(); + for (int i = 0; i < count; i++) { + Geometry sub = parseGeometry(reader); + if (sub == null || sub.kind != GeomKind.POLYGON) return null; + polys.add(sub.rings); + } + return new Geometry(GeomKind.MULTIPOLYGON, dims, null, null, null, null, polys, null); + } + case 7: { // GeometryCollection + Long count = reader.readU32(little); + if (count == null) return null; + List children = new ArrayList<>(); + for (int i = 0; i < count; i++) { + Geometry sub = parseGeometry(reader); + if (sub == null) return null; + children.add(sub); + } + return new Geometry(GeomKind.GEOMETRYCOLLECTION, dims, null, null, null, null, null, children); + } + default: + return null; + } + } + + private static List> parsePoints(Reader reader, boolean little, Dimensions dims) { + Long count = reader.readU32(little); + if (count == null) return null; + int dim = dims.coordinateLen(); + List> result = new ArrayList<>(); + for (int i = 0; i < count; i++) { + List coords = new ArrayList<>(dim); + for (int j = 0; j < dim; j++) { + Double v = reader.readF64(little); + if (v == null) return null; + coords.add(v); + } + result.add(coords); + } + return result; + } + + private static List readPointCoords(Reader reader, Dimensions parentDims) { + Integer endian = reader.readU8(); + if (endian == null) return null; + boolean little; + if (endian == 0) { + little = false; + } else if (endian == 1) { + little = true; + } else { + return null; + } + Long typeWord = reader.readU32(little); + if (typeWord == null) return null; + Dims parsed = parseDimensions(typeWord); + if (parsed.baseType != 1 || !parsed.dims.equals(parentDims)) { + return null; + } + if (parsed.hasSrid) { + if (reader.readU32(little) == null) return null; + } + int dim = parsed.dims.coordinateLen(); + List coords = new ArrayList<>(dim); + for (int i = 0; i < dim; i++) { + Double v = reader.readF64(little); + if (v == null) return null; + coords.add(v); + } + return coords; + } + + private static Dims parseDimensions(long typeWord) { + long baseType = typeWord & 0x1FFF_FFFFL; + boolean hasZ = (typeWord & 0x8000_0000L) != 0; + boolean hasM = (typeWord & 0x4000_0000L) != 0; + boolean hasSrid = (typeWord & 0x2000_0000L) != 0; + if (baseType >= 3000) { + hasZ = true; + hasM = true; + baseType -= 3000; + } else if (baseType >= 2000) { + hasM = true; + baseType -= 2000; + } else if (baseType >= 1000) { + hasZ = true; + baseType -= 1000; + } + return new Dims(baseType, new Dimensions(hasZ, hasM), hasSrid); + } + + // ── WKT formatting ───────────────────────────────────────────────────── + + private static String geometryToWkt(Geometry g) { + String suffix = g.dims.suffix(); + switch (g.kind) { + case POINT: + if (g.coords == null) { + return "POINT" + suffix + " EMPTY"; + } + return "POINT" + suffix + "(" + formatCoord(g.coords) + ")"; + case LINESTRING: + if (g.points == null || g.points.isEmpty()) { + return "LINESTRING" + suffix + " EMPTY"; + } + return "LINESTRING" + suffix + "(" + formatCoordSeq(g.points) + ")"; + case POLYGON: + if (g.rings == null || g.rings.isEmpty()) { + return "POLYGON" + suffix + " EMPTY"; + } + return "POLYGON" + suffix + "(" + joinRings(g.rings) + ")"; + case MULTIPOINT: + if (g.multiPoints == null || g.multiPoints.isEmpty()) { + return "MULTIPOINT" + suffix + " EMPTY"; + } + return "MULTIPOINT" + suffix + "(" + joinMultiPoints(g.multiPoints) + ")"; + case MULTILINESTRING: + if (g.rings == null || g.rings.isEmpty()) { + return "MULTILINESTRING" + suffix + " EMPTY"; + } + return "MULTILINESTRING" + suffix + "(" + joinRings(g.rings) + ")"; + case MULTIPOLYGON: + if (g.polygons == null || g.polygons.isEmpty()) { + return "MULTIPOLYGON" + suffix + " EMPTY"; + } + return "MULTIPOLYGON" + suffix + "(" + joinPolygons(g.polygons) + ")"; + case GEOMETRYCOLLECTION: + if (g.children == null || g.children.isEmpty()) { + return "GEOMETRYCOLLECTION" + suffix + " EMPTY"; + } + StringBuilder sb = new StringBuilder("GEOMETRYCOLLECTION").append(suffix).append("("); + for (int i = 0; i < g.children.size(); i++) { + if (i > 0) sb.append(','); + sb.append(geometryToWkt(g.children.get(i))); + } + sb.append(')'); + return sb.toString(); + default: + throw new IllegalStateException("unknown geometry kind: " + g.kind); + } + } + + private static String formatCoord(List coords) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < coords.size(); i++) { + if (i > 0) sb.append(' '); + sb.append(formatDouble(coords.get(i))); + } + return sb.toString(); + } + + private static String formatCoordSeq(List> points) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < points.size(); i++) { + if (i > 0) sb.append(','); + sb.append(formatCoord(points.get(i))); + } + return sb.toString(); + } + + private static String joinRings(List>> rings) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < rings.size(); i++) { + if (i > 0) sb.append(','); + sb.append('(').append(formatCoordSeq(rings.get(i))).append(')'); + } + return sb.toString(); + } + + private static String joinMultiPoints(List> mpoints) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < mpoints.size(); i++) { + if (i > 0) sb.append(','); + List p = mpoints.get(i); + if (p == null) { + sb.append("EMPTY"); + } else { + sb.append('(').append(formatCoord(p)).append(')'); + } + } + return sb.toString(); + } + + private static String joinPolygons(List>>> polys) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < polys.size(); i++) { + if (i > 0) sb.append(','); + sb.append('(').append(joinRings(polys.get(i))).append(')'); + } + return sb.toString(); + } + + /** + * Format a double the same way Rust's {@code f64::Display} does — shortest + * round-trippable decimal, trailing {@code .0} stripped (so {@code 116.0} + * becomes {@code "116"}, not {@code "116.0"}). + */ + static String formatDouble(double value) { + if (Double.isNaN(value)) { + return "NaN"; + } + if (Double.isInfinite(value)) { + return value > 0 ? "inf" : "-inf"; + } + String s = Double.toString(value); + // Strip trailing ".0" for whole-number doubles so output matches Rust. + if (s.endsWith(".0")) { + return s.substring(0, s.length() - 2); + } + return s; + } + + // ── helper structs ───────────────────────────────────────────────────── + + private enum GeomKind { + POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, GEOMETRYCOLLECTION + } + + private static final class Geometry { + final GeomKind kind; + final Dimensions dims; + final List coords; // POINT + final List> points; // LINESTRING + final List>> rings; // POLYGON / MULTILINESTRING (lines == rings shape-wise) + final List> multiPoints; // MULTIPOINT (null entry = EMPTY) + final List>>> polygons; // MULTIPOLYGON + final List children; // GEOMETRYCOLLECTION + + Geometry( + GeomKind kind, + Dimensions dims, + List coords, + List> points, + List>> rings, + List> multiPoints, + List>>> polygons, + List children + ) { + this.kind = kind; + this.dims = dims; + this.coords = coords; + this.points = points; + this.rings = rings; + this.multiPoints = multiPoints; + this.polygons = polygons; + this.children = children; + } + } + + private static final class Dimensions { + final boolean hasZ; + final boolean hasM; + + Dimensions(boolean hasZ, boolean hasM) { + this.hasZ = hasZ; + this.hasM = hasM; + } + + String suffix() { + if (hasZ && hasM) return " ZM"; + if (hasZ) return " Z"; + if (hasM) return " M"; + return ""; + } + + int coordinateLen() { + return 2 + (hasZ ? 1 : 0) + (hasM ? 1 : 0); + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Dimensions)) return false; + Dimensions d = (Dimensions) o; + return hasZ == d.hasZ && hasM == d.hasM; + } + + @Override + public int hashCode() { + return (hasZ ? 1 : 0) * 31 + (hasM ? 1 : 0); + } + } + + private static final class Dims { + final long baseType; + final Dimensions dims; + final boolean hasSrid; + + Dims(long baseType, Dimensions dims, boolean hasSrid) { + this.baseType = baseType; + this.dims = dims; + this.hasSrid = hasSrid; + } + } + + private static final class Reader { + final byte[] raw; + int pos; + + Reader(byte[] raw) { + this.raw = raw; + } + + Integer readU8() { + if (pos >= raw.length) return null; + int v = raw[pos] & 0xFF; + pos += 1; + return v; + } + + Long readU32(boolean little) { + if (pos + 4 > raw.length) return null; + long v; + if (little) { + v = ((long) (raw[pos] & 0xFF)) + | ((long) (raw[pos + 1] & 0xFF) << 8) + | ((long) (raw[pos + 2] & 0xFF) << 16) + | ((long) (raw[pos + 3] & 0xFF) << 24); + } else { + v = ((long) (raw[pos] & 0xFF) << 24) + | ((long) (raw[pos + 1] & 0xFF) << 16) + | ((long) (raw[pos + 2] & 0xFF) << 8) + | ((long) (raw[pos + 3] & 0xFF)); + } + pos += 4; + return v & 0xFFFF_FFFFL; + } + + Double readF64(boolean little) { + if (pos + 8 > raw.length) return null; + long bits; + if (little) { + bits = ((long) (raw[pos] & 0xFF)) + | ((long) (raw[pos + 1] & 0xFF) << 8) + | ((long) (raw[pos + 2] & 0xFF) << 16) + | ((long) (raw[pos + 3] & 0xFF) << 24) + | ((long) (raw[pos + 4] & 0xFF) << 32) + | ((long) (raw[pos + 5] & 0xFF) << 40) + | ((long) (raw[pos + 6] & 0xFF) << 48) + | ((long) (raw[pos + 7] & 0xFF) << 56); + } else { + bits = ((long) (raw[pos] & 0xFF) << 56) + | ((long) (raw[pos + 1] & 0xFF) << 48) + | ((long) (raw[pos + 2] & 0xFF) << 40) + | ((long) (raw[pos + 3] & 0xFF) << 32) + | ((long) (raw[pos + 4] & 0xFF) << 24) + | ((long) (raw[pos + 5] & 0xFF) << 16) + | ((long) (raw[pos + 6] & 0xFF) << 8) + | ((long) (raw[pos + 7] & 0xFF)); + } + pos += 8; + return Double.longBitsToDouble(bits); + } + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/ExecuteQueryOptions.java b/agents/common/src/main/java/com/dbx/agent/ExecuteQueryOptions.java new file mode 100644 index 0000000000..ae33923cd2 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/ExecuteQueryOptions.java @@ -0,0 +1,67 @@ +package com.dbx.agent; + +import java.util.Objects; + +public final class ExecuteQueryOptions { + private int maxRows; + private Integer fetchSize; + private int timeoutSecs; + + public ExecuteQueryOptions() { + this(JdbcExecutor.DEFAULT_MAX_ROWS, null, 0); + } + + public ExecuteQueryOptions(int maxRows, Integer fetchSize) { + this(maxRows, fetchSize, 0); + } + + public ExecuteQueryOptions(int maxRows, Integer fetchSize, int timeoutSecs) { + this.maxRows = maxRows; + this.fetchSize = fetchSize; + this.timeoutSecs = timeoutSecs; + } + + public int getMaxRows() { + return maxRows; + } + + public Integer getFetchSize() { + return fetchSize; + } + + public int getTimeoutSecs() { + return timeoutSecs; + } + + public void setMaxRows(int maxRows) { + this.maxRows = maxRows; + } + + public void setFetchSize(Integer fetchSize) { + this.fetchSize = fetchSize; + } + + public void setTimeoutSecs(int timeoutSecs) { + this.timeoutSecs = timeoutSecs; + } + + @Override + public boolean equals(Object other) { + if (this == other) return true; + if (!(other instanceof ExecuteQueryOptions)) return false; + ExecuteQueryOptions that = (ExecuteQueryOptions) other; + return maxRows == that.maxRows + && timeoutSecs == that.timeoutSecs + && Objects.equals(fetchSize, that.fetchSize); + } + + @Override + public int hashCode() { + return Objects.hash(maxRows, fetchSize, timeoutSecs); + } + + @Override + public String toString() { + return "ExecuteQueryOptions(maxRows=" + maxRows + ", fetchSize=" + fetchSize + ", timeoutSecs=" + timeoutSecs + ")"; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/ExecuteQueryParams.java b/agents/common/src/main/java/com/dbx/agent/ExecuteQueryParams.java new file mode 100644 index 0000000000..0f96201889 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/ExecuteQueryParams.java @@ -0,0 +1,78 @@ +package com.dbx.agent; + +import java.util.Objects; + +public final class ExecuteQueryParams { + private String sql; + private String schema; + private Integer maxRows; + private Integer fetchSize; + + public ExecuteQueryParams() { + this("", null, null, null); + } + + public ExecuteQueryParams(String sql, String schema, Integer maxRows, Integer fetchSize) { + this.sql = sql; + this.schema = schema; + this.maxRows = maxRows; + this.fetchSize = fetchSize; + } + + public String getSql() { + return sql; + } + + public String getSchema() { + return schema; + } + + public Integer getMaxRows() { + return maxRows; + } + + public Integer getFetchSize() { + return fetchSize; + } + + public void setSql(String sql) { + this.sql = sql; + } + + public void setSchema(String schema) { + this.schema = schema; + } + + public void setMaxRows(Integer maxRows) { + this.maxRows = maxRows; + } + + public void setFetchSize(Integer fetchSize) { + this.fetchSize = fetchSize; + } + + @Override + public boolean equals(Object other) { + if (this == other) return true; + if (!(other instanceof ExecuteQueryParams)) return false; + ExecuteQueryParams that = (ExecuteQueryParams) other; + return Objects.equals(sql, that.sql) + && Objects.equals(schema, that.schema) + && Objects.equals(maxRows, that.maxRows) + && Objects.equals(fetchSize, that.fetchSize); + } + + @Override + public int hashCode() { + return Objects.hash(sql, schema, maxRows, fetchSize); + } + + @Override + public String toString() { + return "ExecuteQueryParams(sql=" + sql + + ", schema=" + schema + + ", maxRows=" + maxRows + + ", fetchSize=" + fetchSize + + ")"; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/ForeignKeyInfo.java b/agents/common/src/main/java/com/dbx/agent/ForeignKeyInfo.java new file mode 100644 index 0000000000..de018df94c --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/ForeignKeyInfo.java @@ -0,0 +1,78 @@ +package com.dbx.agent; + +import java.util.Objects; + +public final class ForeignKeyInfo { + private String name; + private String column; + private String ref_table; + private String ref_column; + + public ForeignKeyInfo() { + this("", "", "", ""); + } + + public ForeignKeyInfo(String name, String column, String ref_table, String ref_column) { + this.name = name; + this.column = column; + this.ref_table = ref_table; + this.ref_column = ref_column; + } + + public String getName() { + return name; + } + + public String getColumn() { + return column; + } + + public String getRef_table() { + return ref_table; + } + + public String getRef_column() { + return ref_column; + } + + public void setName(String name) { + this.name = name; + } + + public void setColumn(String column) { + this.column = column; + } + + public void setRef_table(String ref_table) { + this.ref_table = ref_table; + } + + public void setRef_column(String ref_column) { + this.ref_column = ref_column; + } + + @Override + public boolean equals(Object other) { + if (this == other) return true; + if (!(other instanceof ForeignKeyInfo)) return false; + ForeignKeyInfo that = (ForeignKeyInfo) other; + return Objects.equals(name, that.name) + && Objects.equals(column, that.column) + && Objects.equals(ref_table, that.ref_table) + && Objects.equals(ref_column, that.ref_column); + } + + @Override + public int hashCode() { + return Objects.hash(name, column, ref_table, ref_column); + } + + @Override + public String toString() { + return "ForeignKeyInfo(name=" + name + + ", column=" + column + + ", ref_table=" + ref_table + + ", ref_column=" + ref_column + + ")"; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/IndexInfo.java b/agents/common/src/main/java/com/dbx/agent/IndexInfo.java new file mode 100644 index 0000000000..ea38747f26 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/IndexInfo.java @@ -0,0 +1,141 @@ +package com.dbx.agent; + +import java.util.Collections; +import java.util.List; +import java.util.Objects; + +public final class IndexInfo { + private String name; + private List columns; + private boolean is_unique; + private boolean is_primary; + private String filter; + private String index_type; + private List included_columns; + private String comment; + + public IndexInfo() { + this("", Collections.emptyList(), false, false); + } + + public IndexInfo(String name, List columns, boolean is_unique, boolean is_primary) { + this(name, columns, is_unique, is_primary, null, null, null, null); + } + + public IndexInfo( + String name, + List columns, + boolean is_unique, + boolean is_primary, + String filter, + String index_type, + List included_columns, + String comment + ) { + this.name = name; + this.columns = columns == null ? Collections.emptyList() : columns; + this.is_unique = is_unique; + this.is_primary = is_primary; + this.filter = filter; + this.index_type = index_type; + this.included_columns = included_columns; + this.comment = comment; + } + + public String getName() { + return name; + } + + public List getColumns() { + return columns; + } + + public boolean getIs_unique() { + return is_unique; + } + + public boolean getIs_primary() { + return is_primary; + } + + public String getFilter() { + return filter; + } + + public String getIndex_type() { + return index_type; + } + + public List getIncluded_columns() { + return included_columns; + } + + public String getComment() { + return comment; + } + + public void setName(String name) { + this.name = name; + } + + public void setColumns(List columns) { + this.columns = columns; + } + + public void setIs_unique(boolean is_unique) { + this.is_unique = is_unique; + } + + public void setIs_primary(boolean is_primary) { + this.is_primary = is_primary; + } + + public void setFilter(String filter) { + this.filter = filter; + } + + public void setIndex_type(String index_type) { + this.index_type = index_type; + } + + public void setIncluded_columns(List included_columns) { + this.included_columns = included_columns; + } + + public void setComment(String comment) { + this.comment = comment; + } + + @Override + public boolean equals(Object other) { + if (this == other) return true; + if (!(other instanceof IndexInfo)) return false; + IndexInfo that = (IndexInfo) other; + return is_unique == that.is_unique + && is_primary == that.is_primary + && Objects.equals(name, that.name) + && Objects.equals(columns, that.columns) + && Objects.equals(filter, that.filter) + && Objects.equals(index_type, that.index_type) + && Objects.equals(included_columns, that.included_columns) + && Objects.equals(comment, that.comment); + } + + @Override + public int hashCode() { + return Objects.hash(name, columns, is_unique, is_primary, filter, index_type, included_columns, comment); + } + + @Override + public String toString() { + return "IndexInfo(name=" + name + + ", columns=" + columns + + ", is_unique=" + is_unique + + ", is_primary=" + is_primary + + ", filter=" + filter + + ", index_type=" + index_type + + ", included_columns=" + included_columns + + ", comment=" + comment + + ")"; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/JdbcAgentProfile.java b/agents/common/src/main/java/com/dbx/agent/JdbcAgentProfile.java new file mode 100644 index 0000000000..433f817ca5 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/JdbcAgentProfile.java @@ -0,0 +1,223 @@ +package com.dbx.agent; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Set; + +public class JdbcAgentProfile { + private final String driverClass; + private final String urlTemplate; + private final int defaultPort; + private final boolean skipExecutionContext; + private final Set excludedSchemas; + private final List tableTypes; + private final String identifierQuote; + private final String schemaSwitchPrefix; + private final boolean catalogFallbackEnabled; + private final boolean nativeTableDdlSupported; + private final boolean objectSourceSupported; + private final boolean triggersSupported; + + public JdbcAgentProfile(String driverClass, String urlTemplate) { + this(driverClass, urlTemplate, 0); + } + + public JdbcAgentProfile(String driverClass, String urlTemplate, int defaultPort) { + this(driverClass, urlTemplate, defaultPort, false); + } + + public JdbcAgentProfile(String driverClass, String urlTemplate, int defaultPort, boolean skipExecutionContext) { + this( + driverClass, + urlTemplate, + defaultPort, + skipExecutionContext, + Collections.emptySet(), + Arrays.asList("TABLE", "VIEW", "BASE TABLE", "MATERIALIZED VIEW", "SYSTEM TABLE", "SYSTEM VIEW") + ); + } + + public JdbcAgentProfile( + String driverClass, + String urlTemplate, + int defaultPort, + boolean skipExecutionContext, + Set excludedSchemas, + List tableTypes + ) { + this( + driverClass, + urlTemplate, + defaultPort, + skipExecutionContext, + excludedSchemas, + tableTypes, + "\"", + "SET SCHEMA", + true, + false, + false, + false + ); + } + + public JdbcAgentProfile( + String driverClass, + String urlTemplate, + int defaultPort, + boolean skipExecutionContext, + Set excludedSchemas, + List tableTypes, + String identifierQuote, + String schemaSwitchPrefix, + boolean catalogFallbackEnabled, + boolean nativeTableDdlSupported, + boolean objectSourceSupported, + boolean triggersSupported + ) { + this.driverClass = driverClass; + this.urlTemplate = urlTemplate; + this.defaultPort = defaultPort; + this.skipExecutionContext = skipExecutionContext; + this.excludedSchemas = excludedSchemas; + this.tableTypes = tableTypes; + this.identifierQuote = identifierQuote; + this.schemaSwitchPrefix = schemaSwitchPrefix; + this.catalogFallbackEnabled = catalogFallbackEnabled; + this.nativeTableDdlSupported = nativeTableDdlSupported; + this.objectSourceSupported = objectSourceSupported; + this.triggersSupported = triggersSupported; + } + + public String getDriverClass() { + return driverClass; + } + + public String getUrlTemplate() { + return urlTemplate; + } + + public int getDefaultPort() { + return defaultPort; + } + + public boolean getSkipExecutionContext() { + return skipExecutionContext; + } + + public Set getExcludedSchemas() { + return excludedSchemas; + } + + public List getTableTypes() { + return tableTypes; + } + + public String getIdentifierQuote() { + return identifierQuote; + } + + public String getSchemaSwitchPrefix() { + return schemaSwitchPrefix; + } + + public boolean getCatalogFallbackEnabled() { + return catalogFallbackEnabled; + } + + public boolean getNativeTableDdlSupported() { + return nativeTableDdlSupported; + } + + public boolean getObjectSourceSupported() { + return objectSourceSupported; + } + + public boolean getTriggersSupported() { + return triggersSupported; + } + + public String buildUrl(ConnectParams params) { + if (!params.getConnection_string().trim().isEmpty()) { + return params.getConnection_string(); + } + int port = params.getPort() > 0 ? params.getPort() : defaultPort; + String base = urlTemplate + .replace("{host}", params.getHost()) + .replace("{port}", Integer.toString(port)) + .replace("{database}", params.getDatabase()); + return appendUrlParams(base, params.getUrl_params()); + } + + public String quoteIdentifier(String identifier) { + return identifierQuote + identifier.replace(identifierQuote, identifierQuote + identifierQuote) + identifierQuote; + } + + public String schemaSwitchSql(String schema) { + return schemaSwitchSql(schema, identifierQuote); + } + + public String schemaSwitchSql(String schema, String quote) { + if (skipExecutionContext) { + return ""; + } + return schemaSwitchPrefix + " " + quote + schema.replace(quote, quote + quote) + quote; + } + + private static String appendUrlParams(String url, String urlParams) { + String params = trimUrlParams(urlParams); + if (params.isEmpty()) { + return url; + } + if (usesColonProperties(url) && !params.endsWith(";")) { + params = params + ";"; + } + String separator = urlParamSeparator(url); + return url + separator + params; + } + + private static String trimUrlParams(String urlParams) { + String value = urlParams == null ? "" : urlParams.trim(); + while (value.startsWith("?") || value.startsWith("&") || value.startsWith(";") || value.startsWith(":") || value.startsWith(",")) { + value = value.substring(1); + } + return value; + } + + private static String urlParamSeparator(String url) { + if (startsWithIgnoreCase(url, "jdbc:sqlserver:") || startsWithIgnoreCase(url, "jdbc:exa:")) { + return url.endsWith(";") ? "" : ";"; + } + if (startsWithIgnoreCase(url, "jdbc:teradata:")) { + return url.endsWith(",") ? "" : ","; + } + if (usesColonProperties(url)) { + if (url.endsWith(":") || url.endsWith(";")) { + return ""; + } + return hasColonProperties(url) ? ";" : ":"; + } + return url.contains("?") ? "&" : "?"; + } + + private static boolean usesColonProperties(String url) { + return startsWithIgnoreCase(url, "jdbc:db2:") || startsWithIgnoreCase(url, "jdbc:informix-sqli:"); + } + + private static boolean hasColonProperties(String url) { + int schemeEnd = url.indexOf("://"); + if (schemeEnd < 0) { + return false; + } + int pathStart = url.indexOf('/', schemeEnd + 3); + if (pathStart < 0) { + return false; + } + return url.indexOf(':', pathStart + 1) >= 0; + } + + private static boolean startsWithIgnoreCase(String value, String prefix) { + return value.regionMatches(true, 0, prefix, 0, prefix.length()); + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/JdbcExecutor.java b/agents/common/src/main/java/com/dbx/agent/JdbcExecutor.java new file mode 100644 index 0000000000..73f7c36cf3 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/JdbcExecutor.java @@ -0,0 +1,652 @@ +package com.dbx.agent; + +import java.sql.Connection; +import java.sql.Blob; +import java.sql.Clob; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.SQLException; +import java.sql.SQLXML; +import java.sql.Statement; +import java.sql.Types; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Locale; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; + +public final class JdbcExecutor { + public static final JdbcExecutor INSTANCE = new JdbcExecutor(); + public static final int DEFAULT_MAX_ROWS = 10000; + public static final long QUERY_SESSION_IDLE_TIMEOUT_MILLIS = 10 * 60 * 1000L; + + private final ConcurrentHashMap sessions = new ConcurrentHashMap<>(); + + private JdbcExecutor() { + } + + public QueryResult execute(Connection conn, String sql, String schema, Function setSchemaSql) { + return execute(conn, sql, schema, setSchemaSql, DEFAULT_MAX_ROWS, null, this::defaultResultValue); + } + + public QueryResult execute( + Connection conn, + String sql, + String schema, + Function setSchemaSql, + int maxRows, + Integer fetchSize + ) { + return execute(conn, sql, schema, setSchemaSql, maxRows, fetchSize, this::defaultResultValue); + } + + public QueryResult execute( + Connection conn, + String sql, + String schema, + Function setSchemaSql, + int maxRows, + Integer fetchSize, + ResultValueReader valueReader + ) { + return execute(conn, sql, schema, setSchemaSql, maxRows, fetchSize, 0, valueReader); + } + + public QueryResult execute( + Connection conn, + String sql, + String schema, + Function setSchemaSql, + int maxRows, + Integer fetchSize, + int timeoutSecs, + ResultValueReader valueReader + ) { + return unchecked(() -> { + String trimmedSql = trimSql(sql); + String upperSql = trimmedSql.toUpperCase(Locale.ROOT).trim(); + long start = System.currentTimeMillis(); + + if ("BEGIN".equals(upperSql) || "BEGIN TRANSACTION".equals(upperSql)) { + conn.setAutoCommit(false); + return emptyQueryResult(start); + } + if ("COMMIT".equals(upperSql)) { + conn.commit(); + conn.setAutoCommit(true); + return emptyQueryResult(start); + } + if ("ROLLBACK".equals(upperSql)) { + conn.rollback(); + conn.setAutoCommit(true); + return emptyQueryResult(start); + } + + applySchema(conn, schema, setSchemaSql); + + try (Statement stmt = conn.createStatement()) { + int effectiveMaxRows = Math.max(maxRows, 1); + stmt.setMaxRows(effectiveMaxRows + 1); + applyQueryTimeout(stmt, timeoutSecs); + if (fetchSize != null && fetchSize > 0) { + stmt.setFetchSize(fetchSize); + } + boolean hasResultSet = stmt.execute(trimmedSql); + long elapsed = System.currentTimeMillis() - start; + if (hasResultSet) { + try (ResultSet rs = stmt.getResultSet()) { + return readResultSet(rs, elapsed, effectiveMaxRows, valueReader); + } + } + + int updateCount = stmt.getUpdateCount(); + return new QueryResult( + Collections.emptyList(), + Collections.emptyList(), + updateCount >= 0 ? updateCount : 0, + elapsed, + false + ); + } + }); + } + + public QueryResult readResultSet(ResultSet rs, long executionTimeMs) { + return readResultSet(rs, executionTimeMs, DEFAULT_MAX_ROWS, this::defaultResultValue); + } + + public QueryResult readResultSet( + ResultSet rs, + long executionTimeMs, + int maxRows, + ResultValueReader valueReader + ) { + return unchecked(() -> { + ResultSetMetaData meta = rs.getMetaData(); + int colCount = meta.getColumnCount(); + List columns = new ArrayList<>(); + List columnTypes = new ArrayList<>(); + String[] typeNameByIndex = new String[colCount]; + for (int i = 1; i <= colCount; i++) { + columns.add(meta.getColumnLabel(i)); + String typeName = safeColumnTypeName(meta, i); + columnTypes.add(typeName); + typeNameByIndex[i - 1] = typeName; + } + + List> rows = new ArrayList<>(); + boolean truncated = false; + while (rs.next()) { + if (rows.size() >= maxRows) { + truncated = true; + break; + } + rows.add(rowValues(rs, valueReader, typeNameByIndex)); + } + + return new QueryResult(columns, columnTypes, rows, 0L, executionTimeMs, truncated); + }); + } + + public QueryPageResult executePage( + Connection conn, + String sql, + String schema, + Function setSchemaSql + ) { + return executePage(conn, sql, schema, setSchemaSql, new QueryPageOptions(), this::defaultResultValue); + } + + public QueryPageResult executePage( + Connection conn, + String sql, + String schema, + Function setSchemaSql, + QueryPageOptions options + ) { + return executePage(conn, sql, schema, setSchemaSql, options, this::defaultResultValue); + } + + public QueryPageResult executePage( + Connection conn, + String sql, + String schema, + Function setSchemaSql, + QueryPageOptions options, + ResultValueReader valueReader + ) { + return unchecked(() -> { + expireIdleQuerySessions(); + String trimmedSql = trimSql(sql); + String upperSql = trimmedSql.toUpperCase(Locale.ROOT).trim(); + long start = System.currentTimeMillis(); + + if ("BEGIN".equals(upperSql) || "BEGIN TRANSACTION".equals(upperSql)) { + conn.setAutoCommit(false); + return emptyQueryPageResult(start); + } + if ("COMMIT".equals(upperSql)) { + conn.commit(); + conn.setAutoCommit(true); + return emptyQueryPageResult(start); + } + if ("ROLLBACK".equals(upperSql)) { + conn.rollback(); + conn.setAutoCommit(true); + return emptyQueryPageResult(start); + } + + applySchema(conn, schema, setSchemaSql); + + Statement stmt = conn.createStatement(); + try { + applyQueryTimeout(stmt, options.getTimeoutSecs()); + if (options.getFetchSize() != null && options.getFetchSize() > 0) { + stmt.setFetchSize(options.getFetchSize()); + } + boolean hasResultSet = stmt.execute(trimmedSql); + long elapsed = System.currentTimeMillis() - start; + if (!hasResultSet) { + int updateCount = stmt.getUpdateCount(); + stmt.close(); + return new QueryPageResult( + Collections.emptyList(), + Collections.emptyList(), + updateCount >= 0 ? updateCount : 0, + elapsed + ); + } + + ResultSet rs = stmt.getResultSet(); + ResultSetMetaData meta = rs.getMetaData(); + String sessionId = UUID.randomUUID().toString(); + int colCount = meta.getColumnCount(); + List columns = new ArrayList<>(colCount); + List columnTypes = new ArrayList<>(colCount); + String[] typeNameByIndex = new String[colCount]; + for (int i = 1; i <= colCount; i++) { + columns.add(meta.getColumnLabel(i)); + String typeName = safeColumnTypeName(meta, i); + columnTypes.add(typeName); + typeNameByIndex[i - 1] = typeName; + } + QuerySession session = new QuerySession( + sessionId, + stmt, + rs, + columns, + columnTypes, + typeNameByIndex, + Math.max(options.getMaxRows(), 1), + valueReader + ); + sessions.put(sessionId, session); + return readSessionPage(session, options.getPageSize(), elapsed); + } catch (Exception e) { + try { + stmt.close(); + } catch (Exception ignored) { + } + throw e; + } + }); + } + + public QueryPageResult fetchPage(String sessionId, int pageSize) { + expireIdleQuerySessions(); + QuerySession session = sessions.get(sessionId); + if (session == null) { + throw new IllegalArgumentException("Query session not found"); + } + synchronized (session) { + return readSessionPage(session, pageSize, 0L); + } + } + + public boolean closeQuerySession(String sessionId) { + return closeSession(sessionId); + } + + public void closeAllQuerySessions() { + List ids = new ArrayList<>(sessions.keySet()); + for (String id : ids) { + closeSession(id); + } + } + + public int expireIdleQuerySessions() { + return expireIdleQuerySessions(System.currentTimeMillis(), QUERY_SESSION_IDLE_TIMEOUT_MILLIS); + } + + public int expireIdleQuerySessions(long nowMillis, long idleTimeoutMillis) { + if (idleTimeoutMillis < 0) { + return 0; + } + int closed = 0; + List snapshot = new ArrayList<>(sessions.values()); + for (QuerySession session : snapshot) { + boolean expired; + synchronized (session) { + expired = nowMillis - session.lastAccessedAtMillis >= idleTimeoutMillis; + } + if (expired && closeSession(session.id)) { + closed += 1; + } + } + return closed; + } + + public Object defaultResultValue(ResultSet rs, int index, int sqlType) throws SQLException { + Object value; + switch (sqlType) { + case Types.BIGINT: + value = rs.getLong(index); + break; + case Types.INTEGER: + case Types.SMALLINT: + case Types.TINYINT: + value = rs.getInt(index); + break; + case Types.FLOAT: + case Types.REAL: + value = rs.getFloat(index); + break; + case Types.DOUBLE: + value = rs.getDouble(index); + break; + case Types.DECIMAL: + case Types.NUMERIC: + value = rs.getBigDecimal(index); + break; + case Types.BOOLEAN: + case Types.BIT: + value = rs.getBoolean(index); + break; + case Types.CHAR: + case Types.VARCHAR: + case Types.LONGVARCHAR: + case Types.NCHAR: + case Types.NVARCHAR: + case Types.LONGNVARCHAR: + case Types.CLOB: + case Types.NCLOB: + value = rs.getString(index); + break; + case Types.BINARY: + case Types.VARBINARY: + case Types.LONGVARBINARY: + case Types.BLOB: + value = bytesToHex(rs.getBytes(index)); + break; + case Types.SQLXML: + value = sqlXmlToString(rs.getSQLXML(index)); + break; + default: + value = normalizeResultValue(rs.getObject(index)); + break; + } + return rs.wasNull() ? null : value; + } + + public static Object stringResultValue(ResultSet rs, int index, int sqlType) throws SQLException { + Object value; + switch (sqlType) { + case Types.BINARY: + case Types.VARBINARY: + case Types.LONGVARBINARY: + case Types.BLOB: + value = bytesToHex(rs.getBytes(index)); + break; + case Types.SQLXML: + value = sqlXmlToString(rs.getSQLXML(index)); + break; + default: + value = rs.getString(index); + break; + } + return rs.wasNull() ? null : value; + } + + public static Object normalizeResultValue(Object value) throws SQLException { + if (value == null) { + return null; + } + if (value instanceof Clob) { + Clob clob = (Clob) value; + return clob.getSubString(1, Math.toIntExact(clob.length())); + } + if (value instanceof Blob) { + Blob blob = (Blob) value; + return bytesToHex(blob.getBytes(1, Math.toIntExact(blob.length()))); + } + if (value instanceof SQLXML) { + SQLXML sqlxml = (SQLXML) value; + return sqlxml.getString(); + } + if (value instanceof byte[]) { + byte[] bytes = (byte[]) value; + return bytesToHex(bytes); + } + return value instanceof Number || value instanceof Boolean ? value : value.toString(); + } + + public static String bytesToHex(byte[] bytes) { + if (bytes == null) { + return null; + } + StringBuilder result = new StringBuilder(bytes.length * 2 + 2); + result.append("0x"); + for (byte b : bytes) { + result.append(Character.forDigit((b >> 4) & 0xF, 16)); + result.append(Character.forDigit(b & 0xF, 16)); + } + return result.toString(); + } + + private static String sqlXmlToString(SQLXML value) throws SQLException { + return value == null ? null : value.getString(); + } + + private QueryPageResult readSessionPage(QuerySession session, int pageSize, long executionTimeMs) { + return unchecked(() -> { + session.lastAccessedAtMillis = System.currentTimeMillis(); + int effectivePageSize = Math.max(pageSize, 1); + List> rows = new ArrayList<>(); + + if (session.pendingRow != null) { + rows.add(session.pendingRow); + session.pendingRow = null; + } + + while (rows.size() < effectivePageSize && session.rowsRead < session.maxRows) { + if (!session.resultSet.next()) { + closeSession(session.id); + return new QueryPageResult(session.columns, session.columnTypes, rows, 0L, executionTimeMs, false, null, false); + } + rows.add(rowValues(session.resultSet, session.valueReader, session.typeNameByIndex)); + session.rowsRead += 1; + } + + if (session.rowsRead >= session.maxRows) { + boolean truncated = session.resultSet.next(); + closeSession(session.id); + return new QueryPageResult(session.columns, session.columnTypes, rows, 0L, executionTimeMs, truncated, null, false); + } + + boolean hasMore = session.resultSet.next(); + if (!hasMore) { + closeSession(session.id); + return new QueryPageResult(session.columns, session.columnTypes, rows, 0L, executionTimeMs, false, null, false); + } + + session.pendingRow = rowValues(session.resultSet, session.valueReader, session.typeNameByIndex); + session.rowsRead += 1; + return new QueryPageResult(session.columns, session.columnTypes, rows, 0L, executionTimeMs, false, session.id, true); + }); + } + + private boolean closeSession(String sessionId) { + QuerySession session = sessions.remove(sessionId); + if (session == null) { + return false; + } + synchronized (session) { + try { + session.resultSet.close(); + } catch (Exception ignored) { + } + try { + session.statement.close(); + } catch (Exception ignored) { + } + } + return true; + } + + static String safeColumnTypeName(ResultSetMetaData meta, int columnIndex) { + try { + String name = meta.getColumnTypeName(columnIndex); + return name == null ? "" : name; + } catch (SQLException ignored) { + return ""; + } + } + + private List rowValues(ResultSet rs, ResultValueReader valueReader, String[] typeNameByIndex) throws SQLException { + ResultSetMetaData meta = rs.getMetaData(); + int colCount = meta.getColumnCount(); + List row = new ArrayList<>(colCount); + for (int i = 1; i <= colCount; i++) { + int sqlType = meta.getColumnType(i); + Object value; + if (valueReader instanceof ColumnAwareResultValueReader) { + String typeName = typeNameByIndex != null && i - 1 < typeNameByIndex.length + ? typeNameByIndex[i - 1] + : safeColumnTypeName(meta, i); + value = ((ColumnAwareResultValueReader) valueReader).read(rs, i, sqlType, typeName); + } else { + value = valueReader.read(rs, i, sqlType); + } + row.add(value); + } + return row; + } + + private void applySchema(Connection conn, String schema, Function setSchemaSql) throws SQLException { + if (schema == null || schema.trim().isEmpty()) { + return; + } + // Prefer JDBC standard APIs over database-specific SQL. + // setSchema (JDBC 4.1) and setCatalog (JDBC 1.0) work universally + // across all JDBC drivers without needing to know the database dialect. + try { + conn.setSchema(schema); + return; + } catch (SQLException | AbstractMethodError ignored) { + // setSchema not supported by this driver + } + try { + conn.setCatalog(schema); + return; + } catch (SQLException | AbstractMethodError ignored) { + // setCatalog not supported either + } + // Fallback: execute database-specific SQL (e.g. USE, SET SCHEMA, etc.) + String schemaSql = setSchemaSql.apply(schema); + if (schemaSql == null || schemaSql.trim().isEmpty()) { + return; + } + try (Statement stmt = conn.createStatement()) { + stmt.execute(schemaSql); + } + } + + private static void applyQueryTimeout(Statement stmt, int timeoutSecs) throws SQLException { + if (timeoutSecs > 0) { + stmt.setQueryTimeout(timeoutSecs); + } + } + + private QueryResult emptyQueryResult(long start) { + return new QueryResult( + Collections.emptyList(), + Collections.emptyList(), + 0L, + System.currentTimeMillis() - start + ); + } + + private QueryPageResult emptyQueryPageResult(long start) { + return new QueryPageResult( + Collections.emptyList(), + Collections.emptyList(), + 0L, + System.currentTimeMillis() - start + ); + } + + static String trimSql(String sql) { + String trimmed = stripTrailingSlashDelimiter(sql.trim()); + if (isPlSqlBlock(trimmed)) { + return trimmed; + } + while (trimmed.endsWith(";")) { + trimmed = trimmed.substring(0, trimmed.length() - 1).trim(); + } + return trimmed; + } + + private static String stripTrailingSlashDelimiter(String sql) { + String trimmed = sql.trim(); + if (!trimmed.endsWith("/")) { + return trimmed; + } + int slashStart = trimmed.length() - 1; + int lineStart = trimmed.lastIndexOf('\n', slashStart - 1) + 1; + if (!trimmed.substring(lineStart, slashStart).trim().isEmpty()) { + return trimmed; + } + String beforeSlash = trimmed.substring(0, lineStart).trim(); + return isPlSqlBlock(beforeSlash) ? beforeSlash : trimmed; + } + + private static boolean isPlSqlBlock(String sql) { + String upperSql = sql.toUpperCase(Locale.ROOT).trim(); + if (!upperSql.startsWith("DECLARE") && !upperSql.startsWith("BEGIN")) { + return false; + } + return upperSql.matches("(?s).*\\bEND\\s+(?!IF\\b|LOOP\\b|CASE\\b)[A-Z0-9_$#]+\\s*;\\s*$") + || upperSql.matches("(?s).*\\bEND\\s*;\\s*$"); + } + + private static T unchecked(ThrowingSupplier supplier) { + try { + return supplier.get(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + @FunctionalInterface + public interface ResultValueReader { + Object read(ResultSet rs, int index, int sqlType) throws SQLException; + } + + /** + * Optional extension of {@link ResultValueReader} that exposes the JDBC + * {@code getColumnTypeName} alongside the SQL type code, allowing per-driver + * agents to convert vendor-specific column types (e.g. PostGIS + * {@code geometry}) without re-querying the metadata. + */ + public interface ColumnAwareResultValueReader extends ResultValueReader { + Object read(ResultSet rs, int index, int sqlType, String columnTypeName) throws SQLException; + + @Override + default Object read(ResultSet rs, int index, int sqlType) throws SQLException { + return read(rs, index, sqlType, safeColumnTypeName(rs.getMetaData(), index)); + } + } + + private interface ThrowingSupplier { + T get() throws Exception; + } + + private static final class QuerySession { + private final String id; + private final Statement statement; + private final ResultSet resultSet; + private final List columns; + private final List columnTypes; + private final String[] typeNameByIndex; + private final int maxRows; + private final ResultValueReader valueReader; + private int rowsRead; + private List pendingRow; + private long lastAccessedAtMillis; + + private QuerySession( + String id, + Statement statement, + ResultSet resultSet, + List columns, + List columnTypes, + String[] typeNameByIndex, + int maxRows, + ResultValueReader valueReader + ) { + this.id = id; + this.statement = statement; + this.resultSet = resultSet; + this.columns = columns; + this.columnTypes = columnTypes; + this.typeNameByIndex = typeNameByIndex; + this.maxRows = maxRows; + this.valueReader = valueReader; + this.lastAccessedAtMillis = System.currentTimeMillis(); + } + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/JdbcIdentifiers.java b/agents/common/src/main/java/com/dbx/agent/JdbcIdentifiers.java new file mode 100644 index 0000000000..92f34ecf5f --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/JdbcIdentifiers.java @@ -0,0 +1,16 @@ +package com.dbx.agent; + +public final class JdbcIdentifiers { + public static final JdbcIdentifiers INSTANCE = new JdbcIdentifiers(); + + private JdbcIdentifiers() { + } + + public String doubleQuote(String identifier) { + return "\"" + identifier.replace("\"", "\"\"") + "\""; + } + + public String backtick(String identifier) { + return "`" + identifier.replace("`", "``") + "`"; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/JsonRpcServer.java b/agents/common/src/main/java/com/dbx/agent/JsonRpcServer.java new file mode 100644 index 0000000000..7c0da9e9b4 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/JsonRpcServer.java @@ -0,0 +1,301 @@ +package com.dbx.agent; + +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonNull; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import com.google.gson.reflect.TypeToken; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.lang.reflect.Type; +import java.sql.Connection; +import java.util.Collections; +import java.util.List; + +public final class JsonRpcServer { + private static final long CONNECTION_VALIDATION_INTERVAL_MILLIS = 5_000L; + + private final DatabaseAgent agent; + private final Gson gson = new Gson(); + private ConnectParams lastConnectParams; + private long lastConnectionValidationTimeMillis; + + public JsonRpcServer(DatabaseAgent agent) { + this.agent = agent; + } + + public void run() { + System.out.println("{\"ready\":true}"); + System.out.flush(); + + try { + BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); + while (true) { + String line = reader.readLine(); + if (line == null) { + break; + } + String response = handleRequest(line); + System.out.println(response); + System.out.flush(); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + String handleRequest(String line) { + JsonObject req = JsonParser.parseString(line).getAsJsonObject(); + JsonElement id = req.get("id"); + String method = req.get("method").getAsString(); + JsonObject params = paramsObject(req); + + JsonObject response = new JsonObject(); + response.addProperty("jsonrpc", "2.0"); + response.add("id", id); + + try { + Object result = dispatch(method, params); + response.add("result", gson.toJsonTree(result)); + return gson.toJson(response); + } catch (Throwable e) { + JsonObject error = new JsonObject(); + error.addProperty("code", -1); + error.addProperty("message", e.getMessage() == null ? e.toString() : e.getMessage()); + response.add("error", error); + return gson.toJson(response); + } + } + + private Object dispatch(String method, JsonObject params) throws Exception { + if (AgentProtocol.METHOD_HANDSHAKE.equals(method)) { + return AgentProtocol.handshakeResult(); + } + if (AgentProtocol.METHOD_CONNECT.equals(method)) { + lastConnectParams = gson.fromJson(params, ConnectParams.class); + agent.connect(lastConnectParams); + lastConnectionValidationTimeMillis = 0L; + return Collections.singletonMap("ok", true); + } + if (AgentProtocol.METHOD_TEST_CONNECTION.equals(method)) { + if (!agent.testConnection(gson.fromJson(params, ConnectParams.class))) { + throw new RuntimeException("Connection failed"); + } + return Collections.singletonMap("ok", true); + } + if (AgentProtocol.METHOD_VALIDATE_CONNECTION.equals(method)) { + Connection conn = agent.getConnection(); + boolean valid = false; + if (conn != null) { + try { + valid = !conn.isClosed() && conn.isValid(2); + } catch (Exception ignored) { + } + } + if (!valid) { + throw new IllegalStateException("Connection is not valid"); + } + return Collections.singletonMap("ok", true); + } + ensureLiveConnection(method); + if (AgentProtocol.METHOD_LIST_DATABASES.equals(method)) { + return agent.listDatabases(); + } + if (AgentProtocol.METHOD_LIST_SCHEMAS.equals(method)) { + switchCatalog(params); + return agent.listSchemas(); + } + if (AgentProtocol.METHOD_LIST_TABLES.equals(method)) { + switchCatalog(params); + return agent.listTables(params.get("schema").getAsString()); + } + if (AgentProtocol.METHOD_LIST_OBJECTS.equals(method)) { + switchCatalog(params); + return agent.listObjects(params.get("schema").getAsString()); + } + if (AgentProtocol.METHOD_GET_OBJECT_SOURCE.equals(method)) { + switchCatalog(params); + return agent.getObjectSource( + params.get("schema").getAsString(), + params.get("name").getAsString(), + params.get("object_type").getAsString() + ); + } + if (AgentProtocol.METHOD_GET_TABLE_DDL.equals(method)) { + switchCatalog(params); + return agent.getTableDdl(params.get("schema").getAsString(), params.get("table").getAsString()); + } + if (AgentProtocol.METHOD_GET_COLUMNS.equals(method)) { + switchCatalog(params); + return agent.getColumns(params.get("schema").getAsString(), params.get("table").getAsString()); + } + if (AgentProtocol.METHOD_LIST_INDEXES.equals(method)) { + switchCatalog(params); + return agent.listIndexes(params.get("schema").getAsString(), params.get("table").getAsString()); + } + if (AgentProtocol.METHOD_LIST_FOREIGN_KEYS.equals(method)) { + switchCatalog(params); + return agent.listForeignKeys(params.get("schema").getAsString(), params.get("table").getAsString()); + } + if (AgentProtocol.METHOD_LIST_TRIGGERS.equals(method)) { + switchCatalog(params); + return agent.listTriggers(params.get("schema").getAsString(), params.get("table").getAsString()); + } + if (AgentProtocol.METHOD_EXECUTE_QUERY.equals(method)) { + return agent.executeQuery( + params.get("sql").getAsString(), + stringOrNull(params, "schema"), + new ExecuteQueryOptions( + intOrDefault(params, "maxRows", JdbcExecutor.DEFAULT_MAX_ROWS), + intOrNull(params, "fetchSize"), + intOrDefault(params, "timeoutSecs", 0) + ) + ); + } + if (AgentProtocol.METHOD_EXECUTE_QUERY_PAGE.equals(method)) { + return agent.executeQueryPage( + params.get("sql").getAsString(), + stringOrNull(params, "schema"), + new QueryPageOptions( + intOrDefault(params, "pageSize", 100), + intOrNull(params, "fetchSize"), + intOrDefault(params, "maxRows", JdbcExecutor.DEFAULT_MAX_ROWS), + intOrDefault(params, "timeoutSecs", 0) + ) + ); + } + if (AgentProtocol.METHOD_FETCH_QUERY_PAGE.equals(method)) { + return agent.fetchQueryPage( + params.get("sessionId").getAsString(), + intOrDefault(params, "pageSize", 100) + ); + } + if (AgentProtocol.METHOD_CLOSE_QUERY_SESSION.equals(method)) { + return agent.closeQuerySession(params.get("sessionId").getAsString()); + } + if (AgentProtocol.METHOD_GET_EXPLAIN_INFO.equals(method)) { + String plan = agent.getExplainInfo( + params.get("sql").getAsString(), + stringOrNull(params, "database"), + stringOrNull(params, "schema"), + intOrDefault(params, "timeoutSecs", -1), + stringOrNull(params, "mode") + ); + java.util.HashMap result = new java.util.HashMap<>(); + result.put("plan", plan); + result.put("has_actual_stats", "autotrace".equals(stringOrNull(params, "mode"))); + return result; + } + if (AgentProtocol.METHOD_EXECUTE_TRANSACTION.equals(method)) { + Type statementsType = new TypeToken>() {}.getType(); + List statements = gson.fromJson(params.get("statements"), statementsType); + return agent.executeTransaction(statements, stringOrNull(params, "schema")); + } + if (AgentProtocol.METHOD_DISCONNECT.equals(method)) { + JdbcExecutor.INSTANCE.closeAllQuerySessions(); + agent.disconnect(); + lastConnectParams = null; + return Collections.singletonMap("ok", true); + } + if (AgentProtocol.METHOD_SHUTDOWN.equals(method)) { + JdbcExecutor.INSTANCE.closeAllQuerySessions(); + agent.disconnect(); + lastConnectParams = null; + System.exit(0); + return Collections.singletonMap("ok", true); + } + throw new IllegalArgumentException("Unknown method: " + method); + } + + private void switchCatalog(JsonObject params) throws Exception { + String database = stringOrNull(params, "database"); + if (database != null && !database.trim().isEmpty() && agent.getConnection() != null) { + String currentCatalog = null; + try { + currentCatalog = agent.getConnection().getCatalog(); + } catch (Exception ignored) { + } + if (currentCatalog == null || !currentCatalog.trim().equalsIgnoreCase(database.trim())) { + try { + agent.getConnection().setCatalog(database); + } catch (Exception ignored) { + } + } + } + } + + private void ensureLiveConnection(String method) { + if (lastConnectParams == null || !shouldValidateConnection(method)) { + return; + } + Connection conn = agent.getConnection(); + if (conn == null) { + return; + } + long now = System.currentTimeMillis(); + if (lastConnectionValidationTimeMillis > 0 + && now - lastConnectionValidationTimeMillis < CONNECTION_VALIDATION_INTERVAL_MILLIS) { + return; + } + boolean valid = false; + try { + valid = !conn.isClosed() && conn.isValid(2); + } catch (Exception ignored) { + } + if (valid) { + lastConnectionValidationTimeMillis = now; + return; + } + + JdbcExecutor.INSTANCE.closeAllQuerySessions(); + try { + agent.disconnect(); + } catch (Exception ignored) { + } + agent.connect(lastConnectParams); + lastConnectionValidationTimeMillis = System.currentTimeMillis(); + } + + private static boolean shouldValidateConnection(String method) { + return !AgentProtocol.METHOD_HANDSHAKE.equals(method) + && !AgentProtocol.METHOD_CONNECT.equals(method) + && !AgentProtocol.METHOD_TEST_CONNECTION.equals(method) + && !AgentProtocol.METHOD_VALIDATE_CONNECTION.equals(method) + && !AgentProtocol.METHOD_FETCH_QUERY_PAGE.equals(method) + && !AgentProtocol.METHOD_CLOSE_QUERY_SESSION.equals(method) + && !AgentProtocol.METHOD_DISCONNECT.equals(method) + && !AgentProtocol.METHOD_SHUTDOWN.equals(method); + } + + private static JsonObject paramsObject(JsonObject req) { + JsonElement params = req.get("params"); + if (params == null || params instanceof JsonNull || !params.isJsonObject()) { + return new JsonObject(); + } + return params.getAsJsonObject(); + } + + private static String stringOrNull(JsonObject object, String key) { + JsonElement element = object.get(key); + if (element == null || element instanceof JsonNull) { + return null; + } + return element.getAsString(); + } + + private static Integer intOrNull(JsonObject object, String key) { + JsonElement element = object.get(key); + if (element == null || element instanceof JsonNull) { + return null; + } + return element.getAsInt(); + } + + private static int intOrDefault(JsonObject object, String key, int defaultValue) { + Integer value = intOrNull(object, key); + return value == null ? defaultValue : value; + } + +} diff --git a/agents/common/src/main/java/com/dbx/agent/ObjectInfo.java b/agents/common/src/main/java/com/dbx/agent/ObjectInfo.java new file mode 100644 index 0000000000..00b26392b2 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/ObjectInfo.java @@ -0,0 +1,82 @@ +package com.dbx.agent; + +import java.util.Objects; + +public final class ObjectInfo { + private String name; + private String object_type; + private String schema; + private String comment; + + public ObjectInfo() { + this("", "", null, null); + } + + public ObjectInfo(String name, String object_type) { + this(name, object_type, null, null); + } + + public ObjectInfo(String name, String object_type, String schema, String comment) { + this.name = name; + this.object_type = object_type; + this.schema = schema; + this.comment = comment; + } + + public String getName() { + return name; + } + + public String getObject_type() { + return object_type; + } + + public String getSchema() { + return schema; + } + + public String getComment() { + return comment; + } + + public void setName(String name) { + this.name = name; + } + + public void setObject_type(String object_type) { + this.object_type = object_type; + } + + public void setSchema(String schema) { + this.schema = schema; + } + + public void setComment(String comment) { + this.comment = comment; + } + + @Override + public boolean equals(Object other) { + if (this == other) return true; + if (!(other instanceof ObjectInfo)) return false; + ObjectInfo that = (ObjectInfo) other; + return Objects.equals(name, that.name) + && Objects.equals(object_type, that.object_type) + && Objects.equals(schema, that.schema) + && Objects.equals(comment, that.comment); + } + + @Override + public int hashCode() { + return Objects.hash(name, object_type, schema, comment); + } + + @Override + public String toString() { + return "ObjectInfo(name=" + name + + ", object_type=" + object_type + + ", schema=" + schema + + ", comment=" + comment + + ")"; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/ObjectSource.java b/agents/common/src/main/java/com/dbx/agent/ObjectSource.java new file mode 100644 index 0000000000..8ada3b610d --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/ObjectSource.java @@ -0,0 +1,82 @@ +package com.dbx.agent; + +import java.util.Objects; + +public final class ObjectSource { + private String name; + private String object_type; + private String schema; + private String source; + + public ObjectSource() { + this("", "", null, ""); + } + + public ObjectSource(String name, String object_type, String source) { + this(name, object_type, null, source); + } + + public ObjectSource(String name, String object_type, String schema, String source) { + this.name = name; + this.object_type = object_type; + this.schema = schema; + this.source = source; + } + + public String getName() { + return name; + } + + public String getObject_type() { + return object_type; + } + + public String getSchema() { + return schema; + } + + public String getSource() { + return source; + } + + public void setName(String name) { + this.name = name; + } + + public void setObject_type(String object_type) { + this.object_type = object_type; + } + + public void setSchema(String schema) { + this.schema = schema; + } + + public void setSource(String source) { + this.source = source; + } + + @Override + public boolean equals(Object other) { + if (this == other) return true; + if (!(other instanceof ObjectSource)) return false; + ObjectSource that = (ObjectSource) other; + return Objects.equals(name, that.name) + && Objects.equals(object_type, that.object_type) + && Objects.equals(schema, that.schema) + && Objects.equals(source, that.source); + } + + @Override + public int hashCode() { + return Objects.hash(name, object_type, schema, source); + } + + @Override + public String toString() { + return "ObjectSource(name=" + name + + ", object_type=" + object_type + + ", schema=" + schema + + ", source=" + source + + ")"; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/PostgresLikeAgent.java b/agents/common/src/main/java/com/dbx/agent/PostgresLikeAgent.java new file mode 100644 index 0000000000..43d6e37f51 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/PostgresLikeAgent.java @@ -0,0 +1,499 @@ +package com.dbx.agent; + +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Collections; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Locale; +import java.util.Set; + +public abstract class PostgresLikeAgent extends AbstractJdbcAgent { + private final PostgresLikeAgentProfile profile; + private boolean mysqlCompatMode = false; + + protected PostgresLikeAgent(PostgresLikeAgentProfile profile) { + this.profile = profile; + } + + public PostgresLikeAgentProfile getProfile() { + return profile; + } + + public void setMysqlCompatMode(boolean mysqlCompatMode) { + this.mysqlCompatMode = mysqlCompatMode; + } + + public boolean isMysqlCompatMode() { + return mysqlCompatMode; + } + + @Override + public QueryResult executeQuery(String sql, String schema, ExecuteQueryOptions options) { + return JdbcExecutor.INSTANCE.execute( + requireConnected(), + sql, + schema, + this::setSchemaSQL, + options.getMaxRows(), + options.getFetchSize(), + options.getTimeoutSecs(), + geometryAwareResolver() + ); + } + + @Override + public QueryPageResult executeQueryPage(String sql, String schema, QueryPageOptions options) { + return JdbcExecutor.INSTANCE.executePage( + requireConnected(), + sql, + schema, + this::setSchemaSQL, + options, + geometryAwareResolver() + ); + } + + /** + * Wrap {@link AbstractJdbcAgent#resultValue} so PostGIS-style {@code geometry} + * and {@code geography} columns are decoded into WKT (matching the native + * tokio_postgres path in {@code crates/dbx-core/src/db/postgres.rs}). + */ + private JdbcExecutor.ColumnAwareResultValueReader geometryAwareResolver() { + return (rs, index, sqlType, columnTypeName) -> { + if (isPostgisGeometryTypeName(columnTypeName)) { + Object raw = rs.getObject(index); + if (rs.wasNull() || raw == null) { + return null; + } + return EwkbWktDecoder.decode(raw); + } + return resultValue(rs, index, sqlType, columnTypeName); + }; + } + + protected Object resultValue(ResultSet rs, int index, int sqlType, String columnTypeName) { + return resultValue(rs, index, sqlType); + } + + static boolean isPostgisGeometryTypeName(String columnTypeName) { + if (columnTypeName == null) { + return false; + } + String trimmed = columnTypeName.trim().toLowerCase(Locale.ROOT); + if (trimmed.isEmpty()) { + return false; + } + // Strip optional schema prefix (e.g. "public.geometry") or "(srid,type)" suffix. + int dot = trimmed.lastIndexOf('.'); + if (dot >= 0 && dot < trimmed.length() - 1) { + trimmed = trimmed.substring(dot + 1); + } + int paren = trimmed.indexOf('('); + if (paren >= 0) { + trimmed = trimmed.substring(0, paren); + } + return "geometry".equals(trimmed) || "geography".equals(trimmed); + } + + private String quoteIdentifier(String identifier) { + return mysqlCompatMode + ? JdbcIdentifiers.INSTANCE.backtick(identifier) + : JdbcIdentifiers.INSTANCE.doubleQuote(identifier); + } + + @Override + protected String driverClass() { + return profile.getDriverClass(); + } + + @Override + protected String buildJdbcUrl(ConnectParams params) { + return profile.buildUrl(params); + } + + @Override + public List listDatabases() { + return unchecked(() -> { + List result = new ArrayList<>(); + try (java.sql.PreparedStatement stmt = requireConnection().prepareStatement("SELECT datname FROM pg_database WHERE datistemplate = false ORDER BY datname"); + ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new DatabaseInfo(rs.getString("datname"))); + } + } + return result; + }); + } + + @Override + public List listSchemas() { + return unchecked(() -> { + List result = new ArrayList<>(); + try (java.sql.PreparedStatement stmt = requireConnection().prepareStatement( + "SELECT n.nspname AS schema_name " + + "FROM pg_catalog.pg_namespace n " + + "WHERE n.nspname NOT IN ('pg_catalog','information_schema','pg_toast') " + + "AND n.nspname NOT LIKE 'pg_toast_temp_%' " + + "AND n.nspname NOT LIKE 'pg_temp_%' " + + "ORDER BY n.nspname" + ); ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(rs.getString("schema_name")); + } + } + return result; + }); + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + try (java.sql.PreparedStatement stmt = requireConnection().prepareStatement( + "SELECT c.relname AS table_name, " + + "CASE c.relkind " + + "WHEN 'r' THEN 'TABLE' " + + "WHEN 'p' THEN 'TABLE' " + + "WHEN 'v' THEN 'VIEW' " + + "WHEN 'm' THEN 'MATERIALIZED VIEW' " + + "WHEN 'f' THEN 'FOREIGN TABLE' " + + "ELSE 'TABLE' END AS table_type, " + + "obj_description(c.oid) AS table_comment " + + "FROM pg_catalog.pg_class c " + + "JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace " + + "WHERE n.nspname = ? AND c.relkind IN ('r','p','v','m','f') " + + "ORDER BY c.relname" + )) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String tableType = normalizeTableType(rs.getString("table_type")); + result.add(new TableInfo(rs.getString("table_name"), tableType, rs.getString("table_comment"))); + } + } + } + return result; + }); + } + + @Override + public List listObjects(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + for (TableInfo table : listTables(schema)) { + result.add(new ObjectInfo(table.getName(), table.getTable_type(), schema, table.getComment())); + } + try (java.sql.PreparedStatement stmt = requireConnection().prepareStatement( + "SELECT p.proname AS routine_name, " + + "CASE p.prokind WHEN 'p' THEN 'PROCEDURE' ELSE 'FUNCTION' END AS routine_type " + + "FROM pg_catalog.pg_proc p " + + "JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace " + + "WHERE n.nspname = ? AND p.prokind IN ('p','f') " + + "ORDER BY p.proname" + )) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ObjectInfo(rs.getString(1), rs.getString(2), schema, null)); + } + } + } + try (java.sql.PreparedStatement stmt = requireConnection().prepareStatement( + "SELECT c.relname AS sequence_name, 'SEQUENCE' AS object_type " + + "FROM pg_catalog.pg_class c " + + "JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace " + + "WHERE n.nspname = ? AND c.relkind = 'S' " + + "ORDER BY c.relname" + )) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ObjectInfo(rs.getString(1), rs.getString(2), schema, null)); + } + } + } + return result; + }); + } + + @Override + public String getTableDdl(String schema, String table) { + List indexes; + try { + indexes = listIndexes(schema, table); + } catch (RuntimeException e) { + indexes = Collections.emptyList(); + } + + List foreignKeys; + try { + foreignKeys = listForeignKeys(schema, table); + } catch (RuntimeException e) { + foreignKeys = Collections.emptyList(); + } + + return DdlBuilder.buildTableDdl(schema, table, getColumns(schema, table), indexes, foreignKeys, mysqlCompatMode, true); + } + + @Override + public ObjectSource getObjectSource(String schema, String name, String objectType) { + return unchecked(() -> { + String upperType = objectType.toUpperCase(); + String sql; + if ("VIEW".equals(upperType) || "MATERIALIZED VIEW".equals(upperType)) { + sql = "SELECT pg_get_viewdef(to_regclass(?), true)"; + } else if ("FUNCTION".equals(upperType)) { + sql = "SELECT pg_get_functiondef(p.oid)\n" + + "FROM pg_proc p JOIN pg_namespace n ON n.oid = p.pronamespace\n" + + "WHERE n.nspname = ? AND p.proname = ? AND p.prokind = 'f'\n" + + "ORDER BY p.oid LIMIT 1"; + } else if ("PROCEDURE".equals(upperType)) { + sql = "SELECT pg_get_functiondef(p.oid)\n" + + "FROM pg_proc p JOIN pg_namespace n ON n.oid = p.pronamespace\n" + + "WHERE n.nspname = ? AND p.proname = ? AND p.prokind = 'p'\n" + + "ORDER BY p.oid LIMIT 1"; + } else { + throw new IllegalArgumentException("Unsupported object type: " + objectType); + } + + String source; + if ("VIEW".equals(upperType) || "MATERIALIZED VIEW".equals(upperType)) { + try (java.sql.PreparedStatement stmt = requireConnection().prepareStatement(sql)) { + stmt.setString(1, quoteQualifiedIdentifier(schema, name)); + try (ResultSet rs = stmt.executeQuery()) { + source = rs.next() ? coalesce(rs.getString(1)) : ""; + } + } + } else { + try (java.sql.PreparedStatement stmt = requireConnection().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, name); + try (ResultSet rs = stmt.executeQuery()) { + source = rs.next() ? coalesce(rs.getString(1)) : ""; + } + } + } + return new ObjectSource(name, objectType, schema, source); + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + Set primaryKeys = primaryKeys(schema, table); + List result = new ArrayList<>(); + String sql = "SELECT a.attname AS column_name, " + + "format_type(a.atttypid, a.atttypmod) AS data_type, " + + "NOT a.attnotnull AS is_nullable, " + + "pg_get_expr(ad.adbin, ad.adrelid) AS column_default, " + + "col_description(a.attrelid, a.attnum) AS column_comment, " + + "CASE WHEN t.typname = 'numeric' AND a.atttypmod > 0 " + + "THEN ((a.atttypmod - 4) >> 16) & 65535 ELSE NULL END AS numeric_precision, " + + "CASE WHEN t.typname = 'numeric' AND a.atttypmod > 0 " + + "THEN (a.atttypmod - 4) & 65535 ELSE NULL END AS numeric_scale, " + + "CASE WHEN t.typname IN ('varchar', 'bpchar') AND a.atttypmod > 0 " + + "THEN a.atttypmod - 4 ELSE NULL END AS character_maximum_length " + + "FROM pg_catalog.pg_attribute a " + + "JOIN pg_catalog.pg_type t ON t.oid = a.atttypid " + + "JOIN pg_catalog.pg_class c ON c.oid = a.attrelid " + + "JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace " + + "LEFT JOIN pg_catalog.pg_attrdef ad ON ad.adrelid = a.attrelid AND ad.adnum = a.attnum " + + "WHERE n.nspname = ? AND c.relname = ? " + + "AND a.attnum > 0 AND NOT a.attisdropped " + + "ORDER BY a.attnum"; + try (java.sql.PreparedStatement stmt = requireConnection().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String colName = rs.getString("column_name"); + result.add(new ColumnInfo( + colName, + rs.getString("data_type"), + "YES".equals(rs.getString("is_nullable")), + rs.getString("column_default"), + primaryKeys.contains(colName), + null, + rs.getString("column_comment"), + intObject(rs, "numeric_precision"), + intObject(rs, "numeric_scale"), + intObject(rs, "character_maximum_length") + )); + } + } + } + return result; + }); + } + + private Set primaryKeys(String schema, String table) { + return unchecked(() -> { + Set primaryKeys = new LinkedHashSet<>(); + String sql = "SELECT a.attname AS column_name " + + "FROM pg_catalog.pg_constraint co " + + "JOIN pg_catalog.pg_class c ON c.oid = co.conrelid " + + "JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace " + + "JOIN LATERAL (SELECT unnest(co.conkey) AS attnum, generate_series(1, array_length(co.conkey, 1)) AS ord) AS pk_cols ON true " + + "JOIN pg_catalog.pg_attribute a ON a.attrelid = c.oid AND a.attnum = pk_cols.attnum " + + "WHERE co.contype = 'p' " + + "AND n.nspname = ? " + + "AND c.relname = ? " + + "ORDER BY pk_cols.ord"; + try (java.sql.PreparedStatement stmt = requireConnection().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + primaryKeys.add(rs.getString("column_name")); + } + } + } + return primaryKeys; + }); + } + + @Override + public List listIndexes(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT i.relname AS index_name, am.amname AS index_type, " + + "ix.indisunique AS is_unique, ix.indisprimary AS is_primary, " + + "array_agg(a.attname ORDER BY k.n) AS columns " + + "FROM pg_index ix " + + "JOIN pg_class t ON t.oid = ix.indrelid " + + "JOIN pg_class i ON i.oid = ix.indexrelid " + + "JOIN pg_namespace n ON n.oid = t.relnamespace " + + "JOIN pg_am am ON am.oid = i.relam " + + "JOIN LATERAL (SELECT unnest(ix.indkey) AS attnum, generate_series(1, array_length(ix.indkey, 1)) AS n) AS k ON true " + + "JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = k.attnum " + + "WHERE n.nspname = ? AND t.relname = ? " + + "GROUP BY i.relname, am.amname, ix.indisunique, ix.indisprimary " + + "ORDER BY i.relname"; + try (java.sql.PreparedStatement stmt = requireConnection().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + Object[] columnArray = (Object[]) rs.getArray("columns").getArray(); + List columns = new ArrayList<>(); + for (Object column : columnArray) { + columns.add(String.valueOf(column)); + } + result.add(new IndexInfo( + rs.getString("index_name"), + columns, + rs.getBoolean("is_unique"), + rs.getBoolean("is_primary"), + null, + rs.getString("index_type"), + null, + null + )); + } + } + } + return result; + }); + } + + @Override + public List listForeignKeys(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT co.conname AS constraint_name, " + + "a.attname AS column_name, " + + "rc.relname AS ref_table, " + + "ra.attname AS ref_column " + + "FROM pg_catalog.pg_constraint co " + + "JOIN pg_catalog.pg_class c ON c.oid = co.conrelid " + + "JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace " + + "JOIN pg_catalog.pg_class rc ON rc.oid = co.confrelid " + + "JOIN LATERAL (SELECT unnest(co.conkey) AS attnum, generate_series(1, array_length(co.conkey, 1)) AS ord) AS fk ON true " + + "JOIN pg_catalog.pg_attribute a ON a.attrelid = c.oid AND a.attnum = fk.attnum " + + "JOIN LATERAL (SELECT unnest(co.confkey) AS attnum, generate_series(1, array_length(co.confkey, 1)) AS ord) AS pk ON pk.ord = fk.ord " + + "JOIN pg_catalog.pg_attribute ra ON ra.attrelid = rc.oid AND ra.attnum = pk.attnum " + + "WHERE co.contype = 'f' " + + "AND n.nspname = ? " + + "AND c.relname = ? " + + "ORDER BY co.conname, fk.ord"; + try (java.sql.PreparedStatement stmt = requireConnection().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ForeignKeyInfo( + rs.getString("constraint_name"), + rs.getString("column_name"), + rs.getString("ref_table"), + rs.getString("ref_column") + )); + } + } + } + return result; + }); + } + + @Override + public List listTriggers(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT tg.tgname AS trigger_name, " + + "trim(trailing ',' FROM (" + + "CASE WHEN (tg.tgtype & 4) <> 0 THEN 'INSERT,' ELSE '' END || " + + "CASE WHEN (tg.tgtype & 8) <> 0 THEN 'DELETE,' ELSE '' END || " + + "CASE WHEN (tg.tgtype & 16) <> 0 THEN 'UPDATE,' ELSE '' END || " + + "CASE WHEN (tg.tgtype & 32) <> 0 THEN 'TRUNCATE,' ELSE '' END" + + ")) AS event_manipulation, " + + "CASE WHEN (tg.tgtype & 2) <> 0 THEN 'BEFORE' ELSE 'AFTER' END AS action_timing " + + "FROM pg_catalog.pg_trigger tg " + + "JOIN pg_catalog.pg_class c ON c.oid = tg.tgrelid " + + "JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace " + + "WHERE n.nspname = ? AND c.relname = ? AND NOT tg.tgisinternal " + + "ORDER BY tg.tgname"; + try (java.sql.PreparedStatement stmt = requireConnection().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TriggerInfo( + rs.getString("trigger_name"), + rs.getString("event_manipulation"), + rs.getString("action_timing") + )); + } + } + } + return result; + }); + } + + @Override + public String setSchemaSQL(String schema) { + return "SET search_path TO " + quoteIdentifier(schema); + } + + private java.sql.Connection requireConnection() { + return requireConnected(); + } + + private static String normalizeTableType(String type) { + if (type == null || type.trim().isEmpty()) return "TABLE"; + if ("BASE TABLE".equals(type)) return "TABLE"; + return type; + } + + private static String coalesce(String value) { + return value == null ? "" : value; + } + + private String quoteQualifiedIdentifier(String schema, String name) { + return quoteIdentifier(schema) + "." + quoteIdentifier(name); + } + + private static Integer intObject(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value instanceof Number ? ((Number) value).intValue() : null; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/PostgresLikeAgentProfile.java b/agents/common/src/main/java/com/dbx/agent/PostgresLikeAgentProfile.java new file mode 100644 index 0000000000..f4ba2a8e97 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/PostgresLikeAgentProfile.java @@ -0,0 +1,30 @@ +package com.dbx.agent; + +public final class PostgresLikeAgentProfile { + private final String driverClass; + private final String urlTemplate; + + public PostgresLikeAgentProfile(String driverClass, String urlTemplate) { + this.driverClass = driverClass; + this.urlTemplate = urlTemplate; + } + + public String getDriverClass() { + return driverClass; + } + + public String getUrlTemplate() { + return urlTemplate; + } + + public String buildUrl(ConnectParams params) { + return new JdbcAgentProfile( + driverClass, + urlTemplate, + 0, + false, + java.util.Collections.emptySet(), + java.util.Arrays.asList("TABLE", "VIEW", "MATERIALIZED VIEW", "SYSTEM TABLE", "SYSTEM VIEW") + ).buildUrl(params); + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/QueryPageOptions.java b/agents/common/src/main/java/com/dbx/agent/QueryPageOptions.java new file mode 100644 index 0000000000..293c7aada6 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/QueryPageOptions.java @@ -0,0 +1,82 @@ +package com.dbx.agent; + +import java.util.Objects; + +public final class QueryPageOptions { + private int pageSize; + private Integer fetchSize; + private int maxRows; + private int timeoutSecs; + + public QueryPageOptions() { + this(100, null, JdbcExecutor.DEFAULT_MAX_ROWS, 0); + } + + public QueryPageOptions(int pageSize, Integer fetchSize, int maxRows) { + this(pageSize, fetchSize, maxRows, 0); + } + + public QueryPageOptions(int pageSize, Integer fetchSize, int maxRows, int timeoutSecs) { + this.pageSize = pageSize; + this.fetchSize = fetchSize; + this.maxRows = maxRows; + this.timeoutSecs = timeoutSecs; + } + + public int getPageSize() { + return pageSize; + } + + public Integer getFetchSize() { + return fetchSize; + } + + public int getMaxRows() { + return maxRows; + } + + public int getTimeoutSecs() { + return timeoutSecs; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public void setFetchSize(Integer fetchSize) { + this.fetchSize = fetchSize; + } + + public void setMaxRows(int maxRows) { + this.maxRows = maxRows; + } + + public void setTimeoutSecs(int timeoutSecs) { + this.timeoutSecs = timeoutSecs; + } + + @Override + public boolean equals(Object other) { + if (this == other) return true; + if (!(other instanceof QueryPageOptions)) return false; + QueryPageOptions that = (QueryPageOptions) other; + return pageSize == that.pageSize + && maxRows == that.maxRows + && timeoutSecs == that.timeoutSecs + && Objects.equals(fetchSize, that.fetchSize); + } + + @Override + public int hashCode() { + return Objects.hash(pageSize, fetchSize, maxRows, timeoutSecs); + } + + @Override + public String toString() { + return "QueryPageOptions(pageSize=" + pageSize + + ", fetchSize=" + fetchSize + + ", maxRows=" + maxRows + + ", timeoutSecs=" + timeoutSecs + + ")"; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/QueryPageParams.java b/agents/common/src/main/java/com/dbx/agent/QueryPageParams.java new file mode 100644 index 0000000000..a0ab76b5b8 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/QueryPageParams.java @@ -0,0 +1,90 @@ +package com.dbx.agent; + +import java.util.Objects; + +public final class QueryPageParams { + private String sql; + private String schema; + private Integer pageSize; + private Integer fetchSize; + private Integer maxRows; + + public QueryPageParams() { + this("", null, null, null, null); + } + + public QueryPageParams(String sql, String schema, Integer pageSize, Integer fetchSize, Integer maxRows) { + this.sql = sql; + this.schema = schema; + this.pageSize = pageSize; + this.fetchSize = fetchSize; + this.maxRows = maxRows; + } + + public String getSql() { + return sql; + } + + public String getSchema() { + return schema; + } + + public Integer getPageSize() { + return pageSize; + } + + public Integer getFetchSize() { + return fetchSize; + } + + public Integer getMaxRows() { + return maxRows; + } + + public void setSql(String sql) { + this.sql = sql; + } + + public void setSchema(String schema) { + this.schema = schema; + } + + public void setPageSize(Integer pageSize) { + this.pageSize = pageSize; + } + + public void setFetchSize(Integer fetchSize) { + this.fetchSize = fetchSize; + } + + public void setMaxRows(Integer maxRows) { + this.maxRows = maxRows; + } + + @Override + public boolean equals(Object other) { + if (this == other) return true; + if (!(other instanceof QueryPageParams)) return false; + QueryPageParams that = (QueryPageParams) other; + return Objects.equals(sql, that.sql) + && Objects.equals(schema, that.schema) + && Objects.equals(pageSize, that.pageSize) + && Objects.equals(fetchSize, that.fetchSize) + && Objects.equals(maxRows, that.maxRows); + } + + @Override + public int hashCode() { + return Objects.hash(sql, schema, pageSize, fetchSize, maxRows); + } + + @Override + public String toString() { + return "QueryPageParams(sql=" + sql + + ", schema=" + schema + + ", pageSize=" + pageSize + + ", fetchSize=" + fetchSize + + ", maxRows=" + maxRows + + ")"; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/QueryPageResult.java b/agents/common/src/main/java/com/dbx/agent/QueryPageResult.java new file mode 100644 index 0000000000..051cb0a88c --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/QueryPageResult.java @@ -0,0 +1,163 @@ +package com.dbx.agent; + +import java.util.Collections; +import java.util.List; +import java.util.Objects; + +public final class QueryPageResult { + private List columns; + private List column_types; + private List> rows; + private long affected_rows; + private long execution_time_ms; + private boolean truncated; + private String session_id; + private boolean has_more; + + public QueryPageResult() { + this(Collections.emptyList(), Collections.emptyList(), 0L, 0L, false, null, false); + } + + public QueryPageResult(List columns, List> rows, long affected_rows, long execution_time_ms) { + this(columns, rows, affected_rows, execution_time_ms, false, null, false); + } + + public QueryPageResult( + List columns, + List> rows, + long affected_rows, + long execution_time_ms, + boolean truncated + ) { + this(columns, rows, affected_rows, execution_time_ms, truncated, null, false); + } + + public QueryPageResult( + List columns, + List> rows, + long affected_rows, + long execution_time_ms, + boolean truncated, + String session_id, + boolean has_more + ) { + this(columns, null, rows, affected_rows, execution_time_ms, truncated, session_id, has_more); + } + + public QueryPageResult( + List columns, + List column_types, + List> rows, + long affected_rows, + long execution_time_ms, + boolean truncated, + String session_id, + boolean has_more + ) { + this.columns = columns == null ? Collections.emptyList() : columns; + this.column_types = column_types == null ? Collections.emptyList() : column_types; + this.rows = QueryResult.normalizeRows(rows); + this.affected_rows = affected_rows; + this.execution_time_ms = execution_time_ms; + this.truncated = truncated; + this.session_id = session_id; + this.has_more = has_more; + } + + public List getColumns() { + return columns; + } + + public List getColumn_types() { + return column_types; + } + + public List> getRows() { + return rows; + } + + public long getAffected_rows() { + return affected_rows; + } + + public long getExecution_time_ms() { + return execution_time_ms; + } + + public boolean getTruncated() { + return truncated; + } + + public String getSession_id() { + return session_id; + } + + public boolean getHas_more() { + return has_more; + } + + public void setColumns(List columns) { + this.columns = columns; + } + + public void setColumn_types(List column_types) { + this.column_types = column_types; + } + + public void setRows(List> rows) { + this.rows = rows; + } + + public void setAffected_rows(long affected_rows) { + this.affected_rows = affected_rows; + } + + public void setExecution_time_ms(long execution_time_ms) { + this.execution_time_ms = execution_time_ms; + } + + public void setTruncated(boolean truncated) { + this.truncated = truncated; + } + + public void setSession_id(String session_id) { + this.session_id = session_id; + } + + public void setHas_more(boolean has_more) { + this.has_more = has_more; + } + + @Override + public boolean equals(Object other) { + if (this == other) return true; + if (!(other instanceof QueryPageResult)) return false; + QueryPageResult that = (QueryPageResult) other; + return affected_rows == that.affected_rows + && execution_time_ms == that.execution_time_ms + && truncated == that.truncated + && has_more == that.has_more + && Objects.equals(columns, that.columns) + && Objects.equals(column_types, that.column_types) + && Objects.equals(rows, that.rows) + && Objects.equals(session_id, that.session_id); + } + + @Override + public int hashCode() { + return Objects.hash(columns, column_types, rows, affected_rows, execution_time_ms, truncated, session_id, has_more); + } + + @Override + public String toString() { + return "QueryPageResult(columns=" + columns + + ", column_types=" + column_types + + ", rows=" + rows + + ", affected_rows=" + affected_rows + + ", execution_time_ms=" + execution_time_ms + + ", truncated=" + truncated + + ", session_id=" + session_id + + ", has_more=" + has_more + + ")"; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/QueryResult.java b/agents/common/src/main/java/com/dbx/agent/QueryResult.java new file mode 100644 index 0000000000..172966e5a6 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/QueryResult.java @@ -0,0 +1,137 @@ +package com.dbx.agent; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Objects; + +public final class QueryResult { + private List columns; + private List column_types; + private List> rows; + private long affected_rows; + private long execution_time_ms; + private boolean truncated; + + public QueryResult() { + this(Collections.emptyList(), Collections.emptyList(), 0L, 0L, false); + } + + public QueryResult(List columns, List> rows, long affected_rows, long execution_time_ms) { + this(columns, rows, affected_rows, execution_time_ms, false); + } + + public QueryResult( + List columns, + List> rows, + long affected_rows, + long execution_time_ms, + boolean truncated + ) { + this(columns, null, rows, affected_rows, execution_time_ms, truncated); + } + + public QueryResult( + List columns, + List column_types, + List> rows, + long affected_rows, + long execution_time_ms, + boolean truncated + ) { + this.columns = columns == null ? Collections.emptyList() : columns; + this.column_types = column_types == null ? Collections.emptyList() : column_types; + this.rows = normalizeRows(rows); + this.affected_rows = affected_rows; + this.execution_time_ms = execution_time_ms; + this.truncated = truncated; + } + + public List getColumns() { + return columns; + } + + public List getColumn_types() { + return column_types; + } + + public List> getRows() { + return rows; + } + + public long getAffected_rows() { + return affected_rows; + } + + public long getExecution_time_ms() { + return execution_time_ms; + } + + public boolean getTruncated() { + return truncated; + } + + public void setColumns(List columns) { + this.columns = columns; + } + + public void setColumn_types(List column_types) { + this.column_types = column_types; + } + + public void setRows(List> rows) { + this.rows = rows; + } + + public void setAffected_rows(long affected_rows) { + this.affected_rows = affected_rows; + } + + public void setExecution_time_ms(long execution_time_ms) { + this.execution_time_ms = execution_time_ms; + } + + public void setTruncated(boolean truncated) { + this.truncated = truncated; + } + + static List> normalizeRows(List> input) { + if (input == null) { + return Collections.emptyList(); + } + List> normalized = new ArrayList<>(); + for (List row : input) { + normalized.add(row == null ? Collections.emptyList() : new ArrayList(row)); + } + return normalized; + } + + @Override + public boolean equals(Object other) { + if (this == other) return true; + if (!(other instanceof QueryResult)) return false; + QueryResult that = (QueryResult) other; + return affected_rows == that.affected_rows + && execution_time_ms == that.execution_time_ms + && truncated == that.truncated + && Objects.equals(columns, that.columns) + && Objects.equals(column_types, that.column_types) + && Objects.equals(rows, that.rows); + } + + @Override + public int hashCode() { + return Objects.hash(columns, column_types, rows, affected_rows, execution_time_ms, truncated); + } + + @Override + public String toString() { + return "QueryResult(columns=" + columns + + ", column_types=" + column_types + + ", rows=" + rows + + ", affected_rows=" + affected_rows + + ", execution_time_ms=" + execution_time_ms + + ", truncated=" + truncated + + ")"; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/SchemaTableParams.java b/agents/common/src/main/java/com/dbx/agent/SchemaTableParams.java new file mode 100644 index 0000000000..fc389c6646 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/SchemaTableParams.java @@ -0,0 +1,51 @@ +package com.dbx.agent; + +import java.util.Objects; + +public final class SchemaTableParams { + private String schema; + private String table; + + public SchemaTableParams() { + this("", ""); + } + + public SchemaTableParams(String schema, String table) { + this.schema = schema; + this.table = table; + } + + public String getSchema() { + return schema; + } + + public String getTable() { + return table; + } + + public void setSchema(String schema) { + this.schema = schema; + } + + public void setTable(String table) { + this.table = table; + } + + @Override + public boolean equals(Object other) { + if (this == other) return true; + if (!(other instanceof SchemaTableParams)) return false; + SchemaTableParams that = (SchemaTableParams) other; + return Objects.equals(schema, that.schema) && Objects.equals(table, that.table); + } + + @Override + public int hashCode() { + return Objects.hash(schema, table); + } + + @Override + public String toString() { + return "SchemaTableParams(schema=" + schema + ", table=" + table + ")"; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/StandardJdbcMetadata.java b/agents/common/src/main/java/com/dbx/agent/StandardJdbcMetadata.java new file mode 100644 index 0000000000..7f671b71e0 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/StandardJdbcMetadata.java @@ -0,0 +1,350 @@ +package com.dbx.agent; + +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; + +public final class StandardJdbcMetadata { + public static final StandardJdbcMetadata INSTANCE = new StandardJdbcMetadata(); + + private StandardJdbcMetadata() { + } + + public List listDatabases(Connection conn, String configuredDatabase) { + return unchecked(() -> { + Set names = new LinkedHashSet<>(); + try { + try (ResultSet rs = conn.getMetaData().getCatalogs()) { + while (rs.next()) { + addNonBlank(names, rs.getString("TABLE_CAT")); + } + } + } catch (Exception ignored) { + } + addNonBlank(names, configuredDatabase); + addNonBlank(names, conn.getCatalog()); + + List result = new ArrayList<>(); + for (String name : names) { + result.add(new DatabaseInfo(name)); + } + return result; + }); + } + + public List listSchemas(Connection conn, JdbcAgentProfile profile) { + return unchecked(() -> { + Set names = new LinkedHashSet<>(); + DatabaseMetaData meta = conn.getMetaData(); + try { + appendSchemas(names, meta.getSchemas(null, null)); + } catch (Exception | AbstractMethodError first) { + try { + appendSchemas(names, meta.getSchemas()); + } catch (Exception | AbstractMethodError ignored) { + } + } + try { + addNonBlank(names, conn.getSchema()); + } catch (Exception | AbstractMethodError ignored) { + } + + List result = new ArrayList<>(); + for (String name : names) { + if (!profile.getExcludedSchemas().contains(name.toUpperCase(Locale.ROOT))) { + result.add(name); + } + } + Collections.sort(result); + return result; + }); + } + + public List listTables(Connection conn, JdbcAgentProfile profile, String configuredDatabase, String schema) { + return unchecked(() -> { + DatabaseMetaData meta = conn.getMetaData(); + List result = new ArrayList<>(); + appendTables(result, meta, profile, null, schema); + if (result.isEmpty() && profile.getCatalogFallbackEnabled() && !configuredDatabase.trim().isEmpty()) { + appendTables(result, meta, profile, configuredDatabase, schema); + } + result.sort(Comparator.comparing(TableInfo::getName)); + return result; + }); + } + + public List listObjects(List tables, String schema) { + List result = new ArrayList<>(); + for (TableInfo table : tables) { + result.add(new ObjectInfo(table.getName(), table.getTable_type(), schema, table.getComment())); + } + return result; + } + + public List getColumns(Connection conn, JdbcAgentProfile profile, String configuredDatabase, String schema, String table) { + return unchecked(() -> { + DatabaseMetaData meta = conn.getMetaData(); + Set primaryKeys = primaryKeys(meta, null, schema, table); + List result = new ArrayList<>(); + appendColumns(result, meta, null, schema, table, primaryKeys); + if (result.isEmpty() && profile.getCatalogFallbackEnabled() && !configuredDatabase.trim().isEmpty()) { + Set fallbackPrimaryKeys = primaryKeys(meta, configuredDatabase, schema, table); + appendColumns(result, meta, configuredDatabase, schema, table, fallbackPrimaryKeys); + } + return result; + }); + } + + public List listIndexes(Connection conn, String schema, String table) { + return unchecked(() -> { + DatabaseMetaData meta = conn.getMetaData(); + Map> indexes = new LinkedHashMap<>(); + Map unique = new LinkedHashMap<>(); + try (ResultSet rs = meta.getIndexInfo(null, blankToNull(schema), table, false, false)) { + while (rs.next()) { + String name = rs.getString("INDEX_NAME"); + String column = rs.getString("COLUMN_NAME"); + if (name == null || column == null) { + continue; + } + indexes.computeIfAbsent(name, ignored -> new ArrayList<>()).add( + new IndexColumn(rs.getShort("ORDINAL_POSITION"), column) + ); + unique.put(name, !rs.getBoolean("NON_UNIQUE")); + } + } + + List result = new ArrayList<>(); + for (Map.Entry> entry : indexes.entrySet()) { + List orderedColumns = entry.getValue(); + orderedColumns.sort(Comparator.comparingInt(IndexColumn::getOrdinal)); + List columns = new ArrayList<>(); + for (IndexColumn column : orderedColumns) { + columns.add(column.getName()); + } + String name = entry.getKey(); + result.add(new IndexInfo( + name, + columns, + Boolean.TRUE.equals(unique.get(name)), + "PRIMARY".equalsIgnoreCase(name), + null, + null, + null, + null + )); + } + return result; + }); + } + + public List listForeignKeys(Connection conn, String schema, String table) { + return unchecked(() -> { + DatabaseMetaData meta = conn.getMetaData(); + List result = new ArrayList<>(); + try (ResultSet rs = meta.getImportedKeys(null, blankToNull(schema), table)) { + while (rs.next()) { + String name = rs.getString("FK_NAME"); + result.add(new ForeignKeyInfo( + name == null ? "" : name, + rs.getString("FKCOLUMN_NAME"), + rs.getString("PKTABLE_NAME"), + rs.getString("PKCOLUMN_NAME") + )); + } + } + return result; + }); + } + + public List listTriggers(String schema, String table) { + return Collections.emptyList(); + } + + private static String[] getDriverTableTypes(DatabaseMetaData meta, JdbcAgentProfile profile) throws Exception { + Set configuredTypes = new LinkedHashSet<>(); + for (String type : profile.getTableTypes()) { + if (type != null) { + configuredTypes.add(type.toUpperCase(Locale.ROOT)); + } + } + try (ResultSet rs = meta.getTableTypes()) { + List types = new ArrayList<>(); + while (rs.next()) { + String type = rs.getString("TABLE_TYPE"); + if (type != null && configuredTypes.contains(type.toUpperCase(Locale.ROOT))) { + types.add(type); + } + } + if (!types.isEmpty()) { + return types.toArray(new String[0]); + } + } catch (Exception ignored) { + } + return profile.getTableTypes().toArray(new String[profile.getTableTypes().size()]); + } + + public static String getIdentifierQuote(Connection conn, JdbcAgentProfile profile) { + try { + String quote = conn.getMetaData().getIdentifierQuoteString(); + if (quote != null && !quote.trim().isEmpty()) { + return quote.trim(); + } + } catch (Exception ignored) { + } + return profile.getIdentifierQuote(); + } + + public static String quoteIdentifier(String identifier, String quote) { + return quote + identifier.replace(quote, quote + quote) + quote; + } + + public static String schemaSwitchSql(Connection conn, JdbcAgentProfile profile, String schema) { + if (profile.getSkipExecutionContext()) { + return profile.schemaSwitchSql(schema); + } + String quote = getIdentifierQuote(conn, profile); + return profile.schemaSwitchSql(schema, quote); + } + + private void appendTables(List result, DatabaseMetaData meta, JdbcAgentProfile profile, String catalog, String schema) throws Exception { + String[] tableTypes = getDriverTableTypes(meta, profile); + try (ResultSet rs = meta.getTables(catalog, blankToNull(schema), "%", tableTypes)) { + while (rs.next()) { + result.add(new TableInfo( + rs.getString("TABLE_NAME"), + normalizeTableType(rs.getString("TABLE_TYPE")), + rs.getString("REMARKS") + )); + } + } + } + + private Set primaryKeys(DatabaseMetaData meta, String catalog, String schema, String table) { + Set keys = new LinkedHashSet<>(); + try (ResultSet rs = meta.getPrimaryKeys(catalog, blankToNull(schema), table)) { + while (rs.next()) { + String name = rs.getString("COLUMN_NAME"); + if (name != null) { + keys.add(name); + } + } + } catch (Exception ignored) { + } + return keys; + } + + private static void appendSchemas(Set names, ResultSet rs) throws Exception { + try (ResultSet closeable = rs) { + while (closeable.next()) { + addNonBlank(names, closeable.getString("TABLE_SCHEM")); + } + } + } + + private void appendColumns( + List result, + DatabaseMetaData meta, + String catalog, + String schema, + String table, + Set primaryKeys + ) throws Exception { + try (ResultSet rs = meta.getColumns(catalog, blankToNull(schema), table, "%")) { + while (rs.next()) { + String name = rs.getString("COLUMN_NAME"); + result.add(new ColumnInfo( + name, + rs.getString("TYPE_NAME"), + rs.getInt("NULLABLE") != DatabaseMetaData.columnNoNulls, + rs.getString("COLUMN_DEF"), + primaryKeys.contains(name), + null, + rs.getString("REMARKS"), + intOrNull(rs, "COLUMN_SIZE"), + intOrNull(rs, "DECIMAL_DIGITS"), + characterLength(rs) + )); + } + } + } + + private static String normalizeTableType(String type) { + if (type == null || type.trim().isEmpty()) { + return "TABLE"; + } + String normalized = type.toUpperCase(Locale.ROOT); + if ("BASE TABLE".equals(normalized) || "COLUMN TABLE".equals(normalized) || "ROW TABLE".equals(normalized)) { + return "TABLE"; + } + return type; + } + + private static Integer intOrNull(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value instanceof Number ? ((Number) value).intValue() : null; + } + + private static Integer characterLength(ResultSet rs) throws Exception { + String typeName = rs.getString("TYPE_NAME"); + if (typeName == null) { + return null; + } + String normalized = typeName.toLowerCase(Locale.ROOT); + if (!normalized.contains("char") && !normalized.contains("text")) { + return null; + } + return intOrNull(rs, "COLUMN_SIZE"); + } + + private static String blankToNull(String value) { + return value == null || value.trim().isEmpty() ? null : value; + } + + private static void addNonBlank(Set values, String value) { + if (value != null && !value.trim().isEmpty()) { + values.add(value); + } + } + + private static T unchecked(ThrowingSupplier supplier) { + try { + return supplier.get(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + private static final class IndexColumn { + private final int ordinal; + private final String name; + + private IndexColumn(int ordinal, String name) { + this.ordinal = ordinal; + this.name = name; + } + + private int getOrdinal() { + return ordinal; + } + + private String getName() { + return name; + } + } + + private interface ThrowingSupplier { + T get() throws Exception; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/TableInfo.java b/agents/common/src/main/java/com/dbx/agent/TableInfo.java new file mode 100644 index 0000000000..77518afcf2 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/TableInfo.java @@ -0,0 +1,67 @@ +package com.dbx.agent; + +import java.util.Objects; + +public final class TableInfo { + private String name; + private String table_type; + private String comment; + + public TableInfo() { + this("", "", null); + } + + public TableInfo(String name, String table_type) { + this(name, table_type, null); + } + + public TableInfo(String name, String table_type, String comment) { + this.name = name; + this.table_type = table_type; + this.comment = comment; + } + + public String getName() { + return name; + } + + public String getTable_type() { + return table_type; + } + + public String getComment() { + return comment; + } + + public void setName(String name) { + this.name = name; + } + + public void setTable_type(String table_type) { + this.table_type = table_type; + } + + public void setComment(String comment) { + this.comment = comment; + } + + @Override + public boolean equals(Object other) { + if (this == other) return true; + if (!(other instanceof TableInfo)) return false; + TableInfo that = (TableInfo) other; + return Objects.equals(name, that.name) + && Objects.equals(table_type, that.table_type) + && Objects.equals(comment, that.comment); + } + + @Override + public int hashCode() { + return Objects.hash(name, table_type, comment); + } + + @Override + public String toString() { + return "TableInfo(name=" + name + ", table_type=" + table_type + ", comment=" + comment + ")"; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/TransactionExecutor.java b/agents/common/src/main/java/com/dbx/agent/TransactionExecutor.java new file mode 100644 index 0000000000..9ba7b877d3 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/TransactionExecutor.java @@ -0,0 +1,135 @@ +package com.dbx.agent; + +import java.sql.Connection; +import java.sql.Statement; +import java.util.Collections; +import java.util.List; +import java.util.function.Function; + +public final class TransactionExecutor { + private TransactionExecutor() { + } + + public static QueryResult executeUpdateStatements( + Connection conn, + List statements, + String schema, + Function setSchemaSql + ) { + return executeStatements(conn, statements, schema, setSchemaSql, new StatementRunner() { + @Override + public long run(Statement stmt, String sql) throws Exception { + return stmt.executeUpdate(sql); + } + }); + } + + public static QueryResult executeStatements( + Connection conn, + List statements, + String schema, + Function setSchemaSql, + StatementRunner runner + ) { + return unchecked(() -> { + long start = System.currentTimeMillis(); + if (!supportsTransactions(conn)) { + long totalAffected = executeAll(conn, statements, schema, setSchemaSql, runner); + return result(totalAffected, start); + } + + boolean savedAutoCommit = conn.getAutoCommit(); + conn.setAutoCommit(false); + try { + long totalAffected = executeAll(conn, statements, schema, setSchemaSql, runner); + conn.commit(); + return result(totalAffected, start); + } catch (Exception e) { + conn.rollback(); + throw e; + } finally { + conn.setAutoCommit(savedAutoCommit); + } + }); + } + + private static long executeAll( + Connection conn, + List statements, + String schema, + Function setSchemaSql, + StatementRunner runner + ) throws Exception { + applySchema(conn, schema, setSchemaSql); + long totalAffected = 0; + for (String statement : statements) { + try (Statement stmt = conn.createStatement()) { + totalAffected += runner.run(stmt, JdbcExecutor.trimSql(statement)); + } + } + return totalAffected; + } + + private static void applySchema(Connection conn, String schema, Function setSchemaSql) throws Exception { + if (schema == null || schema.trim().isEmpty()) { + return; + } + // Prefer JDBC standard APIs over database-specific SQL. + try { + conn.setSchema(schema); + return; + } catch (Exception | AbstractMethodError ignored) { + // setSchema not supported by this driver + } + try { + conn.setCatalog(schema); + return; + } catch (Exception | AbstractMethodError ignored) { + // setCatalog not supported either + } + // Fallback: execute database-specific SQL (e.g. USE, SET SCHEMA, etc.) + String schemaSql = setSchemaSql.apply(schema); + if (schemaSql == null || schemaSql.trim().isEmpty()) { + return; + } + try (Statement stmt = conn.createStatement()) { + stmt.execute(schemaSql); + } + } + + private static boolean supportsTransactions(Connection conn) { + try { + return conn.getMetaData().supportsTransactions(); + } catch (Exception ignored) { + return true; + } + } + + private static QueryResult result(long totalAffected, long start) { + return new QueryResult( + Collections.emptyList(), + Collections.emptyList(), + totalAffected, + System.currentTimeMillis() - start, + false + ); + } + + private static T unchecked(ThrowingSupplier supplier) { + try { + return supplier.get(); + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + public interface StatementRunner { + long run(Statement stmt, String sql) throws Exception; + } + + private interface ThrowingSupplier { + T get() throws Exception; + } +} diff --git a/agents/common/src/main/java/com/dbx/agent/TriggerInfo.java b/agents/common/src/main/java/com/dbx/agent/TriggerInfo.java new file mode 100644 index 0000000000..490b55a187 --- /dev/null +++ b/agents/common/src/main/java/com/dbx/agent/TriggerInfo.java @@ -0,0 +1,63 @@ +package com.dbx.agent; + +import java.util.Objects; + +public final class TriggerInfo { + private String name; + private String event; + private String timing; + + public TriggerInfo() { + this("", "", ""); + } + + public TriggerInfo(String name, String event, String timing) { + this.name = name; + this.event = event; + this.timing = timing; + } + + public String getName() { + return name; + } + + public String getEvent() { + return event; + } + + public String getTiming() { + return timing; + } + + public void setName(String name) { + this.name = name; + } + + public void setEvent(String event) { + this.event = event; + } + + public void setTiming(String timing) { + this.timing = timing; + } + + @Override + public boolean equals(Object other) { + if (this == other) return true; + if (!(other instanceof TriggerInfo)) return false; + TriggerInfo that = (TriggerInfo) other; + return Objects.equals(name, that.name) + && Objects.equals(event, that.event) + && Objects.equals(timing, that.timing); + } + + @Override + public int hashCode() { + return Objects.hash(name, event, timing); + } + + @Override + public String toString() { + return "TriggerInfo(name=" + name + ", event=" + event + ", timing=" + timing + ")"; + } +} diff --git a/agents/common/src/main/resources/agent-protocol-v1.json b/agents/common/src/main/resources/agent-protocol-v1.json new file mode 100644 index 0000000000..12d0356e90 --- /dev/null +++ b/agents/common/src/main/resources/agent-protocol-v1.json @@ -0,0 +1,75 @@ +{ + "protocolVersion": 1, + "handshakeMethod": "handshake", + "handshakeResponseFields": [ + "protocolVersion", + "agentProtocolVersion", + "capabilities" + ], + "allCapabilities": [ + "connect", + "test_connection", + "metadata", + "query", + "paged_query", + "transaction", + "ddl", + "kv" + ], + "capabilities": [ + "connect", + "test_connection", + "metadata", + "query", + "paged_query", + "transaction", + "ddl" + ], + "defaultSqlCapabilities": [ + "connect", + "test_connection", + "metadata", + "query", + "paged_query", + "transaction", + "ddl" + ], + "commonMethods": [ + "handshake", + "connect", + "test_connection", + "validate_connection", + "list_databases", + "list_schemas", + "list_tables", + "list_objects", + "get_object_source", + "get_table_ddl", + "get_columns", + "list_indexes", + "list_foreign_keys", + "list_triggers", + "execute_query", + "execute_query_page", + "fetch_query_page", + "close_query_session", + "get_explain_info", + "execute_transaction", + "disconnect", + "shutdown" + ], + "mongoLegacyMethods": [ + "list_databases", + "list_collections", + "find_documents", + "insert_document", + "update_document", + "delete_document" + ], + "kvMethods": [ + "kv_list_prefix", + "kv_get", + "kv_put", + "kv_delete" + ] +} diff --git a/agents/common/src/test/java/com/dbx/agent/AbstractJdbcAgentTest.java b/agents/common/src/test/java/com/dbx/agent/AbstractJdbcAgentTest.java new file mode 100644 index 0000000000..c6fe1b5710 --- /dev/null +++ b/agents/common/src/test/java/com/dbx/agent/AbstractJdbcAgentTest.java @@ -0,0 +1,443 @@ +package com.dbx.agent; + +import org.junit.jupiter.api.Test; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.Statement; +import java.sql.Types; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class AbstractJdbcAgentTest { + @Test + void ownsConnectionLifecycleAndConnectedState() { + TrackingConnection tracking = new TrackingConnection(); + TestAgent agent = new TestAgent(tracking); + + assertThrows(IllegalStateException.class, () -> agent.executeQuery("SELECT 1", null, new ExecuteQueryOptions())); + + agent.connect(new ConnectParams("localhost", 0, "demo", "user", "secret", "", "", false)); + + assertNotNull(agent.getConnection()); + assertEquals("demo", agent.database()); + assertEquals(1, tracking.openCount); + assertEquals(1, agent.afterConnectCount); + + agent.disconnect(); + + assertNull(agent.getConnection()); + assertEquals(1, tracking.closeCount); + } + + @Test + void testsConnectionsThroughSharedLifecycle() { + TrackingConnection tracking = new TrackingConnection(); + TestAgent agent = new TestAgent(tracking); + + assertTrue(agent.testConnection(new ConnectParams())); + + assertEquals(1, tracking.openCount); + assertEquals(1, tracking.isValidCount); + assertEquals(1, tracking.closeCount); + } + + @Test + void delegatesQueryExecutionWithSchemaAndValueReader() { + TrackingConnection tracking = new TrackingConnection(); + TestAgent agent = new TestAgent(tracking); + agent.connect(new ConnectParams()); + + QueryResult result = agent.executeQuery("SELECT VALUE", "APP", new ExecuteQueryOptions(25, 7)); + + assertEquals(Collections.singletonList("VALUE"), result.getColumns()); + assertEquals(Collections.singletonList(Collections.singletonList("row-value")), result.getRows()); + assertFalse(result.getTruncated()); + assertEquals(Arrays.asList("setSchema:APP", "setMaxRows:26", "setFetchSize:7", "execute:SELECT VALUE"), tracking.calls); + } + + @Test + void delegatesQueryTimeoutToStatement() { + TrackingConnection tracking = new TrackingConnection(); + TestAgent agent = new TestAgent(tracking); + agent.connect(new ConnectParams()); + + agent.executeQuery("SELECT VALUE", null, new ExecuteQueryOptions(25, 7, 12)); + + assertEquals(Arrays.asList("setMaxRows:26", "setQueryTimeout:12", "setFetchSize:7", "execute:SELECT VALUE"), tracking.calls); + } + + @Test + void delegatesPagedQueryTimeoutToStatement() { + TrackingConnection tracking = new TrackingConnection(); + TestAgent agent = new TestAgent(tracking); + agent.connect(new ConnectParams()); + + agent.executeQueryPage("SELECT VALUE", null, new QueryPageOptions(10, 7, 25, 12)); + + assertEquals(Arrays.asList("setQueryTimeout:12", "setFetchSize:7", "execute:SELECT VALUE"), tracking.calls); + } + + @Test + void preservesPlSqlBlockTerminatorDuringQueryExecution() { + TrackingConnection tracking = new TrackingConnection(); + TestAgent agent = new TestAgent(tracking); + agent.connect(new ConnectParams()); + + agent.executeQuery("BEGIN\n NULL;\nEND;\n/", null, new ExecuteQueryOptions()); + + assertEquals(Arrays.asList("setMaxRows:10001", "execute:BEGIN\n NULL;\nEND;"), tracking.calls); + } + + @Test + void delegatesTransactionsThroughSharedFoundation() { + TrackingConnection tracking = new TrackingConnection(); + TestAgent agent = new TestAgent(tracking); + agent.connect(new ConnectParams()); + + QueryResult result = agent.executeTransaction(Arrays.asList("UPDATE A;", "UPDATE B"), "APP"); + + assertEquals(2L, result.getAffected_rows()); + assertEquals( + Arrays.asList( + "setAutoCommit:false", + "setSchema:APP", + "executeUpdate:UPDATE A", + "executeUpdate:UPDATE B", + "commit", + "setAutoCommit:true" + ), + tracking.calls + ); + } + + @Test + void preservesPlSqlBlockTerminatorDuringTransactionExecution() { + TrackingConnection tracking = new TrackingConnection(); + TestAgent agent = new TestAgent(tracking); + agent.connect(new ConnectParams()); + + agent.executeTransaction(Collections.singletonList("DECLARE\n v NUMBER;\nBEGIN\n NULL;\nEND;"), null); + + assertEquals( + Arrays.asList( + "setAutoCommit:false", + "executeUpdate:DECLARE\n v NUMBER;\nBEGIN\n NULL;\nEND;", + "commit", + "setAutoCommit:true" + ), + tracking.calls + ); + } + + @Test + void inheritedDdlFallbackToleratesMissingOptionalMetadata() { + TestAgent agent = new TestAgent(new TrackingConnection()) { + @Override + public List getColumns(String schema, String table) { + return Collections.singletonList(new ColumnInfo("ID", "INTEGER", false, null, true)); + } + + @Override + public List listIndexes(String schema, String table) { + throw new RuntimeException("indexes unavailable"); + } + + @Override + public List listForeignKeys(String schema, String table) { + throw new RuntimeException("foreign keys unavailable"); + } + }; + + assertEquals( + "CREATE TABLE \"APP\".\"ORDERS\" (\n" + + " \"ID\" INTEGER NOT NULL,\n" + + " PRIMARY KEY (\"ID\")\n" + + ");\n", + agent.getTableDdl("APP", "ORDERS") + ); + } + + private static class TestAgent extends AbstractJdbcAgent { + private final TrackingConnection tracking; + private int afterConnectCount; + + private TestAgent(TrackingConnection tracking) { + this.tracking = tracking; + } + + @Override + protected String driverClass() { + return TestAgent.class.getName(); + } + + @Override + protected String buildJdbcUrl(ConnectParams params) { + return "jdbc:test"; + } + + @Override + protected Connection openConnection(ConnectParams params) { + tracking.openCount += 1; + return tracking.connection(); + } + + @Override + protected void afterConnect(ConnectParams params, Connection connection) { + afterConnectCount += 1; + } + + @Override + public List listDatabases() { + return Collections.emptyList(); + } + + @Override + public List listSchemas() { + return Collections.emptyList(); + } + + @Override + public List listTables(String schema) { + return Collections.emptyList(); + } + + @Override + public List getColumns(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listIndexes(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listForeignKeys(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listTriggers(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public String setSchemaSQL(String schema) { + return "USE " + schema; + } + + private String database() { + return getConfiguredDatabase(); + } + } + + private static final class TrackingConnection { + private final List calls = new ArrayList(); + private int openCount; + private int closeCount; + private int isValidCount; + private boolean autoCommit = true; + + private Connection connection() { + return proxy(Connection.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("createStatement".equals(name)) { + return statement(); + } + if ("getMetaData".equals(name)) { + return databaseMetaData(); + } + if ("isValid".equals(name)) { + isValidCount += 1; + return true; + } + if ("close".equals(name)) { + closeCount += 1; + return null; + } + if ("getAutoCommit".equals(name)) { + return autoCommit; + } + if ("setSchema".equals(name)) { + calls.add("setSchema:" + args[0]); + return null; + } + if ("setCatalog".equals(name)) { + calls.add("setCatalog:" + args[0]); + return null; + } + if ("setAutoCommit".equals(name)) { + autoCommit = (Boolean) args[0]; + calls.add("setAutoCommit:" + args[0]); + return null; + } + if ("commit".equals(name)) { + calls.add("commit"); + return null; + } + if ("rollback".equals(name)) { + calls.add("rollback"); + return null; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private DatabaseMetaData databaseMetaData() { + return proxy(DatabaseMetaData.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + if ("supportsTransactions".equals(method.getName())) { + return true; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private Statement statement() { + return proxy(Statement.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("execute".equals(name)) { + calls.add("execute:" + args[0]); + return true; + } + if ("getResultSet".equals(name)) { + return resultSet(); + } + if ("getUpdateCount".equals(name)) { + return 1; + } + if ("executeUpdate".equals(name)) { + calls.add("executeUpdate:" + args[0]); + return 1; + } + if ("setMaxRows".equals(name)) { + calls.add("setMaxRows:" + args[0]); + return null; + } + if ("setFetchSize".equals(name)) { + calls.add("setFetchSize:" + args[0]); + return null; + } + if ("setQueryTimeout".equals(name)) { + calls.add("setQueryTimeout:" + args[0]); + return null; + } + if ("close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private ResultSet resultSet() { + final int[] index = {-1}; + return proxy(ResultSet.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("next".equals(name)) { + index[0] += 1; + return index[0] == 0; + } + if ("getMetaData".equals(name)) { + return resultSetMetaData(); + } + if ("getString".equals(name)) { + return "row-value"; + } + if ("wasNull".equals(name)) { + return false; + } + if ("close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private ResultSetMetaData resultSetMetaData() { + return proxy(ResultSetMetaData.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("getColumnCount".equals(name)) { + return 1; + } + if ("getColumnLabel".equals(name)) { + return "VALUE"; + } + if ("getColumnType".equals(name)) { + return Types.VARCHAR; + } + return defaultValue(method.getReturnType()); + } + }); + } + } + + private static T proxy(Class type, final MethodHandler handler) { + InvocationHandler invocationHandler = new InvocationHandler() { + @Override + public Object invoke(Object proxy, Method method, Object[] args) { + return handler.handle(method, args); + } + }; + return type.cast(Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, invocationHandler)); + } + + private static Object defaultValue(Class type) { + if (Boolean.TYPE.equals(type)) { + return false; + } + if (Byte.TYPE.equals(type)) { + return (byte) 0; + } + if (Short.TYPE.equals(type)) { + return (short) 0; + } + if (Integer.TYPE.equals(type)) { + return 0; + } + if (Long.TYPE.equals(type)) { + return 0L; + } + if (Float.TYPE.equals(type)) { + return 0f; + } + if (Double.TYPE.equals(type)) { + return 0.0d; + } + if (Character.TYPE.equals(type)) { + return '\0'; + } + return null; + } + + private interface MethodHandler { + Object handle(Method method, Object[] args); + } +} diff --git a/agents/common/src/test/java/com/dbx/agent/CommonJavaCompatibilityTest.java b/agents/common/src/test/java/com/dbx/agent/CommonJavaCompatibilityTest.java new file mode 100644 index 0000000000..3ec366cd9e --- /dev/null +++ b/agents/common/src/test/java/com/dbx/agent/CommonJavaCompatibilityTest.java @@ -0,0 +1,491 @@ +package com.dbx.agent; + +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import org.junit.jupiter.api.Test; + +import java.sql.Connection; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.nio.charset.StandardCharsets; +import java.util.Arrays; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class CommonJavaCompatibilityTest { + @Test + void definesSharedAgentProtocolContract() { + assertEquals("handshake", AgentProtocol.METHOD_HANDSHAKE); + assertEquals(1, AgentProtocol.PROTOCOL_VERSION); + assertTrue(AgentProtocol.CAPABILITIES.contains(AgentProtocol.CAPABILITY_CONNECT)); + assertTrue(AgentProtocol.CAPABILITIES.contains(AgentProtocol.CAPABILITY_QUERY)); + assertTrue(AgentProtocol.CAPABILITIES.contains(AgentProtocol.CAPABILITY_METADATA)); + } + + @Test + void agentProtocolMatchesContractResource() { + JsonObject contract = protocolContract(); + + assertEquals(AgentProtocol.PROTOCOL_VERSION, contract.get("protocolVersion").getAsInt()); + assertEquals(AgentProtocol.METHOD_HANDSHAKE, contract.get("handshakeMethod").getAsString()); + assertEquals( + Arrays.asList("protocolVersion", "agentProtocolVersion", "capabilities"), + strings(contract.getAsJsonArray("handshakeResponseFields")) + ); + assertEquals(AgentProtocol.ALL_CAPABILITIES, strings(contract.getAsJsonArray("allCapabilities"))); + assertEquals(AgentProtocol.CAPABILITIES, strings(contract.getAsJsonArray("capabilities"))); + assertEquals(AgentProtocol.CAPABILITIES, strings(contract.getAsJsonArray("defaultSqlCapabilities"))); + assertEquals(AgentProtocol.COMMON_METHODS, strings(contract.getAsJsonArray("commonMethods"))); + assertEquals(AgentProtocol.MONGO_LEGACY_METHODS, strings(contract.getAsJsonArray("mongoLegacyMethods"))); + assertEquals(AgentProtocol.KV_METHODS, strings(contract.getAsJsonArray("kvMethods"))); + } + + @Test + void jsonRpcServerExposesProtocolHandshake() { + JsonRpcServer server = new JsonRpcServer(new MinimalAgent()); + + String response = server.handleRequest( + "{\"jsonrpc\":\"2.0\",\"id\":7,\"method\":\"" + AgentProtocol.METHOD_HANDSHAKE + "\",\"params\":{\"appVersion\":\"0.5.13\",\"supportedProtocolVersions\":[1]}}" + ); + + JsonObject json = JsonParser.parseString(response).getAsJsonObject(); + JsonObject result = json.getAsJsonObject("result"); + assertEquals("2.0", json.get("jsonrpc").getAsString()); + assertEquals(7, json.get("id").getAsInt()); + assertEquals(1, result.get("protocolVersion").getAsInt()); + assertEquals(1, result.get("agentProtocolVersion").getAsInt()); + assertTrue(containsCapability(result.getAsJsonArray("capabilities"), "connect")); + assertTrue(containsCapability(result.getAsJsonArray("capabilities"), "query")); + assertTrue(containsCapability(result.getAsJsonArray("capabilities"), "metadata")); + } + + @Test + void jsonRpcServerReconnectsWhenStoredJdbcConnectionIsStale() { + ReconnectingAgent agent = new ReconnectingAgent(); + JsonRpcServer server = new JsonRpcServer(agent); + + server.handleRequest( + "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"connect\",\"params\":{\"host\":\"db.example.com\",\"port\":1521,\"database\":\"ORCL\",\"username\":\"u\",\"password\":\"p\"}}" + ); + String response = server.handleRequest( + "{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"list_databases\",\"params\":{}}" + ); + + JsonObject json = JsonParser.parseString(response).getAsJsonObject(); + assertTrue(json.has("result")); + assertEquals(2, agent.connectCount); + assertEquals(1, agent.disconnectCount); + assertEquals(1, agent.firstConnectionValidChecks); + } + + @Test + void jsonRpcServerValidatesCurrentJdbcConnection() { + ReconnectingAgent agent = new ReconnectingAgent(); + JsonRpcServer server = new JsonRpcServer(agent); + + server.handleRequest( + "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"connect\",\"params\":{\"host\":\"db.example.com\",\"port\":1521,\"database\":\"ORCL\",\"username\":\"u\",\"password\":\"p\"}}" + ); + String response = server.handleRequest( + "{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"" + AgentProtocol.METHOD_VALIDATE_CONNECTION + "\",\"params\":{}}" + ); + + JsonObject json = JsonParser.parseString(response).getAsJsonObject(); + assertTrue(json.has("error")); + assertEquals(1, agent.connectCount); + assertEquals(1, agent.firstConnectionValidChecks); + } + + @Test + void jsonRpcServerSwitchesCatalogBeforeMetadataCalls() { + CatalogSwitchAgent agent = new CatalogSwitchAgent(); + JsonRpcServer server = new JsonRpcServer(agent); + + String response = server.handleRequest( + "{\"jsonrpc\":\"2.0\",\"id\":3,\"method\":\"" + AgentProtocol.METHOD_LIST_TABLES + "\",\"params\":{\"database\":\"sales\",\"schema\":\"app\"}}" + ); + + JsonObject json = JsonParser.parseString(response).getAsJsonObject(); + assertTrue(json.has("result")); + assertEquals("sales", agent.catalogs.get(0)); + assertEquals("app", agent.lastSchema); + } + + @Test + void exposesJavaFriendlyDefaultsAndModels() { + ConnectParams params = new ConnectParams("localhost", 5432, "demo", "user", "secret", "ssl=false", "", false); + assertEquals("localhost", params.getHost()); + assertEquals("ssl=false", params.getUrl_params()); + + TableInfo table = new TableInfo("orders", "TABLE"); + assertEquals("TABLE", table.getTable_type()); + + QueryResult result = new QueryResult( + Collections.singletonList("id"), + Collections.singletonList(Collections.singletonList(1)), + 2L, + 3L + ); + assertEquals(2L, result.getAffected_rows()); + assertEquals(3L, result.getExecution_time_ms()); + assertFalse(result.getTruncated()); + + QueryPageResult page = new QueryPageResult( + Collections.singletonList("id"), + Collections.emptyList(), + 0L, + 1L, + false, + "session-1", + true + ); + assertEquals("session-1", page.getSession_id()); + assertEquals(true, page.getHas_more()); + + assertEquals(JdbcExecutor.DEFAULT_MAX_ROWS, new ExecuteQueryOptions().getMaxRows()); + assertEquals(100, new QueryPageOptions().getPageSize()); + assertNotNull(JdbcExecutor.INSTANCE); + } + + @Test + void exposesDatabaseAgentDefaultMethodsToJavaImplementors() { + DatabaseAgent agent = new MinimalAgent(); + + assertEquals(1, agent.listObjects("public").size()); + assertThrows(UnsupportedOperationException.class, () -> + agent.getObjectSource("public", "orders", "TABLE") + ); + assertEquals("SET SCHEMA \"public\"", agent.setSchemaSQL("public")); + assertThrows(IllegalStateException.class, () -> + agent.executeQueryPage("select 1", "public") + ); + assertEquals(0L, agent.executeQuery("select 1", "public").getAffected_rows()); + + String ddl = DatabaseAgent.buildTableDdl( + "public", + "orders", + Collections.singletonList(new ColumnInfo("id", "integer", false, null, true)), + Collections.singletonList(new IndexInfo("orders_name_idx", Collections.singletonList("name"), false, false)), + Collections.singletonList(new ForeignKeyInfo("orders_customer_fk", "customer_id", "customers", "id")) + ); + assertEquals( + "CREATE TABLE \"public\".\"orders\" (\n" + + " \"id\" integer NOT NULL,\n" + + " PRIMARY KEY (\"id\"),\n" + + " CONSTRAINT \"orders_customer_fk\" FOREIGN KEY (\"customer_id\") REFERENCES \"customers\"(\"id\")\n" + + ");\n\n" + + "CREATE INDEX \"orders_name_idx\" ON \"public\".\"orders\" (\"name\");", + ddl + ); + } + + @Test + void executesTransactionsOneByOneWhenJdbcDriverDoesNotSupportTransactions() { + List calls = new ArrayList<>(); + DatabaseAgent agent = new TransactionAgent(nonTransactionalConnection(calls)); + + QueryResult result = agent.executeTransaction(Arrays.asList("UPDATE A SET ID = 1", "UPDATE B SET ID = 2"), "APP"); + + assertEquals(2L, result.getAffected_rows()); + assertEquals( + Arrays.asList("supportsTransactions", "setSchema:APP", "executeUpdate:UPDATE A SET ID = 1", "executeUpdate:UPDATE B SET ID = 2"), + calls + ); + } + + @Test + void buildsTableDdlWithoutSchemaQualifierWhenSchemaIsBlank() { + String ddl = DatabaseAgent.buildTableDdl( + "", + "orders", + Collections.singletonList(new ColumnInfo("id", "integer", false, null, true)), + Collections.emptyList(), + Collections.emptyList() + ); + + assertEquals( + "CREATE TABLE \"orders\" (\n" + + " \"id\" integer NOT NULL,\n" + + " PRIMARY KEY (\"id\")\n" + + ");\n", + ddl + ); + } + + @Test + void buildsTableDdlWithColumnComments() { + String ddl = DdlBuilder.buildTableDdl( + "public", + "orders", + Collections.singletonList(new ColumnInfo( + "display_name", + "varchar", + true, + null, + false, + null, + "User's display name", + null, + null, + 64 + )), + Collections.emptyList(), + Collections.emptyList(), + false, + true + ); + + assertEquals( + "CREATE TABLE \"public\".\"orders\" (\n" + + " \"display_name\" varchar(64)\n" + + ");\n\n" + + "COMMENT ON COLUMN \"public\".\"orders\".\"display_name\" IS 'User''s display name';", + ddl + ); + } + + private static class MinimalAgent implements DatabaseAgent { + @Override + public void connect(ConnectParams params) { + } + + @Override + public boolean testConnection(ConnectParams params) { + return true; + } + + @Override + public List listDatabases() { + return Collections.emptyList(); + } + + @Override + public List listSchemas() { + return Collections.singletonList("public"); + } + + @Override + public List listTables(String schema) { + return Collections.singletonList(new TableInfo("orders", "TABLE")); + } + + @Override + public List getColumns(String schema, String table) { + return Arrays.asList( + new ColumnInfo("id", "integer", false, null, true), + new ColumnInfo("name", "character varying", true, null, false, null, null, null, null, 255) + ); + } + + @Override + public List listIndexes(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listForeignKeys(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listTriggers(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public QueryResult executeQuery(String sql, String schema, ExecuteQueryOptions options) { + return new QueryResult(Collections.emptyList(), Collections.emptyList(), 0L, 0L); + } + + @Override + public void disconnect() { + } + + @Override + public Connection getConnection() { + return null; + } + } + + private static final class TransactionAgent extends MinimalAgent { + private final Connection connection; + + private TransactionAgent(Connection connection) { + this.connection = connection; + } + + @Override + public Connection getConnection() { + return connection; + } + } + + private static final class ReconnectingAgent extends MinimalAgent { + private int connectCount; + private int disconnectCount; + private int firstConnectionValidChecks; + private Connection connection; + + @Override + public void connect(ConnectParams params) { + connectCount += 1; + final int connectionNumber = connectCount; + connection = proxy(Connection.class, (method, args) -> { + String name = method.getName(); + if ("isClosed".equals(name)) { + return false; + } + if ("isValid".equals(name)) { + if (connectionNumber == 1) { + firstConnectionValidChecks += 1; + return false; + } + return true; + } + if ("close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + }); + } + + @Override + public void disconnect() { + disconnectCount += 1; + } + + @Override + public Connection getConnection() { + return connection; + } + } + + private static final class CatalogSwitchAgent extends MinimalAgent { + private final List catalogs = new ArrayList<>(); + private String lastSchema = ""; + + @Override + public Connection getConnection() { + return proxy(Connection.class, (method, args) -> { + if ("setCatalog".equals(method.getName())) { + catalogs.add(String.valueOf(args[0])); + return null; + } + return defaultValue(method.getReturnType()); + }); + } + + @Override + public List listTables(String schema) { + lastSchema = schema; + return super.listTables(schema); + } + } + + private static Connection nonTransactionalConnection(List calls) { + return proxy(Connection.class, (method, args) -> { + String name = method.getName(); + if ("getMetaData".equals(name)) { + return proxy(java.sql.DatabaseMetaData.class, (metaMethod, metaArgs) -> { + if ("supportsTransactions".equals(metaMethod.getName())) { + calls.add("supportsTransactions"); + return false; + } + return defaultValue(metaMethod.getReturnType()); + }); + } + if ("createStatement".equals(name)) { + return proxy(java.sql.Statement.class, (stmtMethod, stmtArgs) -> { + if ("execute".equals(stmtMethod.getName())) { + calls.add("execute:" + stmtArgs[0]); + return false; + } + if ("executeUpdate".equals(stmtMethod.getName())) { + calls.add("executeUpdate:" + stmtArgs[0]); + return 1; + } + return defaultValue(stmtMethod.getReturnType()); + }); + } + if ("setSchema".equals(name)) { + calls.add("setSchema:" + args[0]); + return null; + } + if ("setCatalog".equals(name)) { + calls.add("setCatalog:" + args[0]); + return null; + } + if ("setAutoCommit".equals(name) || "commit".equals(name) || "rollback".equals(name)) { + calls.add(name); + return null; + } + if ("getAutoCommit".equals(name)) { + return true; + } + return defaultValue(method.getReturnType()); + }); + } + + private static T proxy(Class type, MethodHandler handler) { + InvocationHandler invocationHandler = new InvocationHandler() { + @Override + public Object invoke(Object proxy, Method method, Object[] args) { + return handler.handle(method, args == null ? new Object[0] : args); + } + }; + return type.cast(Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, invocationHandler)); + } + + private static Object defaultValue(Class type) { + if (Boolean.TYPE.equals(type)) { + return false; + } + if (Integer.TYPE.equals(type)) { + return 0; + } + if (Long.TYPE.equals(type)) { + return 0L; + } + return null; + } + + private static boolean containsCapability(JsonArray capabilities, String expected) { + for (int i = 0; i < capabilities.size(); i++) { + if (expected.equals(capabilities.get(i).getAsString())) { + return true; + } + } + return false; + } + + private static JsonObject protocolContract() { + InputStream stream = CommonJavaCompatibilityTest.class.getResourceAsStream("/agent-protocol-v1.json"); + if (stream == null) { + throw new AssertionError("agent-protocol-v1.json resource missing"); + } + return JsonParser.parseReader(new InputStreamReader(stream, StandardCharsets.UTF_8)).getAsJsonObject(); + } + + private static List strings(JsonArray array) { + List result = new ArrayList<>(); + for (int i = 0; i < array.size(); i++) { + result.add(array.get(i).getAsString()); + } + return result; + } + + private interface MethodHandler { + Object handle(Method method, Object[] args); + } +} diff --git a/agents/common/src/test/java/com/dbx/agent/ConfiguredJdbcAgentTest.java b/agents/common/src/test/java/com/dbx/agent/ConfiguredJdbcAgentTest.java new file mode 100644 index 0000000000..7a243436fd --- /dev/null +++ b/agents/common/src/test/java/com/dbx/agent/ConfiguredJdbcAgentTest.java @@ -0,0 +1,91 @@ +package com.dbx.agent; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class ConfiguredJdbcAgentTest { + @Test + void buildsJdbcUrlFromProfileTemplateAndUrlParams() { + JdbcAgentProfile profile = new JdbcAgentProfile( + "com.example.Driver", + "jdbc:example://{host}:{port}/{database}" + ); + + String url = profile.buildUrl( + new ConnectParams( + "127.0.0.1", + 1234, + "demo", + "", + "", + "ssl=false", + "", + false + ) + ); + + assertEquals("jdbc:example://127.0.0.1:1234/demo?ssl=false", url); + } + + @Test + void usesExplicitConnectionStringBeforeTemplate() { + JdbcAgentProfile profile = new JdbcAgentProfile( + "com.example.Driver", + "jdbc:example://{host}:{port}/{database}" + ); + + String url = profile.buildUrl( + new ConnectParams( + "127.0.0.1", + 1234, + "demo", + "", + "", + "", + "jdbc:example://server:4321/prod", + false + ) + ); + + assertEquals("jdbc:example://server:4321/prod", url); + } + + @Test + void usesDefaultPortWhenParamsOmitPort() { + JdbcAgentProfile profile = new JdbcAgentProfile( + "com.example.Driver", + "jdbc:example://{host}:{port}/{database}", + 9999 + ); + + String url = profile.buildUrl( + new ConnectParams( + "127.0.0.1", + 0, + "demo", + "", + "", + "", + "", + false + ) + ); + + assertEquals("jdbc:example://127.0.0.1:9999/demo", url); + } + + @Test + void canDisableSchemaSwitchingForDriversThatDoNotSupportContextChanges() { + ConfiguredJdbcAgent agent = new ConfiguredJdbcAgent( + new JdbcAgentProfile( + "com.example.Driver", + "jdbc:example://{host}:{port}/{database}", + 0, + true + ) + ) {}; + + assertEquals("", agent.setSchemaSQL("APP")); + } +} diff --git a/agents/common/src/test/java/com/dbx/agent/EwkbWktDecoderTest.java b/agents/common/src/test/java/com/dbx/agent/EwkbWktDecoderTest.java new file mode 100644 index 0000000000..3be543161d --- /dev/null +++ b/agents/common/src/test/java/com/dbx/agent/EwkbWktDecoderTest.java @@ -0,0 +1,163 @@ +package com.dbx.agent; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class EwkbWktDecoderTest { + + private static byte[] hex(String s) { + s = s.replace(" ", ""); + if (s.startsWith("0x") || s.startsWith("0X")) s = s.substring(2); + byte[] out = new byte[s.length() / 2]; + for (int i = 0; i < out.length; i++) { + int hi = Character.digit(s.charAt(i * 2), 16); + int lo = Character.digit(s.charAt(i * 2 + 1), 16); + out[i] = (byte) ((hi << 4) | lo); + } + return out; + } + + // ────────────────────────────────────────────────────────────────────── + // Cross-checked against the Rust ewkb_to_wkt tests in + // crates/dbx-core/src/db/postgres.rs (same hex inputs, same expected WKT). + // ────────────────────────────────────────────────────────────────────── + + @Test + void decodesPointWithSridFromRustFixture() { + byte[] raw = hex("0101000020E6100000C520B07268195D404E62105839F44340"); + assertEquals("POINT(116.397 39.908)", EwkbWktDecoder.decode(raw)); + } + + @Test + void decodesMultiPolygonFromRustFixture() { + byte[] raw = hex( + "0106000020E610000002000000010300000001000000050000000000000000005D40000000000000444000000000" + + "00405D4000000000000044400000000000405D4000000000008044400000000000005D40000000000080444000" + + "00000000005D400000000000004440010300000001000000050000000000000000805D40000000000080434000" + + "00000000C05D4000000000008043400000000000C05D4000000000000044400000000000805D40000000000000" + + "44400000000000805D400000000000804340" + ); + assertEquals( + "MULTIPOLYGON(((116 40,117 40,117 41,116 41,116 40)),((118 39,119 39,119 40,118 40,118 39)))", + EwkbWktDecoder.decode(raw) + ); + } + + @Test + void decodesGeometryCollectionFromRustFixture() { + byte[] raw = hex( + "0107000020E61000000200000001010000000000000000005D40000000000000444001020000000200000000000000" + + "00405D4000000000008044400000000000805D400000000000004540" + ); + assertEquals( + "GEOMETRYCOLLECTION(POINT(116 40),LINESTRING(117 41,118 42))", + EwkbWktDecoder.decode(raw) + ); + } + + @Test + void decodesHexStringWithoutPrefix() { + String hex = "0101000020E6100000C520B07268195D404E62105839F44340"; + assertEquals("POINT(116.397 39.908)", EwkbWktDecoder.decode(hex)); + } + + @Test + void decodesHexStringWith0xPrefix() { + String hex = "0x0101000020E6100000C520B07268195D404E62105839F44340"; + assertEquals("POINT(116.397 39.908)", EwkbWktDecoder.decode(hex)); + } + + @Test + void preservesAlreadyWktTextFromStAsText() { + String wkt = "POINT(116.397 39.908)"; + assertEquals(wkt, EwkbWktDecoder.decode(wkt)); + } + + @Test + void preservesAlreadyEwktTextWithSrid() { + String ewkt = "SRID=4326;POINT(116.397 39.908)"; + assertEquals(ewkt, EwkbWktDecoder.decode(ewkt)); + } + + @Test + void truncatedBytesFallBackToHex() { + // First few bytes of a valid point but truncated mid-coordinate. + byte[] raw = hex("0101000020E6100000C520B072"); + Object decoded = EwkbWktDecoder.decode(raw); + assertTrue(decoded instanceof String); + String s = (String) decoded; + assertTrue(s.startsWith("0x"), "expected hex fallback, got: " + s); + assertEquals("0x0101000020e6100000c520b072", s); + } + + @Test + void unparseableHexStringPreservedWithHexPrefix() { + // Looks like hex (even, leading 01), but bytes are not valid EWKB. + String mostly = "0123456789ABCDEF"; + Object decoded = EwkbWktDecoder.decode(mostly); + assertTrue(decoded instanceof String); + // Shape A: parseEwkb returns null, so we re-emit the input ensuring 0x prefix. + assertTrue(((String) decoded).toLowerCase().startsWith("0x"), decoded.toString()); + } + + @Test + void nullInputReturnsNull() { + assertNull(EwkbWktDecoder.decode(null)); + } + + @Test + void formatsWholeNumberDoublesWithoutTrailingDot() { + // Ensure POINT(116 40) is "116 40", not "116.0 40.0" — matches Rust f64 Display. + byte[] raw = hex("0101000020E61000000000000000005D400000000000004440"); + assertEquals("POINT(116 40)", EwkbWktDecoder.decode(raw)); + } + + @Test + void emptyPointBecomesPointEmpty() { + // A 2D point with both coordinates = NaN encodes as "POINT EMPTY" in the decoder. + // EWKB: little-endian Point with SRID=0 omitted; type=1, then two NaN doubles. + byte[] raw = hex("0101000000" + nanLe() + nanLe()); + assertEquals("POINT EMPTY", EwkbWktDecoder.decode(raw)); + } + + private static String nanLe() { + // IEEE 754 quiet NaN, little-endian — same value Rust's f64::NAN encodes to. + long bits = Double.doubleToRawLongBits(Double.NaN); + StringBuilder sb = new StringBuilder(16); + for (int i = 0; i < 8; i++) { + int b = (int) ((bits >>> (i * 8)) & 0xFF); + sb.append(String.format("%02x", b)); + } + return sb.toString(); + } + + @Test + void pgGeometryReflectiveDecodeReturnsValueText() { + // Synthetic stand-in for org.postgis.PGgeometry — same shape: getValue() returns EWKT. + Object pgGeom = new FakePGgeometry("SRID=4326;POINT(116.397 39.908)"); + assertEquals("SRID=4326;POINT(116.397 39.908)", EwkbWktDecoder.decode(pgGeom)); + } + + @SuppressWarnings("unused") + public static final class FakePGgeometry { + private final String value; + + public FakePGgeometry(String value) { + this.value = value; + } + + // Class name won't match the reflective list so this falls through to toString(); + // we keep it here purely to assert the toString() fallback also works (no NPE). + public String getValue() { + return value; + } + + @Override + public String toString() { + return value; + } + } +} diff --git a/agents/common/src/test/java/com/dbx/agent/JdbcAgentProfileExtendedTest.java b/agents/common/src/test/java/com/dbx/agent/JdbcAgentProfileExtendedTest.java new file mode 100644 index 0000000000..e8848f2fde --- /dev/null +++ b/agents/common/src/test/java/com/dbx/agent/JdbcAgentProfileExtendedTest.java @@ -0,0 +1,109 @@ +package com.dbx.agent; + +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class JdbcAgentProfileExtendedTest { + @Test + void appendsQueryParamsToJdbcUrlTemplates() { + JdbcAgentProfile profile = new JdbcAgentProfile( + "example.Driver", + "jdbc:example://{host}:{port}/{database}", + 1234 + ); + ConnectParams params = new ConnectParams(); + params.setHost("db.example.com"); + params.setPort(0); + params.setDatabase("analytics"); + params.setUrl_params("ssl=true"); + + assertEquals("jdbc:example://db.example.com:1234/analytics?ssl=true", profile.buildUrl(params)); + } + + @Test + void appendsSemicolonParamsToSemicolonJdbcUrlTemplates() { + JdbcAgentProfile profile = new JdbcAgentProfile( + "example.Driver", + "jdbc:exa:{host}:{port};schema={database}", + 8563 + ); + ConnectParams params = new ConnectParams(); + params.setHost("db.example.com"); + params.setPort(0); + params.setDatabase("analytics"); + params.setUrl_params("encryption=1"); + + assertEquals("jdbc:exa:db.example.com:8563;schema=analytics;encryption=1", profile.buildUrl(params)); + } + + @Test + void appendsCommaParamsToTeradataJdbcUrlTemplates() { + JdbcAgentProfile profile = new JdbcAgentProfile( + "example.Driver", + "jdbc:teradata://{host}/DBS_PORT={port},DATABASE={database}", + 1025 + ); + ConnectParams params = new ConnectParams(); + params.setHost("db.example.com"); + params.setPort(0); + params.setDatabase("analytics"); + params.setUrl_params("LOGMECH=LDAP"); + + assertEquals("jdbc:teradata://db.example.com/DBS_PORT=1025,DATABASE=analytics,LOGMECH=LDAP", profile.buildUrl(params)); + } + + @Test + void appendsColonPropertiesToDb2JdbcUrlTemplates() { + JdbcAgentProfile profile = new JdbcAgentProfile( + "example.Driver", + "jdbc:db2://{host}:{port}/{database}", + 50000 + ); + ConnectParams params = new ConnectParams(); + params.setHost("db.example.com"); + params.setPort(0); + params.setDatabase("analytics"); + params.setUrl_params("sslConnection=true"); + + assertEquals("jdbc:db2://db.example.com:50000/analytics:sslConnection=true;", profile.buildUrl(params)); + } + + @Test + void preservesExplicitConnectionStringForVendorSpecificUrls() { + JdbcAgentProfile profile = new JdbcAgentProfile( + "example.Driver", + "jdbc:example://{host}:{port}/{database}", + 1234 + ); + ConnectParams params = new ConnectParams(); + params.setConnection_string("jdbc:example:special://host/path;token=secret"); + + assertEquals("jdbc:example:special://host/path;token=secret", profile.buildUrl(params)); + } + + @Test + void exposesDialectProfileOptions() { + JdbcAgentProfile profile = new JdbcAgentProfile( + "example.Driver", + "jdbc:example://{host}:{port}/{database}", + 1234, + false, + java.util.Collections.singleton("SYS"), + java.util.Arrays.asList("TABLE", "VIEW"), + "`", + "USE", + false, + true, + true, + true + ); + + assertEquals("USE `analytics``prod`", profile.schemaSwitchSql("analytics`prod")); + assertEquals("`orders`", profile.quoteIdentifier("orders")); + assertEquals(false, profile.getCatalogFallbackEnabled()); + assertEquals(true, profile.getNativeTableDdlSupported()); + assertEquals(true, profile.getObjectSourceSupported()); + assertEquals(true, profile.getTriggersSupported()); + } +} diff --git a/agents/common/src/test/java/com/dbx/agent/JdbcExecutorTest.java b/agents/common/src/test/java/com/dbx/agent/JdbcExecutorTest.java new file mode 100644 index 0000000000..9acee273bc --- /dev/null +++ b/agents/common/src/test/java/com/dbx/agent/JdbcExecutorTest.java @@ -0,0 +1,98 @@ +package com.dbx.agent; + +import org.junit.jupiter.api.Test; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.sql.ResultSet; +import java.sql.Types; +import javax.sql.rowset.serial.SerialBlob; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class JdbcExecutorTest { + @Test + void stringResultValueFormatsBlobWithoutUsingStringConversion() throws Exception { + ResultSet rs = resultSet( + new byte[]{0x01, 0x2A, (byte) 0xFF}, + () -> { + throw new AssertionError("BLOB columns should not be read with getString"); + } + ); + + assertEquals("0x012aff", JdbcExecutor.stringResultValue(rs, 1, Types.BLOB)); + } + + @Test + void defaultResultValueReadsClobColumnsAsText() throws Exception { + ResultSet rs = resultSet(null, () -> "hello clob"); + + assertEquals("hello clob", JdbcExecutor.INSTANCE.defaultResultValue(rs, 1, Types.CLOB)); + } + + @Test + void defaultResultValueNormalizesBlobObjectsFromFallbackTypes() throws Exception { + ResultSet rs = resultSet(new SerialBlob(new byte[]{0x0A, 0x0B}), null, false); + + assertEquals("0x0a0b", JdbcExecutor.INSTANCE.defaultResultValue(rs, 1, Types.OTHER)); + } + + private static ResultSet resultSet(byte[] bytes, StringSupplier stringSupplier) { + return resultSet(bytes, stringSupplier, false); + } + + private static ResultSet resultSet(Object objectValue, StringSupplier stringSupplier, boolean wasNull) { + InvocationHandler handler = (Object unused, Method method, Object[] args) -> { + switch (method.getName()) { + case "getObject": + return objectValue; + case "getBytes": + return objectValue instanceof byte[] ? objectValue : null; + case "getString": + return stringSupplier == null ? null : stringSupplier.get(); + case "wasNull": + return wasNull; + default: + return defaultValue(method.getReturnType()); + } + }; + return (ResultSet) Proxy.newProxyInstance( + ResultSet.class.getClassLoader(), + new Class[]{ResultSet.class}, + handler + ); + } + + private static Object defaultValue(Class type) { + if (type == Boolean.TYPE) { + return false; + } + if (type == Byte.TYPE) { + return (byte) 0; + } + if (type == Short.TYPE) { + return (short) 0; + } + if (type == Integer.TYPE) { + return 0; + } + if (type == Long.TYPE) { + return 0L; + } + if (type == Float.TYPE) { + return 0f; + } + if (type == Double.TYPE) { + return 0.0d; + } + if (type == Character.TYPE) { + return '\0'; + } + return null; + } + + private interface StringSupplier { + String get() throws Exception; + } +} diff --git a/agents/common/src/test/java/com/dbx/agent/PostgresLikeAgentTest.java b/agents/common/src/test/java/com/dbx/agent/PostgresLikeAgentTest.java new file mode 100644 index 0000000000..130c3dd9e1 --- /dev/null +++ b/agents/common/src/test/java/com/dbx/agent/PostgresLikeAgentTest.java @@ -0,0 +1,304 @@ +package com.dbx.agent; + +import org.junit.jupiter.api.Test; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.Types; +import java.util.ArrayList; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class PostgresLikeAgentTest { + @Test + void metadataQueriesUsePgCatalogInsteadOfInformationSchema() { + TestPostgresLikeAgent agent = new TestPostgresLikeAgent(); + agent.connect(new ConnectParams()); + + agent.listSchemas(); + agent.listTables("app"); + agent.listObjects("app"); + agent.getColumns("app", "orders"); + agent.listForeignKeys("app", "orders"); + agent.listTriggers("app", "orders"); + + String sql = String.join("\n", MetadataSqlFake.statements); + + assertFalse(sql.contains("FROM information_schema"), sql); + assertFalse(sql.contains("JOIN information_schema"), sql); + assertTrue(sql.contains("pg_catalog.pg_namespace"), sql); + assertTrue(sql.contains("pg_catalog.pg_class"), sql); + assertTrue(sql.contains("pg_catalog.pg_proc"), sql); + assertTrue(sql.contains("pg_catalog.pg_attribute"), sql); + assertTrue(sql.contains("pg_catalog.pg_constraint"), sql); + assertTrue(sql.contains("pg_catalog.pg_trigger"), sql); + assertFalse(sql.contains(" AS key "), sql); + assertFalse(sql.contains(" key."), sql); + } + + @Test + void postgisGeometryTypeNameDetection() { + assertTrue(PostgresLikeAgent.isPostgisGeometryTypeName("geometry")); + assertTrue(PostgresLikeAgent.isPostgisGeometryTypeName("GEOMETRY")); + assertTrue(PostgresLikeAgent.isPostgisGeometryTypeName(" Geography ")); + assertTrue(PostgresLikeAgent.isPostgisGeometryTypeName("public.geometry")); + assertTrue(PostgresLikeAgent.isPostgisGeometryTypeName("geometry(Point,4326)")); + assertFalse(PostgresLikeAgent.isPostgisGeometryTypeName("")); + assertFalse(PostgresLikeAgent.isPostgisGeometryTypeName(null)); + assertFalse(PostgresLikeAgent.isPostgisGeometryTypeName("text")); + assertFalse(PostgresLikeAgent.isPostgisGeometryTypeName("vector")); + } + + @Test + void executeQueryDecodesGeometryColumnsToWktAndReportsColumnTypes() { + TestPostgresLikeAgent agent = new TestPostgresLikeAgent(); + agent.connect(new ConnectParams()); + + QueryResult result = JdbcExecutor.INSTANCE.readResultSet( + GeometryResultSet.create(), + 5L, + JdbcExecutor.DEFAULT_MAX_ROWS, + agent.geometryAwareResolverForTest() + ); + + assertEquals(2, result.getColumns().size()); + assertEquals("id", result.getColumns().get(0)); + assertEquals("geom", result.getColumns().get(1)); + + // column_types is reported via JDBC getColumnTypeName + assertEquals(2, result.getColumn_types().size()); + assertEquals("int4", result.getColumn_types().get(0)); + assertEquals("geometry", result.getColumn_types().get(1)); + + // The geometry cell is decoded to WKT (matches Rust ewkb_to_wkt fixture). + assertEquals(1, result.getRows().size()); + assertEquals(1, result.getRows().get(0).get(0)); + assertEquals("POINT(116.397 39.908)", result.getRows().get(0).get(1)); + } + + private static final class TestPostgresLikeAgent extends PostgresLikeAgent { + private TestPostgresLikeAgent() { + super(new PostgresLikeAgentProfile( + PostgresLikeAgentTest.class.getName(), + "jdbc:test://{host}:{port}/{database}" + )); + } + + @Override + protected Connection openConnection(ConnectParams params) { + return MetadataSqlFake.connection(); + } + + JdbcExecutor.ColumnAwareResultValueReader geometryAwareResolverForTest() { + return (rs, index, sqlType, columnTypeName) -> { + if (PostgresLikeAgent.isPostgisGeometryTypeName(columnTypeName)) { + Object raw = rs.getObject(index); + if (rs.wasNull() || raw == null) { + return null; + } + return EwkbWktDecoder.decode(raw); + } + if (sqlType == Types.INTEGER) { + return rs.getInt(index); + } + return rs.getObject(index); + }; + } + } + + private static final class GeometryResultSet { + static ResultSet create() { + ResultSetMetaData meta = (ResultSetMetaData) Proxy.newProxyInstance( + GeometryResultSet.class.getClassLoader(), + new Class[]{ResultSetMetaData.class}, + (proxy, method, args) -> { + switch (method.getName()) { + case "getColumnCount": + return 2; + case "getColumnLabel": + case "getColumnName": + return ((Integer) args[0]) == 1 ? "id" : "geom"; + case "getColumnType": + return ((Integer) args[0]) == 1 ? Types.INTEGER : Types.OTHER; + case "getColumnTypeName": + return ((Integer) args[0]) == 1 ? "int4" : "geometry"; + default: + return null; + } + } + ); + + // POINT(116.397 39.908) with SRID=4326, little-endian. + String hex = "0101000020E6100000C520B07268195D404E62105839F44340"; + byte[] geomBytes = parseHex(hex); + + int[] cursor = new int[]{0}; // 0 = before first row + return (ResultSet) Proxy.newProxyInstance( + GeometryResultSet.class.getClassLoader(), + new Class[]{ResultSet.class}, + (proxy, method, args) -> { + String name = method.getName(); + switch (name) { + case "getMetaData": + return meta; + case "next": + cursor[0] += 1; + return cursor[0] == 1; + case "getInt": + return cursor[0] == 1 ? 1 : 0; + case "getObject": + return ((Integer) args[0]) == 2 ? geomBytes : 1; + case "wasNull": + return false; + case "close": + return null; + default: + return defaultPrimitive(method.getReturnType()); + } + } + ); + } + + private static byte[] parseHex(String s) { + byte[] out = new byte[s.length() / 2]; + for (int i = 0; i < out.length; i++) { + int hi = Character.digit(s.charAt(i * 2), 16); + int lo = Character.digit(s.charAt(i * 2 + 1), 16); + out[i] = (byte) ((hi << 4) | lo); + } + return out; + } + + private static Object defaultPrimitive(Class t) { + if (Boolean.TYPE.equals(t)) return false; + if (Integer.TYPE.equals(t)) return 0; + if (Long.TYPE.equals(t)) return 0L; + if (Double.TYPE.equals(t)) return 0.0; + return null; + } + } + + private static final class MetadataSqlFake { + private static final List statements = new ArrayList(); + + private static Connection connection() { + statements.clear(); + return proxy(Connection.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("prepareStatement".equals(name)) { + statements.add((String) args[0]); + return preparedStatement(); + } + if ("isClosed".equals(name)) { + return false; + } + if ("close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private static PreparedStatement preparedStatement() { + final ResultSet resultSet = emptyResultSet(); + return proxy(PreparedStatement.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("executeQuery".equals(name)) { + return resultSet; + } + if ("setString".equals(name)) { + statements.add("param:" + args[0] + "=" + args[1]); + return null; + } + if ("close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private static ResultSet emptyResultSet() { + final ResultSetMetaData metadata = proxy(ResultSetMetaData.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + if ("getColumnCount".equals(method.getName())) { + return 0; + } + return defaultValue(method.getReturnType()); + } + }); + return proxy(ResultSet.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("next".equals(name)) { + return false; + } + if ("getMetaData".equals(name)) { + return metadata; + } + if ("close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private static T proxy(Class type, final MethodHandler handler) { + InvocationHandler invocationHandler = new InvocationHandler() { + @Override + public Object invoke(Object proxy, Method method, Object[] args) { + return handler.handle(method, args); + } + }; + return type.cast(Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, invocationHandler)); + } + + private static Object defaultValue(Class type) { + if (Boolean.TYPE.equals(type)) { + return false; + } + if (Byte.TYPE.equals(type)) { + return (byte) 0; + } + if (Short.TYPE.equals(type)) { + return (short) 0; + } + if (Integer.TYPE.equals(type)) { + return 0; + } + if (Long.TYPE.equals(type)) { + return 0L; + } + if (Float.TYPE.equals(type)) { + return 0f; + } + if (Double.TYPE.equals(type)) { + return 0.0d; + } + if (Character.TYPE.equals(type)) { + return '\0'; + } + return null; + } + } + + private interface MethodHandler { + Object handle(Method method, Object[] args); + } +} diff --git a/agents/common/src/test/java/com/dbx/agent/StandardJdbcMetadataTest.java b/agents/common/src/test/java/com/dbx/agent/StandardJdbcMetadataTest.java new file mode 100644 index 0000000000..55ace77357 --- /dev/null +++ b/agents/common/src/test/java/com/dbx/agent/StandardJdbcMetadataTest.java @@ -0,0 +1,471 @@ +package com.dbx.agent; + +import org.junit.jupiter.api.Test; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.ResultSet; +import java.util.Arrays; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicReference; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class StandardJdbcMetadataTest { + private final JdbcAgentProfile profile = new JdbcAgentProfile( + "example.Driver", + "jdbc:example://{host}:{port}/{database}", + 0, + false, + Collections.singleton("SYS"), + Arrays.asList("TABLE", "VIEW", "BASE TABLE") + ); + + @Test + void listsSchemasWithFilteringAndStableOrdering() { + Connection conn = connection( + rows(row("TABLE_SCHEM", "APP"), row("TABLE_SCHEM", "SYS"), row("TABLE_SCHEM", "PUBLIC")), + rows(), + rows(), + rows(), + rows(), + rows() + ); + + assertEquals(Arrays.asList("APP", "PUBLIC"), StandardJdbcMetadata.INSTANCE.listSchemas(conn, profile)); + } + + @Test + void listsSchemasWhenConnectionGetSchemaIsUnsupported() { + Connection conn = connection( + rows(row("TABLE_SCHEM", "APP"), row("TABLE_SCHEM", "PUBLIC")), + rows(), + rows(), + rows(), + rows(), + rows(), + true + ); + + assertEquals(Arrays.asList("APP", "PUBLIC"), StandardJdbcMetadata.INSTANCE.listSchemas(conn, profile)); + } + + @Test + void listsSchemasWhenConnectionGetSchemaThrowsAbstractMethodError() { + Connection conn = connection( + rows(row("TABLE_SCHEM", "APP"), row("TABLE_SCHEM", "PUBLIC")), + rows(), + rows(), + rows(), + rows(), + rows(), + UnsupportedSchemaCall.ABSTRACT_METHOD_ERROR + ); + + assertEquals(Arrays.asList("APP", "PUBLIC"), StandardJdbcMetadata.INSTANCE.listSchemas(conn, profile)); + } + + @Test + void listsSchemasWithEmptyResultWhenDriverSchemaMetadataIsUnsupported() { + Connection conn = connection( + rows(), + rows(), + rows(), + rows(), + rows(), + rows(), + UnsupportedSchemaCall.METADATA_AND_CONNECTION_ABSTRACT_METHOD_ERROR + ); + + assertEquals(Collections.emptyList(), StandardJdbcMetadata.INSTANCE.listSchemas(conn, profile)); + } + + @Test + void listsTablesWithNormalizedTypesAndStableOrdering() { + Connection conn = connection( + rows(), + rows(row("TABLE_NAME", "ZETA", "TABLE_TYPE", "BASE TABLE", "REMARKS", "last"), + row("TABLE_NAME", "ALPHA", "TABLE_TYPE", "VIEW", "REMARKS", "first")), + rows(), + rows(), + rows(), + rows() + ); + + List tables = StandardJdbcMetadata.INSTANCE.listTables(conn, profile, "", "APP"); + + assertEquals("ALPHA", tables.get(0).getName()); + assertEquals("VIEW", tables.get(0).getTable_type()); + assertEquals("ZETA", tables.get(1).getName()); + assertEquals("TABLE", tables.get(1).getTable_type()); + } + + @Test + void listTablesUsesDriverTableTypesWithinProfileAllowList() { + AtomicReference capturedTypes = new AtomicReference<>(); + Connection conn = connection( + rows(), + rows(row("TABLE_NAME", "ORDERS", "TABLE_TYPE", "TABLE", "REMARKS", null)), + rows(), + rows(), + rows(), + rows(), + rows( + row("TABLE_TYPE", "TABLE"), + row("TABLE_TYPE", "LOCAL TEMPORARY"), + row("TABLE_TYPE", "BASE TABLE") + ), + capturedTypes + ); + + StandardJdbcMetadata.INSTANCE.listTables(conn, profile, "", "APP"); + + assertEquals(Arrays.asList("TABLE", "BASE TABLE"), Arrays.asList(capturedTypes.get())); + } + + @Test + void listTablesAllowsHanaColumnAndRowTables() { + JdbcAgentProfile hanaProfile = new JdbcAgentProfile( + "com.sap.db.jdbc.Driver", + "jdbc:sap://{host}:{port}/?databaseName={database}", + 30015, + false, + Collections.emptySet(), + Arrays.asList("COLUMN TABLE", "ROW TABLE", "TABLE", "VIEW") + ); + AtomicReference capturedTypes = new AtomicReference<>(); + Connection conn = connection( + rows(), + rows( + row("TABLE_NAME", "ORDERS", "TABLE_TYPE", "COLUMN TABLE", "REMARKS", null), + row("TABLE_NAME", "AUDIT_LOG", "TABLE_TYPE", "ROW TABLE", "REMARKS", null), + row("TABLE_NAME", "ACTIVE_ORDERS", "TABLE_TYPE", "VIEW", "REMARKS", null) + ), + rows(), + rows(), + rows(), + rows(), + rows( + row("TABLE_TYPE", "COLUMN TABLE"), + row("TABLE_TYPE", "ROW TABLE"), + row("TABLE_TYPE", "VIEW") + ), + capturedTypes + ); + + List tables = StandardJdbcMetadata.INSTANCE.listTables(conn, hanaProfile, "", "APP"); + + assertEquals(Arrays.asList("COLUMN TABLE", "ROW TABLE", "VIEW"), Arrays.asList(capturedTypes.get())); + assertEquals(Arrays.asList("ACTIVE_ORDERS", "AUDIT_LOG", "ORDERS"), Arrays.asList( + tables.get(0).getName(), + tables.get(1).getName(), + tables.get(2).getName() + )); + assertEquals("VIEW", tables.get(0).getTable_type()); + assertEquals("TABLE", tables.get(1).getTable_type()); + assertEquals("TABLE", tables.get(2).getTable_type()); + } + + @Test + void mapsColumnsWithPrimaryKeysAndLengths() { + Connection conn = connection( + rows(), + rows(), + rows(row("COLUMN_NAME", "ID")), + rows(row( + "COLUMN_NAME", "ID", + "TYPE_NAME", "INTEGER", + "NULLABLE", DatabaseMetaData.columnNoNulls, + "COLUMN_DEF", null, + "REMARKS", "identifier", + "COLUMN_SIZE", 10, + "DECIMAL_DIGITS", 0 + ), row( + "COLUMN_NAME", "NAME", + "TYPE_NAME", "VARCHAR", + "NULLABLE", DatabaseMetaData.columnNullable, + "COLUMN_DEF", null, + "REMARKS", null, + "COLUMN_SIZE", 64, + "DECIMAL_DIGITS", 0 + )), + rows(), + rows() + ); + + List columns = StandardJdbcMetadata.INSTANCE.getColumns(conn, profile, "", "APP", "ORDERS"); + + assertEquals("ID", columns.get(0).getName()); + assertTrue(columns.get(0).getIs_primary_key()); + assertFalse(columns.get(0).getIs_nullable()); + assertEquals("NAME", columns.get(1).getName()); + assertEquals(Integer.valueOf(64), columns.get(1).getCharacter_maximum_length()); + } + + @Test + void groupsIndexColumnsInOrdinalOrder() { + Connection conn = connection( + rows(), + rows(), + rows(), + rows(), + rows(row("INDEX_NAME", "IDX_ORDERS", "COLUMN_NAME", "B", "ORDINAL_POSITION", (short) 2, "NON_UNIQUE", true), + row("INDEX_NAME", "IDX_ORDERS", "COLUMN_NAME", "A", "ORDINAL_POSITION", (short) 1, "NON_UNIQUE", true)), + rows() + ); + + List indexes = StandardJdbcMetadata.INSTANCE.listIndexes(conn, "APP", "ORDERS"); + + assertEquals(1, indexes.size()); + assertEquals(Arrays.asList("A", "B"), indexes.get(0).getColumns()); + assertFalse(indexes.get(0).getIs_unique()); + } + + @Test + void mapsForeignKeysAndEmptyTriggers() { + Connection conn = connection( + rows(), + rows(), + rows(), + rows(), + rows(), + rows(row("FK_NAME", null, "FKCOLUMN_NAME", "CUSTOMER_ID", "PKTABLE_NAME", "CUSTOMERS", "PKCOLUMN_NAME", "ID")) + ); + + List foreignKeys = StandardJdbcMetadata.INSTANCE.listForeignKeys(conn, "APP", "ORDERS"); + + assertEquals("", foreignKeys.get(0).getName()); + assertEquals("CUSTOMER_ID", foreignKeys.get(0).getColumn()); + assertEquals(Collections.emptyList(), StandardJdbcMetadata.INSTANCE.listTriggers("APP", "ORDERS")); + } + + private static Connection connection( + ResultSet schemas, + ResultSet tables, + ResultSet primaryKeys, + ResultSet columns, + ResultSet indexes, + ResultSet foreignKeys + ) { + return connection(schemas, tables, primaryKeys, columns, indexes, foreignKeys, false); + } + + private static Connection connection( + ResultSet schemas, + ResultSet tables, + ResultSet primaryKeys, + ResultSet columns, + ResultSet indexes, + ResultSet foreignKeys, + boolean unsupportedGetSchema + ) { + return connection( + schemas, + tables, + primaryKeys, + columns, + indexes, + foreignKeys, + unsupportedGetSchema ? UnsupportedSchemaCall.RUNTIME_EXCEPTION : UnsupportedSchemaCall.NONE, + null, + null + ); + } + + private static Connection connection( + ResultSet schemas, + ResultSet tables, + ResultSet primaryKeys, + ResultSet columns, + ResultSet indexes, + ResultSet foreignKeys, + UnsupportedSchemaCall unsupportedSchemaCall + ) { + return connection(schemas, tables, primaryKeys, columns, indexes, foreignKeys, unsupportedSchemaCall, null, null); + } + + private static Connection connection( + ResultSet schemas, + ResultSet tables, + ResultSet primaryKeys, + ResultSet columns, + ResultSet indexes, + ResultSet foreignKeys, + ResultSet tableTypes, + AtomicReference capturedTableTypes + ) { + return connection(schemas, tables, primaryKeys, columns, indexes, foreignKeys, UnsupportedSchemaCall.NONE, tableTypes, capturedTableTypes); + } + + private static Connection connection( + ResultSet schemas, + ResultSet tables, + ResultSet primaryKeys, + ResultSet columns, + ResultSet indexes, + ResultSet foreignKeys, + UnsupportedSchemaCall unsupportedSchemaCall, + ResultSet tableTypes, + AtomicReference capturedTableTypes + ) { + DatabaseMetaData meta = proxy(DatabaseMetaData.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("getSchemas".equals(name)) { + if (unsupportedSchemaCall == UnsupportedSchemaCall.METADATA_AND_CONNECTION_ABSTRACT_METHOD_ERROR) { + throw new AbstractMethodError("Unimplemented method: getSchemas()"); + } + return schemas; + } + if ("getTables".equals(name)) { + if (capturedTableTypes != null && args != null && args.length > 3) { + capturedTableTypes.set((String[]) args[3]); + } + return tables; + } + if ("getTableTypes".equals(name) && tableTypes != null) { + return tableTypes; + } + if ("getPrimaryKeys".equals(name)) { + return primaryKeys; + } + if ("getColumns".equals(name)) { + return columns; + } + if ("getIndexInfo".equals(name)) { + return indexes; + } + if ("getImportedKeys".equals(name)) { + return foreignKeys; + } + if ("getCatalogs".equals(name)) { + return rows(); + } + return defaultValue(method.getReturnType()); + } + }); + return proxy(Connection.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + if ("getMetaData".equals(method.getName())) { + return meta; + } + if ("getSchema".equals(method.getName())) { + if (unsupportedSchemaCall == UnsupportedSchemaCall.RUNTIME_EXCEPTION) { + throw new RuntimeException("Unimplemented method: getSchema()"); + } + if (unsupportedSchemaCall == UnsupportedSchemaCall.ABSTRACT_METHOD_ERROR + || unsupportedSchemaCall == UnsupportedSchemaCall.METADATA_AND_CONNECTION_ABSTRACT_METHOD_ERROR) { + throw new AbstractMethodError("Unimplemented method: getSchema()"); + } + return null; + } + if ("getCatalog".equals(method.getName())) { + return null; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private static ResultSet rows(Map... rows) { + return proxy(ResultSet.class, new MethodHandler() { + private int index = -1; + + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("next".equals(name)) { + index += 1; + return index < rows.length; + } + if ("close".equals(name)) { + return null; + } + Object value = rows[index].get(args[0]); + if ("getString".equals(name)) { + return value == null ? null : String.valueOf(value); + } + if ("getObject".equals(name)) { + return value; + } + if ("getInt".equals(name)) { + return value instanceof Number ? ((Number) value).intValue() : 0; + } + if ("getShort".equals(name)) { + return value instanceof Number ? ((Number) value).shortValue() : 0; + } + if ("getBoolean".equals(name)) { + return value instanceof Boolean && (Boolean) value; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private static Map row(Object... values) { + Map row = new LinkedHashMap<>(); + for (int i = 0; i < values.length; i += 2) { + row.put(String.valueOf(values[i]), values[i + 1]); + } + return row; + } + + private static T proxy(Class type, final MethodHandler handler) { + InvocationHandler invocationHandler = new InvocationHandler() { + @Override + public Object invoke(Object proxy, Method method, Object[] args) { + return handler.handle(method, args); + } + }; + return type.cast(Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, invocationHandler)); + } + + private static Object defaultValue(Class type) { + if (Boolean.TYPE.equals(type)) { + return false; + } + if (Byte.TYPE.equals(type)) { + return (byte) 0; + } + if (Short.TYPE.equals(type)) { + return (short) 0; + } + if (Integer.TYPE.equals(type)) { + return 0; + } + if (Long.TYPE.equals(type)) { + return 0L; + } + if (Float.TYPE.equals(type)) { + return 0f; + } + if (Double.TYPE.equals(type)) { + return 0.0d; + } + if (Character.TYPE.equals(type)) { + return '\0'; + } + return null; + } + + private interface MethodHandler { + Object handle(Method method, Object[] args); + } + + private enum UnsupportedSchemaCall { + NONE, + RUNTIME_EXCEPTION, + ABSTRACT_METHOD_ERROR, + METADATA_AND_CONNECTION_ABSTRACT_METHOD_ERROR + } +} diff --git a/agents/docs/agent-authoring.md b/agents/docs/agent-authoring.md new file mode 100644 index 0000000000..ec6b6ede78 --- /dev/null +++ b/agents/docs/agent-authoring.md @@ -0,0 +1,318 @@ +# Agent Authoring Guide + +This guide defines the expected shape of a DBX agent. Treat it as the checklist for adding or reviewing an agent. + +## Agent Contract + +Every agent is a standalone JVM process that: + +- Implements `com.dbx.agent.DatabaseAgent`. +- Prefer extending `com.dbx.agent.ConfiguredJdbcAgent` for standard JDBC agents. +- Extend `com.dbx.agent.AbstractJdbcAgent` when the database needs custom metadata SQL but can still share lifecycle and execution behavior. +- Starts with `new JsonRpcServer(new ()).run()` in its `main` method. +- Talks to DBX over stdin/stdout JSON-RPC 2.0. +- Uses JDBC for database access unless the module is explicitly designed around a non-JDBC protocol. +- Produces one shadow JAR named `dbx-agent-.jar`. + +The public behavior should be consistent across agents even when each database has different SQL dialects. + +## Required Methods + +Each agent must implement these capabilities: + +- `connect(params)`: handled by the shared JDBC foundation for JDBC agents. +- `testConnection(params)`: handled by the shared JDBC foundation for JDBC agents. +- `listDatabases()`: return visible catalogs/databases when the database supports them; otherwise return one sensible default database. +- `listSchemas()`: return schemas in stable order. +- `listTables(schema)`: return table-like objects for the selected schema, with normalized `type` values where possible. +- `getColumns(schema, table)`: return column metadata, nullability, defaults, key flags, numeric precision/scale, character length, and comments when available. +- `listIndexes(schema, table)`: return one `IndexInfo` per index, preserving column order. +- `listForeignKeys(schema, table)`: return outbound foreign keys when available. +- `listTriggers(schema, table)`: return triggers when available; return an empty list if the database has no trigger metadata. +- `executeQuery(sql, schema, options)`: inherited from the shared JDBC foundation unless the agent has a documented custom execution behavior. +- `disconnect()`: inherited from the shared JDBC foundation. +- `getConnection()`: inherited from the shared JDBC foundation. + +Throw `IllegalStateException("Not connected")` when a method requires a connection and none exists. + +## SQL Execution Rules + +Do not classify statements by SQL prefix inside individual agents. + +For most JDBC agents, inherit this from `AbstractJdbcAgent` or `ConfiguredJdbcAgent`. Do not copy the execution method into the agent class. If a custom value reader is required, override `resultValue(...)`: + +```java +@Override +protected Object resultValue(ResultSet rs, int index, int sqlType) { + return unchecked(() -> rs.getString(index)); +} +``` + +For simple standard JDBC metadata agents, start with a profile: + +```java +public final class ExampleAgent extends ConfiguredJdbcAgent { + public static final JdbcAgentProfile EXAMPLE_PROFILE = new JdbcAgentProfile( + "com.example.Driver", + "jdbc:example://{host}:{port}/{database}", + 1234 + ); + + public ExampleAgent() { + super(EXAMPLE_PROFILE); + } +} +``` + +`JdbcExecutor` owns these behaviors: + +- Trims a trailing semicolon before execution. +- Handles `BEGIN`, `COMMIT`, and `ROLLBACK`. +- Runs schema switching SQL before the user statement. +- Executes statements with `Statement.execute(...)`. +- Reads `ResultSet` output for any statement type, not only `SELECT`. +- Returns update counts for update statements. +- Caps result rows at `options.maxRows`, defaulting to `JdbcExecutor.DEFAULT_MAX_ROWS`. +- Applies `options.fetchSize` to the JDBC statement when provided. +- Marks `truncated = true` only when more rows exist beyond the cap. + +An agent must not reintroduce local copies of: + +- `QUERY_PREFIXES` +- `MAX_ROWS` +- `executeUpdate(trimmedSql)` in `executeQuery` +- result truncation based on `rows.size >= MAX_ROWS` +- `Class.forName(...)` / `DriverManager.getConnection(...)` lifecycle boilerplate outside shared foundation extension points +- local `disconnect()` copies for JDBC agents +- local `JdbcExecutor.INSTANCE.execute(...)` copies for standard query execution + +## Schema And Identifier Rules + +Override `setSchemaSQL(schema)` for the database dialect, or configure the profile dialect options when standard quoting is enough. + +Use `JdbcIdentifiers` helpers when quoting identifiers: + +```java +@Override +public String setSchemaSQL(String schema) { + return "SET SCHEMA " + JdbcIdentifiers.INSTANCE.doubleQuote(schema); +} +``` + +If the database does not support a schema switching statement, return an empty string: + +```java +@Override +public String setSchemaSQL(String schema) { + return ""; +} +``` + +Never concatenate unquoted user-provided schema names into schema-switching SQL unless the target database requires unquoted identifiers and the value has already been validated. + +For metadata queries, prefer prepared statements for `schema`, `table`, and other user-controlled values. + +## Shared JDBC Foundation + +Use the smallest shared base that matches the database: + +- `ConfiguredJdbcAgent`: standard JDBC lifecycle, execution, and standard `DatabaseMetaData`-based metadata. +- `PostgresLikeAgent`: PostgreSQL-family metadata with shared lifecycle and execution. +- `AbstractJdbcAgent`: custom metadata SQL with shared lifecycle, execution, paging, transactions, result conversion, and DDL fallback. + +If a database cannot yet use the shared foundation, add it to the validation allowlist with a specific reason and tests covering the custom behavior. Remove the allowlist entry when the module migrates. + +## Driver Packaging + +Each module chooses one of two driver modes. + +### Bundled Driver + +Use this when the driver is redistributable from Maven Central or another permitted repository: + +```groovy +dependencies { + implementation 'com.example:example-jdbc:1.2.3' +} +``` + +The root Gradle convention supplies `project(':common')`, `project(':test-support')`, JUnit, Java toolchains, the Shadow plugin, and the `dbx-agent-` archive name for included agent modules. + +No manifest flag is needed. + +### External Driver + +Use this when the driver cannot be redistributed or must be supplied by the user: + +```groovy +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) +} + +tasks.named('shadowJar') { + manifest { + attributes( + 'Agent-Label': 'Example DB', + 'Agent-External-Driver': 'true', + 'Main-Class': 'com.dbx.agent.example.ExampleAgent' + ) + } +} +``` + +The release workflow reads `Agent-External-Driver: true` and emits `external_driver_required: true` in `agent-registry.json`. + +## Module Registration + +When adding an agent named `exampledb`: + +- Create the module under `drivers/exampledb`. +- Add `exampledb` to `driverModules` in `settings.gradle`. +- Add `"exampledb": "0.1.0"` to `versions.json`. +- Set `Agent-Label` to the user-facing database name. +- Set `Main-Class` to the Java agent class, usually `com.dbx.agent.exampledb.ExampledbAgent`. +- Add the database to the README support table. + +The root `build.gradle` convention derives the archive name from the module name, so `exampledb` builds `dbx-agent-exampledb.jar` without per-module archive configuration. + +`versions.json` must contain only modules included in `settings.gradle`, excluding infrastructure modules such as `common` and `test-support`. + +## Runtime Selection + +Default to: + +```groovy +def java8Projects = ['common', 'test-support', 'oracle-10g'] as Set + +subprojects { + java { + toolchain { + languageVersion = JavaLanguageVersion.of(java8Projects.contains(name) ? 8 : 21) + } + } +} +``` + +Most agents use JRE 21. Only use JRE 8 for drivers that require it, such as legacy Oracle 10g support. If an agent needs a special runtime, update the root Gradle convention, the release workflow JRE detection logic, and document the reason in the module. + +## Tests + +Every JDBC agent should have at least one execution-path regression test. + +For agents that can run with an embedded or in-memory database, prefer both shared behavior contracts: + +```java +import java.util.List; + +class H2ExecutionBehaviorTest extends JdbcExecutionBehaviorTest { + @Override + protected DatabaseAgent createConnectedAgent(String databaseName) { + return H2AgentFixtures.createConnectedAgent(databaseName); + } + + @Override + protected String resultSetSql() { + return "CALL 42"; + } + + @Override + protected List expectedResultSetColumns() { + return List.of("42"); + } + + @Override + protected List> expectedResultSetRows() { + return List.of(List.of(42)); + } + + @Override + protected String rowsSql(int rowCount) { + return "SELECT X FROM SYSTEM_RANGE(1, " + rowCount + ")"; + } +} + +class H2MetadataBehaviorTest extends JdbcMetadataBehaviorTest { + @Override + protected DatabaseAgent createConnectedAgent(String databaseName) { + return H2AgentFixtures.createConnectedAgent(databaseName); + } + + @Override + protected List metadataFixtureSql() { + return List.of( + "CREATE TABLE BETA_TABLE (ID INT PRIMARY KEY)", + "CREATE TABLE ALPHA_TABLE (ID INT PRIMARY KEY)", + "CREATE TABLE COLUMN_ORDER_SAMPLE (ID INT PRIMARY KEY, NAME VARCHAR(64), CREATED_AT TIMESTAMP)" + ); + } + + @Override + protected String metadataSchema() { + return "PUBLIC"; + } + + @Override + protected List expectedTablesInOrder() { + return List.of("ALPHA_TABLE", "BETA_TABLE", "COLUMN_ORDER_SAMPLE"); + } + + @Override + protected String metadataColumnsTable() { + return "COLUMN_ORDER_SAMPLE"; + } + + @Override + protected List expectedColumnsInOrder() { + return List.of("ID", "NAME", "CREATED_AT"); + } +} + +final class H2AgentFixtures { + private H2AgentFixtures() { + } + + static DatabaseAgent createConnectedAgent(String databaseName) { + H2Agent agent = new H2Agent(); + agent.connect(new ConnectParams("mem:" + databaseName + ";DB_CLOSE_DELAY=-1")); + return agent; + } +} +``` + +`JdbcExecutionBehaviorTest` verifies non-`SELECT` result set execution, max-row truncation boundaries, and transaction control statements. `JdbcMetadataBehaviorTest` verifies stable metadata ordering. Agents with limited local test infrastructure can adopt the execution contract first and add the metadata contract later. + +For agents that need unavailable commercial or external drivers, use the fake execution contract: + +```java +class ExampleAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new ExampleAgent(); + } + + @Override + protected String resultSetSql() { + return "SHOW TABLES"; + } +} +``` + +`JdbcFakeExecutionBehaviorTest` injects a fake JDBC connection and verifies that `executeQuery` uses `Statement.execute`, reads the returned `ResultSet`, and does not fall back to `executeQuery` or `executeUpdate`. Use `testImplementation project(':test-support')` for this contract. + +## Review Checklist + +Before opening a PR or release: + +- `executeQuery` delegates to `JdbcExecutor.execute`. +- No local SQL-prefix classifier exists. +- No local result row cap exists unless there is a database-specific reason documented in code. +- Metadata methods use prepared statements for user-controlled schema/table inputs. +- `setSchemaSQL` quotes identifiers or returns an empty string. +- `disconnect` closes and clears the connection. +- `testConnection` closes its temporary connection. +- Root `build.gradle` conventions cover Java plugin, toolchain, JUnit, common/test-support dependencies, Shadow plugin, and archive name. +- Module `build.gradle` has correct driver dependencies, `Agent-Label`, `Main-Class`, and external driver flag. +- `settings.gradle`, `versions.json`, and README are updated together. +- At least one execution-path regression test exists. +- `python3 scripts/validate_agents.py` passes. +- `./gradlew test shadowJar --continue` passes. diff --git a/agents/docs/examples/jdbc-agent-template/README.md b/agents/docs/examples/jdbc-agent-template/README.md new file mode 100644 index 0000000000..18c8152a8b --- /dev/null +++ b/agents/docs/examples/jdbc-agent-template/README.md @@ -0,0 +1,20 @@ +# JDBC Agent Template + +Copy this directory when adding a new JDBC-based DBX agent. + +Recommended flow: + +1. Rename `template` paths, package names, class names, and artifact names to the new agent name. +2. Replace the driver class and JDBC URL builder. +3. Implement metadata SQL using the target database system catalogs or `DatabaseMetaData`. +4. Keep `executeQuery` delegated to `JdbcExecutor`. +5. Place the module under `drivers/`, then add it to `settings.gradle`, `versions.json`, and the root README support table. +6. Run `./gradlew ::test ::shadowJar`. + +To verify this template before copying it, run: + +```bash +./gradlew -p docs/examples/jdbc-agent-template clean test shadowJar +``` + +See `docs/agent-authoring.md` for the full checklist. diff --git a/agents/docs/examples/jdbc-agent-template/build.gradle b/agents/docs/examples/jdbc-agent-template/build.gradle new file mode 100644 index 0000000000..45bec3ac2d --- /dev/null +++ b/agents/docs/examples/jdbc-agent-template/build.gradle @@ -0,0 +1,64 @@ +plugins { + id 'java' + id 'com.gradleup.shadow' +} + +configure([project(':common'), project(':test-support')]) { + if (name == 'test-support') { + apply plugin: 'java-library' + } else { + apply plugin: 'java' + } + + java { + toolchain { + languageVersion = JavaLanguageVersion.of(8) + } + } + + dependencies { + testImplementation 'org.junit.jupiter:junit-jupiter:5.11.4' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.11.4' + } + + tasks.withType(Test).configureEach { + useJUnitPlatform() + } +} + +dependencies { + implementation project(':common') + + // Bundled driver example: + // implementation 'com.example:example-jdbc:1.2.3' + + // External driver example: + // implementation fileTree(dir: 'libs', include: ['*.jar']) + + testImplementation 'org.junit.jupiter:junit-jupiter:5.11.4' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher:1.11.4' + testImplementation project(':test-support') +} + +java { + toolchain { + languageVersion = JavaLanguageVersion.of(21) + } +} + +tasks.named('shadowJar') { + archiveBaseName = 'dbx-agent-template' + archiveClassifier = '' + manifest { + attributes( + 'Agent-Label': 'Template DB', + // Add this only when users must provide the JDBC driver jar: + // 'Agent-External-Driver': 'true', + 'Main-Class': 'com.dbx.agent.template.TemplateAgent' + ) + } +} + +tasks.named('test') { + useJUnitPlatform() +} diff --git a/agents/docs/examples/jdbc-agent-template/settings.gradle b/agents/docs/examples/jdbc-agent-template/settings.gradle new file mode 100644 index 0000000000..0a2ac70843 --- /dev/null +++ b/agents/docs/examples/jdbc-agent-template/settings.gradle @@ -0,0 +1,21 @@ +pluginManagement { + repositories { + gradlePluginPortal() + mavenCentral() + } + plugins { + id 'com.gradleup.shadow' version '9.0.0-beta12' + } +} + +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + mavenCentral() + } +} + +rootProject.name = 'jdbc-agent-template' +include 'common', 'test-support' +project(':common').projectDir = file('../../../common') +project(':test-support').projectDir = file('../../../test-support') diff --git a/agents/docs/examples/jdbc-agent-template/src/main/java/com/dbx/agent/template/TemplateAgent.java b/agents/docs/examples/jdbc-agent-template/src/main/java/com/dbx/agent/template/TemplateAgent.java new file mode 100644 index 0000000000..bca4d45a08 --- /dev/null +++ b/agents/docs/examples/jdbc-agent-template/src/main/java/com/dbx/agent/template/TemplateAgent.java @@ -0,0 +1,27 @@ +package com.dbx.agent.template; + +import com.dbx.agent.ConfiguredJdbcAgent; +import com.dbx.agent.JdbcAgentProfile; +import com.dbx.agent.JdbcIdentifiers; +import com.dbx.agent.JsonRpcServer; + +public final class TemplateAgent extends ConfiguredJdbcAgent { + public static final JdbcAgentProfile TEMPLATE_PROFILE = new JdbcAgentProfile( + "com.example.jdbc.TemplateDriver", + "jdbc:template://{host}:{port}/{database}", + 1234 + ); + + public TemplateAgent() { + super(TEMPLATE_PROFILE); + } + + @Override + public String setSchemaSQL(String schema) { + return "SET SCHEMA " + JdbcIdentifiers.INSTANCE.doubleQuote(schema); + } + + public static void main(String[] args) { + new JsonRpcServer(new TemplateAgent()).run(); + } +} diff --git a/agents/docs/examples/jdbc-agent-template/src/test/java/com/dbx/agent/template/TemplateAgentTest.java b/agents/docs/examples/jdbc-agent-template/src/test/java/com/dbx/agent/template/TemplateAgentTest.java new file mode 100644 index 0000000000..d074e67519 --- /dev/null +++ b/agents/docs/examples/jdbc-agent-template/src/test/java/com/dbx/agent/template/TemplateAgentTest.java @@ -0,0 +1,23 @@ +package com.dbx.agent.template; + +import com.dbx.agent.test.TestSupport; +import com.dbx.agent.ExecuteQueryOptions; +import com.dbx.agent.test.JdbcAgentFake; +import java.util.List; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class TemplateAgentTest { + @Test + void executeQueryUsesStatementExecute() { + TemplateAgent agent = new TemplateAgent(); + TestSupport.setPrivateConnection(agent, JdbcAgentFake.connection()); + + agent.executeQuery("SHOW TABLES", null, new ExecuteQueryOptions()); + + Assertions.assertEquals( + List.of("setMaxRows:10001", "execute"), + JdbcAgentFake.calls + ); + } +} diff --git a/agents/docs/release-checklist.md b/agents/docs/release-checklist.md new file mode 100644 index 0000000000..dfd898cfd5 --- /dev/null +++ b/agents/docs/release-checklist.md @@ -0,0 +1,200 @@ +# Release Checklist + +Use this checklist before pushing release tags or publishing DBX agent jars. + +## 1. Confirm Scope + +- Review the recent commits: + +```bash +git log --oneline -10 +``` + +- Confirm the working tree is clean before tagging: + +```bash +git status --short +``` + +- Check that each intended agent change touches the right module directory, `common`, `test-support`, docs, or workflows. +- Avoid mixing unrelated driver updates, behavior changes, and release-only edits in the same commit. + +## 2. Local Verification + +On this workspace, use the local JDKs under `/private/tmp`: + +```bash +env JAVA_HOME=/private/tmp/dbx-jdk/jdk-21.0.11+10/Contents/Home \ + ./gradlew \ + -Dorg.gradle.java.installations.paths=/private/tmp/dbx-jdk/jdk-21.0.11+10/Contents/Home,/private/tmp/dbx-jdk8/jdk8/Contents/Home \ + test shadowJar --continue +``` + +Also run the lightweight validation gates: + +```bash +python3 -m unittest discover -s scripts -p '*_test.py' +python3 scripts/validate_agents.py +python3 scripts/validate_agent_jars.py +git diff --check +``` + +Expected result: + +- Python script tests pass. +- `Agent validation passed`. +- `Agent jar validation passed` after `shadowJar` has produced jars. +- `git diff --check` prints nothing. +- Gradle finishes with `BUILD SUCCESSFUL`. + +## 3. Agent Contract Checks + +For changed agent modules: + +- `executeQuery` delegates to `JdbcExecutor.execute`. +- No module-local SQL prefix classifier is present. +- No module-local result row cap is present. +- `Statement.execute(...)` is used for arbitrary user SQL. +- Metadata methods return stable ordering for schemas, tables, columns, indexes, foreign keys, and triggers. +- User-controlled schema and table names are passed through prepared statements or quoted with `JdbcIdentifiers`. +- `connect` stores one connection, `disconnect` closes and clears it, and `testConnection` closes its temporary connection. +- A behavior test exists: + - Use `JdbcExecutionBehaviorTest` and `JdbcMetadataBehaviorTest` for agents with a local/embedded test database. + - Use `JdbcFakeExecutionBehaviorTest` for agents that require unavailable external drivers. + - Use targeted `JdbcMetadataSqlFake` tests for metadata SQL that must interpolate quoted identifiers. + +## 4. Registry And Module Checks + +Run: + +```bash +python3 scripts/validate_agents.py +``` + +This checks: + +- `versions.json` keys match included agent modules in `settings.gradle`. +- Root Gradle conventions define agent archive names. +- Agent manifests define `Agent-Label`. +- Agent manifests define `Main-Class`. +- Agent `Main-Class` source exists and the built jar contains the matching `.class`. +- Forbidden legacy execution patterns are absent. +- Disallowed JVM source/build DSL residue is absent outside Gradle output directories. + +When adding or removing an agent, update these files together: + +- `settings.gradle` +- `versions.json` +- `README.md` +- Agent module `build.gradle` for driver dependencies and manifest attributes +- Root `build.gradle` only when the module needs non-standard shared build behavior + +## 5. Driver Packaging + +For bundled drivers: + +- Verify the dependency is redistributable. +- Prefer Maven dependencies over checked-in jars. + +For external drivers: + +- Use `implementation fileTree(dir: 'libs', include: ['*.jar'])`. +- Set the manifest attribute: + +```groovy +attributes( + 'Agent-External-Driver': 'true' +) +``` + +- Confirm release registry generation emits `external_driver_required: true`. + +Current external-driver agents include BigQuery and SunDB. + +## 6. JRE Selection + +Most agents are built for the default JRE key `21`, backed by JDK 21 in the release workflow. + +Special case: + +- `oracle-10g` uses JRE key `8`. + +If another agent needs a different runtime: + +- Update the release workflow JRE detection logic. +- Document why in the module or release notes. +- Verify DBX can download the matching runtime artifact. + +## 7. CI Expectations + +The CI workflow runs on `main` and pull requests: + +```bash +python3 -m unittest discover -s scripts -p '*_test.py' +python3 scripts/validate_agents.py +./gradlew test shadowJar --continue +python3 scripts/validate_agent_jars.py +``` + +Do not tag a release while CI is failing on `main`. + +## 8. Release Tag Flow + +Release workflow runs on tags matching `agents-v*`. + +Before tagging: + +```bash +git status --short +git log --oneline -5 +git tag --list 'agents-v*' --sort=-creatordate | head +``` + +Choose a new tag that does not already exist locally or on GitHub. For example: + +```bash +RELEASE_TAG=agents-v0.3.0 +git tag --list "$RELEASE_TAG" +git ls-remote --tags origin "$RELEASE_TAG" +``` + +Both commands should print nothing before you create the tag. + +Create and push the tag: + +```bash +git tag "$RELEASE_TAG" +git push origin main +git push origin "$RELEASE_TAG" +``` + +The release workflow will: + +- Bump changed module versions in `versions.json`. +- Build all agent shadow jars. +- Build/download JRE artifacts. +- Generate `agent-registry.json`. +- Create a GitHub release with jars, JRE archives, and registry. + +## 9. Post-Release Verification + +After the GitHub release finishes: + +- Download or inspect `agent-registry.json`. +- Confirm every expected agent appears under `drivers`. +- Confirm labels preserve spaces, for example `Google BigQuery`. +- Confirm `oracle-10g` uses JRE key `8`. +- Confirm other agents use JRE key `21`. +- Confirm `external_driver_required` is correct. +- Confirm every jar URL, sha256, and size is present. +- Spot-check at least one agent jar manifest: + +```bash +unzip -p dbx-agent-h2.jar META-INF/MANIFEST.MF +``` + +## 10. Known Follow-Ups + +- Gradle currently reports deprecated features that will be incompatible with Gradle 10. Use `--warning-mode all` in a separate cleanup task. +- Commercial or external-driver agents still need manual smoke tests with real driver jars and databases. +- Add real containerized smoke tests only one database family at a time. diff --git a/agents/drivers/access/build.gradle b/agents/drivers/access/build.gradle new file mode 100644 index 0000000000..c022da63b6 --- /dev/null +++ b/agents/drivers/access/build.gradle @@ -0,0 +1,9 @@ +dependencies { + implementation 'io.github.spannm:ucanaccess:5.1.5' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'Microsoft Access', 'Main-Class': 'com.dbx.agent.access.AccessAgent') + } +} diff --git a/agents/drivers/access/src/main/java/com/dbx/agent/access/AccessAgent.java b/agents/drivers/access/src/main/java/com/dbx/agent/access/AccessAgent.java new file mode 100644 index 0000000000..2f0d829e54 --- /dev/null +++ b/agents/drivers/access/src/main/java/com/dbx/agent/access/AccessAgent.java @@ -0,0 +1,366 @@ +package com.dbx.agent.access; + +import com.dbx.agent.BaseDatabaseAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ExecuteQueryOptions; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcExecutor; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.ObjectInfo; +import com.dbx.agent.QueryResult; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; +import java.nio.file.Files; +import java.nio.file.Path; +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; + +public final class AccessAgent extends BaseDatabaseAgent { + private Connection connection; + private String databaseFile = ""; + + @Override + public Connection getConnection() { + return connection; + } + + @Override + public void connect(ConnectParams params) { + uncheckedVoid(() -> { + Class.forName("net.ucanaccess.jdbc.UcanaccessDriver"); + String file = databasePath(params); + String url = jdbcUrl(params, true); + connection = DriverManager.getConnection(url, params.getUsername(), params.getPassword()); + databaseFile = file; + }); + } + + @Override + public boolean testConnection(ConnectParams params) { + return unchecked(() -> { + Class.forName("net.ucanaccess.jdbc.UcanaccessDriver"); + String file = databasePath(params); + if (file.isBlank() || !Files.exists(Path.of(file))) { + return false; + } + try (Connection conn = DriverManager.getConnection(jdbcUrl(params, false), params.getUsername(), params.getPassword())) { + return conn.isValid(5); + } + }); + } + + @Override + public List listDatabases() { + String name = "default"; + if (!databaseFile.isBlank()) { + Path fileName = Path.of(databaseFile).getFileName(); + if (fileName != null && !fileName.toString().isBlank()) { + name = fileName.toString(); + } + } + return Collections.singletonList(new DatabaseInfo(name)); + } + + @Override + public List listSchemas() { + return Collections.emptyList(); + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + DatabaseMetaData meta = requireConnected().getMetaData(); + List result = new ArrayList<>(); + try (ResultSet rs = meta.getTables(null, null, "%", new String[]{"TABLE", "VIEW"})) { + while (rs.next()) { + String name = rs.getString("TABLE_NAME"); + if (name == null || startsWithIgnoreCase(name, "MSys")) { + continue; + } + result.add(new TableInfo(name, normalizeTableType(rs.getString("TABLE_TYPE")), null)); + } + } + result.sort(Comparator.comparing(table -> table.getName().toLowerCase(Locale.ROOT))); + return result; + }); + } + + @Override + public List listObjects(String schema) { + List result = new ArrayList<>(); + for (TableInfo table : listTables(schema)) { + result.add(new ObjectInfo(table.getName(), table.getTable_type(), null, table.getComment())); + } + return result; + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + DatabaseMetaData meta = requireConnected().getMetaData(); + Set primaryKeys = primaryKeyColumns(meta, table); + List result = new ArrayList<>(); + try (ResultSet rs = meta.getColumns(null, null, table, "%")) { + while (rs.next()) { + String name = rs.getString("COLUMN_NAME"); + result.add(new ColumnInfo( + name, + typeName(rs), + rs.getInt("NULLABLE") != DatabaseMetaData.columnNoNulls, + rs.getString("COLUMN_DEF"), + primaryKeys.contains(name), + null, + rs.getString("REMARKS"), + intObject(rs, "COLUMN_SIZE"), + intObject(rs, "DECIMAL_DIGITS"), + intObject(rs, "COLUMN_SIZE") + )); + } + } + result.sort(Comparator.comparingInt(column -> columnOrder(meta, table, column.getName()))); + return result; + }); + } + + @Override + public List listIndexes(String schema, String table) { + return unchecked(() -> { + DatabaseMetaData meta = requireConnected().getMetaData(); + Set primaryKeys = primaryKeyColumns(meta, table); + Map> columnsByIndex = new LinkedHashMap<>(); + Map uniqueByIndex = new LinkedHashMap<>(); + Map primaryByIndex = new LinkedHashMap<>(); + Map typeByIndex = new LinkedHashMap<>(); + + try (ResultSet rs = meta.getIndexInfo(null, null, table, false, false)) { + while (rs.next()) { + if (rs.getShort("TYPE") == DatabaseMetaData.tableIndexStatistic) { + continue; + } + String indexName = rs.getString("INDEX_NAME"); + String columnName = rs.getString("COLUMN_NAME"); + if (indexName == null || columnName == null) { + continue; + } + short ordinal = rs.getShort("ORDINAL_POSITION"); + + columnsByIndex.computeIfAbsent(indexName, ignored -> new ArrayList<>()).add(new OrdinalColumn(ordinal, columnName)); + uniqueByIndex.put(indexName, !rs.getBoolean("NON_UNIQUE")); + primaryByIndex.put(indexName, primaryKeys.contains(columnName) || indexName.equalsIgnoreCase("PrimaryKey")); + typeByIndex.put(indexName, indexTypeName(rs.getShort("TYPE"))); + } + } + + List result = new ArrayList<>(); + for (Map.Entry> entry : columnsByIndex.entrySet()) { + String name = entry.getKey(); + List pairs = entry.getValue(); + pairs.sort(Comparator.comparingInt(pair -> pair.ordinal)); + List columns = new ArrayList<>(); + for (OrdinalColumn pair : pairs) { + columns.add(pair.column); + } + result.add(new IndexInfo( + name, + columns, + uniqueByIndex.getOrDefault(name, false), + primaryByIndex.getOrDefault(name, false), + null, + typeByIndex.get(name), + null, + null + )); + } + return result; + }); + } + + @Override + public List listForeignKeys(String schema, String table) { + return unchecked(() -> { + DatabaseMetaData meta = requireConnected().getMetaData(); + List result = new ArrayList<>(); + try (ResultSet rs = meta.getImportedKeys(null, null, table)) { + while (rs.next()) { + String name = rs.getString("FK_NAME"); + result.add(new ForeignKeyInfo( + name == null ? "" : name, + rs.getString("FKCOLUMN_NAME"), + rs.getString("PKTABLE_NAME"), + rs.getString("PKCOLUMN_NAME") + )); + } + } + return result; + }); + } + + @Override + public List listTriggers(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public QueryResult executeQuery(String sql, String schema, ExecuteQueryOptions options) { + return JdbcExecutor.INSTANCE.execute( + requireConnected(), + sql, + schema, + this::setSchemaSQL, + options.getMaxRows(), + options.getFetchSize(), + options.getTimeoutSecs(), + JdbcExecutor.INSTANCE::defaultResultValue + ); + } + + @Override + public String setSchemaSQL(String schema) { + return ""; + } + + @Override + public void disconnect() { + uncheckedVoid(() -> { + if (connection != null) { + connection.close(); + } + connection = null; + }); + } + + private Set primaryKeyColumns(DatabaseMetaData meta, String table) throws Exception { + Set result = new LinkedHashSet<>(); + try (ResultSet rs = meta.getPrimaryKeys(null, null, table)) { + while (rs.next()) { + result.add(rs.getString("COLUMN_NAME")); + } + } + return result; + } + + private int columnOrder(DatabaseMetaData meta, String table, String column) { + return unchecked(() -> { + try (ResultSet rs = meta.getColumns(null, null, table, column)) { + return rs.next() ? rs.getInt("ORDINAL_POSITION") : Integer.MAX_VALUE; + } + }); + } + + private static String databasePath(ConnectParams params) { + if (startsWithIgnoreCase(params.getConnection_string(), "jdbc:ucanaccess:")) { + return stripJdbcPrefix(params.getConnection_string()); + } + if (startsWithIgnoreCase(params.getDatabase(), "jdbc:ucanaccess:")) { + return stripJdbcPrefix(params.getDatabase()); + } + if (!params.getHost().isBlank()) { + return params.getHost(); + } + return params.getDatabase(); + } + + static String jdbcUrl(ConnectParams params, boolean createIfMissing) { + String rawUrl; + if (startsWithIgnoreCase(params.getConnection_string(), "jdbc:ucanaccess:")) { + rawUrl = params.getConnection_string(); + } else if (startsWithIgnoreCase(params.getDatabase(), "jdbc:ucanaccess:")) { + rawUrl = params.getDatabase(); + } else { + rawUrl = "jdbc:ucanaccess://" + databasePath(params); + } + rawUrl = appendUCanAccessParams(rawUrl, params.getUrl_params()); + + if (!createIfMissing || Files.exists(Path.of(databasePath(params)))) { + return rawUrl; + } + if (containsIgnoreCase(rawUrl, "newDatabaseVersion=")) { + return rawUrl; + } + return rawUrl + ";newDatabaseVersion=V2010"; + } + + private static String appendUCanAccessParams(String url, String urlParams) { + String params = trimUCanAccessParams(urlParams); + if (params.isEmpty()) { + return url; + } + return url + (url.endsWith(";") ? "" : ";") + params; + } + + private static String trimUCanAccessParams(String urlParams) { + String value = urlParams == null ? "" : urlParams.trim(); + while (value.startsWith("?") || value.startsWith("&") || value.startsWith(";")) { + value = value.substring(1); + } + return value; + } + + private static String normalizeTableType(String value) { + if (value != null && value.toUpperCase(Locale.ROOT).equals("BASE TABLE")) { + return "TABLE"; + } + return value == null ? "TABLE" : value; + } + + private static String indexTypeName(short value) { + if (value == DatabaseMetaData.tableIndexClustered) { + return "CLUSTERED"; + } + if (value == DatabaseMetaData.tableIndexHashed) { + return "HASHED"; + } + if (value == DatabaseMetaData.tableIndexOther) { + return "OTHER"; + } + return ""; + } + + private static String typeName(ResultSet rs) throws Exception { + String value = rs.getString("TYPE_NAME"); + return value == null ? Integer.toString(rs.getInt("DATA_TYPE")) : value; + } + + private static Integer intObject(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value instanceof Number number ? number.intValue() : null; + } + + private static String stripJdbcPrefix(String value) { + return substringBefore(value.replaceFirst("(?i)^jdbc:ucanaccess://", ""), ';'); + } + + private static String substringBefore(String value, char delimiter) { + int index = value.indexOf(delimiter); + return index >= 0 ? value.substring(0, index) : value; + } + + private static boolean startsWithIgnoreCase(String value, String prefix) { + return value.regionMatches(true, 0, prefix, 0, prefix.length()); + } + + private static boolean containsIgnoreCase(String value, String needle) { + return value.toLowerCase(Locale.ROOT).contains(needle.toLowerCase(Locale.ROOT)); + } + + private record OrdinalColumn(short ordinal, String column) { + } + + public static void main(String[] args) { + new JsonRpcServer(new AccessAgent()).run(); + } +} diff --git a/agents/drivers/access/src/test/java/com/dbx/agent/access/AccessAgentTest.java b/agents/drivers/access/src/test/java/com/dbx/agent/access/AccessAgentTest.java new file mode 100644 index 0000000000..b49ab56c19 --- /dev/null +++ b/agents/drivers/access/src/test/java/com/dbx/agent/access/AccessAgentTest.java @@ -0,0 +1,113 @@ +package com.dbx.agent.access; + +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.ExecuteQueryOptions; +import com.dbx.agent.QueryPageOptions; +import com.dbx.agent.test.JdbcConnectedAgentTest; +import java.nio.file.Path; +import java.util.List; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; + +class AccessAgentTest extends JdbcConnectedAgentTest { + @TempDir + Path tempDir; + + @Override + protected DatabaseAgent createConnectedAgent(String databaseName) { + Path file = tempDir.resolve(databaseName + ".accdb"); + AccessAgent agent = new AccessAgent(); + agent.connect(new ConnectParams("", 0, file.toString(), "", "", "", "", false)); + return agent; + } + + @Test + void connectsToAnAccessFileAndReturnsTableMetadata() { + withAgent("metadata", agent -> { + agent.executeQuery( + "CREATE TABLE People (ID COUNTER PRIMARY KEY, Name TEXT(64), Active YESNO)", + null, + new ExecuteQueryOptions() + ); + agent.executeQuery("INSERT INTO People (Name, Active) VALUES ('Ada', TRUE)", null, new ExecuteQueryOptions()); + + var tables = agent.listTables(""); + var columns = agent.getColumns("", "People"); + var result = agent.executeQuery("SELECT Name, Active FROM People", null, new ExecuteQueryOptions()); + + Assertions.assertTrue(tables.stream().anyMatch(table -> table.getName().equals("People"))); + Assertions.assertEquals(List.of("ID", "Name", "Active"), columns.stream().map(column -> column.getName()).toList()); + Assertions.assertTrue(columns.stream() + .filter(column -> column.getName().equals("ID")) + .findFirst() + .orElseThrow() + .getIs_primary_key()); + Assertions.assertEquals(List.of("Name", "Active"), result.getColumns()); + Assertions.assertEquals("Ada", result.getRows().get(0).get(0)); + Assertions.assertEquals(true, result.getRows().get(0).get(1)); + }); + } + + @Test + void returnsEmptySchemaListForAccessFiles() { + withAgent("schemas", agent -> { + Assertions.assertEquals(List.of(), agent.listSchemas()); + Assertions.assertFalse(agent.testConnection( + new ConnectParams("", 0, tempDir.resolve("missing.accdb").toString(), "", "", "", "", false) + )); + }); + } + + @Test + void appendsUcanaccessUrlParams() { + Path file = tempDir.resolve("params.accdb"); + ConnectParams params = new ConnectParams("", 0, file.toString(), "", "", "memory=false;ignoreCase=true", "", false); + + Assertions.assertEquals( + "jdbc:ucanaccess://" + file + ";memory=false;ignoreCase=true;newDatabaseVersion=V2010", + AccessAgent.jdbcUrl(params, true) + ); + } + + @Test + void trimsUcanaccessUrlParamSeparators() { + Path file = tempDir.resolve("params-existing.accdb"); + ConnectParams params = new ConnectParams("", 0, "jdbc:ucanaccess://" + file + ";", "", "", ";memory=false", "", false); + + Assertions.assertEquals( + "jdbc:ucanaccess://" + file + ";memory=false;newDatabaseVersion=V2010", + AccessAgent.jdbcUrl(params, true) + ); + } + + @Test + void supportsLimitOffsetSqlAndCursorResultPages() { + withAgent("pages", agent -> { + agent.executeQuery("CREATE TABLE Items (ID COUNTER PRIMARY KEY, Value INTEGER)", null, new ExecuteQueryOptions()); + for (int i = 1; i <= 5; i++) { + agent.executeQuery("INSERT INTO Items (Value) VALUES (" + i + ")", null, new ExecuteQueryOptions()); + } + + var limited = agent.executeQuery( + "SELECT [Value] FROM [Items] ORDER BY [ID] LIMIT 2 OFFSET 1", + null, + new ExecuteQueryOptions() + ); + var firstPage = agent.executeQueryPage( + "SELECT Value FROM Items ORDER BY ID", + null, + new QueryPageOptions(2, null, 5) + ); + String sessionId = firstPage.getSession_id(); + Assertions.assertNotNull(sessionId); + var secondPage = agent.fetchQueryPage(sessionId, 2); + + Assertions.assertEquals(List.of(2, 3), limited.getRows().stream().map(row -> row.get(0)).toList()); + Assertions.assertEquals(List.of(1, 2), firstPage.getRows().stream().map(row -> row.get(0)).toList()); + Assertions.assertEquals(true, firstPage.getHas_more()); + Assertions.assertEquals(List.of(3, 4), secondPage.getRows().stream().map(row -> row.get(0)).toList()); + }); + } +} diff --git a/agents/drivers/bigquery/build.gradle b/agents/drivers/bigquery/build.gradle new file mode 100644 index 0000000000..ae0da1b389 --- /dev/null +++ b/agents/drivers/bigquery/build.gradle @@ -0,0 +1,13 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) +} + +tasks.named('shadowJar') { + manifest { + attributes( + 'Agent-Label': 'Google BigQuery', + 'Agent-External-Driver': 'true', + 'Main-Class': 'com.dbx.agent.bigquery.BigQueryAgent' + ) + } +} diff --git a/agents/drivers/bigquery/src/main/java/com/dbx/agent/bigquery/BigQueryAgent.java b/agents/drivers/bigquery/src/main/java/com/dbx/agent/bigquery/BigQueryAgent.java new file mode 100644 index 0000000000..11feaefd29 --- /dev/null +++ b/agents/drivers/bigquery/src/main/java/com/dbx/agent/bigquery/BigQueryAgent.java @@ -0,0 +1,145 @@ +package com.dbx.agent.bigquery; + +import com.dbx.agent.AbstractJdbcAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcIdentifiers; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public final class BigQueryAgent extends AbstractJdbcAgent { + + @Override + protected String driverClass() { + return "com.simba.googlebigquery.jdbc.Driver"; + } + + @Override + protected String buildJdbcUrl(ConnectParams params) { + return buildUrl(params); + } + + @Override + public List listDatabases() { + return unchecked(() -> { + List result = new ArrayList<>(); + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery("SELECT schema_name FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY schema_name")) { + while (rs.next()) { + result.add(new DatabaseInfo(rs.getString(1))); + } + } + return result; + }); + } + + @Override + public List listSchemas() { + List result = new ArrayList<>(); + for (DatabaseInfo database : listDatabases()) { + result.add(database.getName()); + } + return result; + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + String quotedSchema = JdbcIdentifiers.INSTANCE.backtick(schema); + String sql = "SELECT table_name, table_type FROM " + quotedSchema + ".INFORMATION_SCHEMA.TABLES ORDER BY table_name"; + try (java.sql.PreparedStatement stmt = requireConnected().prepareStatement(sql); + ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TableInfo( + rs.getString("table_name"), + normalizeTableType(rs.getString("table_type")), + null + )); + } + } + return result; + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String quotedSchema = JdbcIdentifiers.INSTANCE.backtick(schema); + String sql = "SELECT column_name, data_type, is_nullable " + + "FROM " + quotedSchema + ".INFORMATION_SCHEMA.COLUMNS " + + "WHERE table_name = ? " + + "ORDER BY ordinal_position"; + try (java.sql.PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ColumnInfo( + rs.getString("column_name"), + rs.getString("data_type"), + "YES".equals(rs.getString("is_nullable")), + null, + false, + null, + null, + null, + null, + null + )); + } + } + } + return result; + }); + } + + @Override + public List listIndexes(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listForeignKeys(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listTriggers(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public String setSchemaSQL(String schema) { + return ""; + } + + static String buildUrl(ConnectParams params) { + String url = "jdbc:bigquery://" + params.getHost() + ":" + params.getPort() + ";ProjectId=" + params.getDatabase(); + String extraParams = trimSemicolons(params.getUrl_params()); + return extraParams.isBlank() ? url : url + ";" + extraParams; + } + + private static String trimSemicolons(String value) { + if (value == null) { + return ""; + } + return value.trim().replaceAll("^;+", "").replaceAll(";+\\s*$", ""); + } + + private static String normalizeTableType(String type) { + return "BASE TABLE".equals(type) ? "TABLE" : type; + } + + public static void main(String[] args) { + new JsonRpcServer(new BigQueryAgent()).run(); + } +} diff --git a/agents/drivers/bigquery/src/test/java/com/dbx/agent/bigquery/BigQueryAgentMetadataTest.java b/agents/drivers/bigquery/src/test/java/com/dbx/agent/bigquery/BigQueryAgentMetadataTest.java new file mode 100644 index 0000000000..d0340b5571 --- /dev/null +++ b/agents/drivers/bigquery/src/test/java/com/dbx/agent/bigquery/BigQueryAgentMetadataTest.java @@ -0,0 +1,49 @@ +package com.dbx.agent.bigquery; + +import com.dbx.agent.test.TestSupport; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.test.JdbcAgentFake; +import com.dbx.agent.test.JdbcMetadataSqlFake; +import java.sql.Connection; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class BigQueryAgentMetadataTest { + @Test + void quotesSchemaIdentifiersInMetadataSql() { + BigQueryAgent agent = new BigQueryAgent(); + Connection fake = JdbcMetadataSqlFake.connection(); + TestSupport.setPrivateConnection(agent, fake); + + agent.listTables("bad`schema"); + agent.getColumns("bad`schema", "sample"); + + Assertions.assertTrue( + JdbcMetadataSqlFake.statements.stream() + .anyMatch(statement -> statement.contains("FROM `bad``schema`.INFORMATION_SCHEMA.TABLES")) + ); + Assertions.assertTrue( + JdbcMetadataSqlFake.statements.stream() + .anyMatch(statement -> statement.contains("FROM `bad``schema`.INFORMATION_SCHEMA.COLUMNS")) + ); + } + + @Test + void buildUrlAppendsAuthenticationUrlParams() { + ConnectParams params = new ConnectParams( + "https://www.googleapis.com/bigquery/v2", + 443, + "demo-project", + "", + "", + "OAuthType=0;OAuthServiceAcctEmail=svc@demo.iam.gserviceaccount.com;OAuthPvtKeyPath=C:\\keys\\demo.json", + "", + false + ); + + Assertions.assertEquals( + "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=demo-project;OAuthType=0;OAuthServiceAcctEmail=svc@demo.iam.gserviceaccount.com;OAuthPvtKeyPath=C:\\keys\\demo.json", + BigQueryAgent.buildUrl(params) + ); + } +} diff --git a/agents/drivers/bigquery/src/test/java/com/dbx/agent/bigquery/BigQueryAgentTest.java b/agents/drivers/bigquery/src/test/java/com/dbx/agent/bigquery/BigQueryAgentTest.java new file mode 100644 index 0000000000..147d1f6c56 --- /dev/null +++ b/agents/drivers/bigquery/src/test/java/com/dbx/agent/bigquery/BigQueryAgentTest.java @@ -0,0 +1,16 @@ +package com.dbx.agent.bigquery; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; + +class BigQueryAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new BigQueryAgent(); + } + + @Override + protected String resultSetSql() { + return "CALL dataset.proc()"; + } +} diff --git a/agents/drivers/cassandra/build.gradle b/agents/drivers/cassandra/build.gradle new file mode 100644 index 0000000000..38a8d6ffd4 --- /dev/null +++ b/agents/drivers/cassandra/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.ing.data:cassandra-jdbc-wrapper:4.12.0' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'Apache Cassandra', 'Main-Class': 'com.dbx.agent.cassandra.CassandraAgent') + } +} diff --git a/agents/drivers/cassandra/src/main/java/com/dbx/agent/cassandra/CassandraAgent.java b/agents/drivers/cassandra/src/main/java/com/dbx/agent/cassandra/CassandraAgent.java new file mode 100644 index 0000000000..5c6f630501 --- /dev/null +++ b/agents/drivers/cassandra/src/main/java/com/dbx/agent/cassandra/CassandraAgent.java @@ -0,0 +1,185 @@ +package com.dbx.agent.cassandra; + +import com.dbx.agent.AbstractJdbcAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcIdentifiers; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public final class CassandraAgent extends AbstractJdbcAgent { + private static final Pattern TARGET_PATTERN = Pattern.compile("target[\"']?\\s*[:=]\\s*[\"']?([\\w]+)"); + + @Override + protected String driverClass() { + return "com.ing.data.cassandra.jdbc.CassandraDriver"; + } + + @Override + protected String buildJdbcUrl(ConnectParams params) { + return buildUrl(params); + } + + @Override + public String setSchemaSQL(String schema) { + return "USE " + JdbcIdentifiers.INSTANCE.doubleQuote(schema); + } + + @Override + public List listDatabases() { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT keyspace_name FROM system_schema.keyspaces"; + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery(sql)) { + while (rs.next()) { + result.add(new DatabaseInfo(rs.getString(1))); + } + } + result.sort(Comparator.comparing(DatabaseInfo::getName)); + return result; + }); + } + + @Override + public List listSchemas() { + List result = new ArrayList<>(); + for (DatabaseInfo database : listDatabases()) { + result.add(database.getName()); + } + return result; + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT table_name FROM system_schema.tables WHERE keyspace_name = ?"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TableInfo(rs.getString(1), "TABLE", null)); + } + } + } + result.sort(Comparator.comparing(TableInfo::getName)); + return result; + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT column_name, type, kind FROM system_schema.columns WHERE keyspace_name = ? AND table_name = ?"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String kind = coalesce(rs.getString("kind")); + boolean isPrimaryKey = "partition_key".equals(kind) || "clustering".equals(kind); + result.add(new ColumnInfo( + rs.getString("column_name"), + coalesce(rs.getString("type"), "unknown"), + !isPrimaryKey, + null, + isPrimaryKey, + kind.trim().isEmpty() ? null : kind, + null, + null, + null, + null + )); + } + } + } + return result; + }); + } + + @Override + public List listIndexes(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT index_name, options FROM system_schema.indexes WHERE keyspace_name = ? AND table_name = ?"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String indexName = coalesce(rs.getString("index_name")); + String options = coalesce(rs.getString("options")); + result.add(new IndexInfo( + indexName, + targetColumns(options), + false, + false, + null, + null, + null, + null + )); + } + } + } + result.sort(Comparator.comparing(IndexInfo::getName)); + return result; + }); + } + + @Override + public List listForeignKeys(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listTriggers(String schema, String table) { + return Collections.emptyList(); + } + + @Override + protected Object resultValue(ResultSet rs, int index, int sqlType) { + return unchecked(() -> { + Object value = rs.getObject(index); + return rs.wasNull() ? null : value == null ? null : value.toString(); + }); + } + + private static String buildUrl(ConnectParams params) { + return "jdbc:cassandra://" + params.getHost() + ":" + params.getPort() + "/" + params.getDatabase(); + } + + private static List targetColumns(String options) { + Matcher matcher = TARGET_PATTERN.matcher(options); + if (!matcher.find()) { + return Collections.emptyList(); + } + return Collections.singletonList(matcher.group(1)); + } + + private static String coalesce(String value) { + return value == null ? "" : value; + } + + private static String coalesce(String value, String fallback) { + return value == null ? fallback : value; + } + + public static void main(String[] args) { + new JsonRpcServer(new CassandraAgent()).run(); + } +} diff --git a/agents/drivers/cassandra/src/test/java/com/dbx/agent/cassandra/CassandraAgentTest.java b/agents/drivers/cassandra/src/test/java/com/dbx/agent/cassandra/CassandraAgentTest.java new file mode 100644 index 0000000000..484ed1e024 --- /dev/null +++ b/agents/drivers/cassandra/src/test/java/com/dbx/agent/cassandra/CassandraAgentTest.java @@ -0,0 +1,16 @@ +package com.dbx.agent.cassandra; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; + +class CassandraAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new CassandraAgent(); + } + + @Override + protected String resultSetSql() { + return "LIST ROLES"; + } +} diff --git a/agents/drivers/dameng/build.gradle b/agents/drivers/dameng/build.gradle new file mode 100644 index 0000000000..6a80eb99a5 --- /dev/null +++ b/agents/drivers/dameng/build.gradle @@ -0,0 +1,13 @@ +dependencies { + // Local override: place a newer DmJdbcDriver*.jar in libs/ for versions + // not yet published to Maven Central (the fileTree takes priority over Maven). + implementation fileTree(dir: 'libs', include: ['*.jar']) + // DmJdbcDriver8 supports JDK 8+ (compatible with JRE 21 used by DAMENG agent). + implementation 'com.dameng:DmJdbcDriver8:8.1.5.45' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': '达梦 DM8', 'Main-Class': 'com.dbx.agent.dameng.DamengAgent') + } +} diff --git a/agents/drivers/dameng/libs/.gitkeep b/agents/drivers/dameng/libs/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/agents/drivers/dameng/src/main/java/com/dbx/agent/dameng/DamengAgent.java b/agents/drivers/dameng/src/main/java/com/dbx/agent/dameng/DamengAgent.java new file mode 100644 index 0000000000..3ff1919edd --- /dev/null +++ b/agents/drivers/dameng/src/main/java/com/dbx/agent/dameng/DamengAgent.java @@ -0,0 +1,758 @@ +package com.dbx.agent.dameng; + +import com.dbx.agent.BaseDatabaseAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ExecuteQueryOptions; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcExecutor; +import com.dbx.agent.JdbcIdentifiers; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.ObjectInfo; +import com.dbx.agent.ObjectSource; +import com.dbx.agent.QueryPageOptions; +import com.dbx.agent.QueryPageResult; +import com.dbx.agent.QueryResult; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; +import java.io.PrintStream; +import java.sql.Blob; +import java.sql.Clob; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLXML; +import java.sql.Statement; +import java.sql.Types; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; + +public final class DamengAgent extends BaseDatabaseAgent { + private static final String AGENT_VERSION = "9999.06.04.1-fix-default"; + private static final Set SYSTEM_USERS = Set.of( + "SYS", "SYSAUDITOR", "SYSSSO", "CTISYS", + "SYS_DBA", "_SYS_STATISTICS", "SYS_PHM" + ); + + private Connection connection; + + @Override + public Connection getConnection() { + return connection; + } + + @Override + public void connect(ConnectParams params) { + uncheckedVoid(() -> { + withSuppressedStdout(() -> { + Class.forName("dm.jdbc.driver.DmDriver"); + connection = DriverManager.getConnection(buildUrl(params), params.getUsername(), params.getPassword()); + }); + }); + } + + @Override + public boolean testConnection(ConnectParams params) { + return unchecked(() -> { + return withSuppressedStdout(() -> { + Class.forName("dm.jdbc.driver.DmDriver"); + try (Connection conn = DriverManager.getConnection(buildUrl(params), params.getUsername(), params.getPassword())) { + return conn.isValid(5); + } + }); + }); + } + + /** + * The DM JDBC driver writes a banner to {@code System.out} during + * {@code Class.forName} / driver initialization. This corrupts the + * JSON-RPC stdout protocol. Temporarily redirect {@code System.out} + * to {@code System.err} so driver output lands on stderr instead. + */ + private static T withSuppressedStdout(ThrowingSupplier action) throws Exception { + PrintStream originalOut = System.out; + try { + System.setOut(System.err); + return action.get(); + } finally { + System.setOut(originalOut); + } + } + + private static void withSuppressedStdout(ThrowingRunnable action) throws Exception { + PrintStream originalOut = System.out; + try { + System.setOut(System.err); + action.run(); + } finally { + System.setOut(originalOut); + } + } + + @Override + public List listDatabases() { + return unchecked(() -> { + List result = new ArrayList<>(); + String placeholders = String.join(",", SYSTEM_USERS.stream().map(user -> "?").toList()); + String sql = "SELECT USERNAME FROM ALL_USERS WHERE USERNAME NOT IN (" + placeholders + ") ORDER BY USERNAME"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + int index = 1; + for (String user : SYSTEM_USERS) { + stmt.setString(index++, user); + } + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new DatabaseInfo(rs.getString(1))); + } + } + } + return result; + }); + } + + @Override + public List listSchemas() { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT DISTINCT OWNER FROM ALL_OBJECTS ORDER BY OWNER"; + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery(sql)) { + while (rs.next()) { + result.add(rs.getString(1)); + } + } + return result; + }); + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = """ + SELECT TABLE_NAME, 'TABLE' AS TABLE_TYPE, COMMENTS + FROM ALL_TAB_COMMENTS + WHERE OWNER = ? AND TABLE_TYPE = 'TABLE' + UNION ALL + SELECT TABLE_NAME, 'VIEW' AS TABLE_TYPE, COMMENTS + FROM ALL_TAB_COMMENTS + WHERE OWNER = ? AND TABLE_TYPE = 'VIEW' + ORDER BY 1 + """.stripIndent().trim(); + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TableInfo(rs.getString(1), rs.getString(2), rs.getString(3))); + } + } + } + return result; + }); + } + + @Override + public List listObjects(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + for (TableInfo table : listTables(schema)) { + result.add(new ObjectInfo(table.getName(), table.getTable_type(), schema, table.getComment())); + } + String sql = """ + SELECT OBJECT_NAME, OBJECT_TYPE FROM ALL_OBJECTS + WHERE OWNER = ? AND OBJECT_TYPE IN ('PROCEDURE', 'FUNCTION') + ORDER BY CASE OBJECT_TYPE WHEN 'PROCEDURE' THEN 0 ELSE 1 END, OBJECT_NAME + """.stripIndent().trim(); + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ObjectInfo(rs.getString(1), rs.getString(2), schema, null)); + } + } + } + return result; + }); + } + + @Override + public ObjectSource getObjectSource(String schema, String name, String objectType) { + return unchecked(() -> { + String dbmsType = switch (objectType.toUpperCase(Locale.ROOT)) { + case "VIEW" -> "VIEW"; + case "PROCEDURE" -> "PROCEDURE"; + case "FUNCTION" -> "FUNCTION"; + default -> throw new IllegalArgumentException("Unsupported object type: " + objectType); + }; + String source; + String sql = "SELECT DBMS_METADATA.GET_DDL(?, ?, ?) FROM DUAL"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, dbmsType); + stmt.setString(2, name); + stmt.setString(3, schema); + try (ResultSet rs = stmt.executeQuery()) { + source = rs.next() ? coalesce(rs.getString(1)) : ""; + } + } + return new ObjectSource(name, objectType, schema, source); + }); + } + + @Override + public String getTableDdl(String schema, String table) { + return unchecked(() -> { + String sql = "SELECT DBMS_METADATA.GET_DDL(?, ?, ?) FROM DUAL"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, "TABLE"); + stmt.setString(2, table); + stmt.setString(3, schema); + try (ResultSet rs = stmt.executeQuery()) { + if (rs.next()) { + return appendTableAndColumnComments(coalesce(rs.getString(1)), schema, table); + } + } + } + throw new IllegalArgumentException("Table not found: " + schema + "." + table); + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + Set pkColumns = new java.util.HashSet<>(); + String pkSql = """ + SELECT cols.COLUMN_NAME FROM ALL_CONS_COLUMNS cols + JOIN ALL_CONSTRAINTS cons ON cols.CONSTRAINT_NAME = cons.CONSTRAINT_NAME AND cols.OWNER = cons.OWNER + WHERE cons.CONSTRAINT_TYPE = 'P' AND cons.OWNER = ? AND cons.TABLE_NAME = ? + """.stripIndent().trim(); + try (PreparedStatement stmt = requireConnected().prepareStatement(pkSql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + pkColumns.add(rs.getString(1)); + } + } + } + + List result = new ArrayList<>(); + // DATA_DEFAULT is a LONG column — it must be selected first and read first + // in JDBC, otherwise the data is truncated. + String colSql = """ + SELECT c.DATA_DEFAULT, + c.COLUMN_NAME, + c.DATA_TYPE, + c.NULLABLE, + c.DATA_PRECISION, + c.DATA_SCALE, + c.DATA_LENGTH, + c.CHAR_LENGTH, + cc.COMMENTS + FROM ALL_TAB_COLUMNS c + LEFT JOIN ALL_COL_COMMENTS cc + ON cc.OWNER = c.OWNER + AND cc.TABLE_NAME = c.TABLE_NAME + AND cc.COLUMN_NAME = c.COLUMN_NAME + WHERE c.OWNER = ? AND c.TABLE_NAME = ? + ORDER BY c.COLUMN_ID + """.stripIndent().trim(); + try (PreparedStatement stmt = requireConnected().prepareStatement(colSql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + // DATA_DEFAULT is a LONG — must be read first, before all other columns. + String dataDefault = readLongColumn(rs, "DATA_DEFAULT"); + String name = rs.getString("COLUMN_NAME"); + String baseType = rs.getString("DATA_TYPE"); + Integer numPrec = intObject(rs, "DATA_PRECISION"); + Integer numScale = intObject(rs, "DATA_SCALE"); + Integer dataLen = intObject(rs, "DATA_LENGTH"); + Integer charLen = intObject(rs, "CHAR_LENGTH"); + String dataType = formatDataType(baseType, numPrec, numScale, dataLen, charLen); + + result.add(new ColumnInfo( + name, + dataType, + "Y".equals(rs.getString("NULLABLE")), + dataDefault, + pkColumns.contains(name), + null, + rs.getString("COMMENTS"), + numPrec, + numScale, + charLen + )); + } + } + } + fillMissingColumnComments(schema, table, result); + return result; + }); + } + + @Override + public List listIndexes(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = """ + SELECT i.INDEX_NAME, + LISTAGG(ic.COLUMN_NAME, ',') WITHIN GROUP (ORDER BY ic.COLUMN_POSITION) AS COLUMNS, + i.UNIQUENESS, + CASE WHEN c.CONSTRAINT_TYPE = 'P' THEN 1 ELSE 0 END AS IS_PK, + i.INDEX_TYPE + FROM ALL_INDEXES i + JOIN ALL_IND_COLUMNS ic ON i.INDEX_NAME = ic.INDEX_NAME AND i.OWNER = ic.INDEX_OWNER AND i.TABLE_OWNER = ic.TABLE_OWNER + LEFT JOIN ALL_CONSTRAINTS c ON i.INDEX_NAME = c.INDEX_NAME AND i.TABLE_OWNER = c.OWNER + AND c.CONSTRAINT_TYPE = 'P' + WHERE i.TABLE_OWNER = ? AND i.TABLE_NAME = ? + GROUP BY i.INDEX_NAME, i.UNIQUENESS, c.CONSTRAINT_TYPE, i.INDEX_TYPE + ORDER BY i.INDEX_NAME + """.stripIndent().trim(); + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new IndexInfo( + rs.getString(1), + splitNonEmpty(coalesce(rs.getString(2)), ","), + "UNIQUE".equals(rs.getString(3)), + "1".equals(rs.getString(4)), + null, + rs.getString(5), + null, + null + )); + } + } + } + return result; + }); + } + + @Override + public List listForeignKeys(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = """ + SELECT c.CONSTRAINT_NAME, cc.COLUMN_NAME, rc.TABLE_NAME, rcc.COLUMN_NAME + FROM ALL_CONSTRAINTS c + JOIN ALL_CONS_COLUMNS cc ON c.CONSTRAINT_NAME = cc.CONSTRAINT_NAME AND c.OWNER = cc.OWNER + JOIN ALL_CONSTRAINTS rc ON c.R_CONSTRAINT_NAME = rc.CONSTRAINT_NAME AND c.R_OWNER = rc.OWNER + JOIN ALL_CONS_COLUMNS rcc ON rc.CONSTRAINT_NAME = rcc.CONSTRAINT_NAME AND rc.OWNER = rcc.OWNER + WHERE c.CONSTRAINT_TYPE = 'R' AND c.OWNER = ? AND c.TABLE_NAME = ? + ORDER BY c.CONSTRAINT_NAME + """.stripIndent().trim(); + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ForeignKeyInfo( + rs.getString(1), + rs.getString(2), + rs.getString(3), + rs.getString(4) + )); + } + } + } + return result; + }); + } + + @Override + public List listTriggers(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = """ + SELECT TRIGGER_NAME, TRIGGERING_EVENT, '' AS TRIGGER_TYPE + FROM ALL_TRIGGERS + WHERE OWNER = ? AND TABLE_NAME = ? + ORDER BY TRIGGER_NAME + """.stripIndent().trim(); + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TriggerInfo(rs.getString(1), rs.getString(2), rs.getString(3))); + } + } + } + return result; + }); + } + + @Override + public QueryResult executeQuery(String sql, String schema, ExecuteQueryOptions options) { + return JdbcExecutor.INSTANCE.execute( + requireConnected(), + sql, + schema, + this::setSchemaSQL, + options.getMaxRows(), + options.getFetchSize(), + options.getTimeoutSecs(), + this::stringResultValue + ); + } + + @Override + public QueryPageResult executeQueryPage(String sql, String schema, QueryPageOptions options) { + return JdbcExecutor.INSTANCE.executePage( + requireConnected(), + sql, + schema, + this::setSchemaSQL, + options, + this::stringResultValue + ); + } + + @Override + public String setSchemaSQL(String schema) { + return "SET SCHEMA " + JdbcIdentifiers.INSTANCE.doubleQuote(schema); + } + + @Override + public void disconnect() { + uncheckedVoid(() -> { + if (connection != null) { + connection.close(); + } + connection = null; + }); + } + + private Object stringResultValue(ResultSet rs, int index, int sqlType) { + return unchecked(() -> { + Object value = switch (sqlType) { + case Types.BIGINT -> rs.getLong(index); + case Types.INTEGER, Types.SMALLINT, Types.TINYINT -> rs.getInt(index); + case Types.FLOAT, Types.REAL -> rs.getFloat(index); + case Types.DOUBLE -> rs.getDouble(index); + case Types.DECIMAL, Types.NUMERIC -> rs.getBigDecimal(index); + case Types.BOOLEAN, Types.BIT -> rs.getBoolean(index); + case Types.CHAR, Types.VARCHAR, Types.LONGVARCHAR, + Types.NCHAR, Types.NVARCHAR, Types.LONGNVARCHAR, + Types.CLOB, Types.NCLOB -> rs.getString(index); + case Types.BINARY, Types.VARBINARY, Types.LONGVARBINARY, + Types.BLOB -> bytesToHex(rs.getBytes(index)); + case Types.SQLXML -> sqlXmlToString(rs.getSQLXML(index)); + default -> normalizeResultValue(rs.getObject(index)); + }; + return rs.wasNull() ? null : value; + }); + } + + private static Object normalizeResultValue(Object value) { + if (value == null) return null; + if (value instanceof Clob) { + Clob clob = (Clob) value; + return unchecked(() -> clob.getSubString(1, Math.toIntExact(clob.length()))); + } + if (value instanceof Blob) { + Blob blob = (Blob) value; + return unchecked(() -> bytesToHex(blob.getBytes(1, Math.toIntExact(blob.length())))); + } + if (value instanceof SQLXML) { + SQLXML sqlxml = (SQLXML) value; + return unchecked(sqlxml::getString); + } + if (value instanceof byte[]) { + return bytesToHex((byte[]) value); + } + return value instanceof Number || value instanceof Boolean ? value : value.toString(); + } + + private static String sqlXmlToString(SQLXML value) { + return value == null ? null : unchecked(value::getString); + } + + private static String bytesToHex(byte[] bytes) { + if (bytes == null) { + return null; + } + StringBuilder result = new StringBuilder(bytes.length * 2 + 2); + result.append("0x"); + for (byte b : bytes) { + result.append(Character.forDigit((b >> 4) & 0xF, 16)); + result.append(Character.forDigit(b & 0xF, 16)); + } + return result.toString(); + } + + private static String buildUrl(ConnectParams params) { + String database = params.getDatabase() == null ? "" : params.getDatabase().trim(); + String suffix = database.isEmpty() ? "" : "/" + database; + return "jdbc:dm://" + params.getHost() + ":" + params.getPort() + suffix; + } + + private static String formatDataType(String base, Integer numPrec, Integer numScale, Integer dataLen, Integer charLen) { + return switch (base.toUpperCase(Locale.ROOT)) { + case "VARCHAR2", "NVARCHAR2", "VARCHAR", "CHAR", "NCHAR" -> { + Integer length = charLen != null ? charLen : dataLen; + yield length != null ? base + "(" + length + ")" : base; + } + case "NUMBER", "NUMERIC", "DECIMAL" -> { + if (numPrec != null && numScale != null && numScale > 0) { + yield base + "(" + numPrec + "," + numScale + ")"; + } + yield numPrec != null && numPrec > 0 ? base + "(" + numPrec + ")" : base; + } + case "RAW" -> dataLen != null ? "RAW(" + dataLen + ")" : "RAW"; + default -> base; + }; + } + + private static Integer intObject(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value == null ? null : ((Number) value).intValue(); + } + + // DATA_DEFAULT is stored as a LONG column in Oracle/Dameng. JDBC requires LONG + // columns to be read before other columns. We also try getCharacterStream as a + // fallback because some drivers don't support getString on LONG columns. + private static String readLongColumn(ResultSet rs, String column) throws Exception { + try { + String value = rs.getString(column); + if (value != null) { + return value; + } + } catch (Exception ignored) { + } + try (java.io.Reader reader = rs.getCharacterStream(column)) { + if (reader == null) { + return null; + } + StringBuilder sb = new StringBuilder(); + char[] buf = new char[4096]; + int n; + while ((n = reader.read(buf)) != -1) { + sb.append(buf, 0, n); + } + return sb.toString(); + } + } + + private static List splitNonEmpty(String value, String delimiter) { + List result = new ArrayList<>(); + Arrays.stream(value.split(delimiter)) + .filter(part -> !part.isEmpty()) + .forEach(result::add); + return result; + } + + private static String coalesce(String value) { + return value == null ? "" : value; + } + + private void fillMissingColumnComments(String schema, String table, List columns) { + if (columns.stream().noneMatch(column -> !notBlank(column.getComment()))) { + return; + } + Map comments = new HashMap<>(); + queryColumnComments( + comments, + "SELECT COLUMN_NAME, COMMENTS FROM USER_COL_COMMENTS WHERE TABLE_NAME = ?", + table + ); + queryColumnComments( + comments, + "SELECT COLNAME, COMMENT$ FROM SYS.SYSCOLUMNCOMMENTS WHERE SCHNAME = ? AND TVNAME = ?", + schema, + table + ); + queryColumnComments( + comments, + "SELECT COLUMN_NAME, COMMENTS FROM ALL_COL_COMMENTS WHERE UPPER(OWNER) = UPPER(?) AND UPPER(TABLE_NAME) = UPPER(?)", + schema, + table + ); + for (ColumnInfo column : columns) { + if (notBlank(column.getComment())) { + continue; + } + String comment = comments.get(column.getName().toUpperCase(Locale.ROOT)); + if (notBlank(comment)) { + column.setComment(comment); + } + } + } + + private void queryColumnComments(Map comments, String sql, String... params) { + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + for (int i = 0; i < params.length; i++) { + stmt.setString(i + 1, params[i]); + } + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String column = rs.getString(1); + String comment = rs.getString(2); + if (notBlank(column) && notBlank(comment)) { + comments.putIfAbsent(column.toUpperCase(Locale.ROOT), comment); + } + } + } + } catch (Exception ignored) { + // Some Dameng versions or users do not expose every comment view. + } + } + + private String appendTableAndColumnComments(String ddl, String schema, String table) throws Exception { + StringBuilder result = new StringBuilder(ddl == null ? "" : ddl.trim()); + String tableRef = qualifiedName(schema, table); + String tableComment = tableComment(schema, table); + if (notBlank(tableComment) && !containsCommentOnTable(result.toString(), schema, table)) { + appendCommentStatement(result, "COMMENT ON TABLE " + tableRef + " IS '" + sqlStringBody(tableComment) + "';"); + } + for (ColumnInfo column : getColumns(schema, table)) { + if (!notBlank(column.getComment()) || containsCommentOnColumn(result.toString(), schema, table, column.getName())) { + continue; + } + appendCommentStatement(result, "COMMENT ON COLUMN " + tableRef + "." + JdbcIdentifiers.INSTANCE.doubleQuote(column.getName()) + " IS '" + sqlStringBody(column.getComment()) + "';"); + } + return result.toString(); + } + + private String tableComment(String schema, String table) throws Exception { + String sql = """ + SELECT COMMENTS + FROM ALL_TAB_COMMENTS + WHERE OWNER = ? AND TABLE_NAME = ? + """.stripIndent().trim(); + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + return rs.next() ? rs.getString(1) : null; + } + } + } + + private static void appendCommentStatement(StringBuilder ddl, String statement) { + if (!ddl.isEmpty()) { + if (ddl.charAt(ddl.length() - 1) != '\n') { + ddl.append("\n"); + } + ddl.append("\n"); + } + ddl.append(statement); + } + + private static boolean containsCommentOnTable(String ddl, String schema, String table) { + return normalizedDdl(ddl).contains("COMMENT ON TABLE " + normalizedQualifiedName(schema, table)); + } + + private static boolean containsCommentOnColumn(String ddl, String schema, String table, String column) { + return normalizedDdl(ddl).contains("COMMENT ON COLUMN " + normalizedQualifiedName(schema, table) + "." + normalizedIdentifier(column)); + } + + private static String qualifiedName(String schema, String name) { + if (!notBlank(schema)) { + return JdbcIdentifiers.INSTANCE.doubleQuote(name); + } + return JdbcIdentifiers.INSTANCE.doubleQuote(schema) + "." + JdbcIdentifiers.INSTANCE.doubleQuote(name); + } + + private static String normalizedQualifiedName(String schema, String name) { + if (!notBlank(schema)) { + return normalizedIdentifier(name); + } + return normalizedIdentifier(schema) + "." + normalizedIdentifier(name); + } + + private static String normalizedIdentifier(String value) { + return JdbcIdentifiers.INSTANCE.doubleQuote(value).toUpperCase(Locale.ROOT); + } + + private static String normalizedDdl(String ddl) { + return coalesce(ddl).toUpperCase(Locale.ROOT).replaceAll("\\s+", " "); + } + + private static boolean notBlank(String value) { + return value != null && !value.trim().isEmpty(); + } + + private static String sqlStringBody(String value) { + return value.replace("'", "''"); + } + + @Override + public String getExplainInfo(String sql, String database, String schema, int timeoutSecs, String mode) { + return unchecked(() -> { + Connection conn = requireConnected(); + boolean autotrace = "autotrace".equalsIgnoreCase(mode); + String planText = null; + + if (autotrace) { + boolean monitorEnabled = false; + try (Statement s = conn.createStatement()) { + s.execute("SF_SET_SESSION_PARA_VALUE('MONITOR_SQL_EXEC', 1)"); + monitorEnabled = true; + } catch (Exception ignored) {} + + try (Statement stmt = conn.createStatement()) { + if (timeoutSecs >= 0) { + try { stmt.setQueryTimeout(timeoutSecs); } catch (Exception ignored) {} + } + boolean hasResultSet = stmt.execute(sql); + if (hasResultSet) { + try (ResultSet rs = stmt.getResultSet()) { + while (rs.next()) { /* consume all rows */ } + } + } + try { + Class dmConnClass = Class.forName("dm.jdbc.driver.DmdbConnection"); + if (dmConnClass.isInstance(conn)) { + Method m = dmConnClass.getMethod("getExplainInfo", Statement.class); + planText = (String) m.invoke(dmConnClass.cast(conn), stmt); + } + } catch (Exception ignored) {} + } finally { + if (monitorEnabled) { + try (Statement s = conn.createStatement()) { + s.execute("SF_SET_SESSION_PARA_VALUE('MONITOR_SQL_EXEC', 0)"); + } catch (Exception ignored) {} + } + } + } else { + try { + Class dmConnClass = Class.forName("dm.jdbc.driver.DmdbConnection"); + if (dmConnClass.isInstance(conn)) { + Method m = dmConnClass.getMethod("getExplainInfo", String.class); + planText = (String) m.invoke(dmConnClass.cast(conn), sql); + } + } catch (Exception ignored) {} + } + + if (planText == null || planText.trim().isEmpty()) { + try (Statement explainStmt = conn.createStatement(); + ResultSet rs = explainStmt.executeQuery("EXPLAIN " + sql)) { + StringBuilder sb = new StringBuilder(); + while (rs.next()) { + sb.append(rs.getString(1)).append("\n"); + } + planText = sb.toString().trim(); + } catch (Exception ignored) {} + } + return planText != null ? planText : ""; + }); + } + + public static void main(String[] args) { + new JsonRpcServer(new DamengAgent()).run(); + } +} diff --git a/agents/drivers/dameng/src/test/java/com/dbx/agent/dameng/DamengAgentMetadataTest.java b/agents/drivers/dameng/src/test/java/com/dbx/agent/dameng/DamengAgentMetadataTest.java new file mode 100644 index 0000000000..fc79e2ba25 --- /dev/null +++ b/agents/drivers/dameng/src/test/java/com/dbx/agent/dameng/DamengAgentMetadataTest.java @@ -0,0 +1,279 @@ +package com.dbx.agent.dameng; + +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ObjectInfo; +import com.dbx.agent.TableInfo; +import com.dbx.agent.test.JdbcMetadataSqlFake; +import com.dbx.agent.test.TestSupport; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.Arrays; +import java.util.List; + +class DamengAgentMetadataTest { + @Test + void usesColumnCommentsMetadataQuery() { + DamengAgent agent = new DamengAgent(); + TestSupport.setPrivateConnection(agent, JdbcMetadataSqlFake.connection()); + + agent.getColumns("APP", "USERS"); + + String columnsSql = JdbcMetadataSqlFake.statements.stream() + .filter(sql -> sql.contains("ALL_TAB_COLUMNS")) + .findFirst() + .orElseThrow(); + Assertions.assertTrue(columnsSql.contains("LEFT JOIN ALL_COL_COMMENTS"), columnsSql); + } + + @Test + void usesTableCommentsMetadataQuery() { + DamengAgent agent = new DamengAgent(); + TestSupport.setPrivateConnection(agent, JdbcMetadataSqlFake.connection()); + + agent.listTables("APP"); + + String tablesSql = JdbcMetadataSqlFake.statements.stream() + .filter(sql -> sql.contains("ALL_TAB_COMMENTS")) + .findFirst() + .orElseThrow(); + Assertions.assertTrue(tablesSql.contains("COMMENTS"), tablesSql); + Assertions.assertFalse(tablesSql.contains("ALL_TABLES"), tablesSql); + Assertions.assertFalse(tablesSql.contains("ALL_VIEWS"), tablesSql); + } + + @Test + void mapsTableCommentFromMetadata() { + DamengAgent agent = new DamengAgent(); + TestSupport.setPrivateConnection(agent, metadataConnection()); + + List tables = agent.listTables("APP"); + + Assertions.assertEquals(1, tables.size()); + Assertions.assertEquals("USERS", tables.get(0).getName()); + Assertions.assertEquals("用户示例表", tables.get(0).getComment()); + } + + @Test + void mapsTableCommentToObjectMetadata() { + DamengAgent agent = new DamengAgent(); + TestSupport.setPrivateConnection(agent, metadataConnection()); + + List objects = agent.listObjects("APP"); + + Assertions.assertEquals(1, objects.size()); + Assertions.assertEquals("USERS", objects.get(0).getName()); + Assertions.assertEquals("用户示例表", objects.get(0).getComment()); + } + + @Test + void triggerMetadataDoesNotRequireOracleTriggerTypeColumn() { + DamengAgent agent = new DamengAgent(); + TestSupport.setPrivateConnection(agent, JdbcMetadataSqlFake.connection()); + + agent.listTriggers("APP", "USERS"); + + String triggersSql = JdbcMetadataSqlFake.statements.stream() + .filter(sql -> sql.contains("ALL_TRIGGERS")) + .findFirst() + .orElseThrow(); + Assertions.assertFalse(triggersSql.contains("TRIGGERING_EVENT, TRIGGER_TYPE"), triggersSql); + Assertions.assertTrue(triggersSql.contains("'' AS TRIGGER_TYPE"), triggersSql); + } + + @Test + void mapsColumnCommentFromMetadata() { + DamengAgent agent = new DamengAgent(); + TestSupport.setPrivateConnection(agent, metadataConnection()); + + List columns = agent.getColumns("APP", "USERS"); + + Assertions.assertEquals(1, columns.size()); + Assertions.assertEquals("id comment", columns.get(0).getComment()); + } + + @Test + void mapsColumnCommentFromFallbackMetadataViews() { + DamengAgent agent = new DamengAgent(); + TestSupport.setPrivateConnection(agent, metadataConnection(null, "fallback id comment")); + + List columns = agent.getColumns("APP", "USERS"); + + Assertions.assertEquals(1, columns.size()); + Assertions.assertEquals("fallback id comment", columns.get(0).getComment()); + } + + @Test + void appendsTableAndColumnCommentsToTableDdl() { + DamengAgent agent = new DamengAgent(); + TestSupport.setPrivateConnection(agent, metadataConnection()); + + String ddl = agent.getTableDdl("APP", "USERS"); + + Assertions.assertTrue(ddl.contains("CREATE TABLE \"APP\".\"USERS\""), ddl); + Assertions.assertTrue(ddl.contains("COMMENT ON TABLE \"APP\".\"USERS\" IS '用户示例表';"), ddl); + Assertions.assertTrue(ddl.contains("COMMENT ON COLUMN \"APP\".\"USERS\".\"ID\" IS 'id comment';"), ddl); + } + + private static Connection metadataConnection() { + return metadataConnection("id comment", null); + } + + private static Connection metadataConnection(String allColumnComment, String fallbackColumnComment) { + return proxy(Connection.class, (method, args) -> { + String name = method.getName(); + if ("prepareStatement".equals(name)) { + String sql = (String) args[0]; + if (sql.contains("DBMS_METADATA.GET_DDL")) { + return metadataStatement(List.of(List.of("CREATE TABLE \"APP\".\"USERS\" (\n \"ID\" NUMBER\n);"))); + } + if (sql.contains("ALL_CONS_COLUMNS")) { + return metadataStatement(List.of(List.of("ID"))); + } + if (sql.startsWith("SELECT COMMENTS")) { + return metadataStatement(List.of(List.of("用户示例表"))); + } + if (sql.contains("USER_COL_COMMENTS")) { + return metadataStatement(fallbackColumnComment == null ? List.of() : List.of(List.of("ID", fallbackColumnComment))); + } + if (sql.contains("SYSCOLUMNCOMMENTS")) { + return metadataStatement(List.of()); + } + if (sql.contains("ALL_TAB_COMMENTS")) { + return metadataStatement(List.of(List.of("USERS", "TABLE", "用户示例表"))); + } + if (sql.contains("ALL_COL_COMMENTS") && !sql.contains("ALL_TAB_COLUMNS")) { + return metadataStatement(List.of()); + } + if (sql.contains("ALL_OBJECTS")) { + return metadataStatement(List.of()); + } + if (sql.contains("ALL_TAB_COLUMNS")) { + return metadataStatement(List.of(Arrays.asList( + "ID", + "NUMBER", + "N", + Integer.valueOf(10), + Integer.valueOf(0), + Integer.valueOf(22), + Integer.valueOf(10), + allColumnComment + ))); + } + } + if ("close".equals(name)) { + return null; + } + if ("isClosed".equals(name)) { + return false; + } + return defaultValue(method.getReturnType()); + }); + } + + private static PreparedStatement metadataStatement(List> rows) { + return proxy(PreparedStatement.class, (method, args) -> { + String name = method.getName(); + if ("executeQuery".equals(name)) { + return metadataResultSet(rows); + } + if ("setString".equals(name) || "close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + }); + } + + private static ResultSet metadataResultSet(List> rows) { + int[] index = {-1}; + return proxy(ResultSet.class, (method, args) -> { + String name = method.getName(); + if ("next".equals(name)) { + index[0] += 1; + return index[0] < rows.size(); + } + if ("getString".equals(name)) { + if (args[0] instanceof Integer columnIndex) { + Object value = rows.get(index[0]).get(columnIndex - 1); + return value == null ? null : value.toString(); + } + return switch (((String) args[0]).toUpperCase()) { + case "COLUMN_NAME" -> string(rows, index[0], 0); + case "DATA_TYPE" -> string(rows, index[0], 1); + case "NULLABLE" -> string(rows, index[0], 2); + case "DATA_DEFAULT" -> null; + case "COMMENTS", "COMMENT$" -> string(rows, index[0], rows.get(index[0]).size() - 1); + case "COLNAME" -> string(rows, index[0], 0); + default -> null; + }; + } + if ("getObject".equals(name)) { + return switch (((String) args[0]).toUpperCase()) { + case "DATA_PRECISION" -> rows.get(index[0]).get(3); + case "DATA_SCALE" -> rows.get(index[0]).get(4); + case "DATA_LENGTH" -> rows.get(index[0]).get(5); + case "CHAR_LENGTH" -> rows.get(index[0]).get(6); + default -> null; + }; + } + if ("close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + }); + } + + private static String string(List> rows, int rowIndex, int columnIndex) { + Object value = rows.get(rowIndex).get(columnIndex); + return value == null ? null : value.toString(); + } + + @SuppressWarnings("unchecked") + private static T proxy(Class type, MethodHandler handler) { + InvocationHandler invocationHandler = new InvocationHandler() { + @Override + public Object invoke(Object proxy, Method method, Object[] args) { + return handler.handle(method, args); + } + }; + return (T) Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, invocationHandler); + } + + private static Object defaultValue(Class type) { + if (Boolean.TYPE.equals(type)) { + return false; + } + if (Byte.TYPE.equals(type)) { + return (byte) 0; + } + if (Short.TYPE.equals(type)) { + return (short) 0; + } + if (Integer.TYPE.equals(type)) { + return 0; + } + if (Long.TYPE.equals(type)) { + return 0L; + } + if (Float.TYPE.equals(type)) { + return 0f; + } + if (Double.TYPE.equals(type)) { + return 0.0d; + } + if (Character.TYPE.equals(type)) { + return '\0'; + } + return null; + } + + private interface MethodHandler { + Object handle(Method method, Object[] args); + } +} diff --git a/agents/drivers/dameng/src/test/java/com/dbx/agent/dameng/DamengAgentPagingTest.java b/agents/drivers/dameng/src/test/java/com/dbx/agent/dameng/DamengAgentPagingTest.java new file mode 100644 index 0000000000..bca5f6b01e --- /dev/null +++ b/agents/drivers/dameng/src/test/java/com/dbx/agent/dameng/DamengAgentPagingTest.java @@ -0,0 +1,277 @@ +package com.dbx.agent.dameng; + +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.test.TestSupport; +import dm.jdbc.driver.DmdbTimestamp; +import org.junit.jupiter.api.Test; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.Statement; +import java.sql.Types; +import javax.sql.rowset.serial.SerialBlob; +import javax.sql.rowset.serial.SerialClob; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class DamengAgentPagingTest { + @Test + void executeQueryPageStringifiesTimestampValuesBeforeJsonRpcSerialization() { + DamengAgent agent = new DamengAgent(); + TestSupport.setPrivateConnection( + agent, + singleValueConnection( + "CURRENT_TIMESTAMP", + Types.TIMESTAMP, + DmdbTimestamp.valueOf("2026-05-20 12:34:56.123456789"), + null, + null + ) + ); + JsonRpcServer server = new JsonRpcServer(agent); + + String response = handleRequest(server, """ + { + "jsonrpc": "2.0", + "id": 1, + "method": "execute_query_page", + "params": { + "sql": "SELECT CURRENT_TIMESTAMP", + "schema": "SYS", + "pageSize": 100 + } + } + """); + + assertFalse(response.contains("\"error\""), response); + assertTrue(response.contains("2026-05-20 12:34:56.123456"), response); + } + + @Test + void executeQueryPageReadsClobValuesAsText() throws Exception { + DamengAgent agent = new DamengAgent(); + TestSupport.setPrivateConnection( + agent, + singleValueConnection( + "content", + Types.CLOB, + new SerialClob("真实文本".toCharArray()), + "真实文本", + null + ) + ); + JsonRpcServer server = new JsonRpcServer(agent); + + String response = handleRequest(server, """ + { + "jsonrpc": "2.0", + "id": 1, + "method": "execute_query_page", + "params": { + "sql": "SELECT content FROM sample", + "schema": "SYS", + "pageSize": 100 + } + } + """); + + assertFalse(response.contains("\"error\""), response); + assertTrue(response.contains("真实文本"), response); + assertFalse(response.contains("SerialClob"), response); + } + + @Test + void executeQueryPageFormatsBlobValuesAsHexText() throws Exception { + DamengAgent agent = new DamengAgent(); + TestSupport.setPrivateConnection( + agent, + singleValueConnection( + "payload", + Types.BLOB, + new SerialBlob(new byte[]{0x01, 0x2A, (byte) 0xFF}), + null, + new byte[]{0x01, 0x2A, (byte) 0xFF} + ) + ); + JsonRpcServer server = new JsonRpcServer(agent); + + String response = handleRequest(server, """ + { + "jsonrpc": "2.0", + "id": 1, + "method": "execute_query_page", + "params": { + "sql": "SELECT payload FROM sample", + "schema": "SYS", + "pageSize": 100 + } + } + """); + + assertFalse(response.contains("\"error\""), response); + assertTrue(response.contains("0x012aff"), response); + assertFalse(response.contains("SerialBlob"), response); + } + + private static Connection singleValueConnection( + String columnLabel, + int sqlType, + Object objectValue, + String stringValue, + byte[] bytesValue + ) { + Statement statement = singleValueStatement(columnLabel, sqlType, objectValue, stringValue, bytesValue); + return proxy(Connection.class, (method, args) -> { + String name = method.getName(); + if ("createStatement".equals(name)) { + return statement; + } + if ("getAutoCommit".equals(name)) { + return true; + } + if ("setAutoCommit".equals(name) || "commit".equals(name) || "rollback".equals(name) || "close".equals(name)) { + return null; + } + if ("isClosed".equals(name)) { + return false; + } + return defaultValue(method.getReturnType()); + }); + } + + private static Statement singleValueStatement( + String columnLabel, + int sqlType, + Object objectValue, + String stringValue, + byte[] bytesValue + ) { + ResultSet resultSet = singleValueResultSet(columnLabel, sqlType, objectValue, stringValue, bytesValue); + return proxy(Statement.class, (method, args) -> { + String name = method.getName(); + if ("execute".equals(name)) { + return true; + } + if ("getResultSet".equals(name)) { + return resultSet; + } + if ("getUpdateCount".equals(name)) { + return 0; + } + if ("setMaxRows".equals(name) || "setFetchSize".equals(name) || "close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + }); + } + + private static ResultSet singleValueResultSet( + String columnLabel, + int sqlType, + Object objectValue, + String stringValue, + byte[] bytesValue + ) { + final int[] index = {-1}; + ResultSetMetaData metadata = singleValueMetadata(columnLabel, sqlType); + return proxy(ResultSet.class, (method, args) -> { + String name = method.getName(); + if ("next".equals(name)) { + index[0] += 1; + return index[0] == 0; + } + if ("getMetaData".equals(name)) { + return metadata; + } + if ("getObject".equals(name)) { + return objectValue; + } + if ("getString".equals(name)) { + return stringValue; + } + if ("getBytes".equals(name)) { + return bytesValue; + } + if ("wasNull".equals(name)) { + return false; + } + if ("close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + }); + } + + private static ResultSetMetaData singleValueMetadata(String columnLabel, int sqlType) { + return proxy(ResultSetMetaData.class, (method, args) -> { + String name = method.getName(); + if ("getColumnCount".equals(name)) { + return 1; + } + if ("getColumnLabel".equals(name)) { + return columnLabel; + } + if ("getColumnType".equals(name)) { + return sqlType; + } + return defaultValue(method.getReturnType()); + }); + } + + private static String handleRequest(JsonRpcServer server, String request) { + try { + Method method = JsonRpcServer.class.getDeclaredMethod("handleRequest", String.class); + method.setAccessible(true); + return (String) method.invoke(server, request); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + private static T proxy(Class type, MethodHandler handler) { + InvocationHandler invocationHandler = new InvocationHandler() { + @Override + public Object invoke(Object proxy, Method method, Object[] args) { + return handler.handle(method, args); + } + }; + return type.cast(Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, invocationHandler)); + } + + private static Object defaultValue(Class type) { + if (Boolean.TYPE.equals(type)) { + return false; + } + if (Byte.TYPE.equals(type)) { + return (byte) 0; + } + if (Short.TYPE.equals(type)) { + return (short) 0; + } + if (Integer.TYPE.equals(type)) { + return 0; + } + if (Long.TYPE.equals(type)) { + return 0L; + } + if (Float.TYPE.equals(type)) { + return 0f; + } + if (Double.TYPE.equals(type)) { + return 0.0d; + } + if (Character.TYPE.equals(type)) { + return '\0'; + } + return null; + } + + private interface MethodHandler { + Object handle(Method method, Object[] args); + } +} diff --git a/agents/drivers/dameng/src/test/java/com/dbx/agent/dameng/DamengAgentTest.java b/agents/drivers/dameng/src/test/java/com/dbx/agent/dameng/DamengAgentTest.java new file mode 100644 index 0000000000..9670eb5464 --- /dev/null +++ b/agents/drivers/dameng/src/test/java/com/dbx/agent/dameng/DamengAgentTest.java @@ -0,0 +1,16 @@ +package com.dbx.agent.dameng; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; + +class DamengAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new DamengAgent(); + } + + @Override + protected String resultSetSql() { + return "CALL SP_SAMPLE()"; + } +} diff --git a/agents/drivers/dameng/src/test/java/com/dbx/agent/dameng/DamengAgentUrlTest.java b/agents/drivers/dameng/src/test/java/com/dbx/agent/dameng/DamengAgentUrlTest.java new file mode 100644 index 0000000000..c1d72a87b3 --- /dev/null +++ b/agents/drivers/dameng/src/test/java/com/dbx/agent/dameng/DamengAgentUrlTest.java @@ -0,0 +1,29 @@ +package com.dbx.agent.dameng; + +import com.dbx.agent.ConnectParams; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.lang.reflect.Method; + +class DamengAgentUrlTest { + @Test + void omitsDatabasePathWhenDatabaseIsBlank() throws Exception { + String url = invokeBuildUrl(new ConnectParams("127.0.0.1", 5236, "", "SYSDBA", "pwd", "", "", false)); + + Assertions.assertEquals("jdbc:dm://127.0.0.1:5236", url); + } + + @Test + void appendsDatabasePathWhenDatabaseIsProvided() throws Exception { + String url = invokeBuildUrl(new ConnectParams("127.0.0.1", 5236, "MAIN", "SYSDBA", "pwd", "", "", false)); + + Assertions.assertEquals("jdbc:dm://127.0.0.1:5236/MAIN", url); + } + + private static String invokeBuildUrl(ConnectParams params) throws Exception { + Method method = DamengAgent.class.getDeclaredMethod("buildUrl", ConnectParams.class); + method.setAccessible(true); + return (String) method.invoke(null, params); + } +} diff --git a/agents/drivers/databend/build.gradle b/agents/drivers/databend/build.gradle new file mode 100644 index 0000000000..a1db92d0a1 --- /dev/null +++ b/agents/drivers/databend/build.gradle @@ -0,0 +1,9 @@ +dependencies { + implementation 'com.databend:databend-jdbc:0.4.6' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'Databend', 'Main-Class': 'com.dbx.agent.databend.DatabendAgent') + } +} diff --git a/agents/drivers/databend/src/main/java/com/dbx/agent/databend/DatabendAgent.java b/agents/drivers/databend/src/main/java/com/dbx/agent/databend/DatabendAgent.java new file mode 100644 index 0000000000..e70e195d29 --- /dev/null +++ b/agents/drivers/databend/src/main/java/com/dbx/agent/databend/DatabendAgent.java @@ -0,0 +1,233 @@ +package com.dbx.agent.databend; + +import com.dbx.agent.ConfiguredJdbcAgent; +import com.dbx.agent.JdbcAgentProfile; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.ObjectInfo; +import com.dbx.agent.ObjectSource; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +public final class DatabendAgent extends ConfiguredJdbcAgent { + public static final JdbcAgentProfile DATABEND_PROFILE = new JdbcAgentProfile( + "com.databend.jdbc.DatabendDriver", + "jdbc:databend://{host}:{port}/{database}", + 8000, + false, + Collections.singleton("INFORMATION_SCHEMA"), + Arrays.asList("TABLE", "VIEW", "BASE TABLE", "MATERIALIZED VIEW", "SYSTEM TABLE", "SYSTEM VIEW"), + "\"", + "USE", + true, + false, + false, + false + ); + + public DatabendAgent() { + super(DATABEND_PROFILE); + } + + @Override + public List listObjects(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(super.listObjects(schema)); + try { + useSchema(schema); + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery("SHOW PROCEDURES")) { + while (rs.next()) { + result.add(new ObjectInfo(rs.getString("name"), "PROCEDURE", schema, rs.getString("comment"))); + } + } + } catch (Exception ignored) { + } + return result; + }); + } + + @Override + public ObjectSource getObjectSource(String schema, String name, String objectType) { + if (!"PROCEDURE".equalsIgnoreCase(objectType)) { + return super.getObjectSource(schema, name, objectType); + } + return unchecked(() -> { + useSchema(schema); + ProcedureMetadata procedure = findProcedure(name); + if (procedure == null) { + throw new IllegalArgumentException("Procedure not found: " + name); + } + Map properties = describeProcedure(name, procedure.inputTypes); + String source = buildProcedureSource(name, procedure, properties); + return new ObjectSource(name, objectType, schema, source); + }); + } + + private void useSchema(String schema) throws SQLException { + if (schema == null || schema.trim().isEmpty()) { + return; + } + try (java.sql.Statement stmt = requireConnected().createStatement()) { + stmt.execute(DATABEND_PROFILE.schemaSwitchSql(schema.trim())); + } + } + + private ProcedureMetadata findProcedure(String name) throws SQLException { + try (java.sql.PreparedStatement stmt = requireConnected().prepareStatement( + "SELECT arguments, comment FROM system.procedures WHERE name = ? ORDER BY procedure_id LIMIT 1" + )) { + stmt.setString(1, name); + try (ResultSet rs = stmt.executeQuery()) { + if (!rs.next()) { + return null; + } + return new ProcedureMetadata( + rs.getString("comment"), + inputTypesFromArguments(rs.getString("arguments")) + ); + } + } + } + + private Map describeProcedure(String name, List inputTypes) throws SQLException { + Map result = new LinkedHashMap<>(); + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery("DESC PROCEDURE " + simpleProcedureName(name) + "(" + String.join(", ", inputTypes) + ")")) { + while (rs.next()) { + result.put(rs.getString("Property").toLowerCase(Locale.ROOT), rs.getString("Value")); + } + } + return result; + } + + private static String buildProcedureSource(String name, ProcedureMetadata procedure, Map properties) { + List names = signatureNames(properties.get("signature")); + List arguments = new ArrayList<>(); + for (int index = 0; index < procedure.inputTypes.size(); index += 1) { + String argumentName = index < names.size() && !names.get(index).isEmpty() ? names.get(index) : "arg" + (index + 1); + arguments.add(argumentName + " " + procedure.inputTypes.get(index)); + } + + String returns = trimOuterParens(properties.getOrDefault("returns", "")); + String language = properties.getOrDefault("language", "SQL"); + String body = properties.getOrDefault("body", "").trim(); + StringBuilder source = new StringBuilder(); + source.append("CREATE PROCEDURE ").append(simpleProcedureName(name)).append("(").append(String.join(", ", arguments)).append(")"); + if (!returns.isEmpty()) { + source.append("\nRETURNS ").append(returns); + } + source.append("\nLANGUAGE ").append(language); + if (procedure.comment != null && !procedure.comment.isEmpty()) { + source.append("\nCOMMENT = '").append(procedure.comment.replace("'", "''")).append("'"); + } + source.append("\nAS $$\n").append(body).append("\n$$;"); + return source.toString(); + } + + private static String simpleProcedureName(String name) { + if (name != null && name.matches("[A-Za-z_][A-Za-z0-9_]*")) { + return name; + } + throw new IllegalArgumentException("Databend procedure names with special characters are not supported: " + name); + } + + private static List inputTypesFromArguments(String arguments) { + if (arguments == null) { + return Collections.emptyList(); + } + int open = arguments.indexOf('('); + if (open < 0) { + return Collections.emptyList(); + } + int close = matchingParen(arguments, open); + if (close < 0) { + return Collections.emptyList(); + } + return splitTopLevel(arguments.substring(open + 1, close)); + } + + private static List signatureNames(String signature) { + if (signature == null) { + return Collections.emptyList(); + } + String trimmed = trimOuterParens(signature); + return splitTopLevel(trimmed); + } + + private static List splitTopLevel(String value) { + if (value == null || value.trim().isEmpty()) { + return Collections.emptyList(); + } + List result = new ArrayList<>(); + StringBuilder current = new StringBuilder(); + int depth = 0; + for (int index = 0; index < value.length(); index += 1) { + char ch = value.charAt(index); + if (ch == '(') { + depth += 1; + } else if (ch == ')') { + depth = Math.max(0, depth - 1); + } else if (ch == ',' && depth == 0) { + addTrimmed(result, current.toString()); + current.setLength(0); + continue; + } + current.append(ch); + } + addTrimmed(result, current.toString()); + return result; + } + + private static void addTrimmed(List result, String value) { + String trimmed = value.trim(); + if (!trimmed.isEmpty()) { + result.add(trimmed); + } + } + + private static int matchingParen(String value, int open) { + int depth = 0; + for (int index = open; index < value.length(); index += 1) { + char ch = value.charAt(index); + if (ch == '(') { + depth += 1; + } else if (ch == ')') { + depth -= 1; + if (depth == 0) { + return index; + } + } + } + return -1; + } + + private static String trimOuterParens(String value) { + String trimmed = value == null ? "" : value.trim(); + if (trimmed.startsWith("(") && trimmed.endsWith(")") && matchingParen(trimmed, 0) == trimmed.length() - 1) { + return trimmed.substring(1, trimmed.length() - 1).trim(); + } + return trimmed; + } + + private static final class ProcedureMetadata { + private final String comment; + private final List inputTypes; + + ProcedureMetadata(String comment, List inputTypes) { + this.comment = comment; + this.inputTypes = inputTypes; + } + } + + public static void main(String[] args) { + new JsonRpcServer(new DatabendAgent()).run(); + } +} diff --git a/agents/drivers/databend/src/test/java/com/dbx/agent/databend/DatabendAgentTest.java b/agents/drivers/databend/src/test/java/com/dbx/agent/databend/DatabendAgentTest.java new file mode 100644 index 0000000000..327aa848c2 --- /dev/null +++ b/agents/drivers/databend/src/test/java/com/dbx/agent/databend/DatabendAgentTest.java @@ -0,0 +1,54 @@ +package com.dbx.agent.databend; + +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class DatabendAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new DatabendAgent(); + } + + @Override + protected String resultSetSql() { + return "SELECT 1"; + } + + @Test + void buildsDefaultJdbcUrl() { + ConnectParams params = new ConnectParams(); + params.setHost("db.example.com"); + params.setPort(0); + params.setDatabase("default"); + + Assertions.assertEquals( + "jdbc:databend://db.example.com:8000/default", + DatabendAgent.DATABEND_PROFILE.buildUrl(params) + ); + } + + @Test + void appendsQueryParametersToJdbcUrl() { + ConnectParams params = new ConnectParams(); + params.setHost("db.example.com"); + params.setPort(20080); + params.setDatabase("default"); + params.setUrl_params("sslmode=disable"); + + Assertions.assertEquals( + "jdbc:databend://db.example.com:20080/default?sslmode=disable", + DatabendAgent.DATABEND_PROFILE.buildUrl(params) + ); + } + + @Test + void usesDoubleQuotedDatabaseAsExecutionContext() { + Assertions.assertEquals( + "USE \"analytics\"\"prod\"", + DatabendAgent.DATABEND_PROFILE.schemaSwitchSql("analytics\"prod") + ); + } +} diff --git a/agents/drivers/databricks/build.gradle b/agents/drivers/databricks/build.gradle new file mode 100644 index 0000000000..f6675d8cb2 --- /dev/null +++ b/agents/drivers/databricks/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.databricks:databricks-jdbc:3.3.3' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'Databricks SQL', 'Main-Class': 'com.dbx.agent.databricks.DatabricksAgent') + } +} diff --git a/agents/drivers/databricks/src/main/java/com/dbx/agent/databricks/DatabricksAgent.java b/agents/drivers/databricks/src/main/java/com/dbx/agent/databricks/DatabricksAgent.java new file mode 100644 index 0000000000..5b5ef6b99d --- /dev/null +++ b/agents/drivers/databricks/src/main/java/com/dbx/agent/databricks/DatabricksAgent.java @@ -0,0 +1,41 @@ +package com.dbx.agent.databricks; + +import com.dbx.agent.ConfiguredJdbcAgent; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.JdbcAgentProfile; +import com.dbx.agent.JsonRpcServer; + +public final class DatabricksAgent extends ConfiguredJdbcAgent { + public static final JdbcAgentProfile DATABRICKS_PROFILE = new DatabricksProfile(); + + public DatabricksAgent() { + super(DATABRICKS_PROFILE); + } + + public static void main(String[] args) { + new JsonRpcServer(new DatabricksAgent()).run(); + } + + private static final class DatabricksProfile extends JdbcAgentProfile { + private DatabricksProfile() { + super("com.databricks.client.jdbc.Driver", "jdbc:databricks://{host}:{port}/{database}", 443, true); + } + + @Override + public String buildUrl(ConnectParams params) { + if (!params.getConnection_string().trim().isEmpty()) { + return params.getConnection_string(); + } + int port = params.getPort() > 0 ? params.getPort() : getDefaultPort(); + String base = getUrlTemplate() + .replace("{host}", params.getHost()) + .replace("{port}", Integer.toString(port)) + .replace("{database}", params.getDatabase()); + String urlParams = params.getUrl_params() == null ? "" : params.getUrl_params().trim(); + while (urlParams.startsWith(";") || urlParams.startsWith("?") || urlParams.startsWith("&")) { + urlParams = urlParams.substring(1); + } + return urlParams.isEmpty() ? base : base + ";" + urlParams; + } + } +} diff --git a/agents/drivers/databricks/src/test/java/com/dbx/agent/databricks/DatabricksAgentTest.java b/agents/drivers/databricks/src/test/java/com/dbx/agent/databricks/DatabricksAgentTest.java new file mode 100644 index 0000000000..80f5bcba5f --- /dev/null +++ b/agents/drivers/databricks/src/test/java/com/dbx/agent/databricks/DatabricksAgentTest.java @@ -0,0 +1,22 @@ +package com.dbx.agent.databricks; + +import com.dbx.agent.ConnectParams; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class DatabricksAgentTest { + @Test + void buildsHttpPathUrl() { + ConnectParams params = new ConnectParams(); + params.setHost("adb-123.azuredatabricks.net"); + params.setPort(443); + params.setDatabase("default"); + params.setUrl_params("httpPath=/sql/1.0/warehouses/abc;AuthMech=3"); + + assertEquals( + "jdbc:databricks://adb-123.azuredatabricks.net:443/default;httpPath=/sql/1.0/warehouses/abc;AuthMech=3", + DatabricksAgent.DATABRICKS_PROFILE.buildUrl(params) + ); + } +} diff --git a/agents/drivers/db2/build.gradle b/agents/drivers/db2/build.gradle new file mode 100644 index 0000000000..d9af1aac4b --- /dev/null +++ b/agents/drivers/db2/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.ibm.db2:jcc:11.5.9.0' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'IBM DB2', 'Main-Class': 'com.dbx.agent.db2.Db2Agent') + } +} diff --git a/agents/drivers/db2/src/main/java/com/dbx/agent/db2/Db2Agent.java b/agents/drivers/db2/src/main/java/com/dbx/agent/db2/Db2Agent.java new file mode 100644 index 0000000000..613050547f --- /dev/null +++ b/agents/drivers/db2/src/main/java/com/dbx/agent/db2/Db2Agent.java @@ -0,0 +1,385 @@ +package com.dbx.agent.db2; + +import com.dbx.agent.BaseDatabaseAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ExecuteQueryOptions; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcExecutor; +import com.dbx.agent.JdbcIdentifiers; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.ObjectInfo; +import com.dbx.agent.ObjectSource; +import com.dbx.agent.QueryResult; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; +import java.util.Set; + +public final class Db2Agent extends BaseDatabaseAgent { + private static final Set NUMERIC_PRECISION_TYPES = Set.of( + "DECIMAL", "NUMERIC", "INTEGER", "SMALLINT", "BIGINT", "REAL", "DOUBLE", "FLOAT" + ); + private static final Set NUMERIC_SCALE_TYPES = Set.of("DECIMAL", "NUMERIC"); + private static final Set CHARACTER_LENGTH_TYPES = Set.of("VARCHAR", "CHAR", "CLOB", "GRAPHIC", "VARGRAPHIC"); + + private Connection connection; + + @Override + public Connection getConnection() { + return connection; + } + + @Override + public String setSchemaSQL(String schema) { + return "SET SCHEMA " + JdbcIdentifiers.INSTANCE.doubleQuote(schema); + } + + @Override + public void connect(ConnectParams params) { + uncheckedVoid(() -> { + Class.forName("com.ibm.db2.jcc.DB2Driver"); + connection = DriverManager.getConnection(buildUrl(params), params.getUsername(), params.getPassword()); + }); + } + + @Override + public boolean testConnection(ConnectParams params) { + return unchecked(() -> { + Class.forName("com.ibm.db2.jcc.DB2Driver"); + try (Connection conn = DriverManager.getConnection(buildUrl(params), params.getUsername(), params.getPassword())) { + return conn.isValid(5); + } + }); + } + + @Override + public List listDatabases() { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT CURRENT_SERVER FROM SYSIBM.SYSDUMMY1"; + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery(sql)) { + while (rs.next()) { + result.add(new DatabaseInfo(rs.getString(1).trim())); + } + } + return result; + }); + } + + @Override + public List listSchemas() { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT SCHEMANAME FROM SYSCAT.SCHEMATA ORDER BY SCHEMANAME"; + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery(sql)) { + while (rs.next()) { + result.add(rs.getString(1).trim()); + } + } + return result; + }); + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT TABNAME, TYPE FROM SYSCAT.TABLES WHERE TABSCHEMA = ? AND TYPE IN ('T','V') ORDER BY TABNAME"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String db2Type = rs.getString(2).trim(); + String type = switch (db2Type) { + case "T" -> "TABLE"; + case "V" -> "VIEW"; + default -> db2Type; + }; + result.add(new TableInfo(rs.getString(1).trim(), type, null)); + } + } + } + return result; + }); + } + + @Override + public List listObjects(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + for (TableInfo table : listTables(schema)) { + result.add(new ObjectInfo(table.getName(), table.getTable_type(), schema, table.getComment())); + } + + String sql = "SELECT PROCNAME, 'PROCEDURE' FROM SYSCAT.PROCEDURES WHERE PROCSCHEMA = ? ORDER BY PROCNAME"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ObjectInfo(rs.getString(1).trim(), rs.getString(2), schema, null)); + } + } + } + return result; + }); + } + + @Override + public ObjectSource getObjectSource(String schema, String name, String objectType) { + return unchecked(() -> { + String sql = "SELECT TEXT FROM SYSCAT.ROUTINES WHERE ROUTINESCHEMA = ? AND ROUTINENAME = ?"; + String source; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, name); + try (ResultSet rs = stmt.executeQuery()) { + source = rs.next() ? coalesce(rs.getString(1)) : ""; + } + } + return new ObjectSource(name, objectType, schema, source); + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + Set pkColumns = new java.util.HashSet<>(); + String pkSql = """ + SELECT kc.COLNAME FROM SYSCAT.KEYCOLUSE kc + JOIN SYSCAT.TABCONST tc ON kc.CONSTNAME = tc.CONSTNAME AND kc.TABSCHEMA = tc.TABSCHEMA AND kc.TABNAME = tc.TABNAME + WHERE tc.TYPE = 'P' AND tc.TABSCHEMA = ? AND tc.TABNAME = ? + """.stripIndent().trim(); + try (PreparedStatement stmt = requireConnected().prepareStatement(pkSql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + pkColumns.add(rs.getString(1).trim()); + } + } + } + + List result = new ArrayList<>(); + String colSql = """ + SELECT COLNAME, TYPENAME, NULLS, DEFAULT, LENGTH, SCALE + FROM SYSCAT.COLUMNS + WHERE TABSCHEMA = ? AND TABNAME = ? + ORDER BY COLNO + """.stripIndent().trim(); + try (PreparedStatement stmt = requireConnected().prepareStatement(colSql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String name = rs.getString("COLNAME").trim(); + String typeName = rs.getString("TYPENAME").trim(); + Integer length = intObject(rs, "LENGTH"); + Integer scale = intObject(rs, "SCALE"); + String dataType = formatDataType(typeName, length, scale); + + result.add(new ColumnInfo( + name, + dataType, + "Y".equals(rs.getString("NULLS").trim()), + trimNullable(rs.getString("DEFAULT")), + pkColumns.contains(name), + null, + null, + NUMERIC_PRECISION_TYPES.contains(typeName) ? length : null, + NUMERIC_SCALE_TYPES.contains(typeName) ? scale : null, + CHARACTER_LENGTH_TYPES.contains(typeName) ? length : null + )); + } + } + } + return result; + }); + } + + @Override + public List listIndexes(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT INDNAME, COLNAMES, UNIQUERULE FROM SYSCAT.INDEXES WHERE TABSCHEMA = ? AND TABNAME = ? ORDER BY INDNAME"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String colNames = trimToEmpty(rs.getString(2)); + List columns = splitColumns(colNames, "[+-]"); + String uniqueRule = trimToEmpty(rs.getString(3)); + result.add(new IndexInfo( + rs.getString(1).trim(), + columns, + "U".equals(uniqueRule) || "P".equals(uniqueRule), + "P".equals(uniqueRule), + null, + null, + null, + null + )); + } + } + } + return result; + }); + } + + @Override + public List listForeignKeys(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT CONSTNAME, FK_COLNAMES, REFTABNAME, PK_COLNAMES FROM SYSCAT.REFERENCES WHERE TABSCHEMA = ? AND TABNAME = ? ORDER BY CONSTNAME"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + List fkColList = splitColumns(trimToEmpty(rs.getString(2)), "\\s+"); + List pkColList = splitColumns(trimToEmpty(rs.getString(4)), "\\s+"); + String refTable = rs.getString(3).trim(); + String constName = rs.getString(1).trim(); + for (int i = 0; i < fkColList.size(); i++) { + result.add(new ForeignKeyInfo( + constName, + fkColList.get(i), + refTable, + i < pkColList.size() ? pkColList.get(i) : "" + )); + } + } + } + } + return result; + }); + } + + @Override + public List listTriggers(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT TRIGNAME, TRIGEVENT, TRIGTIME FROM SYSCAT.TRIGGERS WHERE TABSCHEMA = ? AND TABNAME = ? ORDER BY TRIGNAME"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TriggerInfo( + rs.getString(1).trim(), + rs.getString(2).trim(), + rs.getString(3).trim() + )); + } + } + } + return result; + }); + } + + @Override + public QueryResult executeQuery(String sql, String schema, ExecuteQueryOptions options) { + return JdbcExecutor.INSTANCE.execute( + requireConnected(), + sql, + schema, + this::setSchemaSQL, + options.getMaxRows(), + options.getFetchSize(), + options.getTimeoutSecs(), + this::stringResultValue + ); + } + + @Override + public void disconnect() { + uncheckedVoid(() -> { + if (connection != null) { + connection.close(); + } + connection = null; + }); + } + + private Object stringResultValue(ResultSet rs, int index, int sqlType) { + return unchecked(() -> { + Object value = rs.getObject(index); + return rs.wasNull() ? null : value == null ? null : value.toString(); + }); + } + + static String buildUrl(ConnectParams params) { + if (!params.getConnection_string().trim().isEmpty()) { + return params.getConnection_string(); + } + String url = "jdbc:db2://" + params.getHost() + ":" + params.getPort() + "/" + params.getDatabase(); + String extraParams = trimDb2UrlParams(params.getUrl_params()); + if (extraParams.isEmpty()) { + return url; + } + return url + ":" + extraParams + (extraParams.endsWith(";") ? "" : ";"); + } + + private static String trimDb2UrlParams(String urlParams) { + String value = urlParams == null ? "" : urlParams.trim(); + while (value.startsWith("?") || value.startsWith("&") || value.startsWith(":") || value.startsWith(";")) { + value = value.substring(1); + } + return value; + } + + private static String formatDataType(String typeName, Integer length, Integer scale) { + return switch (typeName.toUpperCase(Locale.ROOT)) { + case "VARCHAR", "CHAR", "CLOB", "GRAPHIC", "VARGRAPHIC" -> length != null ? typeName + "(" + length + ")" : typeName; + case "DECIMAL", "NUMERIC" -> { + if (length != null && scale != null && scale > 0) { + yield typeName + "(" + length + "," + scale + ")"; + } + yield length != null ? typeName + "(" + length + ")" : typeName; + } + default -> typeName; + }; + } + + private static Integer intObject(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value == null ? null : ((Number) value).intValue(); + } + + private static List splitColumns(String value, String regex) { + List result = new ArrayList<>(); + for (String part : value.split(regex)) { + if (!part.isBlank()) { + result.add(part); + } + } + return result; + } + + private static String trimNullable(String value) { + return value == null ? null : value.trim(); + } + + private static String trimToEmpty(String value) { + return value == null ? "" : value.trim(); + } + + private static String coalesce(String value) { + return value == null ? "" : value; + } + + public static void main(String[] args) { + new JsonRpcServer(new Db2Agent()).run(); + } +} diff --git a/agents/drivers/db2/src/test/java/com/dbx/agent/db2/Db2AgentTest.java b/agents/drivers/db2/src/test/java/com/dbx/agent/db2/Db2AgentTest.java new file mode 100644 index 0000000000..e36e528caa --- /dev/null +++ b/agents/drivers/db2/src/test/java/com/dbx/agent/db2/Db2AgentTest.java @@ -0,0 +1,163 @@ +package com.dbx.agent.db2; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; +import com.dbx.agent.test.TestSupport; +import org.junit.jupiter.api.Test; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Statement; +import java.util.Arrays; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicReference; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; + +class Db2AgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new Db2Agent(); + } + + @Override + protected String resultSetSql() { + return "CALL ADMIN_CMD('list applications')"; + } + + @Test + void buildsJdbcUrlWithDb2PropertySuffix() { + ConnectParams params = new ConnectParams(); + params.setHost("db.example.com"); + params.setPort(50000); + params.setDatabase("SAMPLE"); + params.setUrl_params("sslConnection=true"); + + assertEquals("jdbc:db2://db.example.com:50000/SAMPLE:sslConnection=true;", Db2Agent.buildUrl(params)); + } + + @Test + void listsAllCatalogSchemasWithoutOwnerTypeFiltering() { + Db2Agent agent = new Db2Agent(); + AtomicReference executedSql = new AtomicReference<>(); + TestSupport.setPrivateConnection(agent, connection( + executedSql, + rows(row("SCHEMANAME", "APP"), row("SCHEMANAME", "SZ"), row("SCHEMANAME", "TOOLS")) + )); + + List schemas = agent.listSchemas(); + + assertEquals(Arrays.asList("APP", "SZ", "TOOLS"), schemas); + assertEquals("SELECT SCHEMANAME FROM SYSCAT.SCHEMATA ORDER BY SCHEMANAME", executedSql.get()); + assertFalse(executedSql.get().contains("OWNERTYPE")); + } + + private static Connection connection(AtomicReference executedSql, ResultSet resultSet) { + Statement statement = proxy(Statement.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + if ("executeQuery".equals(method.getName())) { + executedSql.set(String.valueOf(args[0])); + return resultSet; + } + if ("close".equals(method.getName())) { + return null; + } + return defaultValue(method.getReturnType()); + } + }); + return proxy(Connection.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + if ("createStatement".equals(method.getName())) { + return statement; + } + if ("isClosed".equals(method.getName())) { + return false; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private static ResultSet rows(Map... rows) { + return proxy(ResultSet.class, new MethodHandler() { + private int index = -1; + + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("next".equals(name)) { + index += 1; + return index < rows.length; + } + if ("getString".equals(name)) { + Object key = args[0] instanceof Number ? rows[index].keySet().iterator().next() : args[0]; + Object value = rows[index].get(key); + return value == null ? null : String.valueOf(value); + } + if ("close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private static Map row(Object... values) { + Map row = new LinkedHashMap<>(); + for (int i = 0; i < values.length; i += 2) { + row.put(String.valueOf(values[i]), values[i + 1]); + } + return row; + } + + private static T proxy(Class type, final MethodHandler handler) { + InvocationHandler invocationHandler = new InvocationHandler() { + @Override + public Object invoke(Object proxy, Method method, Object[] args) { + return handler.handle(method, args); + } + }; + return type.cast(Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, invocationHandler)); + } + + private static Object defaultValue(Class type) { + if (Boolean.TYPE.equals(type)) { + return false; + } + if (Byte.TYPE.equals(type)) { + return (byte) 0; + } + if (Short.TYPE.equals(type)) { + return (short) 0; + } + if (Integer.TYPE.equals(type)) { + return 0; + } + if (Long.TYPE.equals(type)) { + return 0L; + } + if (Float.TYPE.equals(type)) { + return 0f; + } + if (Double.TYPE.equals(type)) { + return 0.0d; + } + if (Character.TYPE.equals(type)) { + return '\0'; + } + return null; + } + + private interface MethodHandler { + Object handle(Method method, Object[] args); + } +} diff --git a/agents/drivers/etcd/build.gradle b/agents/drivers/etcd/build.gradle new file mode 100644 index 0000000000..d37a950619 --- /dev/null +++ b/agents/drivers/etcd/build.gradle @@ -0,0 +1,11 @@ +dependencies { + implementation 'com.google.code.gson:gson:2.12.1' + implementation 'io.etcd:jetcd-core:0.8.6' +} + +tasks.named('shadowJar') { + mergeServiceFiles() + manifest { + attributes('Agent-Label': 'etcd', 'Main-Class': 'com.dbx.agent.etcd.EtcdAgent') + } +} diff --git a/agents/drivers/etcd/src/main/java/com/dbx/agent/etcd/EtcdAgent.java b/agents/drivers/etcd/src/main/java/com/dbx/agent/etcd/EtcdAgent.java new file mode 100644 index 0000000000..c29286f047 --- /dev/null +++ b/agents/drivers/etcd/src/main/java/com/dbx/agent/etcd/EtcdAgent.java @@ -0,0 +1,420 @@ +package com.dbx.agent.etcd; + +import com.dbx.agent.AgentProtocol; +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import io.grpc.netty.GrpcSslContexts; +import io.etcd.jetcd.ByteSequence; +import io.etcd.jetcd.Client; +import io.etcd.jetcd.ClientBuilder; +import io.etcd.jetcd.KV; +import io.etcd.jetcd.KeyValue; +import io.etcd.jetcd.kv.DeleteResponse; +import io.etcd.jetcd.kv.GetResponse; +import io.etcd.jetcd.kv.PutResponse; +import io.etcd.jetcd.options.GetOption; +import io.etcd.jetcd.options.PutOption; +import io.netty.handler.ssl.SslContext; +import io.netty.handler.ssl.SslContextBuilder; +import java.io.BufferedReader; +import java.io.File; +import java.io.InputStreamReader; +import java.nio.ByteBuffer; +import java.nio.charset.CharacterCodingException; +import java.nio.charset.CharsetDecoder; +import java.nio.charset.CodingErrorAction; +import java.util.Arrays; +import java.util.ArrayList; +import java.util.Base64; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; + +public final class EtcdAgent { + private static final Gson GSON = new Gson(); + private static final int DEFAULT_LIMIT = 100; + private static final int RPC_TIMEOUT_SECONDS = 30; + private static final List CAPABILITIES = Collections.unmodifiableList(Arrays.asList( + AgentProtocol.CAPABILITY_CONNECT, + AgentProtocol.CAPABILITY_TEST_CONNECTION, + AgentProtocol.CAPABILITY_KV + )); + private static Client client; + private static KV kv; + + private EtcdAgent() { + } + + private static Object handshakeResult() { + return new HandshakeResult(AgentProtocol.PROTOCOL_VERSION, AgentProtocol.PROTOCOL_VERSION, CAPABILITIES); + } + + private static Object connect(JsonObject params) throws Exception { + JsonObject connection = connectionObject(params); + Client nextClient = buildClient(connection); + nextClient.getKVClient().get(byteSequence("\0")).get(RPC_TIMEOUT_SECONDS, TimeUnit.SECONDS); + closeClient(); + client = nextClient; + kv = client.getKVClient(); + return Collections.singletonMap("ok", true); + } + + static Client buildClient(JsonObject connection) throws Exception { + List endpoints = endpoints(connection); + ClientBuilder builder = Client.builder().endpoints(endpoints.toArray(String[]::new)); + String username = stringOrEmpty(connection, "username"); + String password = stringOrEmpty(connection, "password"); + if (!username.isBlank()) { + builder.user(byteSequence(username)); + builder.password(byteSequence(password)); + } + if (boolOrDefault(connection, "ssl", false)) { + builder.sslContext(sslContext(connection)); + } + return builder.build(); + } + + static List endpoints(JsonObject connection) { + String configured = firstNonBlank( + stringOrNull(connection, "etcd_endpoints"), + stringOrNull(connection, "endpoints"), + stringOrNull(connection, "connection_string") + ); + List result = new ArrayList<>(); + if (configured != null) { + for (String endpoint : configured.split("[,\\n]")) { + String normalized = normalizeEndpoint(endpoint.trim(), boolOrDefault(connection, "ssl", false)); + if (!normalized.isBlank()) { + result.add(normalized); + } + } + } + if (result.isEmpty()) { + String host = stringOrDefault(connection, "host", "127.0.0.1"); + int port = intOrDefault(connection, "port", 2379); + result.add(normalizeEndpoint(host + ":" + port, boolOrDefault(connection, "ssl", false))); + } + return result; + } + + private static String normalizeEndpoint(String endpoint, boolean tls) { + if (endpoint.isBlank()) { + return ""; + } + if (endpoint.startsWith("http://") || endpoint.startsWith("https://")) { + return endpoint; + } + return (tls ? "https://" : "http://") + endpoint; + } + + private static SslContext sslContext(JsonObject connection) throws Exception { + SslContextBuilder builder = GrpcSslContexts.forClient(); + String ca = stringOrEmpty(connection, "ca_cert_path"); + if (!ca.isBlank()) { + builder.trustManager(new File(ca)); + } + String cert = firstNonBlank(stringOrNull(connection, "client_cert_path"), stringOrNull(connection, "cert_path")); + String key = firstNonBlank(stringOrNull(connection, "client_key_path"), stringOrNull(connection, "key_path")); + if ((cert == null) != (key == null)) { + throw new IllegalArgumentException("Client certificate and key must be provided together"); + } + if (cert != null) { + builder.keyManager(new File(cert), new File(key)); + } + return builder.build(); + } + + private static Object listPrefix(JsonObject params) throws Exception { + KV active = requireKv(); + String prefix = stringOrDefault(params, "prefix", ""); + int limit = intOrDefault(params, "limit", DEFAULT_LIMIT); + String continuation = stringOrNull(params, "continuation"); + ByteSequence start = continuation == null || continuation.isBlank() + ? prefixStart(prefix) + : ByteSequence.from(Base64.getDecoder().decode(continuation)); + GetOption option = GetOption.newBuilder() + .withRange(prefixEnd(byteSequence(prefix))) + .withLimit(Math.max(1, limit)) + .withSortField(GetOption.SortTarget.KEY) + .withSortOrder(GetOption.SortOrder.ASCEND) + .build(); + GetResponse response = active.get(start, option).get(RPC_TIMEOUT_SECONDS, TimeUnit.SECONDS); + + List> keys = new ArrayList<>(); + List kvs = response.getKvs(); + for (KeyValue item : kvs) { + Map row = metadata(item); + row.put("key", displayBytes(item.getKey().getBytes())); + keys.add(row); + } + + Map result = new LinkedHashMap<>(); + result.put("keys", keys); + result.put("continuation", response.isMore() && !kvs.isEmpty() ? nextContinuation(kvs.get(kvs.size() - 1)) : null); + result.put("revision", response.getHeader().getRevision()); + return result; + } + + private static Object get(JsonObject params) throws Exception { + KV active = requireKv(); + String key = params.get("key").getAsString(); + GetResponse response = active.get(byteSequence(key)).get(RPC_TIMEOUT_SECONDS, TimeUnit.SECONDS); + Map result = new LinkedHashMap<>(); + if (response.getKvs().isEmpty()) { + result.put("found", false); + result.put("key", null); + result.put("value", null); + result.put("metadata", null); + return result; + } + KeyValue item = response.getKvs().get(0); + result.put("found", true); + result.put("key", displayBytes(item.getKey().getBytes())); + result.put("value", valueObject(item.getValue().getBytes())); + result.put("metadata", metadata(item)); + return result; + } + + private static Object put(JsonObject params) throws Exception { + KV active = requireKv(); + String key = params.get("key").getAsString(); + byte[] value = parseValue(params.getAsJsonObject("value")); + JsonElement leaseElement = params.get("lease"); + PutResponse response; + if (leaseElement != null && !leaseElement.isJsonNull()) { + PutOption option = PutOption.newBuilder().withLeaseId(leaseElement.getAsLong()).build(); + response = active.put(byteSequence(key), ByteSequence.from(value), option).get(RPC_TIMEOUT_SECONDS, TimeUnit.SECONDS); + } else { + response = active.put(byteSequence(key), ByteSequence.from(value)).get(RPC_TIMEOUT_SECONDS, TimeUnit.SECONDS); + } + return Collections.singletonMap("revision", response.getHeader().getRevision()); + } + + private static Object delete(JsonObject params) throws Exception { + KV active = requireKv(); + DeleteResponse response = + active.delete(byteSequence(params.get("key").getAsString())).get(RPC_TIMEOUT_SECONDS, TimeUnit.SECONDS); + Map result = new LinkedHashMap<>(); + result.put("deleted", response.getDeleted()); + result.put("revision", response.getHeader().getRevision()); + return result; + } + + private static Object dispatch(String method, JsonObject params) throws Exception { + return switch (method) { + case AgentProtocol.METHOD_HANDSHAKE -> handshakeResult(); + case AgentProtocol.METHOD_CONNECT, AgentProtocol.METHOD_TEST_CONNECTION -> connect(params); + case AgentProtocol.KV_METHOD_LIST_PREFIX -> listPrefix(params); + case AgentProtocol.KV_METHOD_GET -> get(params); + case AgentProtocol.KV_METHOD_PUT -> put(params); + case AgentProtocol.KV_METHOD_DELETE -> delete(params); + case AgentProtocol.METHOD_DISCONNECT -> { + closeClient(); + yield Collections.singletonMap("ok", true); + } + case AgentProtocol.METHOD_SHUTDOWN -> { + closeClient(); + System.exit(0); + yield Collections.singletonMap("ok", true); + } + default -> throw new IllegalArgumentException("Unknown method: " + method); + }; + } + + static String handleRequest(String line) { + JsonObject req = JsonParser.parseString(line).getAsJsonObject(); + JsonElement id = req.get("id"); + String method = req.get("method").getAsString(); + JsonObject params = req.has("params") && req.get("params").isJsonObject() + ? req.getAsJsonObject("params") + : new JsonObject(); + + JsonObject response = new JsonObject(); + response.addProperty("jsonrpc", "2.0"); + response.add("id", id); + + try { + Object result = dispatch(method, params); + response.add("result", GSON.toJsonTree(result)); + } catch (Exception e) { + JsonObject error = new JsonObject(); + error.addProperty("code", -1); + error.addProperty("message", e.getMessage() == null ? "Unknown error" : e.getMessage()); + response.add("error", error); + } + + return GSON.toJson(response); + } + + private static JsonObject connectionObject(JsonObject params) { + JsonElement connection = params.get("connection"); + return connection != null && connection.isJsonObject() ? connection.getAsJsonObject() : params; + } + + private static KV requireKv() { + if (kv == null) { + throw new IllegalStateException("Not connected"); + } + return kv; + } + + private static void closeClient() { + if (kv != null) { + kv.close(); + kv = null; + } + if (client != null) { + client.close(); + client = null; + } + } + + private static ByteSequence byteSequence(String value) { + return ByteSequence.from(value, java.nio.charset.StandardCharsets.UTF_8); + } + + private static ByteSequence prefixEnd(ByteSequence prefix) { + byte[] bytes = prefix.getBytes(); + if (bytes.length == 0) { + return ByteSequence.from(new byte[] {0}); + } + byte[] end = Arrays.copyOf(bytes, bytes.length); + for (int i = end.length - 1; i >= 0; i--) { + if ((end[i] & 0xff) < 0xff) { + end[i]++; + return ByteSequence.from(Arrays.copyOf(end, i + 1)); + } + } + return ByteSequence.from(new byte[] {0}); + } + + private static ByteSequence prefixStart(String prefix) { + if (prefix.isEmpty()) { + return ByteSequence.from(new byte[] {0}); + } + return byteSequence(prefix); + } + + private static String nextContinuation(KeyValue item) { + byte[] key = item.getKey().getBytes(); + byte[] next = Arrays.copyOf(key, key.length + 1); + next[next.length - 1] = 0; + return Base64.getEncoder().encodeToString(next); + } + + private static Map metadata(KeyValue item) { + Map metadata = new LinkedHashMap<>(); + metadata.put("createRevision", item.getCreateRevision()); + metadata.put("modRevision", item.getModRevision()); + metadata.put("version", item.getVersion()); + metadata.put("lease", item.getLease()); + metadata.put("valueSize", item.getValue().size()); + return metadata; + } + + private static Map valueObject(byte[] bytes) { + Map value = new LinkedHashMap<>(); + String utf8 = strictUtf8(bytes); + if (utf8 != null) { + value.put("encoding", "utf8"); + value.put("data", utf8); + } else { + value.put("encoding", "base64"); + value.put("data", Base64.getEncoder().encodeToString(bytes)); + } + return value; + } + + private static byte[] parseValue(JsonObject value) { + String encoding = stringOrDefault(value, "encoding", "utf8"); + String data = stringOrDefault(value, "data", ""); + if ("base64".equals(encoding)) { + return Base64.getDecoder().decode(data); + } + if (!"utf8".equals(encoding)) { + throw new IllegalArgumentException("Unsupported value encoding: " + encoding); + } + return data.getBytes(java.nio.charset.StandardCharsets.UTF_8); + } + + private static String displayBytes(byte[] bytes) { + String utf8 = strictUtf8(bytes); + return utf8 == null ? Base64.getEncoder().encodeToString(bytes) : utf8; + } + + private static String strictUtf8(byte[] bytes) { + CharsetDecoder decoder = java.nio.charset.StandardCharsets.UTF_8.newDecoder() + .onMalformedInput(CodingErrorAction.REPORT) + .onUnmappableCharacter(CodingErrorAction.REPORT); + try { + return decoder.decode(ByteBuffer.wrap(bytes)).toString(); + } catch (CharacterCodingException e) { + return null; + } + } + + private static String stringOrNull(JsonObject object, String key) { + JsonElement element = object.get(key); + return element == null || element.isJsonNull() ? null : element.getAsString(); + } + + private static String stringOrEmpty(JsonObject object, String key) { + return stringOrDefault(object, key, ""); + } + + private static String stringOrDefault(JsonObject object, String key, String fallback) { + String value = stringOrNull(object, key); + return value == null ? fallback : value; + } + + private static int intOrDefault(JsonObject object, String key, int fallback) { + JsonElement element = object.get(key); + return element == null || element.isJsonNull() ? fallback : element.getAsInt(); + } + + private static boolean boolOrDefault(JsonObject object, String key, boolean fallback) { + JsonElement element = object.get(key); + return element == null || element.isJsonNull() ? fallback : element.getAsBoolean(); + } + + private static String firstNonBlank(String... values) { + for (String value : values) { + if (value != null && !value.isBlank()) { + return value; + } + } + return null; + } + + public static void main(String[] args) throws Exception { + System.out.println("{\"ready\":true}"); + System.out.flush(); + + BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); + while (true) { + String line = reader.readLine(); + if (line == null) { + break; + } + + System.out.println(handleRequest(line)); + System.out.flush(); + } + } + + private static final class HandshakeResult { + private final int protocolVersion; + private final int agentProtocolVersion; + private final List capabilities; + + private HandshakeResult(int protocolVersion, int agentProtocolVersion, List capabilities) { + this.protocolVersion = protocolVersion; + this.agentProtocolVersion = agentProtocolVersion; + this.capabilities = capabilities; + } + } +} diff --git a/agents/drivers/etcd/src/test/java/com/dbx/agent/etcd/EtcdAgentTest.java b/agents/drivers/etcd/src/test/java/com/dbx/agent/etcd/EtcdAgentTest.java new file mode 100644 index 0000000000..65c205df8a --- /dev/null +++ b/agents/drivers/etcd/src/test/java/com/dbx/agent/etcd/EtcdAgentTest.java @@ -0,0 +1,55 @@ +package com.dbx.agent.etcd; + +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import java.util.List; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +final class EtcdAgentTest { + @Test + void handshakeAdvertisesKvCapability() { + String response = EtcdAgent.handleRequest( + "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"handshake\",\"params\":{}}" + ); + + JsonObject result = JsonParser.parseString(response).getAsJsonObject().getAsJsonObject("result"); + + Assertions.assertEquals(1, result.get("protocolVersion").getAsInt()); + Assertions.assertTrue(result.getAsJsonArray("capabilities").contains(JsonParser.parseString("\"kv\""))); + Assertions.assertTrue(result.getAsJsonArray("capabilities").contains(JsonParser.parseString("\"connect\""))); + } + + @Test + void endpointsUseConfiguredListAndScheme() { + JsonObject connection = JsonParser.parseString( + "{\"endpoints\":\"etcd-1:2379,https://etcd-2:2379\",\"ssl\":true}" + ).getAsJsonObject(); + + Assertions.assertEquals( + List.of("https://etcd-1:2379", "https://etcd-2:2379"), + EtcdAgent.endpoints(connection) + ); + } + + @Test + void endpointsFallbackToHostPort() { + JsonObject connection = JsonParser.parseString( + "{\"host\":\"127.0.0.1\",\"port\":2379}" + ).getAsJsonObject(); + + Assertions.assertEquals(List.of("http://127.0.0.1:2379"), EtcdAgent.endpoints(connection)); + } + + @Test + void kvMethodDispatchReturnsJsonRpcErrorWhenDisconnected() { + String response = EtcdAgent.handleRequest( + "{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"kv_get\",\"params\":{\"key\":\"/app/name\"}}" + ); + + JsonObject error = JsonParser.parseString(response).getAsJsonObject().getAsJsonObject("error"); + + Assertions.assertEquals(-1, error.get("code").getAsInt()); + Assertions.assertEquals("Not connected", error.get("message").getAsString()); + } +} diff --git a/agents/drivers/exasol/build.gradle b/agents/drivers/exasol/build.gradle new file mode 100644 index 0000000000..71dda62bc5 --- /dev/null +++ b/agents/drivers/exasol/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.exasol:exasol-jdbc:26.2.7' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'Exasol', 'Main-Class': 'com.dbx.agent.exasol.ExasolAgent') + } +} diff --git a/agents/drivers/exasol/src/main/java/com/dbx/agent/exasol/ExasolAgent.java b/agents/drivers/exasol/src/main/java/com/dbx/agent/exasol/ExasolAgent.java new file mode 100644 index 0000000000..8dd7bddee8 --- /dev/null +++ b/agents/drivers/exasol/src/main/java/com/dbx/agent/exasol/ExasolAgent.java @@ -0,0 +1,22 @@ +package com.dbx.agent.exasol; + +import com.dbx.agent.ConfiguredJdbcAgent; +import com.dbx.agent.JdbcAgentProfile; +import com.dbx.agent.JsonRpcServer; + +public final class ExasolAgent extends ConfiguredJdbcAgent { + public static final JdbcAgentProfile EXASOL_PROFILE = new JdbcAgentProfile( + "com.exasol.jdbc.EXADriver", + "jdbc:exa:{host}:{port};schema={database}", + 8563, + true + ); + + public ExasolAgent() { + super(EXASOL_PROFILE); + } + + public static void main(String[] args) { + new JsonRpcServer(new ExasolAgent()).run(); + } +} diff --git a/agents/drivers/firebird/build.gradle b/agents/drivers/firebird/build.gradle new file mode 100644 index 0000000000..701aad5f99 --- /dev/null +++ b/agents/drivers/firebird/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'org.firebirdsql.jdbc:jaybird:6.0.5' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'Firebird', 'Main-Class': 'com.dbx.agent.firebird.FirebirdAgent') + } +} diff --git a/agents/drivers/firebird/src/main/java/com/dbx/agent/firebird/FirebirdAgent.java b/agents/drivers/firebird/src/main/java/com/dbx/agent/firebird/FirebirdAgent.java new file mode 100644 index 0000000000..ed57d29ec7 --- /dev/null +++ b/agents/drivers/firebird/src/main/java/com/dbx/agent/firebird/FirebirdAgent.java @@ -0,0 +1,22 @@ +package com.dbx.agent.firebird; + +import com.dbx.agent.ConfiguredJdbcAgent; +import com.dbx.agent.JdbcAgentProfile; +import com.dbx.agent.JsonRpcServer; + +public final class FirebirdAgent extends ConfiguredJdbcAgent { + public static final JdbcAgentProfile FIREBIRD_PROFILE = new JdbcAgentProfile( + "org.firebirdsql.jdbc.FBDriver", + "jdbc:firebirdsql://{host}:{port}/{database}", + 3050, + true + ); + + public FirebirdAgent() { + super(FIREBIRD_PROFILE); + } + + public static void main(String[] args) { + new JsonRpcServer(new FirebirdAgent()).run(); + } +} diff --git a/agents/drivers/gaussdb/build.gradle b/agents/drivers/gaussdb/build.gradle new file mode 100644 index 0000000000..8aab118786 --- /dev/null +++ b/agents/drivers/gaussdb/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'org.opengauss:opengauss-jdbc:6.0.0-og' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'GaussDB', 'Main-Class': 'com.dbx.agent.gaussdb.GaussdbAgent') + } +} diff --git a/agents/drivers/gaussdb/src/main/java/com/dbx/agent/gaussdb/GaussdbAgent.java b/agents/drivers/gaussdb/src/main/java/com/dbx/agent/gaussdb/GaussdbAgent.java new file mode 100644 index 0000000000..95a5de9a37 --- /dev/null +++ b/agents/drivers/gaussdb/src/main/java/com/dbx/agent/gaussdb/GaussdbAgent.java @@ -0,0 +1,432 @@ +package com.dbx.agent.gaussdb; + +import com.dbx.agent.BaseDatabaseAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ExecuteQueryOptions; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcExecutor; +import com.dbx.agent.JdbcIdentifiers; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.ObjectInfo; +import com.dbx.agent.ObjectSource; +import com.dbx.agent.QueryResult; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.Types; +import java.util.ArrayList; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Locale; +import java.util.Set; + +public final class GaussdbAgent extends BaseDatabaseAgent { + private Connection connection; + + @Override + public Connection getConnection() { + return connection; + } + + @Override + public void connect(ConnectParams params) { + uncheckedVoid(() -> { + Class.forName("org.opengauss.Driver"); + connection = DriverManager.getConnection(buildUrl(params), params.getUsername(), params.getPassword()); + }); + } + + @Override + public boolean testConnection(ConnectParams params) { + return unchecked(() -> { + Class.forName("org.opengauss.Driver"); + try (Connection conn = DriverManager.getConnection(buildUrl(params), params.getUsername(), params.getPassword())) { + return conn.isValid(5); + } + }); + } + + @Override + public List listDatabases() { + return unchecked(() -> { + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement( + "SELECT datname FROM pg_database WHERE datistemplate = false ORDER BY datname" + ); ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new DatabaseInfo(rs.getString("datname"))); + } + } + return result; + }); + } + + @Override + public List listSchemas() { + return unchecked(() -> { + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement( + "SELECT schema_name FROM information_schema.schemata WHERE schema_name NOT IN ('pg_catalog','information_schema','pg_toast') ORDER BY schema_name" + ); ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(rs.getString("schema_name")); + } + } + return result; + }); + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement( + "SELECT table_name, table_type FROM information_schema.tables WHERE table_schema = ? ORDER BY table_name" + )) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String tableType = rs.getString("table_type"); + if ("BASE TABLE".equals(tableType)) { + tableType = "TABLE"; + } + result.add(new TableInfo(rs.getString("table_name"), tableType, null)); + } + } + } + return result; + }); + } + + @Override + public List listObjects(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + for (TableInfo table : listTables(schema)) { + result.add(new ObjectInfo(table.getName(), table.getTable_type(), schema, table.getComment())); + } + try (var stmt = requireConnected().prepareStatement( + "SELECT routine_name, routine_type FROM information_schema.routines WHERE routine_schema = ? ORDER BY routine_name" + )) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ObjectInfo(rs.getString(1), rs.getString(2), schema, null)); + } + } + } + return result; + }); + } + + @Override + public ObjectSource getObjectSource(String schema, String name, String objectType) { + return unchecked(() -> { + String upperType = objectType.toUpperCase(Locale.ROOT); + String sql = switch (upperType) { + case "VIEW" -> "SELECT pg_get_viewdef(to_regclass(?), true)"; + case "FUNCTION" -> """ + SELECT pg_get_functiondef(p.oid) + FROM pg_proc p JOIN pg_namespace n ON n.oid = p.pronamespace + WHERE n.nspname = ? AND p.proname = ? AND p.prokind = 'f' + ORDER BY p.oid LIMIT 1 + """; + case "PROCEDURE" -> """ + SELECT pg_get_functiondef(p.oid) + FROM pg_proc p JOIN pg_namespace n ON n.oid = p.pronamespace + WHERE n.nspname = ? AND p.proname = ? AND p.prokind = 'p' + ORDER BY p.oid LIMIT 1 + """; + default -> throw new IllegalArgumentException("Unsupported object type: " + objectType); + }; + + String source; + if ("VIEW".equals(upperType)) { + try (var stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, quoteQualifiedIdentifier(schema, name)); + try (ResultSet rs = stmt.executeQuery()) { + source = rs.next() ? coalesce(rs.getString(1)) : ""; + } + } + } else { + try (var stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, name); + try (ResultSet rs = stmt.executeQuery()) { + source = rs.next() ? coalesce(rs.getString(1)) : ""; + } + } + } + return new ObjectSource(name, objectType, schema, source); + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + Set primaryKeys = new LinkedHashSet<>(); + try (var stmt = requireConnected().prepareStatement( + """ + SELECT kcu.column_name + FROM information_schema.table_constraints tc + JOIN information_schema.key_column_usage kcu + ON tc.constraint_name = kcu.constraint_name + AND tc.table_schema = kcu.table_schema + WHERE tc.constraint_type = 'PRIMARY KEY' + AND tc.table_schema = ? + AND tc.table_name = ? + """ + )) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + primaryKeys.add(rs.getString("column_name")); + } + } + } + + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement( + """ + SELECT column_name, data_type, is_nullable, column_default, + numeric_precision, numeric_scale, character_maximum_length + FROM information_schema.columns + WHERE table_schema = ? AND table_name = ? + ORDER BY ordinal_position + """ + )) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String columnName = rs.getString("column_name"); + result.add(new ColumnInfo( + columnName, + rs.getString("data_type"), + "YES".equals(rs.getString("is_nullable")), + rs.getString("column_default"), + primaryKeys.contains(columnName), + null, + null, + intOrNull(rs, "numeric_precision"), + intOrNull(rs, "numeric_scale"), + intOrNull(rs, "character_maximum_length") + )); + } + } + } + return result; + }); + } + + @Override + public List listIndexes(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement( + """ + SELECT + i.relname AS index_name, + am.amname AS index_type, + ix.indisunique AS is_unique, + ix.indisprimary AS is_primary, + array_agg(a.attname ORDER BY k.n) AS columns + FROM pg_index ix + JOIN pg_class t ON t.oid = ix.indrelid + JOIN pg_class i ON i.oid = ix.indexrelid + JOIN pg_namespace n ON n.oid = t.relnamespace + JOIN pg_am am ON am.oid = i.relam + CROSS JOIN LATERAL unnest(ix.indkey) WITH ORDINALITY AS k(attnum, n) + JOIN pg_attribute a ON a.attrelid = t.oid AND a.attnum = k.attnum + WHERE n.nspname = ? AND t.relname = ? + GROUP BY i.relname, am.amname, ix.indisunique, ix.indisprimary + ORDER BY i.relname + """ + )) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + Object[] columnArray = (Object[]) rs.getArray("columns").getArray(); + List columns = new ArrayList<>(); + for (Object column : columnArray) { + columns.add(String.valueOf(column)); + } + result.add(new IndexInfo( + rs.getString("index_name"), + columns, + rs.getBoolean("is_unique"), + rs.getBoolean("is_primary"), + null, + rs.getString("index_type"), + null, + null + )); + } + } + } + return result; + }); + } + + @Override + public List listForeignKeys(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement( + """ + SELECT + tc.constraint_name, + kcu.column_name, + ccu.table_name AS ref_table, + ccu.column_name AS ref_column + FROM information_schema.table_constraints tc + JOIN information_schema.key_column_usage kcu + ON tc.constraint_name = kcu.constraint_name + AND tc.table_schema = kcu.table_schema + JOIN information_schema.constraint_column_usage ccu + ON tc.constraint_name = ccu.constraint_name + AND tc.table_schema = ccu.table_schema + WHERE tc.constraint_type = 'FOREIGN KEY' + AND tc.table_schema = ? + AND tc.table_name = ? + ORDER BY tc.constraint_name + """ + )) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ForeignKeyInfo( + rs.getString("constraint_name"), + rs.getString("column_name"), + rs.getString("ref_table"), + rs.getString("ref_column") + )); + } + } + } + return result; + }); + } + + @Override + public List listTriggers(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement( + """ + SELECT trigger_name, event_manipulation, action_timing + FROM information_schema.triggers + WHERE trigger_schema = ? AND event_object_table = ? + ORDER BY trigger_name + """ + )) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TriggerInfo( + rs.getString("trigger_name"), + rs.getString("event_manipulation"), + rs.getString("action_timing") + )); + } + } + } + return result; + }); + } + + @Override + public QueryResult executeQuery(String sql, String schema, ExecuteQueryOptions options) { + return JdbcExecutor.INSTANCE.execute( + requireConnected(), + sql, + schema, + this::setSchemaSQL, + options.getMaxRows(), + options.getFetchSize(), + options.getTimeoutSecs(), + this::getResultValue + ); + } + + @Override + public String setSchemaSQL(String schema) { + return "SET search_path TO " + JdbcIdentifiers.INSTANCE.doubleQuote(schema); + } + + @Override + public void disconnect() { + uncheckedVoid(() -> { + if (connection != null) { + connection.close(); + } + connection = null; + }); + } + + public static void main(String[] args) { + new JsonRpcServer(new GaussdbAgent()).run(); + } + + private static String buildUrl(ConnectParams params) { + return "jdbc:opengauss://" + params.getHost() + ":" + params.getPort() + "/" + params.getDatabase(); + } + + private Object getResultValue(ResultSet rs, int index, int sqlType) { + return unchecked(() -> { + Object value; + switch (sqlType) { + case Types.BIGINT: + value = rs.getLong(index); + break; + case Types.INTEGER: + case Types.SMALLINT: + case Types.TINYINT: + value = rs.getInt(index); + break; + case Types.FLOAT: + case Types.REAL: + value = rs.getFloat(index); + break; + case Types.DOUBLE: + value = rs.getDouble(index); + break; + case Types.DECIMAL: + case Types.NUMERIC: + value = rs.getBigDecimal(index); + break; + case Types.BOOLEAN: + case Types.BIT: + value = rs.getBoolean(index); + break; + default: + value = rs.getString(index); + break; + } + return rs.wasNull() ? null : value; + }); + } + + private static String coalesce(String value) { + return value == null ? "" : value; + } + + private static String quoteQualifiedIdentifier(String schema, String name) { + return JdbcIdentifiers.INSTANCE.doubleQuote(schema) + "." + JdbcIdentifiers.INSTANCE.doubleQuote(name); + } + + private static Integer intOrNull(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value instanceof Number ? ((Number) value).intValue() : null; + } +} diff --git a/agents/drivers/gaussdb/src/test/java/com/dbx/agent/gaussdb/GaussdbAgentTest.java b/agents/drivers/gaussdb/src/test/java/com/dbx/agent/gaussdb/GaussdbAgentTest.java new file mode 100644 index 0000000000..497718ea8c --- /dev/null +++ b/agents/drivers/gaussdb/src/test/java/com/dbx/agent/gaussdb/GaussdbAgentTest.java @@ -0,0 +1,43 @@ +package com.dbx.agent.gaussdb; + +import com.dbx.agent.BaseDatabaseAgent; +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; +import com.dbx.agent.test.JdbcMetadataSqlFake; +import com.dbx.agent.test.TestSupport; +import java.util.Arrays; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class GaussdbAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new GaussdbAgent(); + } + + @Override + protected String resultSetSql() { + return "CALL sample_proc()"; + } + + @Test + void agentExtendsBaseDatabaseAgent() { + Assertions.assertTrue(BaseDatabaseAgent.class.isAssignableFrom(GaussdbAgent.class)); + } + + @Test + void readsViewSourceWithQuotedRegclassParameter() { + GaussdbAgent agent = new GaussdbAgent(); + TestSupport.setPrivateConnection(agent, JdbcMetadataSqlFake.connection()); + + agent.getObjectSource("bad\"schema", "view's name", "VIEW"); + + Assertions.assertEquals( + Arrays.asList( + "SELECT pg_get_viewdef(to_regclass(?), true)", + "param:1=\"bad\"\"schema\".\"view's name\"" + ), + JdbcMetadataSqlFake.statements + ); + } +} diff --git a/agents/drivers/gbase8a/build.gradle b/agents/drivers/gbase8a/build.gradle new file mode 100644 index 0000000000..a066170eff --- /dev/null +++ b/agents/drivers/gbase8a/build.gradle @@ -0,0 +1,12 @@ +dependencies { + implementation files('libs/gbase-connector-java-9.5.0.10-build1-bin.jar') +} + +tasks.named('shadowJar') { + manifest { + attributes( + 'Agent-Label': 'GBase 8a', + 'Main-Class': 'com.dbx.agent.gbase8a.Gbase8aAgent' + ) + } +} diff --git a/agents/drivers/gbase8a/libs/gbase-connector-java-9.5.0.10-build1-bin.jar b/agents/drivers/gbase8a/libs/gbase-connector-java-9.5.0.10-build1-bin.jar new file mode 100644 index 0000000000000000000000000000000000000000..f8c6e016d9b106d22da712df57f7caaf53a0b82d GIT binary patch literal 846594 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
t6lO&Rc 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

p1!XaaEW#gC@i7*crVQDxQhf9_uxajv8 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%0DQ~M|X=egZHUV5=X`uHn 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 Lb{!8h3(fxlhhRA# literal 0 HcmV?d00001 diff --git a/agents/drivers/gbase8a/src/main/java/com/dbx/agent/gbase8a/Gbase8aAgent.java b/agents/drivers/gbase8a/src/main/java/com/dbx/agent/gbase8a/Gbase8aAgent.java new file mode 100644 index 0000000000..ecc0b5d9c6 --- /dev/null +++ b/agents/drivers/gbase8a/src/main/java/com/dbx/agent/gbase8a/Gbase8aAgent.java @@ -0,0 +1,66 @@ +package com.dbx.agent.gbase8a; + +import com.dbx.agent.ConfiguredJdbcAgent; +import com.dbx.agent.JdbcAgentProfile; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.TableInfo; + +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; + +public final class Gbase8aAgent extends ConfiguredJdbcAgent { + public static final JdbcAgentProfile GBASE8A_PROFILE = new JdbcAgentProfile( + "com.gbase.jdbc.Driver", + "jdbc:gbase://{host}:{port}/{database}?useSSL=false", + 5258, + false, + java.util.Collections.emptySet(), + java.util.Arrays.asList("TABLE", "VIEW", "BASE TABLE"), + "`", + "USE", + true, + false, + false, + false + ); + + public Gbase8aAgent() { + super(GBASE8A_PROFILE); + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql; + if (schema != null && !schema.trim().isEmpty()) { + sql = "SELECT TABLE_NAME, TABLE_TYPE FROM information_schema.TABLES WHERE TABLE_SCHEMA = ? ORDER BY TABLE_NAME"; + } else { + sql = "SELECT TABLE_NAME, TABLE_TYPE FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('information_schema', 'performance_schema', 'gclusterdb', 'gctmpdb') ORDER BY TABLE_SCHEMA, TABLE_NAME"; + } + try (PreparedStatement stmt = requireConnection().prepareStatement(sql)) { + if (schema != null && !schema.trim().isEmpty()) { + stmt.setString(1, schema); + } + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String tableType = rs.getString("TABLE_TYPE"); + if ("BASE TABLE".equals(tableType)) { + tableType = "TABLE"; + } + result.add(new TableInfo(rs.getString("TABLE_NAME"), tableType, null)); + } + } + } + result.sort(Comparator.comparing(TableInfo::getName)); + return result; + }); + } + + public static void main(String[] args) { + new JsonRpcServer(new Gbase8aAgent()).run(); + } +} diff --git a/agents/drivers/gbase8s/build.gradle b/agents/drivers/gbase8s/build.gradle new file mode 100644 index 0000000000..bc2f0fd973 --- /dev/null +++ b/agents/drivers/gbase8s/build.gradle @@ -0,0 +1,12 @@ +dependencies { + implementation 'com.gbasedbt:jdbc:3.6.3.2' +} + +tasks.named('shadowJar') { + manifest { + attributes( + 'Agent-Label': 'GBase 8s', + 'Main-Class': 'com.dbx.agent.gbase8s.Gbase8sAgent' + ) + } +} diff --git a/agents/drivers/gbase8s/libs/gbasedbt-jdbc.jar b/agents/drivers/gbase8s/libs/gbasedbt-jdbc.jar new file mode 100644 index 0000000000000000000000000000000000000000..5b0f899270b98c54028a75771231c26aaa99e72f GIT binary patch literal 2943130 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�xHh8`te_+4$c-wh5$mND>BK52dOD( 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 TTMfG{U#TRUl|^ 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 z

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
A=s(y?4h5gsC7(?HgPL82Qc8>SHSjMbLaFiMpS- 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

gB1q28TaMybcy`BTkE>66m1wC69J2APGwDV! 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%0Dk>_X-W(${$CH&$W*4o? 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

-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ⅅr$C-pfrBXr1?xRlH?PAyN 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

J8>yHmoFqP73b3R7VVCO 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

@&eA+{C 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≈yih{cWFCWk9RK`Ax@7_FP?Hw|xU$G)S!#qZ5e z!mq`j39mrZAZn0L5KoXhh#lmgh(D3h2xAxpECrkbO@XAq^uT&hJ%}D`7(5Ieh77~d zDK>%_cFcoVz1UW2BK|^zf9AY;tP%eV!ar+XHCBgT2dS90XWn;F?7c)8C}S_>JJE@JYBl{5|{`{1i?IkA!Q$ ztB~cy*33}b zh_#;WRE-plw2izRc|DRc z;)=3GQK9rv5-2a!EffqTh;l_Sq0CSUs6dnq+ylvqn1LukTeD8tf2NHL!P~*-0zdOc zw&5Y*bN&I8q$4gL=EX69lr+Mb!@M{LDkc4JQ?PyZff7k7=Qp^1gdRcl z7qc#b$;R6O(VG{CS;vCyV(t6f7t5l3&(}l#f!|cuIk}iZnf~tpJE^}n)mf10H)Dno z?Qv@$|qkx&LuOYrQ`rr)oN=cOJq zz+IU_iJ>Ia4>tCyIPjl{;LJnQ!0oyt@AHdx`0CGRML#djx@H1fRRRE{brh&VzjnT| z^wy}W`qKLN#7H#K>T>T}+}!0^Z^`jn(ZY+Kue?^u!9P#Ztl9(4_rCp5VOa~_rn722 zoz5$*o;h1y&9Wj7X*%k9J>&QMaPQk^85Op*)}yhI{k+#RP0x3adv&*ewLd#?IksxM z*sPlyyF5IY$V%#qYQI=p9~+9g++C7c)Vy?@=$UmpEjyZ?AyRE+Q@LDg(oqgMJn-uh zEo=?g!^Albu}zeQT=piZoNS~GDF^P&hb$MKwcCd5v^QO>*NH|JwKJTS^?Wbvc=7TP zI|CnK?n~=O46=lU_a5D5kR&lBjJfBq^YIn_xv~3C8){G_y`~mB4~2fTb2o_%Ehs8m zQ;40G0v2uGeba^p9cirT#x6}^7VX|mW@HH>D{K03uRVM%`yG?0*a5 zOWh?-SL09DU`SV&OV_+%pe9vDo1x3_^TnF(4Z~s16}e)a zV{Lt5srIi}{eNs1IIL#PF&>gq7X6Qy*6$fQU*q}VrL$C0GC_?H~t}5L;1Fb(Y1zly@r*khT^YBW^SDh8w8DA zv~HM$?;4)A&7M<#Jf@V1$iohNcK{Ar1pqS?il%TgY~}Zdp03S4Q-qJHnj-$fZhrUm z4E%j8ajb`BF7fv}^(|(E%6ufw@8-|PGUQ|A@_TNWcS|+XW<6mz zda?fGhS4tPvECW|b7qy7Mcq1crMnWxCTGmgS=(P&b&Jkr?Ft?no-saWX@5D}?J?K1 zt8i>_#`^r~XyMVW=CSP=@x}i`+FM3N*|7iGk0J^RGc*h{3@P0?v~);_sC0J^B@Gf% z(xEg+qex4MAUT4xNQuPINQ-prYe4V&eg13j{eIZGTr8JM{h*G+^*hevAPESSL>bL; z?Pwj^o#LO91%$Prz}wfkc5avN+;rLjZS7p6-obC~Wb*BjoE7zL)oQ~rN#d5LU{WDq z#MKP3X~Q#l$*qvW#7;nl`+p+G$C+RRAY8xy3ptJzM57o)XB|YV9YpUbO(QEUV~raT z2LRoNyR7}ig8RoYM<-eas-ht^p?k2U8=Y4K z(6yp1PZ;~(db1kTCFrOV)jt<4@a+m81^Fs9(-|c?eXd&&-4*w`M`o_{#9UR-{QgsO zb%v!tr8g&`T)mvw+#xS9>}wpB{}!put?yQOD*huV9DZ|oCarvu{Cch}#tj$2G-6nok~DiDiy1Cb4f*;SWh_ETdcdQ~ zEZ!WP$b9C=LW;-&L}bwoWq|E{nZTU7dvBHb`NIZfP)<->VV_b2Tm&! z^CuQt<=z2%E56>bhvXlfemDQ{+2h(8Klupu4wyWtMx9n}K$&*KsU@mfd{I6hoh}^K z@mD<-CH*_Lnuuq7I%21z1GZYOVcsQus71YL!THaBbn*Y+`aBknW=`f7E?ja~AC(-< zEj+pZVohJR+Sgsi0-UxuI5;dW`#eLglbrXiSC-t9CebEwZ{5^4d|YHZL!X&N_p(7$ z4Xy8c-<0X8JxXo;@Fk+w^~hlV6p~#abb2eihMnLP%Ra7jhwoRf$C7C5M!eofib^G+8(4~)7b z&wo*$zM}Ts;_~1Ak?pso?tfmL?R#K#fljZRInK-WKhToAX!Vf1_)2}+X%ui`=M=D& zUT1XlO7duvN%BH#rs)hVc@DT>`o43W4Y7R&ez!9e@MGUEw#NdF+JWj$w*Pi}i>HqN zyt@A}KspW8VbG?$)6I+c^@DT9uTITpli$k&e(i@z9e#2DcpVqa;s{4$e=3 z4@37)0JP~$^7NeA_W}$cX*1_sQwQf<7__P397TP8R3~|SBs3FnvSmblad8~rIb=Iz z`*m$_ZFp^H?JMOVku|ALFP(dFfM{!;mVUcp!0Vcj9!ue{c& zHG(y@HSD^A@2EJ!Uf%y=7efC|oTG&hZHdew9rW&g#gk7uBr+5UomZKwR^8*9dD@By(R{sxD`Tj$tlDF0?~ z?T>ord3gY>p_=5fDtG?XrE0Tfb5av5?-?)5zxm#otH$V)=tkWB9hcm*w&n-88?OR@ z@P%LDnG2h>kh=8a&dU1gq1$zla(xAnavZ`;&3XU9h*bu+;jXj%#G&rhj8%Qg0}J*Q{naElRuO?r zXr^f9txTp&4-u~QJG*jqa&@Y8GIjUs6zbGH?rG(S=Cch`4N-l~986wOTkWSjP{F(; zY8Ad6e7tJw=H7U}k*(3L@uorIX6WY2GP$wB4|zWa-B-Qc4&3}2uU$S~k8_kgkQFLS zA5>knbaQPiXD4sO{=xPm!BMWR&?nEQ=p^SP|3vK|c$4V|mp6yEgEy78fw#D~pEs8G z^^dgT@zdecDbpcYvQElQ@=j__QtE|8gPN;0dv4zMz1h6&yl;vpPKQpv%#s@@tjk*- zbY1n@+u!r`zV;F8BmKuXL)k4^uEJM?_g5|UT)daN{DfQJ9d>W6r(W&+79`v2>Ec*@ z9IZF>7Ft*6VK)W+DEjf%N2ZS+-qd>%tA0aHLr!0}2DgT{hJXslAo&UyXuK-yq4t=7 zLXze&-?8iQonv0V=gpJ#yay^DJn zijw)%Ly|+Wt4w>E$B?s(^VIX_{!$mpm?!_`t1~MztCA~{t1VwIaxRoEUi^0`B=D2* z=X>Vdrreg?CNw-LyeT{>eA?V`5N5nbHz~0)uS7|Kt)I**Oe!plc`AT@2m(+4CcL~% zU>kCy$@|CbXBu+?9#22UKlu<$It0O2&&^Ds4@tsfy(th31tdxe^B)l{G+THQ6u!KN z=x?+}96!H34&jsrzmDa;M?esYLkGMCi{h4wBPhh-3lVO+E+zkf;L#0yDFto1Qi4&O zn?Vs3QsZ>mID&1URw*Q*ScrH~ECCJ7QvgXT8&05x!y_FOM`w;B+y$FhImRx5fXQh@W}KM4uq3;T;GY*rh5`DfX3g6IlSjf*Gv!W z@^t<@wmi0cYuszRYdmXwl-xuV_>hPw`KYca#wZ4PO?f_fSNS{gy!6lGdlb#``L6mY zycDTXf>E_m?DB$nRPmzRgs+jCmBIj$ z9K|XxkO$2Z&AXMyl;aQt3y4D3O zTX=3ov+yrf@N{;;1eWS~n4(z(mTGvcqJ^D$wK$Z_dZJ7C3nx=_&DNqD?0dC@S>~gh z`wu(k+UkvcE%bTID8{0UZfr(TM`cINKmxeW%}+b?JM;VU+w;HVqw)vLKgk;Nn$z(@ zcrXo-_ikQ^r-Es=ydIiDSE)D?uv0jMoy! z(4QI1iFky0B2pPt9x_4_GrCi|3o0|ZT%cde>qDcjxjA$2iMMBwZN^2^s zx_Y2Lr?j~ghqTAKSfOuiOB*X4qurfK70kq;KR;GVQ2wm0Y^MD1ZG5B4kiT|nT-oex z^gDst>G8K+hC;PN5RcVf3_BA78-r8!Pl(IFr7kh~;p zM1hh9S5bz65O~`!pGKpksF@ELhS>x%(6cDACWPkGbHqPUv;$}i*-09QcyZagL1H8J&OTcF5)TTa7d78SPvY!e{xvdhWB3DRXXa>;FL|<9HLcR)r#nwzMX~U?vzFpGKWq^uH z^|Etr@E)Or~Xd)or<4=+Z);|`$x=0RLxQisTQur=1Wa&Q?V%I`I?I1pWmfIdQ~nx zU1WUe6EUgny%tM6-}!!}V)uf8;EA*)VKs4eicTB5#Y>(qshOz;DWpLEL>Xw>rAP44uD^~x>LFPSY7FA@D>0Zh2Uzp!0X8`|_O0C7etS891m zc`6jZbfHUn7))ZgECoz}R6XL7N38rw8p`))&!d}L%Oh)=5tuwkavop9e zu~YN~m@J#UIZp4h!ve^Kydi8#0ZwxVczi{8_4w-kXUzr3F3c;Cou2J8YgK3|Jy*Qe zXFGGO30cg;EDm$1SJ*nuhtEKNctQab2mY+EKp-qFL5uo~>k^qkyZqT|;f_n7uN-GQ z+XCfLsIP)Qjb!{xykwkYe9Hq}W``t@GI>GRumU6phgpV%&?1CaJ~c;?Su+XJ1G5OE z%VTC{jSS7rW7l}XY)69CDLav4ufa|NwFpD!)HB0-;28EC1k@u5?n(>))hI47TP595 z4s?-Y(O^xYTnu$l@X8U>xWdhwALtc3jDT#(--k^qQ03e%mU%>YrRY)qTaskWV=ZQV z6Z$5PQ$wrR4nRd@F~S~>M^N{$wHzQkxd#8Hfd2ptbQ%Z*q{Ux%7311QroCRmSbS^) zz2!JG*hVOShk7gc5{(-8&!bj;9AS@6FP(l%BSZjS!>on zCSeYNjCm~9tZAWzc^pGetnK)*`eeW7IAF9q4q;0<4c72Uc%QR$Gha?6ihMEWURvh*~-sB&{rU6gQofR23Lcb6R`Rttg zE1G+dW0+qcXC52IPE(e5X{~X?`XM`$<21zK2K5WOw9_2Je<*-~+?v83fw;8fYt#y^ zcVyPOGyCmkKzU zmxO?JHpQZi*CMsDR|iwkA!9FRzyFf-OWI=eV&-D-V&bCc7x2q$_7?5;+V6GTwcT}o zYyZ~4*TyXk1+3!qmxUanzl9vO)Z{j0i-O8w9S)s$+V6BAr7BOLPxPLUv88{DNpA14 zSgf3^-qpb_1(n8>NtJ=-X>y^S=q0Xtz!gKEX#qLdD5S0 zzoUO={to_~_*?WRcr?4TgJcHbsAC(6dl0EeCGWf}-$v5UEK*!`&f z4LIz;_OX{9JL114yS|C63Bz$R`*QpHwWQzEHvWWzHblRJYqRZJDs;6SN!{(XY#YjQXKPq90;hc zAB;u_qX;5?8kK2WG!A*%Z|7gbHIBVc`k|w&!tQS?)gN{K>Ad6Ibj)?-Zb(WZVlEb*eWkE^wDG1X_avbQl zBCimw5Us*gk<_j#NSFeWhoy&!R>g-Zwu#5Q1tcdFRzdW0D$bS&*9`2Ks7uH`CZ@UrsLMFx!HBJbt2=>)YX((J z@I2ZR;RB;)`XoFHbC%8kfB=#e|31F06kjA zQJceDt+Qyo!4%w)+T$79EXY~zO4!3Tr{-*R$<{}`oqbbJSr&7(3gGJ#djR^L_eh5+ zsV2bsg`Jz$ez5R0n}49e${@PiGxx zZU5CtWSYg_k!>QJrf>>knp54eyrk=+ie^hZDYIg(a*23i#7@C=oft_E)s>{jM~s^5 zljtnfj&u{wRtWk0T~8Ln&{y-BJDi@_)1>7cZ?|ompwm=afd?HvsFP189VezU|ELjX ztR#)O05u{xP?w6GPzPeVMZm2ChF!AQzwML!vCGh^#k|F|#nP!lXu@gSX+m$^0icsW zKCeEa{0FA3s4FnyMDT>dy861=KJH19UzdaxracAlQB_wJtdx zP<7GvU-JjoEOaX@fOXWh2L zDOGdu7TV{~$Cq02ljJP*j?5{}MF{mg(;}IcZBr`L^9D^qlG<@S-CC zb@Az<i!gCKz6N(Y6{$`TMW++dNCk0Zu}46$32uYmtQJws2X zLz+W|L-ZheaA|OEaB*;caG86S21(&UARL9j6toooDQKC4Zr@4{?vh%rSg1f(EEyxY zh3ygc!rCxs2tyWT17K0Es{%TyTVCVQMf_5N=qKOc(7k#ufPhS?|Iu{0L?X z5(0UEz#w(d7EA)+>vD)5M~^R!&y6pR&yO!7W|@&N7ZTwZM2xT+LK#*Bvw|(d$YB;S zw-u7}x-^#S7wXaVOV&vK%f^&0%ppcJ2Bh#R59K^Cv`m2%LyEcJ3CqLOVP-M7s3fy4 zo@LJ^&pB;mlMB1>6PVpU1*$EWB*Ne2l+K>87FRUHpbc)4jl9PUOiprFlM^$c8m?7{ zYa8}!m12T7A(XGx>KXJ2%Pwyl0Cf>?+t5b!T4sgFJH$sio0~?A0FEou7QQV@LChG! zVj`bHjPV&^&m~tdl;YU6LFY2Jr4AWL4rQ)L?J;;W9n%~$9HU3jBTFN5Ba0*R7}q5O zlG24pI2sWxtcp;|D9o_TSjr&FFju?Hl$_Y5w0xz$G)M9ZJ0Ki{bu#SLMAbk{uM&Z* zR`)UqQUodDa$8s~LoLG;@RucNcCjqGExFA-0xDaq!jCg-0WqeB8dyzTZ7V|p;pcKp z2aK5!q8$ckxO2AWJ$3?cgdCc1C&g2mo$!w;sZ!-n4ycI%2+u^|nka)WPB`pFxbN{$TGU*E5ub+x?CI_%of;oHLx$*~Hf< zi7*%>z?HJi@6pBKDaj@fcBhz2)5WVOSu(gLU`MFr#uYPAMyORW=){*Q;SnX8%T(P3 zx2kj%|Ig@2U7yB8y5Zwk`fX#lsExFQgS{+iK1-+v^#S_3Rt?Bj%bb; zj_4fXYn4Rv4Tj+uNfK)uNJ(y(5YzNwjsMg1DN%V72dI%s)UK3C_zx2?cMI!G-nKF zbpKVoVT{A?maQV3NU@h@j92ZpG0``RlADcV6GfwYVQJ94pmgCGD`_w z=03dH>@=crRNc~5;p?(wiFeIebmU(qW_EL$V^1WPGQ9n4TLqoST$kEs@L@WkIbk@V zbBeF)7F{sdg?nZD-s6k|cgtPLf;i*VyR8;ncd;8(%HrNGP&TMxP8-U*@m&%zcMEl& z9d@a%t{i+^vc+g5WKRpMHyBZ%NgVu7X7!alB>IPmYWuu&`nGB zNI_vIgp;sdh67M$16jSQ20Wt^%P=Hxt>yv}R>)A#FawI{Nv>VO%f3s#bNa|;7fxZV z47+}zevf`|zk2^xh9n}udkMGsRSzRzrow zlEgI<`?<>N2gM|m&($jPwKYmv@NOrX%2XC$)JRm%W#%4wlK9-trprM*fU!tNhNEQ( zH5o`)x9IadLigS!9+KN##Nc zB;aBi)asS>i}bDZm-Wekha9)HlHYbcUT$1yL^m$kA_W>8>m3_(^&QGY%RpMM-lE(G zzAaNC#gXDJ_zm*<>iTA7xMN9nT>{G(_oy!NqYFpF6Meffp)!v$aG849mcC@Yzsp&! zy+$pIXp%t>+#=iM9?Js|i(C)kVv372iw5SN#I*;zK&9ltn$+GmC{Q341ZQD!-K3t_Ql9xhr*) z?^|@5bDDpeYpe0TMC6gd8~EdF+k1B(;Frk0A^etND}7f(wZ!s~>l^H3m4XK)k0_JX z-skITyeq+DO|+GHUr<$S|As1AX7QodBOlgm)*O)sRKOKe_?qlL$0eC1oR6@-CBMmk zQ*8SN`Ym%!>UX|((Q(dk{&DVq&Ac2Bz`(f^;qMf0X$}qb606HI5|wuk-i}bdSNoW6 zs8L>mZ<~l&fNP5#)~J9J_J=+rKDOB+IT8=3ftQf*V_7OqrV$o*`Ap6160Q;K-^q>n zWyN-D(BGNIQfK-8Mdvx^`RC|S^yt#)-00%yJjR{Mh=jTjH$>NC+ImV;g;SQmzcaEa zbI034$?09H%U3E@OC(=|L%l6sFXt%r^KTuSeh&o)+Iwk> z*~3NQAn>a&l-WT0GT}Bx|B2%zE2bu93dfC2Qs|;zc3yIx)7Y-xW%ha`W(yaBd%(eP zb@-N;gs1QBA^Kk#1@sJ zci+sZ*LFh7PSt69%eR?n|D)_trd06-d*5gCVj8j9dUc= z|99~5e>ds#`~e@+fl2@P>9>He`_xG=(V95}kcj;auJb+*$&>w-i`D~l z%gI;ji#qCy?E(MOAK9ndl4rZ*k{6rm=MzFkEx))fPCv99F2=T;EK*+_4xI0PpE*4i zo$)<8mb^Fu7XHPS!=<0MF1D%9c7%)o^NGJCrYds={0L^ve|7Pj35eN9UK}z7?0?+V zyI38#0DkqeeWQ!h^3Pjmk|r$|T1qWvztfEZ=F`i8F+clajQYG=-TxGz5!RVnPUo_L z50XGOw^j0Ni27^=9IzJ_aMSoOyXfS|vByo0=;VkogC>_9@9;6rrrSH- z5o3By$~$j5e$r11?7Zywz&Tyz$%cLxS;shyzcbqTfn}Ow$MJ=SLemGdL%4@}(+OIf zz)7;3?U0!ZQ8bv!&yNW4gdo z3w=gtp_-Jy{4+O6t|a^+X#rzTD6_kUpxgwJgL{X>XguWa zEV?VUShaHM_77=8>I&A7JA_4AEBt~pU7;N2bc>zLISv7Aor%==Gp`C`E=FbN|AMzFd zF8*DDUz|D;I>K&CZ);{tY^!N2C=fOom3H4j%|WU!Z%I?{p`M1G=JyBRAAZ;Pu6d`J zs+g)Iv-mk+d$qD9x8(s)SLF@m4S9~dr$sL{eIEEcWGnty{IMi?gw>WhpE4ojkwQW| z2?ME;j4jQoqG~?bLug6xh#YU6x1wMEwS)+M*{V2sV3EZgCh3-UiL+GX#H?itv`32f z^GSy(ZGr*lgmxqTdOjBLHa>)ePVRCMi%Oy?P}ItYJ_HuAo_M&TdOo1D+LOnuWZ>VF z?h)RZjVcDO%N~vu3l;wyNgvT0`92~#@?ivjO?=I74Qq|@H?8}N=e;F|E=54nIyke(tRz{yOVn%fl9p zf#R8xC(KzU55#Yb{=Tq{VG#>Hz3vd@| zuV?mj;CPM&!d(ilAThbxc&Y_R)eA8NLmHpY68{4|K6>UWD?uCfnQ#|!6a=GZ`pg2z zKSMKUXX0HKZUN%Yd;YX7@%I;Q9|b>@iGQ%h%o`b$n`_OCPeN4?F)VG9=k}nH`KB_s zAeI-<0EIG>_25`U@k*uUjx&RL@H*vE^VlDVkx*MiR7vYxntw!-#Fd}9+!M~tz(|4? zqgDQ&79(9`x*u#Z3-@3xMm)^Hq^|&H(5}=wKpO1+2=Z9!v4+6N%{MWVvJS6n zHAIUI9${TgHfg|QbLVeW!Qs&@_t3T6ehuO-n()&ZT1{b&|o&(oV$0&ll z!2W6)X7w?T#)k+i77oDyqFT`X0Fe~Joefuk~* zqJl~dZQ64|X=tA6V4<~OTCkvu>(G+*9ZW1iFZbQx=%w`s7S+%2$d(ZW}xsZGL(FE`CP-LVkNnP&5SpRaZt=P^dzCQDuH*Ze?NR>&k-4yvicN zLBt?p7%_xnBg@~<&&h8}i5s2NmE09AFF&tFU$m36ldm!8Ipq13+2#?y#EO6$?#Gxv z`_D9>+(}>I*c0@=_3?#c&cWcx3Kn4C33q%QJBV5#-eYNu-pm;oG}se9zWzhzVCdBf z+nxYMy3;H(lXq+7)*k&aF2>I@utL5^AugppRK6kvqzq!R@+1edSFn%ooJC`FJ=AFe zX+(V@s;Pz2ngu08_Jboff;P3*wKh+!pW0CJ`|zLe-{MyVXj!tqw5)1+p^U5i*8<_9 zhMd)*JsVD&GV3xMM{7r$P3ujYoBUw@SblYWnKZ&azP>wsDVEZF1zrVSd8tE9UwdsN ztR-y7_>K5y04|oa5B!c2h^J@1RJs4UV0hSCz!X^NHBV|rFL}79HTyN!b#Lh^=rZZj0{ZFH z(dSQ8*j^_OHx4%r^;rL~S*(HAWYyf(<!ac$?W6p?aAPoQ=&8+s4VSe~jo;+`Nw!J5 zN$8~Br0As2VYReWNu<25}9{1Nizj7Xj>*#rg-MF{=okD{s=Wird-!T*Vn{fl~(fI%G?~? zctt!!gf9WMp#B&A>1s+vxxZfP<*^OD`h`#i^2besOvgmW7mn$UVUDlLq^`)e zv3${dyP+$xEpzz&s)(DFn?a*%kXY5j{tfSkEtr@>nt`YttI; zNeZec&d|W2_7yWcZj~t7(C0jD6lN;ig&6A-Pdk!liQ*0(xE-Z!TFO020R=D`kXbCD zF^oHgg6VP^Gt=ibjk-bKS#LVU%^M{uAG7nx)0BjQD@sT{Lc_#&<=cwV-rAnI_igdy zEctRN^`f!-vD~r3vDae-R)ar>etv}x@~z^p>HtcTu06)R!aaL$&_{^)tLcpCpe%)f zqPqOL+`7WL*L4MTd38nPgQA0?!=giXR^|5k_c-@Vy>UM#O(#!B8_I8~aTOip9OP>a z`V9GeWm|o`C$VP-z;N!D7@V?E-b_yUSEu2>+?>$L!OFoZcqM%=Y>xwwZkZhu1KgaT zU)Xt6^Zfv|0I8Y0t*?J$f-}Q2Lo;8&E7U90tJy1Iz`t;-WAbC3vk-q}%w@Y|UO-Xy z*MPx*VXl>ym6p|4du+$lHwA7I1&d&%2DaU^$lSQyo3gx^7CDBHk;p^q;RCFjL(W`d*%;8?KQyW+EwkD&(#)4WIV7{d(^%-FA&` z0K8h8+y^PwfR0+YR~sG=eJ|e>3{ z+vJfM1J4`21PDviBYDcaoAj9)i5f37(lx>~Ud6W-qlyQtKYcdmH#g^@(^E?ft`?9olA@@xree-`n>ab5E5B9N zYS?_(bl7s(WZ1%#dzELE55mopikGUbBCpb=!l+WHV$TRlgb=^#&gc$`Ky_GEnOB)s zSyq`;SyY)-SrKsya|`nd^Wdh+s`RUHs+cn3CMI-Bh)vI4&t4b5nYUFM zpC7j$FGosqN^|N<6}Cd^b;{Zh1Juh(QhQRpc1Po%kKAjS%mstxy;@ zTgTle`QG)k!fKoolaSdkIRVx@QhWnK#Febo)1;LV*y+1XNHR5VSUeK7*(K zhE=55JOaT7Be#mF{)B0x+y$N!M_0E_px2T6h-+6l6QwK1q$2RjiN%L}#_&=*minR5N;R&;l+ zF{VqYQB|z%yKU=9WJm=VJTUQ@^1z~bfgN2>hbE9A`M{^2bH8_PdIEWm0bt*Y-eL6A z6oU@5rq4B8j^Th>j$`MEr(F~NG#LIaKs47J zy)`?qZGaKYVUje!E%T|s`OSbAE$uV&w*Y+{P_dEhh{aTFPAMc?)pyDdg--D`cmd4*%!huJYR6Xu-s2C zXm{xvwh*>zFkY?P`@?8CYCGy|YH$95veelzSQgObyaKblEWFH8E1Rl&fi92TU5{*HU! z>D}So>)qzvGikX|kyZIrXF!Kb+o#lT^!_N@sNE%>B|7RedhII9`7_SF1C!+xvCOPc z(=pPS(Y7kxDs>$NkE)Mi|0Mq@^fSS|^SHgROWst|ioROovZRR*bTk>$$;uL2$VNH1clRY0Xfc~z88Jzs@;XAzfAPZ*ec&uCr_~2Kdz;%M!#Qd$YHn9aRY_HyS&>=wenJFL0U6Y~*50Xw>t$~wY(#FPZG>*T z+=$u8a`<#rjc9OdS6< z(G6VL0wGO<;LQHA?y}CZzOweRFa5?>ERR(c6o_hGu{^316F^v#?mJ+RcOdOPk1 zC^+x0|NKjiG`AXB{afL5s@ST;R5*nuzyL#{u#N(xnneIh0y=^CygJJ`3;Kwf{)3vd zn6y~5n6><2OC&2XbO|QPdC8ZYC7(t6b)EN108!2hbEArY%7AJNXCiq+;Ce)k8Vxb? z4c0*UL7G9_v>O~jf>L2Q_l*hmaE@Ayi9ltM$Rh+B3;C@5-HEsj_WCkx;`Ud*aK zAbNCz8YBQB3KO}N8r&wenB#1X92Djku0hlYyCK|!DPZ2PW7tiY3P=V-7DgDx6NVec zaw|Q!-K48^k$bsfcGh`Ym|eIOQF=*ytRvQiZ@@sX7y$8*1`&qwh205Dk!hn{L@pxd z#sGObai;sA1W#J26}_PBC{;k@I1i(TN=;{Yp#u$cMr< z8I&1rYN~1+Y7S~tY6faIi{M2PMc0@Tzs4nY+H~0T+O*m9bT2I+)0|y|`-C|VUKze> z_tn_c?9`xYdH@6Aqjs$btBAgcxF}AuW3_j+jb$kbsVrJvNS)P;z)iJRQ>q!A;^!off$DxS2LEv#*2Px@Yfq!OMB z-d55kXvUcdxoaYKNc)CRN!Fb%Rgv~#1b^<$cs1Y&>=kfA7YxA2Oq2wvvNCiptY!Hb z(+E@}?CHX+~^=2&_dQD zHv_|#u!bATI^`x5(;XwroL?fwgui5v_On_=y9QVHH*`02HuN>LH+-3xy;|$-UEnUY zh^w_;UHE$jRX<-p=d$oJwpDEPfLHhbHv=j>>pSba;ERU2#2~VTjS#2|;(nH8wq@vY z)UQm}{-f5T?uOY@^y!kmOBo`degqic*ZxlL1+8++!wY}6dQ;@8^QtQZnBnn&5nf)u zOP>+g>g_o}uOQ^FzGQp}dV%U(zS`=m=BgH}=BxgU^TN)UdA?tt^J<{~lKdt5e%E6E z-R0fc-GzrpFJ~`T%up}UAz&I&uf|Ty*1=jSKSeVdk>0_976jge-M1$=2tVn-0#Fu3 zd&1aoR0lDdrBZdBU?AK8ExZ#nPQM@Vs)G$JuoDV6Y3ZklZ*|;4)9*xJ0$>9jJw>oP$y7E$UbC>S0cfry=>xE7*rF;l+yEMhVSwy zdNcSXT#HcRWvEn?XD~~^?M}jIIxQJEyEDwC(D8>1_Y+9F(=epVMEtta^#rW$cz|t5 zkY%t+xTBk+e2c%6(a0c~+par>IMiwR31h7r?Bf58qJ^8mwl;6Y)D!LCd z+PtVy1s;zlQ09vdORPQ{VW3LT&8HvcSq*VhwoMet=X?0dO|6mUx1!(wI3HgP+*9%H~;%I=r3 zmD!a+%k%&m!Kdun7}gm581Yz~UB~a<-)#a*X-L%u!-na4OZ_c<*Gv2WdyITcXe`05 z^LP8ZE>-lCWky%c`jRPrM|?+-I>tJ(I>9~A@dnZML!ZI`$8exGg4iF7hm7%%;#rBa270^Pdi4pktXSG_bp<9~PGG-sTM z>!pLnM|U%tYx1V|(x%5ZT;e_oONkuaPt5JA@F!l{E7UUG`3y2ws3OL+&oD^OrOecz z+tC~{k;%^F6DQt%8vrZQF_@3Ul-<?G>L7r%bL)*thmu0}3K&PJ{?$QhRz=NVTp;Af_8 z$gU5YqTjUIBnR~LAwE54J!f6w^Zv_Ot^vpZ7q0r2`j&=QQ*4{myOa&GhD@)zNnMil z>74*Es_HJ8S9+7o^j#r9hvK(;twBkGp$<46G26vGN}6Ky0PaROk1~9vHseqJyH19+ zi**zaKt+H>)oS;Smr7P#(Sp`4)Jxu~Mx-0R&z zPkzr8u{1GVu}Luzu|_dGxH#Mojs<6or3Jr0g`-kXA*iIVzV3NR`RqC6wIBu;%M!Z{=Yl)I z@5V-=!mOf;I;#6MmrAxV%||Fud{oWi$a2V{$}#}TkMIGBfotlC%W*}Wt{twuu5GS8 zUzb+5Gj`m(`n@PnAb>npG&`fXib8DJ2Us66x&U?SWJqIn5k(sS+X1^z zUls%wEO!1j_o}>vn=G634P6cI7{a--$9B`pTXu}jH(D;3S}yWtE`ouX|CUj}#?Mzxc${gZ~311wEWrtdM6tP z{zvWLnTs`})9n|MCwW@|zsvm(^R_PLsZaMlI9<%noOTbK&t#u1s0Zw~Q(r91oF8ie zOhW9%ga;r?ki4h{S}K5^0PsF-S_K@F&s_95UCevT_@4w^EP`83e_!nU0E7tH7dtH{ zo8OHtmW`6On$JE4{Q5%Oe9;1M5vQjoMrV?eCr8=-7XAk_=MzS!YrwDa#pv8(+vnol z5(2biMH_Oeg+zyZeq z9+9|pVK=9Ke)9C<{9(ADo?a)s?p+X@-K|-Mi*PX6A-FCXUMLG?ezCKMf4Q=x9 zWb*_yfj#X!p`M&g>YjR@qMq<3@g^)WYQz6*;cVUD3L$S5ZU6A;#oXQPvh9bSkR}+= zfei5o_CPfU`H`Mb?z^u;$D!lt<3g2ACcsy-nXdC|C!l?Ub?VB1w&pND>XU2x1LNRI zY7@z>bL@mhna48RZH7KIeY+xKrhf$(BhA>ipTq zSifgygeS!NwEKjB43ujeHO@3{RHp9~&Pjj(qfpPQYlK+Qc1j+J@VP8dcEq6HBGT2M|z2Z8~i@2u$j z8Tr|n8OiKiKZgu63N(6d6l@eW^UUd!(45d*-K^fW!=b|=cw2P)!#4GtWb0PzRy*}4 zKt2>A86+8caXsLA!0mvW7o_K~^XunC=g?D+L$*WEDfrOt5PHaYs(z?+* z5NPAr-*C7A#u343#DNov(XP<0&{NQO%5%$dOLNO_2N?$$M;eFDlD5KHueTDlLW4YR zu-yO!fp6H|fZpH?Qoo^hL-YnbNIVGZIvJ~luh7Qq9UP; zX=mNJh1tEpuargjYMg4>2nXlMxrMnJ)atXuSj}f&35$r;Xw?YStTH$eort>#1Hf6{ zgY0o;MY1|K&bcXQOKHn#%V;Z%-?OISCln;CCD6rj2yqAj3S5*fNpItQD(K1VbMZSx3W3jwu(L+nDJA)IaMA$lRAA@DZwHY{ms zlV{uE+acVt6trUWO*B!2j5z;`wzm$7y5awKzlsu4lF}VYEVXn=H%K=~cP!lqA}rl0 z&C=Zsf`GKJGzdtCbc%qU&*FVQ-{0@~ zM{`(Jh6a=n|K7$hJIc97RbN}MAmnQT1D8+d(5lo8tXjI(1-`fk{lJ~$HCTlhuI+#S z74(B-4zmhWmDAz~Szg;;Yx{Eft~}Q6-4C2OyejG{oGL2=ww8ewh880r95CiQ24Qt( zg>J9JBZYgym|<9OY?vL46b6E;!1RH0J_TGDj-*Cu^X>wA5dxMZ zp%$j?q>7GbkgfjLThJisBjF>XC8i~%C7~rV``VI zcBJBs=Z$ZEz~CJ=u?GbQ+XpG*MX8Uek7+5X0;NSHMZ`sX+y+a%otovCcQOo3~p)lfJhY zJ%mOQCy%e7B^Rnn_p<7x8a{CZnN(1|Bv6l#(G}B`(v{GaS$J)e3s&V(ZF=DG9g?tL z3chTANvSH5caV2bK$hz#%`eF>&M$ov>=Nt};SzdAutm1@cnf!nbl5YAISFeRJIOAI zGzm1UlBAy`m_#uwJd7kyY4Pq1dKSVdNt`EC(2*OZ%J8!KU#h=O(p$p&OJ%S=K{JV? zduQsOK;3VhuFdP?Ye(KX%e4aL72JD`fWy)r5Ex-!2wb#XQ0xg$ z{+(X<7V*M(^LdM|#ht_v7Ng^2#O`7xVTBYB4KV{t3~WGSMCt?TRPoXG5dXQq)@HO#Z%k8+^YYTh5QK&3#5)xtk=feL{# zs|DS~fw{+s4aNVxp!l5}ATL^wGsU)>deJ@TiA;d32`nevkui~xkrKrc#Ug|HKUq#7 zgr}c#N504R;Jv4KFY^A;dn;f%L5pmL%!a{$QG{WMVMIJi%tFLM+`-{xRb%>{{pZ^n z%NmpKoIlNLENaZYbIfz`u>-E5|K3o1AEvU1;}`_C6Y|Ksp~o27803ImXAXlG!!R@l zqZz{!Ll~GMpoEHiezz9C7H%@gZt7*}WkSTI2xxhVFt|ebKL?u(okaRsX_#nOXqahO zO}{l~=OpGPZY0u;vX^#{#*Pw*YKx*E7UuY?%<-`Vn}bckmKVL&z1G9l1G~wSnUlf5 z5`YxY+%QXH6<|x-Ns~&03RI-^r3Ixa3WN)gXmfyVz<(_Rs(@_(aY3ePPl>sk+1UYQHN-hY2x*Pgz>5KnjgZr1$S|K-CKre(H46BY zGY~LnGH^4vGhi|x<0Z-^%0-6v_gTU%&psjiGn?^4c!?B=B8iU@tr#R2Xc^2H*d7l0 zmWoE{qv+Cmg5f}Y+&Kq;YRezmhfs3F0H2sNUjH0rlI0H^1S0Z|1 znq2SZFr7sL$51*xAbCO57PUsnEGb84M|nmK0P9H8sK=;~rLQH5rAYm|h4_VV;3R75 zVd-H)$fb~Gm|i%_X~|z7tUGi7e9DbXj4X`IjI37PIu&ojMyI?Mw$4zrpGoUoiIJ1V`GPPWgkhL%#A$(<;i zd{?kKZaSWJkb4WB5}pyBdTbx|>W}L8E+sc7HAgjPHU~E+G_##$T|Yb4T(Rqz^L9FM zJaIf*+3f6Z?{6RT{dkSCBG}>S9k_WPeob-gzk<>sdM>i*-*=mK{bGf&L&ZDi^!M;> z=JnHKg_TvWz#aeo_RqH{$95~c9qk=~XI)$VU)sOiW?v&6iyS{XmRV8h2HIzyyB9Du(_W?3=HhmlSKe5~)8^uSSz2CM<cM1eekcmXSS(0<=O-M+z$ z+|1DQ(9EmpS2L}9+lIW%%Y1D&6JvV3q{}UBH`8NUyn@SKZ3{oPb4iVPgB)Yp`1cs5 zm0%z19YJm3?uonGWgj(o(;Z!w@!MXxpG$R>>#H`GIVvr;wPCtrx+}SV+;5t0oNk

-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�kK@=NmC5Ueflu?32&mBC5j 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

K|xMe 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%0D?QIV3si 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

hlO(f)6ImM<+O@Lv8voeFNuQ#RF*m6` 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

8N}lLfOKb(4)Y)+F5T2^Q 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

hqSqlp)~b z+Su9*q(-|mhz4!MXf46R5U^6@Y$&nyMr?cy328=trSDGf^LkDnlHTVtE72>lRo$5w zM2aqFRA31AfE%D$)1$<E~*6n#2#`3CucUc@6>4^5M9Ek4|G!jEibaQp-zMfaq)d&4tNB9W_-TL=gz`X^(6 zGrahOG^0;+Yv!^Zxj`S`5p95GNe>qvZaoo34l-$!(vQ92StqebtfVsH5{$lP zWOI%#I>F7z5>=kLtVT}Jvw7U;qN&nN#A91d_>c_@DxWS%(B0{k-qD#S5y%C}VZPWxk~ToaifoBN)Hf^Z9Ne}_A!inx+Fsnrf+*kXPv|#k0oOf zm+WXPql)uQ(Fs9DrD*KTWeswHUd7`^4^5ZuD1O^=B7kgXi2HO&itbAv@xIACi9&8m z-XbnJ(RY%!6PFU`W5zhAoBR{L{9frvcSI7j@?5fPdHjfi~EzgH<~VT~5KjG8SsV2MQXJ}g|cNo0a#g0f=# zjj|mzio)#NMjZnugV7`aH5Eh_rHOEL;^MS2`5#-R`Qzn8OFtOZBOssuqhqdhlUb;C{te)+=x)u@`6*bCKk3aKlcYB`bd!#vB zc=nNQUNNie^gk}87W2*rkFN4#*+Xw&g zR`I;D_uzVfgVTF|JvP7vP~!lBKpcZ+Q9GRfR@m?BE&+Zb9?ni7Zm!PHMf^fML_&gm zW&S%OGBiXG?J&8l{A=i9pm0k;aB?kv)78GKgRkptZ?fC8Zr7+}cdpgq?sD7OlYx&^ zl#7IfN$2Y7k-Crcbai#xYg5j*qIid5L*{1(+``=qx1#T`g{x}|^JNDT3yLA`N1S)D zKVr_l&-svVlZHP$;@afv*Xp+({raE}5YFh&;E#7ive~?2wX=d+*_j{vN*GSJ`85!W z7{Wj532aY{QrcufZ2_@7{U*?B*M6Dt7^2OFu_3&pC6qGDkpxPa>Zlu~%yblj+9JXZ z1O_BtEA}s>L@8`4poVdd$^#vNSgk-u5-fM1BN5gu(2)#F6X-~YwG2FlUVHbqCq&6? zu8zg9Y_5*S;BLx{#ZYbDcR{=vg&L+g+CXg)W0m`{<1si#8#}|eM+!U2K$6V<(pE zXn!a6!4ch#G7;7waD)Ua5I91F^$8py!!iYq5Mu2EM@X>>fg{A&sK60&EJ0u#5UUdy zM}p-Ij3dH&1jdnJ=>p>jvDSfcq*$52IAUygU>rG?JdiE%TBkn_dhO94mvC*}AD4I? z-hUT=ZPI@Sy$@FI1sL} z!-9Vt2+=_(P;QxGGGBy~z+HA&2#z5TUW5Y0mL8@HV|)*4!p(Qe@dK3MOFKgGeV{D{ z%zRQfEnFJ%3MKTS53pqh`GD#fwlmwXd)#AY$o`lD`PLQY z-A-%rDsDU7Q?f02$j=?W_*H`AhY+Tni}4LW0L~T|K8F!bk^uzJZvo*#nBK8L;MOFj zcXSZ2RfiEy43~oop!`z8x#5a%Q-})&xkH08LX;-S;I#vf`5_9Ze3a3+z<4vFG$C9H z&JSmV%foFU3Om1{eN0=dkX6JW?N%tJEhQWm&b0FtaIA;9M^D`$CJ9&zNFO4K5#BH! zg%9@_i=u^lj7O2d?RS*uw)`*^1jknx|CDe7I2~e;YKwSh2)OlXX9%!muroxm^RfvjV*s?~&&}^-uVpz6hP%%_neW)0wt#DKf z-4+%V!?s0^`Ul#|Lj9xPGC}>L-daHYW8M-${iED!NBv{m3PAm%-8x47W8GpyDd8Vy zVQvA(3z*x7$L*L~{NrQH?Stb=%q`yWHs%&Lj`fBlns}IWJK=Z?i@L@

E+7+a|xg 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

QPdX$18 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�)^F^WF4YE{!+@I5;p8%cQ!!y9Fnw= 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

q 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

Sav`=c6kGsb2x^{T+!I2mi({uu6fw{i9& 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

4uxDd1vS~abVytTYzEK3Lga8@+e zW(4AkZ;B@^D5`-L-dnH!0BM|{!D8Gh=90fii_JTXLM#>V0{~(`9g0fpp|ygYWI__> zPplM{Nju+UN8*RcAE6Ew(!p0^49lIdeT4ABxWmW&h;_vsm_En@ai1NBC4lB1K?=ij zLCB^T?8FLU%@9A&H^A(Jz8-7FA8dUyR9bGB>&5H9W;@44Xcbkcwv%*K5hu^3&Hp5b zCen*zg}VfuqcGrg2w!izMDVPk)l9G-QuA0#8(Hj@v7bziyc`|1nawL5;Jyo{9GQ~) zQ{(_5X*|yzq(#k^siDiw5zBMRFdE^xHko81EG8V37lW1^wptcM$rdaa!_wnQ7$VH0 zaS-R%i<(_gVg8B2k_$1`YBSQU|4NAd)*L#8_0Y*M%W-Al&^Tbsfqm<)q5g3#V-v+pI-`;M=Bin|A_9B-(b*haTbLHBU zwUxd4xa!umx?ZX3?oG*&dmV@^K3(u+YXL<+gD*ZSuF&d9uypl-duj~NWpG-I=KFM4 zE8Zl}f0g6aUg}iF{=A;vcM0$f`yamV^ybO$dmsP+`u}k<_KyhiAE)U56hZ#;SpMH5 z$p8P?fA_EcBTaL+vp2E*Z`3E|um78v9m!`_&Ax#ia<`$n3q>CvMJfrA!Lhqn`kpPn z^9=34R?(u-#HyFCEYc_CQW{{WUVFrFxdK}5EbJ$8WAj?&y2Ww7NH*nl{+MfCtdu`W zm!{|P3)7DHyM@*n>*c*@Z$;#&<2gvz*a-Cyyvt>;Zc^%fZF4t-Z13>=T=G+H6J4P=`(XC#xXFFqmt5D_wpl`*!{5F_$2dkI0o{K1 zIE@BV$Wf`dg5!6yyif_3Foy1k5cXa&x?D&^cWY>ixHBXUOGG{eJxJlU$DR|#xTY0M zO^d_GVp41~ldgFk6CySGk>`yKopG)4ttZg(hBm&xL1A!%?%}z9p32k$C8yaN)i+NO zL#&u77t+hm56-^+I8LHCcpslg1x+?mgQ(?iT{53$WCssRdZ!G^I>+8#zo#6d-@-sJ zo4TS{1NPy2Bm+J=hj8=G#YBmrGj;(-RgqBmLTB)@b_;L?-zuj#^85o6+<0)91R*~{ z@GgKPnDe_ODD&8Sw}O((IgY~&sD!==(?-V$CR3U$2K>;D z*H+W?4TjMgs~J>4n`02lSD4}~Sj_z{h4=_W(vs8Rl!G+N$mtOX0;G=t-E{D)xy+WO z2`5d!HwK|UNOs)^>0lrmQCXq(C~_7f3Xlvn@=gW?x$nKaPOQyRVbI~p*Kd3wFua;l8|5ZiiMR(Ll7k_+n8kHs@ZHX z3lrun6EOPbkpV0As!PHx2N9?~;gmkKeywW&!=8|*YLUvRNN^QZrOM_A8$?=T+v46S z^I_5J4b>yDd=19e&KGuXZr9kNyHO+6eXHy6^HmRfHfhkVM1`SZV+B9Yx1VolWW|?3o^aOb&S*R90S}U7A6ag$ech`$2ZxYK=8B}XVTr-?6)%9F)N3t3`u znjG17n16-o>w&Dyr}MQ{ye_~QNT>f08Nsym+-K7F)|xK0>$w)OG`t4ung5KHYK)n5 zH7$eQ%b_ZQy);1D@>IVg0WYC(5>eS~=`U@DNkaaL5x=Qut;5Zu+?vzoZe!zA3!d2r z*fCFTn0b^wVMhQ)o1PJ|p+DZdM7l}}e`=)7L@1p!%tOLB2N6&`bwk;PN?!)kVO6e@ zVMzKTl?unL=$-?9D&^3{b~CAHIKVOIe_ewsPX?lGWZ%%@p)rwUA?`?Pz#=21@kDlp zbc&s#UROnzJ|!nMms65N(R-S4xY&=!Ah}InLJ9aX&PD&{i34gey(B0JGiV(I{r7K) zI}Kdr3C*EKiSO|=h0`%V>zuQ8Wg?O`B$8r5W>C_oIBiMVAF|~DJ$+6&sB7J8wubpw zPNWN&odqv~)_H}jmZkN9%@yISNnGR;(qersdO04hDYyner|VD_ZbFc%^8zy~7lI~V zwJX_@$bCB$*>C~skfz&h!r5MLLxY_>rV)ru0%n?hVIK5b5h~F-hv;!1g2AESLvHa6 zJENzCDKeg?T}Ot1H{ZGQ5;n@oPeypdV~#9Wxj7%X-#71MSuV+Bw*1WRS%;!_Fi(Vb|7etZP zU{Yn$Hhgb*ZrN?)B1@zNGbq z83k_y&rftqbFkowMFU{e{2$%=Uy>a$ZOsgf#tv`yX6Akw!55V$!CpS#K+8hQ4Pc_( zzvN3H2Q>Q*`M3FP>Cp6idseIM=-8t8eUTsn)^+Ex3^RQYmqh3FRD_>B#I-gz>-g=_ znnmOtjsk@@L+4cnKKmmX2^Z$0+XZSFj%c0}h; zX3t*@39s8B{%l!WnlL_j2zE83vEZ5Wy9SfeiU3B!^B7OC!jpo4>>`ZA&X^O$Y&R~D zYGJ$0!+5D0oMQXej|1~_z+r`AV#O*i@8v$_+6uX0aahS9$jz!gfGjH=g)h?J@PsKf zhB&UR4+38GgrvnG?n78j?e5NahG_fNlgy}}*yBWU3I(e@#l zR{|IO{3jzp4GZBB{HteV{zt#}KaOMm^Q-*-;5+}n;w1k#j`=VC@bAl-f3&B&+yD1S zS`Uwv-2q49&WjqvDr_QHqU>il?uqTqu531*(E&+PyO|d}I7s8jYGx{F9G=HiU7u$H zk;(Y;B>*@K7;cmbNz_v<(a*iw4WY~*s%haA4|ap%?jjOcbc0Lrv~7#slkc;-0c+Wx zEK~!O?AFellMu;82D`kOB!Rn^730*qK0d$EpVJ#2*rrW6wX!N}hsymEB5vLbXRflF zi%aIu$1{5JtC=^A$&W5K);j=`L|xC9dJKN}q}8aT&B@3oE(s@8_gmr8V+owsvoLl! zrj*`FmX9flb+}0CynrtX$z$Kz?i5YZv#{tZ4x<~SbfezK+CF0|zglDI6-?qC0KLl3 z-65r$dRpEmkE^-OJU~ih^?j-2?(sR@tEmSQ#GiOXA2Ts7pg%8-aWrbw^z!t73nwq=E(;CrrpB1c9o6p}T;Hym-Wyyl z?7Ga@qI(!3mj>gy8RQ-CdV>L8kIi&jRh>Sm5!zjmwa>?(TcA6YLg);iD*atYEWrrI zqsR~^$UhT3?5I?*&8fy}8@owtRTYp7E{`S|9u!e2`H@|%yQCSTiDvzthQcXO!7^Te z!rYVIqfo8EOJT3-NZY^F^_o+IpWifMFvU^#gH{KS8CK=GAQ^qXr@{um*nA29U{-mJ8c# z0vH6Qw~Y7Y4cEY|ckETxQqZ=}XP9&1hZ_WlFvE8@+ZB>dL!(UXweJlio?wQ*Vo@xK zC%($H0V+Fh3k(^{_mGODAP`{&UBDa!p!Z%=_ikGbpPn2-UFZ}*ArP<60?{CYKL`P6 zV-GMJnS?e6$XCh*pjGSVB?<265noTzXePL@CR*e|Iit{$K<&gORdz#$`k6|jFhk3R zcF~0wRkQ`P__Lzl<5^#w9uY7X#;%kPvvTMoieG=j03RUZ#~!YY$|Tw|3Qh(^?kBbS z*Rq!8ONXz3D)POq#Aj~~go1jo(6frarIk*fQS^m+3iyeCOHuy@&6FM1tBzC@2*J_^ z>q_u~>9Qr1;Fr|4sucn;^*S^A?c=SVBN6KlY%_MW$r>nT*Ko!5{%8Yvd8jk{N`F#r zUd@-|WNgKwWmMa(Kl=W3O7L+A8eu4}8P%_>EoTIt04wJo<^L#!nve+$Ei#7X)mO!W z_-YIMiOq3fi4St3g;+nj88FxqIK(3^hcvwlq+X;AafeU|`Yw^&kblZvKoDoikAvRj zU=E$%K=Y+`7$Ki0HnNfF{>=lgH}nat-L5^YpadowNl-DUJ|w-pVV@2kkQ4~;`s)FJ z2IPobMqVPVv{h{~7|@-1YEd&KrY@stWSg+kq+Pvm5LXYnGA7-Oo2r%el92Mo?!`^* z#f|--Zg)@I(;cw5VaY50DIX{#l)`ajtqsvvh zfdvr~E!_efAl!sq{G*uW8vxYY=W70aa<=_1AhzfN94o*M*tbfc>n2*s+4iB#MF`VS z^$QhwwDi-pI$$lT8t>Y-$T)kE8c8YDa5gkaetS%1*}2CA4$t;ieW?8?PAGw>?JT>% z{w?s$&K(`4+n7XO`?G!mn-h&$mTEV6(J&ZF)F9^yj#a*ob9dS;%>~}oNQiMXas)IX z`H_U6CSK5zHh!j$e>cVk&Jz-p4)PLWvH{3raO~cQ7z5iDqp^tIl?0EmLog6&0bT-# zs{MQX)&vU%UU7=%Pwv07n7!Cz6A1-|T4!H$SG5wq1#k~*p2n=?zSae}b%f|m7ZodUTHn={6Y13eaq&_t$z z+5=8=&kRqPgR``znat{^k^pAKh&OtBOeu@f3zKOs9yu|OrUgQcpe`Rd2G(dC;4RXN zPf;zl*p=R}Ls`sFR$69eKt!9OeVRaF7Tr0s26V8u$P^>*(Jvs9;otZTrK1fE`A|is z1DQqXm`SM5Qc(4a4*IhVnxvH(>$w~Y+HQGmMW{0z*~J=aK5>Ru!Ask^=QVLxY>z$7 zkfb~P-!yADPlRh9iBu$|>&-BRK?Y51%U5huA+lZ=9*^qXR6XN*p78<+j$Kpuo$9}* zFp)X8ate2BQ)7-PNm80#aHbm-a}Io-?s>dC$U^G*zfA=zhw>_S?!O$^qm+5Ct$X;d zZ4|{U5bx;(MEb`g8Lfx|YKvQWZYV@TfArCL<5?#B{E!}}iPUx8y`Ny_W(__QFZMD#ah9V!fj`%o+A0_WCN1nwwTXYOZwoLf0#3@8jiHCbZ_i-w{e)O>x{j_sY@g>^iqU=4L2z6YUlLH; z2)O`7BnT$VZ6ECIeV)HCq{O6xC!JA-6Ch=)p1QsEdu+fIQb~rYR(vE>0`X{%YyGx~ zd7X$3)+!8d0R@ck%5jc~dQ%m%h}f_W$@rz5Y9QHOZjQUKE)O6WEsF6sGyd6$^_htj zXm#rJqJ0iCCW&6rJ*R2BTp+>}L-lizMHkfDFd$>8!g5z;Q0>TVcyB$c)Uwt6P_=c| zb3VZzsD0Kc)fxgtP&{;~%;Q+4A*{=VOeMxuxw&zwB5LDCVOLp(7qdTIGA6fweR?HL zTe51smuZnVE?FU8?;Ar`ua+FR9&s-(N;mJ5i$k}TB>FOr(%N%29oqGZXZt@<(48`- z*=m2jgELFX++iXlcP))^U|%S)dYMc}X1W4T_bcgph&i@a9@D?yAKj*+piz*H_nv*- zVH)mAqwT~mEoY%}h^%#iMr5*n;f=!kfj};} z)0BMgz3Q%9_{%*IJ;d5ejI|wf%`Hw9^ z;e~e$GN^6`*kg~7#|+U6zJP2$>eVkxD=;C-?txEz=7F#IK?ZKyf~*wjjjCzMKe`pw zvz#8|(YX%&$m8oHTk0o>im?i`f+5tHF9sA)cCI47dvf6B?sD?0*ykUr;^IKOE zN&O)5tAGjv%b2)^mn#4%(#xY%BQ{z(2UtO^o9R z!}s?!+L863K%>-eNpp-YrtP@*hQVT$+CT6>;-r`$rji@ZD`KC*X%N0k^eRfr=R79` zu|rnEBM9B?(sMiyHZ%z6TqVeVPKv_dF`@DX2*XSYhjf&sG3vxSf*pLue^yZ3&r*mV zHNM<+OBL
jX%D++^*MCbOm@22<1j=yjgjm9cg%X38w3xnMLg5QnDD|%UuqN4+K zGanEh7Mwkkd`N5o2E<=mfLItB80s480_YoOe??P6Lsvyp<)Z{){xZ_v4f8vkm!e*E zoB!d3Pd|SDf%E?VKfZvep8fyN<4@kq$7av>$IpL2jd*`Kd2lil0icSlx0#%MsfMvM zIf0*{sGPpGowUA~v3I6}uzrk*HlJAtjwmdFpZnj5iQdNIrQFO1;ZOj&67~o`XK!EQ zYUSg6_(va@{FrL#=xOO`KhrTxqlQz4Ls3GNe?bAnj5gHQ1^xZ-5T?+2xgQ7L{-1~c z2VT%Gw*Sk)wIcY;0r=pAzLwbK3ftzmezSBm@Y86*`w|S{?qg3mgfoOQ*Eq6Kd-VxN zTs}{G2cHFMo zdCPX;w|#GubM^7Mgz2ZRj2Z<9LF7KN{Bj2nIpLwFN&Kay_^lI5`lp?R9sWh06Ze%v{swefND3Q%fLF2C0uH1={FCwqs|Qcdk!om>~!7aU8Y3z z?!;fh{4c+Mx7R4uTEK_HC`KIc2cv^qeyLSrKod)b&j0=JEdgR!#UF=X{M%>oYwq$7 z1d#uG_`i)DM<{72Aeta~GZU&UQ{n=f0r!jsAuyZr)|(d;1JCOMB+AA#LP*r+`xqu! zqh!4KZr&DlT%+C$hOsO3)=#p|l}+BTII(+8T7Lt`xxqg=&%9@w^4L5|clmj=)ztxL zi);kVm2BC|whr&0GR{SpWuDwypNx)t&%~%NKL8j(0ZWt|J6xVDqCcxoPdBcoJz&7+ zMN9)pUb~BG^yo0+fo~!4<3@3yHk3xuvn0EvUEd}tNpgvLH6Rp#sNl=tkg?{H9s0~D z#o0itQJRqipND&&ryj9Hp_ZsIR}xzjvfwBMQBk(;7p=#_`WQ_YaIcf*v=RMHaq8AW zEwU8tnVPxC>^wxFwqq&sW~6uAhaD1#UIpn)kEX(~My4h$?Yea#hl+mDyp*Y_<;>>_ z-!}up#Q7}3ps1^m)Vj=+wee&PZ|(slT32;#a-tL}4-P6-U}fd12Lm_0!o#7WbgMOm zX*k@%&Iut776(@G>^FK-eyU~h>De67a(%b^l@PWr#Ek2`3b<6&ovmVq>m7G&3j)(s zb(SWH%}t-D;Bt@LA?X6r4c*j4r^bzRq8o@-SQqmVrlv;9`_S{kJ^VqZ^r0Yj>fjTB zuE@_&r4QmmBF#B_=)+6TS(xO$5e!bl7G3l5`em3NdprK~4x_ zQtH@C0ft)Nw48j%JT_+Jz7YjIsf)m4vIpuNFAIwCz0AW`f(y*RV$gLp>K(Ml0bNBU zC1NUl^|BfCHO3t-xTZ2tA~*IaGAng0JR3>a;kwQ$!dfg-cjg8Ye%udwlI8+HckOwt zB~{4iS;KYiH6OL7=nQs$;qCV`O4;_amuani1|%Vql3c-*W5PM_vtu8!Avxef!$W8A zmKC5k>pZG{%={^gOK^!#Jp*%X6?hHjl~e;cV7kmFD(RPV{>75e8P2Uw$T^`AQ*M>d z+73r5-+BiGJD>e5&JF-TJU~3xXBZc8kOoWzUP>{?Son?ioC+h!WhP$i1?B=dFq~Z9 zU$D6{N^xdf2l8vhOT%mEeeMG|q<7McoiB(ACC=&<#Bz7qulW;i~G)Z@Te7xtpMVG*I?y*G;E_=K4+Q^e%u^t=&E~#TyI)|u_$3^c0r7g!Eht}zOr;b zKQ6|vlC?Ks;hJS*xa_0v@ptZCZ_!slkw19yzD|Pigf!&8t$q_W!srvZwwNa#8kTb2 zbLHB}iker*eocmk%-&!!6=e%u%g?wHIf(oEdr<1MivdFXP!)vaYwy2!%h=$jryOa0c``Fbr4nP&hsm(l+9|ER~ zT)*Y+FDD^fwgV(YCQu_z&xdwNIHfe`B)|VwuxYLU@tC}TuUA^BHX0e5CA4tUA1hkT z1EP23afmAqZyv@=D;uSUz)tIP>a3^aue*fRLGxP`8CY})T>0UJf1|+s_w3{!=;^=S zg_GmIGc&Kq3G)wn`p|pcOz~|PiYEYUV-U6LttKCwef9KD=14sQ$#dhmyOocTBrnnv ze_aa2*6Q)Ay>~jDqCWU;BmrD5TrYkO{d@fg1BvF0bsB@$%7hWc0b_q_Q#B55i@`YY z*keX{3KJ=eiOObnnJm2T86&gnL%g|V@!7V|y&(~|kylqXiv^96nnnT8Zq^9I;h7cE zKLwM36E17&N8BDY5XvGJINpZOl~b6?c+`8Znpj*T*pM7uF13JonpnX7F-BGH!JJ&b zjf152dgWw}Cq^@~CkehqoHIH8!4B<})*agVxHh~0d2RnNR{YDg{RdW?2Q@r?bFwIJ9R`k$^H5imrS=0-1c?v z7P^}#k_tGEE-9>^HhnFF?*&OJLuBG; zSM4MPksItt+5uf;-Cx{THz{Y<<9YyJNgvWGkUj+pF|K79Q>#<7wnSb{#-ad}T$goC zRTNEW!9dTtnP<f#hkVFo;^c&1om?-MKVy>4Rvhe==6Wyw4;30m7@6OFTk$miG6*11HOn{6$LmdCX zP0-es#s|?mNgKjyUoP7vEEg-36y>;+G)A77XhKo6MBhWIBuDyl9}LDyTUZBEZiw=t z9*+a}1JG}uwGx!jl=z2jL_VOz|9sZJCK&$!u>aLQHuituUk%C{DwrSS8W03xD1nk` z%;{NP3Cvz1;D(BCi4Z=8#F`L7W>yBGg?Q11$CBS>(^eP9W$E;Np7^J%_(y8e~MIO6<>l57=0ZHHq)M#dYvXUU{PFw-k5XNi$E)Q+Lut7)PN&I{zOLQnBGzB~VBYN#E4xa@08`8}Uvx=9k@ zYZuNOp&~G%nUyOZQw2I=%n6|i`4B_Qu_h_K4VOkZCcPv&x^|0G9wY+NdqlCZM?&-+ z($5x<)A#Pm{)X{<<7Ca)>Y+LLa0NDmFfGC|gh}t`7D7RyjJ0gQ6N^@Vugt`;q%b_&Tj4m1`_k|;NMS`xNig3s=GZy`EQOg62lB|i zyj);yYhYDa0Ua+n;rj9Ow~kN z-8OkSJH#f%^+9a#i#0Tud{lxF!Es|VE(KLJ;3qei>dJy$>L;M9CZqPeU9ELQSgriI zr4_r}yt+IEeutQ6D5wX>O2zcHs$EJPO9&H2{bY5VVvMs>G(%lN*nT(web=b$itP<| z##UW4_3;eRwxJ>4qm2}38*K8)Jtp+;Wgi|F0fvicOR#ITBZi7#u1-B(thGpWL*k0t z<9c8I&}<RRGzjrsa`0=gO6 z>TatljExy?YIDo&e#3a{;R&9BoSkKn>yI@lQHBZ8bj6EXq#=zaFUWiqbvRKru4oID z07lU(9)&#jCrA-qw$qh6ujZMHb8qL66qA!eMuyHn7hZ-uPaC0IMe^9lfR#Q*#vfju z;W}W_@xj6aY9Yr;iH2>pgl+If8K(I0)S|i8EpMD(+;+Z=FGO`vct+#o2|^X<+q$ak zq^t9-7!0Sk7OpDGQX{RlG(iMtAa6u2X5}oht9SXP3K1dDqZTrTb36 zEsi1|Al@xBI?}#(&_6en!m2Gp_9k8i>)GO6KCa$AdQF+L>ixE_M{-b%q%L%!NC6(F zB8!S3*kmNv6|#4y$7kn(5(L!O64ZyX5$V~AoxjEh`z&_AC*d3;j5jr{!tk16kT#%H>tKi>7ofL9=Zw(=Hq;C>e`*+vq4{ws9=4#>yx=nC32e8X73t-X7ktczd57bnc|bZ-2xsh7-Nd2b?EO zsHy7v8XGQV-yIU9smVz?(nRzai3mHE@SXiS_@n07ex@Gp?XbTF{c$EIh7(7EWxr?l zA{&bIV9wD zI_A{gz5Np`gtl!C$UV91OhD3AEnyX@tCF?nL|r?2AA#{V794llYzBbxJgDX*l{J*TqwC6%wu1W zsRdfC_mQQnJi%xRxeZ*DEmxTH$fXmm(&Y_XGJEaWxpL*4qU4}Eb*LlqtzcdyVFKcZ zuW)m%7MbJl<QIVo8Z`=m;3 z!JEhxW2!>Io3#gq_R+Jlkt*Z&)!kApt3MD1CBe@oLOZUwl~^{F6iqsazc{ILNTO-Kk&2Ql?RaMlm?1yxd7dB8D3v&^&uHhk>tuDs*(#s zPkJYC^ofk=mlWmj#ewZdO~k;AX>k=G$|aFWN6ZgavvGFdOOr#AKbklpX=8^K{7G4j zh6XN#8nvMkhRm!A7wdCLmOaSp@^psILBK_+kVUvIIYliSvvnc9dy!Z=zLp+~md~fW zseVFg&q2H=?^J!)SJ38kyA{wseBe%*AczR)G3sbo>#6#BY$*ji5Sj;S?^_-gXZC6uavlcbl6mn&Y)wVO z;9f!%S~(}|_pTA0tY}-6G~i*Df*Sa!5Q>O^KQ@sS7FQM+uftn;tQ#`e;Lj;yV4R=T z8P>WJI7rvUKS{qfBC)cB=@dOkCdbMdOZAA_@+$YO#~CEpX@D_i%sv)XRz37YoW@rR?;`leZ3vEg3-t0fe=+jAE;a_a7r8aQgk#IH-4BE!u+N} z5r}Fr4eryhZ$B;St%dOw{;`sgo7dY5V@vXFm$5T|lSazhjt#^64NCBPea+2}=bxZ8MA`-kvR`o*>9NRr!H&0}5E?zh$ zJ5=LCYpR4uZvz*Hkr$lYW`p>v>3w#-?{=j1_}f3{qB{bka z$F0%yiAWI@U=`3fZ~0Z5v~mfK-use0fw*w6!aT#`?cPgDXPcUdO=_uL($rXq>WbI# zG!gog_&~_eC6!tUF;h!dk=CM@G2Ml(<6|zRd1-q9XzK_8%n92DZbfS=i>p<2F_M}8 zJW3Ro;;xbspQR!?P-alTU>p5BAy1!Dk>lE8DYL~+ zy%KZ0+L#GAOYvrb3zuQQcAlw7gI0xz@j$xmf3UxXiSMJt#M=^8qm`$pYt3*h3YfuS zAciq>)FvOKHn^i+wqr4=94=+2QMd&=Nk}vuR@AzX&~^VtSA63U>~eB}(1#8_z79PE z)(%P+*20{|?|{HMF{J}g1p4AZ`NAm(vn-%+SF=7?{RtEr>PNH#5Ca$=JZ$^ukK$EM z<}9_tt9UfA!%4|nk(_NhZWGuDl9b*J6_eZ9jFW@7{3SzBS{}siBC}hD^cLo_(-+Bw zsaWlyX%Zn8xd6sSPBnknTw1L{2_&-2_UE_pc@C-~-H?pi zLhMfn3Wr9@CluwgDsq8K+e2r8KbiNDr1wHR_fwB1>7^WrqtesN4$|^jR40slRze`W z@IPk}&JkW0W{ZMc(Nei3Rb%meewP6wzKI~=WqobtHsBrZ!gR)y*`DKq^v`^bVv$}J zb5S!@NgJFHHA)$$RqHLfZsSa`LWcfB9I(~lH^X)Y`327a= zK_BX;#W}$X>HX@Ut#m{N31##(cW{8#foA1qln|(`HB9@RVh&n_aQt*Rdh+-?h&CN4 z!@vnCqDi)JddNX8lvHm}LvK{rz{dhFNH_$@oG_tg$@HL%T#%)Zf##S!D*cieY$976 zACbG1d)gpB%BB}Gk!{7R6@AaiVO$>#v(N9AM0}_f=?cyEnAn-kn2jCWY2#Z!lNO^| z&Tvdn{rbH|#MiC%1R=ORu^4Sj+<^t)lpa7wORVjYbd)me+zmI<%^}C3K+2W3tA;$< zEq9}ubiO4_Fuw9jL@tZpMf^UG4%c|ZK8Heg6MkTfJH2+}ce9gj?FY}Y7WhkjflzXw zMW(!+&2Ts~qChG+ia@4@h=(&pM!C=pxqxLrTSU2tNx@EF5a#e_Gc>Jqq|8?|sw|CR zIJqk#j7+&JQCe6w$e7TKWjl^I1BSp&bvvGKTyQN0R-PWV!oqbUcc{u$TKckq6o5+c+ z4~^KtYVG<4n-DZNC#0*-?JKX|NAspI5(+i>n&}gY7&*%7IXJl3*#9a16QS_23tATLt+5`6Uv@wDn{RROfx3_o z5K;|_AO&eQ183m{8Axh=Iw3?P>}KW*0r!X2wus5g=MN!O83=$`P!sy+gY(Ok*E@Uf zx2HS6ZrWLP>1|Ic>THc6p_}7oe^+RCiC@!Xk-vKh2NQ3kf5DQ`h)jk&5092GF6>TiMc(0I=K5Yh;ov{x>b~%S zeL)n~#j4&E9F&LSF5KWK!JndfF|^$cQwI775F6mFlt~80acYSox|8=;p-JgD0;V9( zCGNV?pRh*`KP8??rm1ZuqzRmc`Vcc(ps~>UXkb`lCJUAYa)1=tCVc`F3&;>s(yo*U zz2$ZFR?%*CPC_*dot=P~Vz7msNGBlFYYA!NzhjC$-z^ro@3ueS4ZJVy?|CR<&>yZ9c3(RYr6(TlG!rNVFA*OJbGRydUq0na5^F zuREuV16Br$ny%hzeH;u+yfwQFbHly5N~keZcr3%V8oujF?TwE#B5>V7v^a7opgMM5)}w4 ztwS_%8EIk=MkA=dm5ISs+bW=3FTf0Ex4^WGSXp@cee?kr(mQPRqumSkx5<%TU(i1Q z>i>E{qIwQ8f2GAa#f(Y!@*)L(%!wp~Z9@-aaHyIhHkE@ZTgsEc6Vg$R2MZ{aW2eIu zR~`0(Ugd&OIK1;Q-la6f@uVcOBCjxRKQ}aN3VW(q@Fp00 zbQzr6Qo@lpJlP&gE~lq_hUBU%%ExtwCO;2J!Mc{<*#;}1K&eRNnA7%;V|pGC_P1YO z^h&;p;b+xSFb;A+d59XD?Mh%F^%j-mRx9SmpchojAh(3W1m7gw6t|6J&DsXAqw86V z&K;JJB{mW{lDVfQ^Qi86Sn~@g`|*1NCO@Q|g#V)xkM*}s{I6zV`0tKQ%-UJc(#-G= z)BJz0;&nGpAu&E8c}+w5r;Zme!woOH+rMSJtbbw4aI31-a64c8rsY+(^M{sK)VJTY zylnr6mKV}Db)=sEqvgfqL*DT1KU!Yv%${?z^^C}MFN_-Dte1!l(f}$r~A?7@yc@NEB-a|yjO-0}v_kafVHlp@%h zwdV{!NNZ zj-pBBl*y<<8Mta|sF%~tke61rT22M!kPv@Puw9;jO2%z1%Eb>n?_d1`Q;S|l2>X=G zTh0KPsaVMl(GEGHS&C8-Y9}RBFPxU~T}1@hWx9XbO=vg2rNkuM5%2NF5US?q%j7<^ zNNRIR?T^9O#++ylZ}xztl+s>vI46#gycnLuY`1JPnM5e|Vd9y=JnSn9|^hB1qL zD1nKBGu~_4ANsWnlcO%~)}siVcC8Babv9@K#9Os8E_JQ-CPzD{p(sVT|0uuNR(~?WI7~#|yc^~Uu3d%Huxur5K0Xv-fq;TLualQ#fZKv{ldxqrnKr(3N zYxJf6rtE5qnm|aDx6rI4*d(Wf$~BgkwG(oYcMf&v!fkpb2T6=t0%n$5WO*DH?d8go zf!{9O9z{t7mt%A%Vt!e06wRSM{{5cO6()!Fe7o_+6N*O`=Zw{VD`F#V>(wap;c}#E z5F028F1bn`7Vf1}M95+~672Q8Io((eA1r)&4Q&A7#woT_Mqv=LpEf}HN82@o-FR$h zcAQ5fye@<~3Ua->A0db+0tWG`X;)~`m^>euicO5w4>06>(*wow;g(JU)L4MKL^xb#pV}ZUC`+6g*1#9U@0Q7uRB2Yyv?>q;-q@LOoFAN66ohMP4|d02;tg zpOXF-W`2Eyl>gnI{qYEY(~aP>x7Yi#A?p&$O0?-(7Q&w!gS-9p8Wt_jo57l?#FpXb#E#q6 z_p95ZB8E?8)l$i%7|rJV0(5>*l_SN3NoOF|!>@%t8X(4K;ggkDLPbN-4r?#b9Iwki zGpuHU`%E+R_I*%YuL%O z`6ViZ5zv@cNH~vfwrm^Kqx>9vW7xzFZV=>z(_n|yr?t@IF%K@veBr5Ci0Gh=9u`Kr z-a`ggMH@g9aBe1rOwv^0p2Pmq~H|AE;| z8c^Y$=1D4WI*fQ)4t6YCy|IH^YTt3xfl%6_6zE8Bj-%rD&_(e9<~rV%PchmxQ@0`y7!5LelRUZ~^SaFrCZn!Sj(Pk;NJxo-wH z&~x(P!(l%@qyPBvUqj+QkRt!($N$tla+5T3_>&Cl^e>s03mtO{D+@chCg1*u4|P-I zin83JMaxlR?DwK%pz3{M}>inzNBwE5%b)6{l=JK`(dQJP7 z74VvBV*S09BT&}IfxAe~UmL2Ae-yOuQ|N&ibcK#srPr2>tMDgDXf1Yjy}Z{U7HbCW z;!6YTJ!p|J-!)gm!Hg@UR)b#HXC`4+ixvBjUHl_T zRw%DIAQ~aPd$m}#ZZK03QGHg2gJWiq9~H`$?N=v^F64z=&h2G>BsF76i{6lx#kI2) z#`d}u8%*ka_!OC+H%|MI%P?8|6~LzRX_9vSr&XhvRG(zJ-6~sJ`q=mNsl%ou9+|wXVx>8Sw^BCaMGA5SL)J=K9+r`gNx4UnrpWe5REEJ%cL)kV$7)oT`e7V(loQSwWeli);I)ETL_cS#g zdl-vFCuf6iVT>}|LWsi>+ySc8y+BFFLp_wibL4VYXw*JZhPFZ>Q=b6UX8B~h`f(9&Iv+M>X#t{Iz^$Y&AJ+wK2nHvr7ytEW>FH-0F7%Nw->AYNLmebhJy|yjATT zz8>)Q5?&$6Xj-NUF?E3oX zpsPS%);kFPMxk}XZ@vhUe3ZaO>+;p4!&W{H2sSf!4H%29V+8#9tUUc9^_Wz-FBF#{ zD{h%JXwHqgl2)ed`HrcfMzJ{B9GObnJGbdq?kIhO#;E?08@^mQKA5R&+N9TX8AmO6 zFr*v&t2NGkTa8%6dc{&X1?e#dO(e&e9`lB*Bh$u-CQ@x$P#xyoG%Dk~DqK!Q**RUlt}< zrY#T+_j6)kb!nLK`4Cn=gA#wvs+d81{M>nL@K9uMZB(!HMaMc^&%axGc@TUkIj$rr zGsYD7;^ZMp7Oivelh?7XYv^QNrsyytv>Q2CKl!n`y4&6Kq>ipN@lZF=N>-k@CNEf= zViH;DkPuXCK6EAOmH2YgoHN^gGpB%AnCtU8!RrjkRxSs^1up*8Wt(+l{SO!HuGD5} z9%3lRnYyIKj=(ehsTqU4OBY)n0w?%s+4?hAU`!Y{KkX$i(wUpU%)Cq@puEfMCf|q? z)9JGoWxi| zop1hr4PT8_GN=;}m&E{F)}TYF{UV0E1Nsxc#2jscGEFUjcnP4dH*t~Tk4S?DiGas^ zi>&{&v;=k^z1?X8;eyl$vmSD5dr7`t_#I<#2Cjdeo<6(6yAQ$r0E)fHg9b*}SE|J-wNfML(r} zXHYsqEP3@kIuoNO{W6NU$iY4R$3*3~QrN{$g!UNO%1#8`?!#tq@QYzy<*=a3#6=>P z-H@X7v{N+=V^MPL7eI8|@e3yR#WjSlgqU?)8My$VKw9zRpR}m2>pVVj>^%Lh5_q)L z&h7A#Wr6+;y8l&E^nX;2e+`qrd2_HKx=zwu zN+QPC%bMXWaXa2@SpQY&c;Nwt-oURdclPpfB7U4(J=Rbx~;aDVt!oqU07JJy*O$Y!wfl~O3yc5OK zdQo3E*?f5xDhWEUc_9EBYahm_TK3Pmy-Lbih|esjY3iW~J+mx&sPD6j^I~{_fnXk@ z1#p03SjOmk8nxSmTuajgR`(GqGo8jLJjOdT?I4_x7M)5ltk&Tq@bZ)EdC=AB`I)lh zEArXc6cMt1pvl2h+VxD5;Lcjt4CJSDnY)ThF0-Y3Z;abv#sX!{5)*S#noj9WD$J}x zV-xwyR>|T?z`WJr7WJ0pX9gplH$Pk0xj#3VxojCjE`B5d0)NY{e*J8C{(FM{e?A)p zM?FU;2O(=GtG@})pS96}u)7!l%rDGQAs)|%{anCUU;qP^wyytiQS$)Gtk z&_{t?-A-Ku#bo}v96>;QU)>hXjYtx@Z*(U;502*f##WTf+iZ*|J zz^MkE{w99$0nmCO|3X!$>M-=1#M*r!T5JrYz))pSUk7p-CE%Jy&RD!=L*F^6Kqu0s z%VN35XP1FM+;Rat0oJmD@>SM7gi$|^vJ4?GELA5*m(^_v5TbF1Ew5mG9ne7Vyv(d)zZJ*^C=- zO}IVMf8SG?VS@CvN3 z#e=o~3dAfx!t7Y0^IK;G%98}w+aq-i@>Zz1atV7e<~HQ*T|#!39u~(jN!Y1fI0Bpp zCit^hnLh;M(gA%SZOI>t zh50Y=Z`Fa|frVIX!QDf}NIr!9C#0Kr=IexzZl*1!qe3TBVUZW8IUFWkIv+b3Otv<& zbUsn)(Zc|aptaJ$4SfmJM-wLR4ulFv6J>C$5*0aB3Y>e1{JL45bovsjBED9SV|xJE zVB|4zP*o6NAp^dZR9SbVJkS(-!0i7Mx5aiCPP-@=uZ94-#zij+%;-9f7*ANr^lUJX zG>yhHG@aZ!j6#J;eC^aI^L>VUYTseQ4L{o?ofI5Gr=2!Cc9_R)b(J)c{fi zbP$q{g*Z1jW%!GQ?!149HlP9VAYD)N^X$*>2t2IfrwkgVYAg5tyQ@lB>BX4&(oQkz zk0vlsDLi3NC0pMorxg~(*&7Vbj&=R;UYEk7^Kh-dxbol3RPY((nu5T8RLpkH*4&8R z0Bw2Uj)3J8*aVlX7mVqX=wY_P&x+Tdb3`0B2s|PE7L~8TV^joH%M{ESUI8i;*N8+g z=0syHFx(93!npbSz=-nllTGWMc|PhyP%t#b{mIx5&sO%gR_d>2Ci<6W`@5O{P}jDx z|ErPL!~yBxxJt?_n$8L~J!ahbN^a$El;8!CD7DStJ!6-JBdlDO&fTBCcqzj}azA|b zj%O`_KrRKBv^SniPm$c@(cbz*slU$8;oeI-W03>1IvJ^f(8UkjM4A3RJO>Ijh_Qjz z+L%w^OkFm_kNjX4zaUj;gXh#FwgJL8Jb)HE8)Y= zE&tQbc)!@$-sB@bSv&sL6Znsf0~9|7;#APQr4d%5DFq3>$0r$N3v;xP1*tc_tq+$J z|Ek(Yf_H<5+HYi3WjajpToO3NI1T{>Wif#gjItCFB;0s0kGX=Z=9H=|&C9TsR(IK` z3U}P1$#N#G-JK;`d9|%sM+}TV&`O57mWFIbg_!`tl^2rxYGlAw_Ni>8H!qRMs%?`I z6+KIVq))g)c=@i75!UMsg}I z+kGj&juMw`Ov>jTK^q<;uqBa-LwQ59ZB<(<0fm4`6B%rEmP{p$Ng}rr^&F!ngfEtZ7NK&AzbQFX>N6RlX8j)YHiXi84)ZY&8m$2=!`t3$69S(FX1vD zA)g=+9@`IX)()T#KxFGYA<}}hS^^yUCwt{yU?lK*zA<)_?7pzD2zVGkjR0hs0n}c& zoh=mccqR4E(br@-zAJ z`xPGK--@o@1(Uj;HS=D`zuA25p9zz@*~^E7`~C@O+eK`bx|;@U-7Sy+;t<^P#Ofv= zpsELY2W*M1H-f-dVcs$I4g5(M{G3mlBtOepQ12y@&xju4bQ19a@Sel9)9XiJ%7WXj zR(5sRI5sDZJ|pgK9*pU@ll)+2A`Z(>iptDu>E-)=rC`XD;>L(=)J%VLqsAExh<%1B zcm&t*ng;`**GDS<*_rCl{Xps~%%^0h_r=Mq6H~#K`+RBq@mq|7$+}P$)lgvOeH5ld z)nKB0*+I2(T@;rVk144f zTmTrp{azBObrW=sedM)^Ab;%~{u%-P-8uX-0@#~5npzn-ni>3as8^HV=R@P#b6(J_ z-53Rh7qp6T9|seJK&azA@oJBBUT9;yU;R-9g`X3o?dPp{qjlSpjg@S}b);e3*}28@ z35x(-_|sUWsQ>nmI9iz~sj5QtBpmAk)C8Ns@xJ-pYqrYyHE1PD8KF&ceL(ws1)mwW z)0?4~-dd{J{6ynJf_bW!9woq$4Z0_CE!r;A1l(=TCPM9q24E~RZ{>yMzcQ9*Ltil>Whs`kFZghYaLyE^Ig!d-*`q@ zJ(l_xb-%~1m}I78q;S@CdA~n^XNOp!Qjg9h59Wputv4P=3L&G8soGVaBGesjSNb^x zjttQ!9)kC!d`Ba_i80wLbr6*k{F%aOYLyojRo7VYC9%U4yzNT>{KkF1mdmn**Z3E~FOsFEm- zPwP)6*yqjVU2K!rX$CKaR zF!%ADu>GxS{q<%4dw1o(UiJro#Aje&PE#q4ev+C{h<614%u-Y z8Iv&z8vC~#WqRDNeNX?HQTO;WYwP`!Ew&D(E9Q~{+5jjBcfZK_hOR^0#L&wPB4Ac- z_a;J`1_)R4#3nX#R*f37tYFB*5&I?mHclFiWBD;Dq-o>#H5wpdik|z3j+e|=Kdq@P zF4ISPFsv!9pN&R*-IhpRZJjiIshnWI!sOv&ES4@TI?!H28${uU&1*ltRli{__s8zB z?^yZxosYnk8M0XNM0>Zam?KRFd;gG|SWCKm2b|(U2~Ijr>9!rPJ5XiSjbMB zw`Q406@f66QBtz}elDsbM+o*f?Lkc&ok8KEL+KXbJco=%*kuZ8?`0vgSh8DkzMi5_ z@13GVBjO9}R7E7QC8ya^0U*nn!Qe5Ii^U+~$kDkGKgIQxr%RoR>HLdsrMaj&Pqjwr z7wj?s0cqJ7j-Aj8YZYwjG_WiPG^MJGr30>@v&rIzv0HW`=kzUn63bou%QUpU=E%?x zP*n!I&xpkIXe@Lin~c0KNl16fbqh@8m;EIF*KfmRv$$Aj8 z%al5VE(%Hd7!un+(-E3x)!29Oss0QKR)fTb!os(f>W9ryLri5S_Qs3v<_M+9VP({( zJvR2w)#)~R%IeYJw1>a<+Krsyws;Lytpwx}k#6_fC%#yn5%Q&p92p8mQRPJl6HF|M zuR^$Bl7_E?zh=Dfy(2_)iGF&#T?2Re>bIEi&X3t~Or-vOw*!m|IfqHO>(mFutYZtc z^p;=6)QAq1&n6bmlVh@68T5#q_OW7^i~1`VU@65>wY0otv<$9^;12?)q}%oZ8)w=F zgt?8_Kyt#vD+xj~iLTmNVNe1dx$+xZ)Ra?eM=x#LOgd!qKt>Q8IY^e002$E}6Qn~- z`AZFQdq`l>am3#K?ycs0gB=>esX4cp)>$c1L~yvUd-GPAyV6j{3!UHIe;}*AQu)W* zCkFjrk^SFm2>yKk|5UomYW-Hab19sjwi+4Xs)9cvnB&S<3Cqey2Lp?L&x@>WG|&I{h4(jF_JY=As8>u0JscekPTqlG!VypbbAI4Aq})24C@7CEvf6R{B~P%3fw0^CFdEm=i_b~ ziiG01ytud`wkXH5-q|fk7l;_!?vLA7q^QrIJPN|`kahJgs0SWtCEjn(V@&qr4p=DL z4XzKm2;g^tYlVyJZ+^%22j=z*SU;Tb`^WD;!0fM182y*ROF@y}(#F8zkIu<|REhrk zUcua*5_FLK^q&gy=;#k#^grca#U0}0!}t;6?7!jvz~CMTU{iZi3o!~AdD7;k|58)T z+Az$}^koR6Jb{9>tDcl?feJA{eTj~>pNxcuO#?RHC&(wk2U^gUo*s+<9Z;cv_)91u zMmjhn!vgFv9EcEzakd5Dw-6tAL$GK=&>!*NJc++d6cTm(zE5!A_kDuhxt_cUFS@ts zvbUqW4#_@@ZHbNJ&LG5&(D=N5Lci@34EtlBU{!*u+WN-@(EZOV`ZWXn^NN1oqb+D; zV5#@lMPC6iYac60K7?zmEDS#O!BqrhM(3hh0Re83`~E+~y=8Eg>9#FO+}+*X-QC^Y z-Q5-9?(QDqB*fiA+!Km;s2&m}UAIM} z!+kK0MxO{uW<6~>6i}V@K17nWxC>tscaPZu-a>^5rc@D5n1{6@h|oz!7iN0_a(aQU zqad~KVosV_1|PI_H9N!mi89bW#EKSxmoxiqHu`6Q{9h>Zuh)~ZcQtc1H!?B%`wRY( z3o-eM_V(IJQ}jBJgyXRrrfratksyf^W}jN*KeJD+oLOIgf^M4;5y&S%^J`ba3g8>h z$Y9y$xthpmzDv`1*G_pDZo(A6MSBQ3#{F4yrnbT;hG-!r*3FBYS3*8`Owrm~!`U#_ zPbbrDgzwW}*w(RU98s48%{KwVa5d}&m&_x11;*m6CgkdiTAEe(AJWFm(z;>b0^fI~ z-9|gfcnz-orG^b0cuc+`Q@C#^@!NXD2EJmCVw{0B57gC?dbB$5SOXq$RS>uh2<{4e zF<~yALs2lnh^B)wUUQEYBXl+SvmJtjva7v#AsWBTF^mA@2O^nH2y7MS1&(iBHkJI1 zI++jnp`<0#in&uMV&orFy75`AUKtpY4@I`G$D+YQ1ThPQG7yuB7uZih$hByA0~VG* zh&>8c33UaN870ugsE1Lqh|lUBlSYA6if+R#Pw^8h2JE|Owl|l-jkr6QuYSoxDZ)IH z)__N}`|Tr={tc!6^Vj!pz|yA&HwUM82M4TE!xsl<&l>L-N9GX+M~73GU?kkl&PyB} z?)j0Fk#?k!nU$=KnwXvpg1Y(Vy;CPr+#r!`7v!iYJ>?|8U&u1dS6A1ck;jk$y^?@# zNvxen7?;o2Lck-Bn#s(}lEhSyljC&5QgG$8k~bhL6ZykEpss|FjKECOoP-nLrc^+K z86Q})Qm@^?hhhx9+zCg((9s|&lHNr+zFU@s&Hkl`z9NBh{Je^L2KfCmV3Yja6b^Qd zR)5@u{r3ir7!5DqUu(|I6FJ661Pwm`0S5qwO7#%}&(@+s3I*Ac*%naCo9p+%FtGG@ zU=adtC{@|bXxByMi$#^p2SP)l7z_4NtJ+c7RhOhLTHpCS6m{E6cVC%HNd{g9aou&f zOz}NAUmf{O@gW#Ozn=B_7O$pY*p^;A>yp9MsI+u3#p@+fPW17YAN+Ms9H z+eiXFQ?Hu{@!`e%pfD2R1LmteXu*5FS&y&3O25I6cIR`!WsBjM_W?rHSAQ@F|D;C* zKe`VC^g#^B;Bsrsb16vquk2^qg(Qh>Ks0AdUii_3`Kc=NE)*fjB z-EpDlX;P+TfNi~imP~68Wd{#7q1eEsnJ0@mvzGy_D;Ju<=RxL5V{X5Q0xgZ9lQo`d zNNttgtENPvWfDqjBX*nK{3xbUeQY9kd?QMnT8m2Q1|69d9h_1yety+ZgW$k8E-4(h z7xE2P<9O3lc8Qau4NaY~Bda0B&dCp`4vHkVfGX2WF@TGd{!>;h|@ZJjsj*_2M zMWd2J6)aok0B4ANFWYYC#Q3>`v|=?~-N4XB$sXiaV;KedA7``%1h&Do27ZaAGQt;C z^RE-$&H>*=muL3Wnt(+{DctKVyeN$hOLL3KK%}&B;If#a8k(S?8x%>69WV}zRC=c` zyJ}XPy|@&Hqx_{0FD>b|3n+x8NYG32fw)%C9zMi&iI)4uw}s8KlkR(hkubE*(9phY z73#@VvB|?7hLvk33kT?f$+p+CIg!!Fnx4bY>K9%31X$BGVMDO-)@4 zpq&?F{Y6J?j(Tf5J5j+U^^Y`$Zm>!5c{AsB9fg}}9qv?Ie92HuWEPjoezi*=Qs47e2%fxcWvNY`z2n)8`@`lOJsE6Q(-?!b1tRJ3{jy zC$g~pBVoo@>BE+1ZK6dv#mHhzv*<+oryNu9ERk8H`ll{ZLk%|U;C^hRVf%*|M3t?V z-B*XMZ{CfE=iCm=uGsA1%8@Q9L@b zSBae+sctZzSTm?>K!(njx$}P5p~+*#t#X+Ouh4`QcRI_j924Uh5UR}Rb78i6KWw{( z1jadkg@sV~U}z}Hll;Ls87`%Vs0YgtSFGS95;#W@XJwNcy4lwU{vt9EEf{5kJUd!A zxj!i4AnqOb71F5$8NsI7K!Y)I4Y?bix_O9vfirv!SpYQB0+fS@84s)U$(D|-iY&?c zA!fKu#BRsr_fI9Gh1ZO&28f)2fpe65Tgi6VFYwEI&}qohz~+f#w3fah2!py+L_b-qMUFhdQTdHn(Wvh{jE~5*#@x>%&&pn zpQ@e{_?{wG!_BZIaLu!6bS3}^tjzr}2M@D6f92F8Pxz2t^>OW^k-bXFsC=|FXXwl+ zB}yifFP;-tWj+Xj^X&20r!@*C?b8dNSxk-78=jZ%tV0^^hJhe9!2TaeVk)0QEb>Ph zouw&J10%j5E-i=9tb|=!d&pJukAW*Ty?_JSBaD{VYoT@8x*K-= zOHE=0E4iG<(<)e8!P1Y*)|}>Iq-2x5{vAEcTnyzM54`>b)VTmEu=8?=gD+N`f$r#9 zL#ORdXq%_5H+ZmnIpaC)_sy4Um=Qjj!FP$?JSuPgw_yF85CaI6LeYoRlM?uxL_RT_G z&7A!EpeY(1HTx?}&|W1YgRw4$dU02<7Ljh};Jc{s4$1u+H_iCo&Zvva2Lj2_OC~7@ z8Mf?vo2Zti+VoFKwZQ=yqxPKDrry|JrP&;*GKAuX!sg20RU1t9aKE^IoXRL4)ACWI z;>lx)S*BnLYgLm}C!osT?kwRc;J)iUOs}69Ddy727+ReLdB_~S{^~M+?RK_qC^%K0 z*ExdzKEQ5+ckGBR^R4OBlpy;@z|>}X;WI)C^_EM@dzA}0_aBP!8&jXLDBga_pNF)h z5uQ-*-ZdfpE|L3l4c(u_1hC)4#nsvE=W3I`vl10Mhgn5be|kph#&3$*3?fDhEka7% zZuI0jtl)Zmzyrl&$lDNeDKLlX+O&gd?@J=SAb zVy*kX^9=t&O>aU3h8AU;s>(b@4c#*K4GpaFgsMVOQ8}Lmplq%+2iUgH!sD%@3@<$W zSOqD<)6{$DMSzdNt3UF2VZ>Z2Ah3ll{^md3xT=9pB8+tn#_VtevFJ1ANcYJk-DtxT z512eVbR8LyEnp{gn`=|$63wQB?@{$76*aw@C)XCf?TLA*@mBBB^pSbB3-NvHeKV!J zG0xP)+Eu(9d<9Y(Gq)WDaS0DIZl#`~3GF2Oa)r%J#7lSX$BF6B2sr8vnx&7IMRWkV z+7;;2!0{qvIA#}y;G(*L^$26tu1Xn1ldajWX3A=rzQ`D)1$U>UWN4|`4+3YUi#pnTU&b^jPlQnaVA)YB_V)@AW81R+*RF2TBQG4$ry&IjQ zovkM>ai;g#`e=M{j#T0#nheT&?2u_WVW+NH(w_P)u^*;tHYmu+x3!R6q=L9i=mF|X zi$KrQ*CXTyWHEwl)7CkYCcdQ>3WTms!I)Y17?(-}NU2!OOd-7Mype8Uw_lx1FbkNY z8H>{55)4_`hVlxuKcH=WQsxuWUgw?YV%;IXIYCM!iN*GU+p1E!)k*)zw~gc4_)whx zUhIV8^P>mlryCPp>Ld~=hi6bK`+!&hiOx9cCBie5BO{n)OMYSnxeHEEHc@Gb^XFgX zoX)+2d_@57viohP&EE-!xP!Buk*y*?_W%^)%>K1k?%&kw|FTx3y9&^X=(;I6m>|k% znK&9r8zm8nQ~nf%M6P8gLC03zueAl4c{?bUO{RdAFNu*V2uJGEl!(5)#TcR;@gu02F6<6P?xliRn)pYHPB zMHB5xAVPeb4iS;YRkv1^7>_egmyW3XNQ5Ub&xI=pOd=iqc*s{eF!L^!sK!M1ixbec zeea0YvQ4VVZX|HQa`erxbh0i_Rtu5FT3{0D!FZZ8%ePfg>3p-k$!}-Hf-09x5Lny%o*tkujXH(nk`G#oEI+!V*6aLYrV zSYmD~U`S6^WY?ixo?RV=c&8bGS>{8u!v@#(_sF}_G%Dm*cD*0th zX5rRknmY{4Q&cCu=?`ziP2EVC&jPIKcTaP)+{lHR#AeZPJ&V3~ z3=;8a<6j6qLf>o}Qe_d%*HU??@Q5Sq&Y9gh2&Qk*`Ig?Iuh^_;)?loOE>E=too^#@ zBi$lCRzPk~--893^L7N3zKOu*hadt8yBbXg!D$2357iXO^o4KDoHjB zj7^VOvZbvH+O(;N-Fgl46@$SFePOJRChmKm($6`HGJr~i?^D~Hxd$Z|IV{B_qj}0D zK7WB^Cw-H$nKwrs_MM3E9Cqyjk^nAX%2GyPVPI^1ed|-xEPSEbrXo)a`}bhN=B_lH z_a9&c`mQ*?>M0!r|G;>3JDFo5^shCec1@B`Fh$KFnx!gwk-f(P?~jaO$Aan>RNyrh zA3g94lMjFn`SGThUgVy#U|?Y|cXCV&;giIQZnTvuQJ|*;nGlF5&{_WDju8I&mss@u zouwxwpso<|-^SJcDrpn`O(6k%c|Y4;&3?8N{SPbKx&wcpRSRhyDH{jdCsBmrxIeK< zk|-mzH1#J|F$1tl1b|gqzp$z~=+}%b?f*GeJt>2n?f~o|@LR0p0o76C?;H#sWR-f5knLUpC>N%Tpyyal|or7eNFoq z2qDlDhinlPw$;lweu87Zck2J^=(7ZaC{999&bxLXW3acr5M9LmO2$anlfDS?Ohutg2|h#$uN%r2)i`nxj`8w>p~;-YFql|q2(uyWmYw@|Fop6gNc!?x{Z(QhB{I)F(eU;N?YEL zP^m0(4yhkKn3&@x$i3p$ME;gE#@!FcDUR_!=KrGM5ZK%3Xbbj@CkDBLQmjLTRKHhx zX=*5km<*0F?`5>0n-!o7=P`1AWKLVa3gYX)mMf2r!s(rkF{R()&Vu6GWD%48p{@#k zZfCxP7yDY^Bc*h#syiB5>yay4NW5!3+Gv}PL9C{GC5`?tlg-eAfI-8by2*%(=~z^{ zNx&aEVGtEDewG}52(k20X2}&xTu5*f9qdBNO36dgrKln36-Kis*N89EEzUV?yayfY ziPa%#CG^bMY7E$$@EDF^ zm9Ii7pr9ILKgq;PzR`BsXhVHW6gKraf6LPWcNc#&pPuo#28D6c{z(j|jwoK&snY&F zux(u2J?>kk0qI*$s!qy-xS0WX`(&5Igri>QvEB2bEQ<+Rv0?Q}dm7PL~GyWSd--kK1US2lXN!9a~Q4Clluk-ct={9vSKNi+s21Mnc_btBj^9 zUAXoogTZG}Y2iYf?4hi|IS}a%0D{GC2_*vQ$7EuR1A~hKPd%43yjBjBV+Y)16IJ3x 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

@l1W5yDjsTW@32hx6 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


Tk@_T!pk%?!pkto2s&3` z-!sg6L7z0Z0yPv&QHY3eWr2J@8~7y*51Ja9oaSt$QA7v>I4k<3N<&P@8q86mg_<H@TA1E#2B#81i+Q$on6Lxc~!Rl|M|1*~AuTrMa`TCT7i zM0cY?)aeMv7h^1Ct&)Q5js8&A-OmsDr2lMCky~p#2lO@YYu=Z0;m_!2zSgJ zYl=1FBme-1D}_VFqF_m3PGOZZ$(U5?X9~CENj1g^jWp%~zy;`zxmKD~WfevkF4BA} zZrU)*)LQkscHqZUT$=r`=-+}{UdTPVUcs&iI3{(wR(}lI15LY_aDGS}j7^OxwJ0ip z1>$eW#2O_n8XQ-Hc0Z9|IGUaFt_-D~0&T1@rCt=WPalBae1+#mlkfTb1-OFn9*62Mw8L}b z1G&B1w?oXu*RQ@E^cT7R5E|moO-T?Z${Y#Q)6r0`64S3l&5q5kaa|N`Y^qE#xGBuX z$dG+xyQ!EzKSXw9e44w>tXDT`^zmTospbZNO6?^fjVz072AVa9jqSaKtv?GTj}aEm zAB3e@a<_9hZ6aDJlCU^19wBAQyh$gDw#h-_%;w*bQG`a>w;{Xx%aZPts0zH-s75Z% zu$S0ftC43z6Qv;}i?)s2;yIBP4k{U+1r(00r6&o0`Gl}ZbPB3C@Xh+oJVSoWsWjCy z9fn0t6;gjYN^GF?X+DH&d6v7yU{{*ep_&p6Ejg^`%n-w_!U5B}U6WFhV{ksLd=X3q zHRfF?nnQnU$;wjUE#aK6wA|<%i*Ei&TofjDgCQg!&XSyrbJBp{ai9g4JI=b!3qb*b2D1`~1 z96i3aq*=LBtx6kOz*hcJpiJc>8@O5UGqO)ME=QE>>L;v(|Cjxt{6#}wS+bIuI=Mi} zZk@?_@hEPM@BRuG7{+@}GQ4nbCp}i)nVGsUMVb0GJn&n|ON9!_76E5VA7jC5@>a4e zoJ3hs&9*K|9Nxeq>A2B{J`Vh+oJR6*C{b8`YQAin=@wsWR2$>J3GZ1=nDXQ;>LxuYq0IGez~dNM`efb+x14y2ZK5uX&oSPGy#x?^Sn*Qh(waDZX^Ck z@R+rPwiu;|fSB9e`3~6#XtMSE>b;$8;2_6fBbD=ztsuuJFgT1lDbKlv&0wC<#*7a4 zUq=&U)MfDP;=r?+8&Lj>f!$x+WdzyMvCClP-fywG7t#e(WcbB;5d>MO7;PjU>XF9_ zZk3PxWHl)fNOns^{X+$=tWVT3Lk>3bXD~UMREA_WyUh4})&SaA>aquNdr!%;l$1*pZM}O{wyVv15s*92d?v$$G-pve-K*a6ZjOd56Wu zKUgUYyk#kiu`H$)OTjXR-H{0C?z9Rm#;u>q=#U?P=}Y<%(lX>#(1o{pHZaBabJ`P#;T1A3axA`wKVK29-;Una zapUlg8j|sMHvIVq|8~rVz89hDGwXXM@$}6P073*LHi3y(Mq!*WC4eDf3oe1_!uSOi zU=ZOCm%zd|e8UAmg;QkV8@gcw=>}u$+^vU$#4@npk_!5#eSlq-XMVg1F`OKnCGK#yfAK|%-T_tcZM=@5G|co)g*(Gt;gEcoup;0N@F{I)*)3@ zSD&FH+?1KhzNC7bGS!4;o-tEacD9zfxTDP9Rb`T9i9%gbnLoT`*G!|;s3Q4B>#l0| zm`8&{oSWVG)>Nf)rg2^AFl$)WhTCs!-k<*FqHSE5)C&xtOtpmBs}aCrd1$N(kQFud@5V$L=RM^z zMY14o+>JIm*)y7F(a-*VC9bTI)2_ebWfi(|31e;KTV$;@zm~!o_hcFPf*8AQhF z!q@ci4HjSoE}zLy1`>@R$QK#n+?l6{U6t$Z9|<}BG0$j?hyHf~`c+76Lv84qMdi3f zV6f6naTO1k60Inv$2dx_d6r{11_QHZng8`B+Smxp627d808oulmY+V}-f$fo5HFa^ zdf}F)oT6c^%$SO2kfs0cEnQo-8+poye;X#Y(qO)oOrDLrS)gRhjb1KuC$g+URJBBp zCZmh)UZP6GxR#{AQi0(sbp5P?Aa?AI%6=~9^mG64gfW{7A6^>xD`i1J8*U+SOU2R+ z25c@d6)D$E7+R9l^<&Q54K zw(Tz4)l=u38*|=0@6L;v*|9TnXY7AgWMr(BOTP~!Uq4ZjCly>s_gqxWh*FHGA6ct` z+;VPul)1w;4M8KkV8gg=oM-ijS-z#Xv|-C$c^!eH{nH+6*t(j+2>Vz$)zNRk7@Bu# z+rPM}E8D^4GTNxJd#}zdnrv*TQPc^|28vl$dS%m)xnY9%XU`60wd^mscK%bi+Ou9| zGl);z9d5?Xl@MazpP`y0Td@7Q5iTje{EBFi_oNa_xXEw}Ds+y7+8VW6H8e@l!!5`?5XOv6$|Ia)m!Hq0tdXF2a(xm{M~ES0U2{3K0Gdt1C~WW8QB#>a}7 zb!%G2hi#pSWh$)%f(aekO1k}t%`>xac+1zPisu2Vr*9Q{%xji_y`Nm54G$Gj`w2ur zI+?%uENk(>tOHcx{17;8-Fp@OSuywh(ao@`@kPlPKl zx?(vcCTUPKQT3>77lZ`xo%JkPPutrA{Q%iY=(dMSOtHqIbV_GlfCSdZdD?7s_!37(i#~ zC&0r}uiw_Pr-NEUlhJ!eCvStZOMemmbO#*dxF)&na*;yRhOsW+lV1h(Iz+I`JP2uc z?at=iU=Sa3KF&@#^a{}LVDV~U!)VQS*a%-zp1Yyabh#+LL1>c|t=AsD1wQoNXRraz z?ugHGPD%`0+H6FTB81V;X)~FfH*eYj_q2fIk;1<3>**O^gfMS&WcTolt(sOlFrw0* z3n(nwgOqytkyErCB=`!%&b3R$3;#-CPzI9Y`mJQbdyj{j#Iw70{lkg;?v2mw&2yc* z_Iq7*W&ox{8FrvONj&VM4`zc`iG|-7jIyV@_c==hMWC8+NHkD-o zurV3LS!xauWfgRb(<{9A%FPx~2IKq(w?N8eTy_yO`;YvhNcJB&m2^21WL3Gvx4{VY zC%F7L0i0Cpb09uO0&snK%$RO{*r$+i^&boM2$Lnx)|J3_po>zD6^Yjg-#jK6X)p4N zgE{hIT)N1uh#>Q(zBu{I#5ds4nviJ_sO;JdZUz$BM3-zD*=(G=@G|IZO^HR+>^z1Vk{^IRq`&CY>#0z@zPVu-@sZnW?F=?~-RI%@GV(N5= zCocs09;SN8i4f*Ue=%w9&AO#g2m^(wy4|!rVzfqLT_L-{$Yhdh8LIgYiUd3pV{tB6 z()9-e0wX{Wm3Ue*Ww5`hUz2S_3qgz;Z zfmC8_!?`n-xdRB@8X75(_)04ey8L2!=19e7IRl7V5^ub1#)VOCORkHLN(>4g|5}d+ z6_M4U~4FA%zlY$-oGmc!}*gx&ql;9voR{lMS8SRVsN*E(c zk^2=KHT2@i#WdD`H%2RiqJKTvQ7ympnlFn;%5-jHoW?CgTPNj(B=DRznC{}8mF%eqf!|E8HF zE5CM$y_!xxcC53qT>mu9*;8{W$+da6FmPa4+;3!r$>osu&(n|WU|Tljwy-VP*!-p6 zvuzVx?_x_bXy>2XS?%94Z$lPL-ik(u(NTS39=?$WE1RX& zrmN;`17ej}?C_Ze2X+5E8Kq*;yQc3IEWu(_o3?%bEn101uQ}B?YZ(%*BbFv$0f3Ua z^-Sx%6-(>QDA;EYQ_`f|2CE-Tk~KvztSOijoEpj&h1Jb9qzQ7NV|RSCa9p<44@fTu zvsA8s%$NV3GhLfT%hR|luPh%wUjnyU%*8swUkMIJ(-Lx{?x5{8jR$)Ur>~1#-zuQt zCA!ozo5f`!JB!}LmnZx)ZdCN!bo+Ae@pawVijTsdbhEEIaP=pzBP|l|Z zJEEx=h!HXOMvn=~C*ONayA9cm^~UmGJZd^>Y(LA5FMH7$Z(1?U>gYU9N-kARnv#EA z=eEbk!n7q|HPg+1q}(GaUz^w($oJlPi5mthM#d7uQn;zFViU|7oXfzNLvy;;H=`VN zqI6{+h=l?-%xZedM~)d)K3T_N1pX*%)GrK(4*x@^Vm{lxDHIHjCsinn=f*i!Yn7HU zqe7<)la?{IC{$9SY!hdcxnW?ykpEbO>SJ-jrXz|Wjkpv?W=SMI8Th*ZA3ThUQAr!J zaF92R5?!EO9k#h2#-$%ZH(#*OJh1LYSO#<#c@8!;99^B_SN{?*c(oy%HCpQYR~zj9 zzSJs}FHme)^G%yNgnW4A9@sb39dYGMdJd$+BwQvw{9&Y8AxW2*k8exz{O)J*?qPMv zOlGfKt8RVz%{K)-t}(knwWyIgGg_OR=Y)A$4S|LKQU0Mw4}Odlhktx{m|>-bkAF%E zf;v%b%+|Kyuyg*fb4~`Eswz&BBovKNBWF=LSySFeDVCzVl(pQCa7ukUUMW_Uh$+9 z1FwWZT1@R+UPGI#5tqF!Sj9@kUL2IRE@&;JWL-i3E6c|{iqGo?Q(Um68x8vI0xY^E z^3J+C?|AJF_hUBy@1XHt3(vm^S&0lW^(VXL%W;qV=4ttE(g#vCK7{R)lZe^CQ0RTm z#013xx1^KEGkwUnysXMNs0_;foRBLKYP+Vl9Bn#X(9dBjy9WEM;RAJgxB)@?Hd5Hv z3iF)MdXa8>5V!c$`#zIsq4kxVVo(Q0v`D$ToVQfJ!e%HnykqW%Fxpf;K-41q_R038 zyEMInIU;HuNXG1tclJK_Ij_(uZm4eg@DcfUi5!smkxOr+q1=TE>ZFMr2i=5{;pe1H zBLo{FF{xD@Y9`SzMtK#5)-^~Ql6sxN5RN5A&*xdaA}2yfePiQ&id z_u;r?a8pG0%bcZ?$e6`rlD3X0*R*0%K9ANM6L4uNk6s&orHpGdXe0PGD@=mf|2!%{ zQOG~=#;aX+Aj?mPPnC=Y(tvsa3L%ygiLeoYXOYAxZR#0dVllsB40bUC;+m!(;k?6r zb^S9(vm>XXnNtY2%m=R4(x=L1g-7}>_?yq8nyNqu(HNv?;xLnuHS)V5$IK^K$4 zM}defP5M%(T_)GhP2wF$8~z3J9oLL`04R6Y;Zz#s1@$LMaaOvOIktA}B}e7kW1Q-y z)>TL)nRO7v6!Dg!?!ct1?YVMXUsp={N(KgWrapfKz9tr3ANJ z$-=Q9hvPc8{dgszye^#25t{;OZE)jJt$tt^Jn!9#0)rn&x!2o!lx-YwyB*8-y#6nXcNw4lRUt4!quJFuh;7$V=#B z00!&*K3m5rk%Sj`!;9CMuRZD|V5j{#XkoWRkw|*bf`FfAlkZSDj_f&zI=8UBOW(&= zA^WXWs_$>OExgBg*`K{{ve+Rj{;$6RT1TreXUVo)-W;1@&hd>%4k#!VBAb(d?64h_ zdbs&YQkV%C&rXZVnEmVatL?%EgpMT@x4#B_5BiOf)wS(@tiO-(wP?&CdIqHvfQl7T zUR*2n&JStgh<1v|JR<*03o|O5{XzQe34 zIhi;teQSF6|J+eH_BZP(?Lf?V!$<6aSOS{C4b^Sh8>7=B&tei}u>bK^(Rva1h|nLx zXKxi`L$Ucp_#mI)C-X%S;OiF1BROWuZ4EK{Q2XHWlHvX_hqi~l3hDOa1LGgX|6fc? zaa9;Uepvh;m4j*i_jdn(FaDEC+PWH8TNwXq5IZ=o@0(wU81h%vaCz9gP}Qy=3A#BD zsWu`tP=S(Ky~}Q1l%ps!V+-9Ilb}Bc65sm=fmGI|;Ej@o>B&yIooVRn+t&-IeaIHL zca=C~U0=L?6QoDN&1lSlDp;bZGv5uy{45tspNj7i6y-MKGSRD1}LgY1IRY3Ktvjj=7(M-7gHorM|hYyaF_abm0(V)Inbd$c1e*^cB zD;YJvZ|eX3A^QIHA1b=vmkfe}f)=*MChq^bum6Szev<=#xq`F*FR;L@Z+@VzxcJCq zSJEPMchz8nh#2_Uet#D2=lws za%9p4FVBLPqbo>gSt_75gNfwnGZruDH|Gu8FvD3SZq;?}5m6Tq<`Mr!QoO;_J2Ce` zr5PFF$~l0Txh>57JT?3KgTReFb9i`3SpF?Do2Mte{n_n$@=D&%_mj^5{3bq7wT&kX z^9qTPTEEm^2ly)4KG*yjBM$k-ACwM&I4mSVLgFutsWux`#dw_(kCF`qln8vs3|+89 zh6x?9T9}7t`W9N1!oioU1$kC5TU zJE#aEgGJ8eERa4-U&#_da7C z8&8(O4u!}Tj>^6Z5Sy)iK9bsIgka$yrZF~r8upYFRToo0G#4~R14?m=S)t^W`^{GZ zJ}q>&nyIv0h-zYSU||Y%I$g=go4Pe=YtPoy6G-P9KUpKgNK~V#=#?~x7hJ_nlXF6> zxI;zUew`9NCe+NsoOw8j*3;F@2gPtU5le3U!ojbR(!sK;jk7Muld6i~xJ5S^R*BD)i|5@as=kv87wY4qMC8NN0W0gjt)U)Zk;c=Fil#Dv6bq z@`9*mRd0U`OwYfCK@q! zR<}fG5oQ4l4!Cvhf(w`0>y8nIwxUyGN3*M-82fau2t9TSRcjUoW}0KuM@Ar?<-M}i z$igFkb4<9iL|a>0P=b~K2NJCrzKsp_0{n|IYyi^k``FJ|03$J8`M%c&jOs-uEKx;gvO3Ipj*A1)muVbyOf~MikBLq-xoaPC z=b=Sv&&-y06h*aDBnidakerzgIh`ZX=F11D>bIdYV-F5V5um{B+q$gdY`R8oY@fC` zr*hlmZaneWge~X4r`z*AIvSUrBXnAP!^2-orYSmxMf@i%&P?&@ZIOVST`gTfyjN%jN zFKhE|7u^@;yiQoGMkh-SEOpZKSPzw z0drq6aX{U^pFXz1Tq4O`Y#Kql7P?&FB`k22p@o(Q(q$nM6|rCNC>U)<-w|9M8-{%0 z0j$uLuTnu2RfD!-@pcv*}&mi2}^ zV9%aR$2)ptmzeqQwXAD+&X>2wD0Mwx-pb zW8C%;E_0POIJyQwoD(6p;2QxPYoG3+PhiMt&k#Z)I}aGHB%}t703awWfN1}+-&dLO z21ZzqJ?95TO1=YpdZ2B;O;bT`L`~?|!Rqm{*SC+_#_`$N&5$=c=iJ5QC+^DLEGu;N z3kZolFUv)Q_f+zET$G1u^-}tLT%_tJlD9PCdt~W1khjdsdE?r{Yg-7SUQzBLmGM*x zdQ|CPD3j_clj3s;xuGvb75@VN$D2^{-!af^@E<>*zlR_HKSw+T14kzlQFkMge`?$R zD_ST2(y~Wc!TO3Jvr@YYJYoZe9gc?s7rhIPOG2g)KmiF47tSLuSv+n?S#GiRAahk) zoCcdunb+2oQkDWHf^wj@rN~C-R(BtVoyndyE@AMw5+-`J9#-hC~gyntYw{ z``UQ5JGppWsOHy(r~_Ic;*IGh;tlu)K~=6|^t;vZOYFOmVaDkz1cE3X=LHHAE$-%l zhLSO=z?Mr?NPrm_s`p7iJ|^hJDxz6%#Y#@MMMPy$9Qvk2RB0cQzK20;(c_}kM07vTaiz{6f1rpG>D-&L%xvq~s zWVR$uYcf1rqagBtp}UyTjj++S?u;HzS)%e2<&oXD*l1pDU$j|3Rh_!T7!PyfIR!SH z6)lXJl#X~w>6de*vn1A}-$D8u$9Gwf$%^-KFwT-7I+C@U^N##at`W5j|GN90=%brSDORUto5P0ic#qDu3e6 zNTai4w$`O$R2#7WOdMYpwUf{VRqWWT#NgaAV4k|tq)%zpSY(!)!+s&BM4oh6J704AybqYJ zXqW!aU9A;E&W4xMFS!gyZKuF)7Q>FtOY7;TEvf)nG|v;FPAdIF$C6}ZbFZ>58usr& z@8J%D-bbxt();zVIQH(6yo^7lCq}x+m8Ug+ymZ-UT_zO^Lono=#xX^79-Cm;Mtlej zdI#aIUY`TAEG2CFF`gVCmtYBnA)m0_PYV*Q0$YLE_$^OiW7F!`=jC-kbP(AeaR+p> zla-%P+vQ8@0e1Q%pufjd(b$m=3=&(bdF{3*Nk-Nf5# zdI$tegt$EsvpOLdv~(q)m{GYYmRJdkzBNUkm>#NG=lkJ~Jy)tbgJp8WQ50v0wZ#RV zO9U3I5`BKDsBSvKQ(u*{9Us4=mwrbFNDw;sV3$j{5F@V&&>l`D6pJJw+o%Th$QB?K z8wmqN_Rj%d2cSfxwSTHfJ{5hG$2gT)+?+Qjt*-3aofL(V`4S8CAv|={2z)?4&=0jL zMwi9^v6vKFbTV%X@qBA6B2o|#(UVf>ZKx3las->0FDp;XV5vy;MDT)^eaR#e|HlHVGZ#4GJxN2RMnf+}?q7 zD+#6$KY^&Xk^yjGTEV14)NMOUOl#bp4{yLuzYvgycQEc3EY9CR5@35#m^(w1n274p zu*)=5`jSDaF5>B3RmI-(eFjeYuKU-w|~eJ!Qxo zb)IK%i(7%mOuC3uQyjb7A~oSx_jalmmbV;F+k!E zu*B$}Ej5Pyu1o`~5~W_co34QA#(GY9765v^ef-eG4_E6Uv( zBBJ+haFUYL{uYr~p}+O^OZ6+u3|gFe zvq$a2R(hrM^@Q?HGrinby@G-NC9?WrDyDC^S}5|B8b6Ua#YpR`U4`fwHt`PU`T$>P zdxP#7*m00t+;5n@^{UURO(EBQ{IeCjuC*(CN*0#Msenf7)4CS+6+FK)*s@V&7Ea7C z@z-7Lp_Omv{R`qB(GWevWTX8%8uG#Zuh9_wKk`57|2h9tw)o!3Hu#&ngEBo3#248WS0CM%aZ{Or~@M>1kI;vzG3zN1dL6-n1c6NYOSoVYo^-n zDz!>!HAlCYGF1<0S`@dmw5)4dJ?m7vstuN$Y;&-r%a9Z4y+6L+ZM|=IpM3p8+1zj1 zBeC$W?*r2hvpH}yjD2P5mR|K@@?AYZ#IZZ;7M>QCv|DCMe8iv;Xf+u+OZ9PC zyiA5<;5;r{v^uw-y^9^f2vlis0*1I72l&C|#nY!{hC6?+k{P#X#NEOlw>sealoP%%ds^j%8wdU8*r-%haep;yOxXYFIY& zUXVh|RE;#98Ozwqj5IxrBAPN_dyMl$)G&S#Ik2(B73O>y_nH;TBwu1uJNN2}v3g2O zJV~6|y)k}-VzNBlKOWSQi~-*SN=SHWaEe@iJn>9~*tR%yilyFvYyUF)KEuM%yNyB%=-2w=NCylo6vHUhgj7qYoYY};Yaf~B>QwS+NlYk5o9N>c`va9WXM9}X^b(MeDFZdza~Dz2F?OXV6w$0RBa ztF>zh-GV9TPT$ktKL0Zn()G6B(EVS(7`T$eS%00iLT{UH!_2VLI+$I5{naqj%Dh2I z-l97xsuaIOZ!N`U*>2_^RO5#JEkFj<>8Q8bv_k#D;U%u-nwhdH2aly}Y1wLnb14Cs zw`a{^b-EzS(qzGJFRq**^B^V9(seQ{i7bAy^?;GDphC9*m}{&ud#vzIwM12}wQ0r@ z)G})wl{XiaX^N`S;Zv!S;Ib!tMGSg@S|NVfUXd>Km4Z*tn;LMBdm6`NX%eLp!;Wn?Vi|1uH`%aiKX{9FoU^ zOIzP7Zc3EVhqN#`6FCJ_Rm2PF4in~zQNN}SU|Xp4W95}e+p<+*b|woIV<)e{Or&37 ztIm=}lPi<)$mb(as}#?n29#qAp?+1)NwTUE=@eRKRLrsZ_Ay1vm7HPQ_D^AF3zb^3 z2ANW`N*6Aew+NM5v4&0)svOmX$|sXRh2lqBstZ>Xm*e_|Bx9rJ`-{1#)b62s%jAPc zA1fWGL+EXgua(X526&Vx+|kZWVoU+&Z)$UA8byo2j7jgFbB0bYnInOv+aDaJzu>c! zC?@{klh30?UuQ-yLCtXR@H~-AL{k?!v1&?6F`>)GfMC;NhM26Vi+?!7%$b^17CeRV9?(o@hR1$~zVIh3vSZjT zee1UScv(l=bYkDV=`2F04|6S_EdjPMKT(OcAu;wBRrIu-#`89|d;Aa z_p|zIyRjN?y5-)=vAd?g4PSGeL1Q5!A{6uDinWXZ%fiu0?BwfgoHR&4ll2NV6 zaQgeCJ-3N1>I&&Z-@eO4(OlsLug-uA?_N@Ym6OZwOZRH+4@@2Fo^jxDW7INw%#@fh zF$owmI-0aY`5t2t=Y{)Lde|b_Co>Tiez5}`n|@GmGrq4VRt7noxkF4;li_!nOxp=1 zp^{?C18=JM$jh<>kCd-HBh}TfJ1JfHy-PK647fltlgNn9f7EZs9v0CK*C={OoeRBFibi|f^kkGO*psRM;lN^yPdN2Ad zlbNN?tP|jzcSroayPOTk9#Qu!7(rIhw_V6t68nf@GHkcrS4iG{$uS%hVg$+6txfPe z$4*H4?fDU$l)IEfkIr&PLvC~<^psuLtXNOlBQ!6>DQlj{Ru}tgs70m^#vE#KwZ7;j z-uY;CCJ(#(5AGC%TM69oC~uHwTP8g}(1>$H?P-W2s6p&l-kV?Alhruz*Gl_PG-mNb z_EHKyh`(K1BCsnq-WWezx@TL!wXNg#wkU4f15k5$r%JacN`C{)5_pO8vu19)Vq3Fu zUzm9z)}nkU_r%TkrP`eygTNJ+bypaF)C9gO%tcBHre1LeB5$$zj{$T@5>PxFdGgDh4U{YWBy_D<*#b%16W}+! z6YW6vtl;fBqwVKwE6X2e@n68j?6nqBFmR}?QSlgT0Lr@RC!&S)EJo+Ha}ndWY^cB$ zdcJ{evsO*J*oIPH{Sh*P5}1z3w8(+(QU1w zvq5Q1%Xp=mK(B9wQT&M^51nJynH$W>9D+|&++#Bq5%1u4@<{th?L={d-tc_^zf|q$ zm#U}o_}bMcExNrIR_*UVya%b%wv013x{Mnj@^KgQBZd#x&0fVlv6P;4NmrDGW3es> zf|EHd2OL|o=quywpEK)Q(IXBFIVUF=_5`|vCpX*^A1DY35e!OXp6Umo=HPFX{^Doe zu=C8kVp{fTuDehX`;zOCcJoIs=sFXhk1yYfyQOD8a`GW=__(9YUW@qiN^f!bVhQFZ zUYNQga%az9z;aL3oN@h}Rd(eQDpvCQ{cxk9=g~&y^7OAAROS#_wkmg#!QN3X)a1C4B6p)T@>8Sc|u4(uQ9zA>4ac3_v6JWTO6U6A}qwja9Wj9EtP`7m!${g zO#3V3sTFnZVM0fGCTOEB7xI;_LIkyH*za3_>O^}skH9}wVDWCOS zA;pKXRii~o#J{-%wn}D76@J;VnZD}M`9ybOu#)0g^Jf^_rD547k3TxZ$aXWYw|SY_ zq3W5*nilS0$CJNqLFylqj!uO9oV*QFeu9Q(g7f!!1I{1zz!t~eO#xI~(YggIX$Aa+ z{E$rZU?xtx<54oTrh6BVUZITK47VzXkL%;9mW(5F;J^7HU{gxu)l{-%tz}Pie2M}43Ky(LvEXr})6tcAQhte02 z8P9@4-^)<&r#EG~DkZqiy;DkYC~$1aF?ss$e`C@g@YbdIi+sETpJ%O{xjuty3OG)& zLnCV(U(yx>Gg|W&Ynd@H`cp?zo+o-}BoZuZi{Qb~d!m<~dN*cKwZ~ZbjlztShtgmg z{nW;vKHK?s>8!ae!p^bW`qpWsYxhUZPMmd0JX>DvuToThbPry#;o{;cS;OySDXYK{ zhb}HX?*|4-1%V{R>h1|ZPhSiYg%8F`rpubzGf>0SW(Tl8p|HurxFQ<8k11KmaIHf4%BXXVR|^TWjvxeM`n*X$PI*v-+8;ffr>`!CQx(#dx_DwF5$!fN)n z+Sk8}tN)o!{tsK_|7e2#Z|UTJ$J0hD?R?{D5x-J|Vsosh6nY6L`Dxv&2T90z4ZO>l zh%6S>``@3q$Cta$JvvAJngqt*>=N`6h-T4&)>As#12|;!SX z+xlPa&&t(_cy486qAN)WTJY7R)&7=2mL^iyI+|PD_}*>S?B2UJHb1| zjDwll&2EBKxRtx8tYW9g%nhcIrI620xbF|8q227)fb{(HSpd~(|El_Kh93a`pPmKY z|Cgl&Qeiu57aLnqTNj)E5`_C#^*vkF#tB6g)mJXlShAzZ!U85)iMl0?mZ3Z>51l5i zMN>lB!m>H9*VHM~c5Q2LD_Z##!uK|^Hn)j$nlXsGf3*n>_dB@0hJGBoUy;ZCP~u)0UFpsR!WAZp;B%)B`H7pjey@a^x(`MrC*i;xf^nM=m}(RzwMZ#9 zq~1l`%v9b@-Mpa0Ly~WXRw}>a`*j%_1!KJlJ&OQZCK#UU7Cf zL>*89iR8ET5F!Q%!4jn>=^=CaQnCkjrLjP-LEKFnb>5$CnEgpoDl_sh0?C2A;pD;m zaH*BCP1G&`SsdvhcsiOElSZ|{wKsjvC9Rp_V%KpR0VTcKe`}(IJSGju*3jdqkv}iS zu9-rr^o0{Sl_RZ$(Cko_&>5|^M=aEa6Qb3k?F>m{EmpopY2~5rR^bgILK|qy+qb|~ zsK@xEev)J&9P)*wPE&P2asu?dshUNsHPmav7#c1ilI_rPLpM+#--bkhb(Qba(N?qp zCjQZurLNhnh_IT4y7lbU*kQ{K49tQC@jwHX28bx&wN5tIi&h+>r@p{bsnHf6AD;l! zT0W|7W}C=y_oJ9vHQa>RXiwln#NmL_L6M&{-};jle4>wI{-3UoM#f@ zaQt}B5c(nS?!zcj9rgl*g$wOz+>haqE}Ys!T2N>?>d!lKb{F7{Gfc~ggg5WL#Zo*A z`ou8hK3a`tOP7o~&M!A5Hg(Br7Ov!2L8J=o$L?*!9#()FYbeiZMxD&w1!0(sWH?~= zZbf2mWUl2uaMT;bM4MlyM+YfNGGKx7uL&sP>naI9G+NEWyw}i{9Gz5aNtt7xk5B(L zl4hP%57>k06%siZ$)c>VrcXs-9@@DRK*|&K=X&Spjqdzj=T^}2hzm*%#SI%dTD{kz z;UC}}-JWS^@lWv=UVv8>SSQzPTKcAeiK z72kj_ADF;TQDEmvCFaedB!nun9TH{;bvv6~Om)SLL3n-#B6kEUoVQxrL9G%a3tMpx zdScS)lz#8v4sa@w<@-{?g8sH5Y!7dF52LpweuB|5$FtE=s9c|>Yf@{Dp&Kmz)p%cU zgOb3CbNYd%Qx#0$5xKZ?Dt-ZN1hbXgn|M`dRxj2Rz74(JBsv^YqZ*iI4C==0g0i)@ z>vc=ET-WJ3A?bW)^846(ON_xMR&dzd8Dr!OBFpTrXhog?j=lQx>eEk~J>i&rr;bpz zHz;%9m9yj{w~(m;_I!U3zO*sX!Tizfm9@l+vKYpNplN+S!94X-G$rBo zA}~*ok~7w9_A$U1D5b7q7ZLQfXjdL3rLG{I7{>3HeaCk1ISikhzGiRx*Zm*_=&&ok zbf|p)jHR!}8Mh}cvzeb>)01i#{GYhJQ<%5=N{8Y_jEh1Z7cJ5MRTTj}?jNebPT(%1TiH&?4s>EX$6yPfyUfJnvM45*jVhfs~ zF6`Mv&RTY%0(^*~ZdWEbr10KfVp!q8X0RNEkBy~3B3yw4X$M&?T@hkv=~)m$f+cK3 zENqorgys*b+`G}lQ$W5(LPjKeS(n33Y}q&rG|mbF(dLhlYC(V@xk_b(;W~jijQ`Dg zZ9{RBY||R%Yg5y2Kr@k%6ag_<+gF4xdCbq7DuNqb%2 zHFF0vL6x#VOVHpwc*n%RwzM9Tgsp~Lf-b2MxgK7`t35v3u`S3Zq{V2l_|y!*F_emk zD4@k)ft$HZ?7jF~ztgk^;yDhh6wZ2j2CzUginE-~2X^}CtFTI*#@?tD(;xP0Q!o)% zU9fO)r2_k+F>Sf7IBq}%geot?f_Y{T(@vnbmncVDK_ya4sB#8=Zx^d@dE9^I&w>3? zb^&X!sxeLSW8eDwN6-3?1}Wp5UonY?Oq&z{SSdk^Ny>9=iMWWOHtnso*`>-3Iqe&S zgj&usFGb5{iA`}MH-6qM4}>i{A{iGgH&Qj9itAUlpKo>DBV*sEG&%)^u# zoCJ~w_}j!*ON+A7Y3Z?J@8rx9KajV>#uO@xGKJh@ni>*yGrXPz?y_V)pj)cWs?Ijs zUtxtQ8$;5P(>3hUy4QiW&LcX~t%7ktTX?s2wixPy(+3#UMBh_0Q`!@OwDvkaTcG-e z6vVK^4P(UiDqrCTxPksg8a-O%Fa;$GRaDYZj1#l~l53MniEAI9J_p083>wt@E)5Hkl;N0oO8~s3SnB(v!m;Ec| zHkwP@`k*oDlS|w9;2^3ps}9D-Gwe(|REm9TpviMFx-j;vYpyBz%saHhx+Cc3!w#Qg+kj^i_e*6%D`TrL=WG$SG{ws2% zL1dv0&G&X%nweRqf=vqtf&z&GKzN4$5txWzq>z-D3h5i!om#6K8m_L_KN=0EBY;#y zR2cJ!|AhMksZ4T>m`%(3gqR8WEb(at-QD``9K1|@be42>baqs9c;$W=ErCdt_q~WA z4-3#k$;MIKJa*<0usjx)5eVWW`zL^yeA>!Y)XeVpRuxGJ*1%1MaJ@NXp%c`aP@Im0 zOL9WVEjK7Pg(!bBHFig|b$I#8I|i`evn1_PK+MjSVs>!@o!D~3?SJ-xfnp$Qi`X;u zk%6WnPm;7n?K%e1K-Q3^$=CVsQU_K-)exym*wgh92cAQsqiD<9gY-p%N<*d~Z;IHn z^wEK~BGZzzMen)>@<67bY)aMz?$QT#LR}G=leMMlllA$4Rzm(lsUm92-31DSfWjwM zm#&N1H3$@k#3xgizrpM~0F_7NmApaiTL7IwrvL<}V-bD!Hhe9JlBsPeeC5}Q_2fz~{ zkwYc|Y#@~ZHc%T#EfiJ6n}Ky1bs&2w06ZujBvnibpc%k}d?mt}W^dN71L;P#8Ex;@PXzEn zypn9g*i-25h6+Wx5^iJI^98)4z*F%0+k@@}03eWJNO46uGj8xh&RO^J6~E|JdJ!3(G&0pfCEGWH2Ti~ zERaqBS%8O7Zk+&UVx0sgVhZF0UW0041L}HLeeek2hFn9~ z_1$9X_u}-dPaZ(KcCjZbYe^)JS~IergXuDCOa)qUm~?JktENkBXkU-FomF={cih&^ z8)fJ?%UaxHul)9)9Z#vLxXg$b_Rtnw-33 z;-q9t7FZK*e6_Z~EK~3KN)*%>_=M%K;U~|09!}2u)3u-9@mx1$&#{{$@Ob&`*LmHu zh9pbfeuibVB_ujl^Eq6Xan}4O+B#-+8_8n15UuMOqE=;sg8OIY<}P!EC2vPhhM8E; z_AbJf>fEk{y>u#?gcXk5>nuTUv+LM6AfMI3)K(=Vu{P-WcC#@+BQ6{V!`SJb4_QUE zn0%(;kj=w`-E5?5<*s!(Io<7QiD{FQot+-=?9(_qSNMnafglfzb z_!(YP1S&3gqDK*xc5tO&A3K$H&~xbxkhel4zSN$kc4~jAW-@gFlK z3nfmQJ=%KLXn5YN!RNR2s6S)mPb-v_Ur2u@_m?_k2h9}Sd?SA&W99bl<0Si7$uVIL zlwJbyha+E*%W6z916Bs7(`6x=wX3RS!ub@m>jz9>2XoIGJX%MG`;LjIys`8QD5@u3 zT|T5j85p)s8~>trd)`|EAE9;&P0OAy3$_r|uFO(T(VwPKo`@pb!4C}Dx<-no^3-iP zufqUup@hmzP8mP2q#jh*)*Pa_P}v!K@ZoaImYE^CO{CMx_m6x)ShW`FOHK*-G&rYb{@6rnZmgiZdfY`FlX-F8lN|=Cxp|^5GS&c3|Q;J-0?oxo8DUg zJaCZUUaxQT9Cc-%saIq!NLb0EOPE!GovflW)uY*09O5$b*c==;F*{8^^0txmO=n_l zZ|u?_yAoZo9zUM&#Fr%xSo>fmIy(Fu|3iBJB}OuG_nTc~+s@&UgGO)p-1w1ZCj@aQn_P<8({O@gDrR8OAe*F(EhR_0i@;L_6leWFLq0M9PY<>6G`Dwh`du(S6*X)rPL#0@?>vN{TbLtqi6Eo)> zi&P`ckWc%|? z0mdr)iN*G}v*LlS1eTlw`zJ^|fs^=>h~X$b_-tZjTV|+Wxco$kpHC-;l zeWvfdGe2f(?o3sZN+rMEUCFLwuXn9yk4|B2>meQ^Rn}OCChH~%pmgFsXWg^zOTJ4; zS>-b5xcoc)_;c(G15g!+DL;`?f|-!wFJ(8}`>wHOTKd6aInES~yU|hyVaVHQ|EPy# z(TH~rpJ$oLs_nsSFSD#2%MK3lY%TkW#!8FM8ZYewN#C;tdBpA6ZV)hU@Q&S$6~AC? z2`BIPC)~=$hU$6;>o|A(FTbF9P;etvo^umCCM``TfP;>`*}>2;CCw$Jf;EePBEx(% zHcg(yKF34XqB8>YkYj)~gOVHJa_uQrJ4gjEfze#om<8vx^ZBA+Wi71R^+cb|1@l*4FR#45Q zDzPPEo>`26He#x4|E0(PNDKXm3y=FHY3cTj`f?2Zg9_VaAi}bD3$xlzZdH-X8Wf+x z+WUi7=_@ooqVOI)Se%b)D@e*`ZS?zlZ90c84YT)HaeS~E5#^rgGe;so+_Z1g2VkvTHV&Qlk;K>Hud}FW z8#BSJM!7_qJvGy05Wa&E-o=@n@|k}QYb~aOmR~PmJ41Tt^g+P1Et8&MPh~c{PnIxE z^^K-~e9E|b9!d53sic(f`9m2Xd9bdkgt*gfbKK?ax9iq|uW9d-x@N0Z4@84n(d0;oMzsV(~XA6;Q&eW>~cY`)lEX*yGY51f8&No+`yKlL@Lu-DL$?)IHA z*Z22QShUg9#<$Vf_Fw6%u2dgsl&f!|OaH}@73<8M(ysr@InDdqF7;|G&u*l*?yBaa za>&M)E4nOQ#5eHL!=`NeH=oU}z2h!DT|<{5^28;{YC1KvO_@y#Uuhh^S_@8@#}R^u zhPn;rs`@Pk^}SIlp}z9oX))Jn`yfAYqebV@TG@Ne^d+pMB7SY6=1Kf`3hg7a(<^!wr0zw&!x6( zI+{L40-J+xJC>;4DaM~WCJ6HqOJ!-vxg`F|LH0W)Jw{v>axEEP%@0`aPv8)2n3}3l z_iT4h2(hj1sK48+_K~lux}$H58*B&h2Wzjn!w@k{vSVCSEF2Ju8w3gpS`87|5H8d( zl3eOdk%EA|p=*p8tXJ{oOuAuU5;H;!;s<|0!J=vG7-UlJOc?Bcv=$8d0uP79BTAEu zJP`^CIa!fPibcVqcWNBO3Tgs5E`9e(!Xsf4HYy$@3larKK+U9M5=SFoNG1h~N8^$) zsvcYdnSjEhWs)C6uSAuSHN;Nx0(l032Z;mG4!Q(k1#)b158n1)+i|q-sz`otP!%k|e8wE1+i5I&}|XgIL1kk~_5za)X@1 zM1g4LsC8uk%|)_~PxbV?W%4Yq;AfYqaF z(K+?~xVSiB=#aH&oKgnoKsumyXd2}XID)pp?~t?@oGJ!kf_lL2Fghg*)ej7U(m-CJ zYf-f58zl~Y1wn!lpm|9d)eZ6lMSv3^d#M@q4Vr@dAa95tN(WUz6k+*DA8H3(K^9

$bV0(!l$_I5p9ASG&AL<7M!S+zS3=cqq5Wxjd-n0%-gA~C9 zP~Y?pV1pRJ`%&I12G>FMq5Nnc7=!M?`Z3>x4{G8l{CflB-QbiqGGxd0On!^ zWcT<=SutI40DG|mvU@_Mq?oQGfVJ2F`8nPyC$c@RQc-MM9Kcz8OL~Q={4dgm1P5v9 zC)h^3RaC4E`4($Q0U18t>O9gT%4$8*BgX1AGF+@xQp{JPRZ~oqbc?sx82J`;sUP_k zbLkryzCp>&pq(K|VD`_u(=T|!dCbS>Go5~MdKJ)BcRwz}+VHCDpBo`OV!M^`2R$Nr zI@6LbIcn1Ms+5)60PHId_o8l5{VC1zYe3!=Mw`g)Sb!~H_e$A4!AGO5dL7Vr#ow>z zUw@~%U!{J<*@i>c2C-HBwXc%0- zQh$@~8}}?+XD-?sw0WlRP<1pWeC9wwc&{9^~?s#d3TN6us$Z8mbSAdO^xGyN8U}Dmi5GMUiW-7)IL;8M)=dGwv8ndYN)c z_2-alV+<;}tvSH@3&FM44`04ncd&&hlJ~_`dW%V9Isl#jMGV+B6b|_!W!nl6O26M( z$)m|Uv;*h1#IwebKEJYP9<0$v>oOAU#s#AYZ@IYi-sWGM4yO28O4cSHS2Og(_n z0o7dg$y8hz0r5etFHShH`M{|!Dlj$%IouM1!64@ua*r}-hL9NV-A0W$j2~su%C`#RMMWHn9!+u5JTmX( z{mrnG@&>1axeYGJ>ow_qm_08QuLHVx?xF6ygBE;1xsWF(YOtwx1~4b%NnX@d(RF?Em4uVeg_+65*1FZcDe zfDNJsjdHOf4Su28^Y8TrsocVabk01vL#V0tH zij58ggiQ7ST4p8tZw0#lwB@;wG5^<6tADIA%rFy@m}OhGj<_!nvfwAj1-h89lA2Gj zmZ*Ic^^Y9(X9U!Xidp<&Mc*SlsN;{1U_Q{<1q@UW0d;QU7QXtk=oAwB*Uu(A?;i7f z@4NoF-f^G*8gVTUc!COaS!m-zXPj~j`= zNhtL$N&JuWM3k5i`aK0Q0AqXr>b)j$0Qy}k{jG=Tb0kC&#hDEGpWLXjx4WEyKg~&} z9{^nfkL-}<<{C!)tPQ-oTPQCY-%rmyOj~>NS%ZzEA-)ba z0{eQMqYaE_<4m8IITwlslv*8(J|2xNd|Mq=&2?;RYhC7SlKt)cbt$|`JYoZ_CKg*w zUtI|+V6BS^(4Bwp*W_8$ezrH)XzkJ7fY8D2*4mK3mc*^K+EnkZt}W>WPibX+MP=Gj z>+ox}t4K9Un(?HV1C)eziV*Z^L;_bO3P-J@uy3RBn+*q9^i7+Vcr*8Osg zw$?D)wFYeo`|$L(=82gic4bkVQT}{f>x?g_%wTn`)<`-_M?08?TRZCvbAB^!-{Y-F z5d_U>(4`}sdNN(}5{4ZdhvFAh?F0tpb!;0QeSDqkTE+$ox_dZDFRd=`_Udg?A-Cg5tgI?^cx|Vip=&ywmi|szt(hMN_rZhHV;gL`+dy`rXf||I5Y9~KY zSzXzR4W|N*eM-5cEw-RFiM0(0S>Mgtv?3^VY=pWjz1GQ+vqX2{&g5R0vM|a33v)Z* z+vFJz<*e)VP~2SB+?ic?zu3zNd*jnqv52=(r(s-P{7;C+@Jd1?Sa+@{>;#vy&WQ6K`^h`9(^rz*q@Xm2FXHz&ky zwD1?f2-fwER*nc#0lu&vzbicTQ`OZI4R#S5^PN5x2S5}Wj{7~n0AB*(-v^*>zfQ$T z1>zp_;Mt&fa!rl%4}f2rkW^k`n1CO)Caias4Byf;jOe5M(LnebPfrkBV!x!~Q1qInpl+1s%Q0s3QR;`vZK^1GRfUBIj`q%q4$*fCL#zx7f}AV#k37VLy59e!4h};)`Ak zKmY9r`kRX1Dy{)xK6y$trk%lHj6ho`Y*m>EgHb`XCg#Tj?B{Ys!67;!2kbsa(y52t z4;S9ATA2OO=tC`1DbY6zOEE=}eI@mG_=YPM<6nSF+i-DRr8&$Nh1vh#bu?PPyOg%$?ZO7iwFi$x4f^y0YYT zQc!jJw#&pkD+{CZ3*oBgSh5~1LkKoedAG`&nQ7d4UC#V1w@Bo*I&J|lrpFB4!JR%j zJJz=y|006o`6zL?DB>fXL(kH8=xwbM-Ozq>jJ=X7;?=^8<1%RCj=;e3-Z#k+To~-3 zTpFEUq{!c^d{Aftlx5|fv6t|w5~QVM`d9$UrWp4*5}QBHhW+tegDIdL`MN_SOAq%} zJsb`ePZ(G89qC?*S+y;tGRC-!dU>v(daGvV@eK@g?I7e{AdleRS>$94!ru(6<`n&d zDu*$(wkM5!Rhqt7+ZnGmmMsz$!`&$NHq&$E02Efacl3%c^@`r{%Yn62;NRbLeMh|V z@9wG)qwF{WK9Z`xMh+`{+3Y_=>OFF*98X<)uq(#+vmdt=d~>WZlU{i{L)>_EyXde5 z4-oDmwoFIA8LWdZ?TB}gGt^%#^~2b9qIx=`8^gU7+q4wm2?EvSkE&q^!h61nP-GAW zRsDdX=n#miaI5!W9iPJXaCJ#Q9hRRk;3XEzu={1!gwzfEfa3Ws-3dx!Il9q z+GB=EQrQ|wZdgGdM5@{#iDbzHQ^6Lia}SFeegKug z_GEEhYz16w@xN5%_OTThiWT-x>7V_XCq0|zCSB>%*wq~)xO|bb3?_qT3NH)Hw!k6p zrQly7B|RzdWq`mUtJ#bx<<~} zTEW@+F^HrET=8CP(Rb8+OZ0mQKWL~@NYkJWBA5nVhgt^e$nE zhx_<5N{TflvBgfBWeGGDyN#uPcy~+Y^BLk5!(U+T^ucX!(rdkWuNdjbmUF=$h^ZW` z=_Jsy3h{|D^MI50acyOeu{9L?&!l&%@)?7Few(du|MBTNp7cAg#7j}z%aHs4lpQKS z?U!F=_#tUpf?$=%r+D0$;i}kY+-svEz?-XB;~-NfLU9!WPcws7R=-AXym4L_0-iP{ zJPo_0+El87@NJJy-OQ7);!K~wub^Re;2wB_nP&@ph53ol?8-jc*F?Y+N1i#!(EwM- zy(exvD2j+P$H_dS%FiN_)osh0f^DNZty$o82RE|A?N6q1eWFCLH#F4jpUd>v&<@{gj7$f60~NKHS{%FW`LKkKa=7572Lr*`#;9CUokc_hnjgW4kkI zdXx)v9w_VBctXr8_yy|URRr8v@UURz@3`&SKu&XIoB&L>S zQXC!}uUw=VIp>>r7Tf@-r0;84nRrz+az`uSK6+=v8@~WK+0@)Z<3J_WBFW>O9MtK)eGcp2Gv;EquOS!_Q3sH+6f$T4!ck1#-zpf%SO7e${pX~_M+MmSB zeiqj5B)JPHuya)JFXr`IbL2vGkcp&xY&`>8T(xKLZhtn;xY-AO z?Sb=pqsvmc+;mSinNsE#TLm_)0GS%Ic!aWYT*PK!$+f!LbZ3C|NW7{Tt=qjO<3J*I zjo(0jtb{Jq!&dwgo1Ek58tlm|-kZ>Q24>I*FdKYF(yUByO8a1~R}UC+zjEx1BlyRA zb>AuJADnkZg_>!~C1sVr2(w^gzlaAzxI|ZaJgJ!4%Ce%Tp*Q6}$d3iuF~(fZ2?hMG?;?fjiY)cQOb#HBTd(R=t}rH-7jAU0jS(N=+te zS}V6sD6!zIv{siD#4I{3^i6gL53>^joXF6!*BBIp3FV0G~h; zQ*RAWIL0JEY^m91o2@^$D~`(4Mz>y)OE$Q@g(b&k&P|CoLaO6{H!r5TRa`(aB(EqU zq-oTdAFNC_aWMteED&$bJ@YqC*X>k6)0Ll#Z($^7Al=XlFRG%2oXZkx-|I@FQ@@Am z%DUX-Hkv+-1ZQO>sn*h{G2gn}U6_*c@vEe1bKcDYmt^{_cgkX<=A1}>Ax_~eZHgd9 zo@4fXuyStFz!1|N{hc78rSkd@CVxiE{CP3#2i=F5UGu43R3EyE`*Ahb!liB!E?qf- zwxB63Vy$WcAmG=ZAz8+7-2%jdddX~qV7WfDt`CsdHTd|i#jv>aKZj`r9=Ys}%>8(s z0KqrNJs(;nW!-xix%xU!SZOG^s=8OO^0hTei1O97zw+Dn(7DptSeXjhXqm!S=oSGk zMif;GPjD>Hse^ROY5}BGf=(FL*>Y!yVDl96uap3Rz)k*rjX6o>UFjIZg%3ni7K8K2 z&iVAE;z++8Ka@AG&!|+zNW<)334*GltZY+C4Q`Y<)eDQl;pJKqTmw*+R@qr(M7x(5 z;yEjZt?*hkoXzLdeD*QpxQ#QNDY{i@UBXEXxZc9+Bb7Jfy@jiBuA!5d=TXmBMAbc6 zI)oDR{G(mFnS_8{Eu<&TnM$4)#?+p7?_I6Y50l5-{Wz9GY?>6fj`FiN$os(1_Fg>w z9_^a?W5TACTknLM18S2jSFAKVEknz_Z(~P6!Cq*FT^ZP}(DMrwv&)&p3c|yrFQkeq z!6K1=S-;+002j1M4FjPuPia=mn#Lu2asi*_rs5+9JPiAQIm#qUs}D&eE|{|T%mV!U zIFJxse4{hfYVoIF+3zpi=D2ShvMXEf%6^HEeUXrX`26#0E=@zn(dQ9&v=Mbe;)3A> zyxT53V#ha5tA;nh%Jv)u5&Qi?JbzY<3rCZtesIhS-6nN#OB zPToksXT*!?wH+@0s^`JFrxBFs1Jjp&>Los$pXbX3T}8)y>t_KpWeCn?XxCrz{#DKU ziRFq*tg;~*@Y`arWt1M?Kv*o`jPX%UIZO*jNh+-cr5l?Qk5Y|O8#2SRfp>;kHk^*~ zQ=V<=43>`G;j~j9oDp*DZmHro1Tyn3HBOw;il*UJ_s_gJj1C&Ys_7RnS+glS<^)iv zXIVaXOiw>XnP>l2z+Yzd`_eNHW!s*rwtM5SZ-K360=KKaPM!M^_?sSa!oiNGkd1o8 zLx-xUF<`glNQT%(!`u7SG?d#*4$=9|Xp=K6v7+)PYXj?((_N_|{M6)% z^6NLq8wD7PbG%U&--EDC&&)a92m*y%!r_ zJfN7zU8Yi$j;j3OWZ4POw!bI=1Es1y=wl!3{~OtNITaPda^DSlhVdU-exd^aQmXmsESg?cek;+JrR$j%#v3*I0Zz zy)v&$VzY`vjJ!357k0l)+-CHOFR{&D_gUS?OfDEM9iuruPPy)h)dv>D9za{F!P&zb z0>U-%P|c!E?gST3-*N_E*A0H-%+-(Io;j^SXU@rj&7IwBF}O|5)NL?aV>9BmFPQ&9 zIMe-$obIE4x1j?%?rS$III7ENBZFuhHms35F)cGzTOaoC1Wb^mgkUpXdd>Qd*kNTO z=!R|`sY5Fua|~bVg6DhGf|Jrumm>8}RI9A1Q+97Bhg3ULDtly(vxmwe!BLlJ!0IaD za4EnNha)wLg_#_X1bgtVK4x!SC;x+Q3zp@H`n!Bkb|rS z{j((CpxVTCs3TE_uFSS5${?Pxz|^nHh{=za0>v!g8zJ>(t3scn(yU$paMgjxL(uaaIat1+!&$PAU-LyL>eUlHrK0EYPXte_5dEA4jH z!dhFjdr11#_Wauy1hceEjXUDK2(cV@i_MOcep(C};cY|{`vvVtqKNWy$>g+fG}=I7 z4IY=;AuMC_!bzOym0CHumS&~}oNydkNZDGw(2b7Z`*p1fqds<&3~lhvWt=eE+NI7k z|Lt0mo5tYI37T<+8nB336+YXzu^PGn(>T^>m|;&eQa&&BqcvqX4N(vYQ3vY;V{f=F zf?f&!{Na^2O+@Yib1Usr!NDV+BmM>qDIMBW|?W1wT%$+z1;W5}b; zGc+@}egH`0>}%^;F(kC`@w^Khf{HJ6=EIdm@&07B!cL1Yuv3#G$BR; ze3FO69#gRvs9DWqqO9i1kH+6jb_37Xm8?T;@$0oso|>vS+q=}Y90DOvDwK$aFF3Z{ ziFCWM!VS_|IQc77%n?QRB-ZK7nHgtpruqv(90IG=VG}%uw5a4Vp|Qg zB*!YgLwOWO9Zhhsj)~5_k&+;nmP#15#g{j)-K7?h8UB=O-_YyXrMEO1jK8BQOQYKf zQ3%fsOThg#{0{*|u}bLV>nGm1@yA;G--`+Vmw4y@^xZ1U{g;3u>geF=X6)ehKN*ki z>DHdxVrbzF*<;7G^QD_xWb!-ZWOUG}dC_RA>83&SUCFs?Xiy5(4lbFP1R;ZGlnzdJ6!0#5VCV7*!AL)FFO&QGTw)Iq| z>2ctrT{sGU*U?tj;XHfw$4Dwa%CApG+T}>}c?j5cYlz5qklJtdcNult@C3Up%V}wo zmXu@jDCSH6)X-SnP`=Op@+=zB9Aouck(?U={rr+4vnHJ4^=vw2NYp9JJBjbaaV^FA ziU}lTI5$jk9%H3*UQSB>WwUvmjm=6Nbyl5rZzj20ue`O|ayxyz13R&wX#$4>YEI94 z1%tCeL;vI1cg7p8^z1j1#zfaK)}GUb48YK%EI@696|IO9pH*6PNX6r{o`#TIGMY|0 z%#^^_KtXL&St~p0w8GA@BnQ78a+RRS-~f{YN?r>lhs*(35nY}jn*M9pnd_9$x1RWe z3BS(b6f=2?PXBf(TXG|Mp6NU+J-vm-WL*x21p&WGTM@FT!&nc2^GvujTU3b9n|B?TE^6fdp#q(%E*wBbooFNcO{cZ1C3NZ zhhEcG=(G9Mrv2L^&O{edxP@mP3gTidZ3HO(N}iRJVCmmERv|~NV*rFw^kq&4T$O-- z%wKbdnCGAU-aI1ua;WcvVq(Uiy@OW<|HHf?W-L~5B5eLA8u2+8piLFC9_-SnBDp~z zs9je}8acX<2U8ssi(_1cGHum|#$gl5b6nO)U^H|pn#8r%OH*v+SB4Uv(NeQ2a~$jU zuj&Y5&47Y-6;&8rS@+XST(9TppC1n+p3_t*6lu3xWo#)wGW_MXkE+7&M6UscI;xJA z%aL~mpU`<*Hg#TIgPa=h>qbfIG7iYxo@LG)x?{QqV}>`4xy4ndKWuS}>~8e^CF@ZM z+lYPa(sn} zmFyL%&11C+l`M+&6e{UO-5TmC%`wrwr zNf?UoKzu<&7>@88`GRR59RIMVsOOE!jgv4W{?YjYYabN<9CeZ34~1vwcu~3^6X*PI zq3=7I8{s};-jSyF!15EL3ot`;0DLEkUE$KPOHlsXe}>@GL1lx?{rEtAq5ogA`S5IZ4JT&HQBGqw%M(#f@*Qc_QzkD`QIR&^UmI$UX?i)Kfacp;n;g zN{{Wkkas?Sep3CWK+_~a*x`1a-*G+r{r>z7d;sx#X)ZmHr#=vtut3%)tG`$y%g-&#e&6|*mn6{nuq3%6|pHc zK7l@bC_usdVzpk%IZsm4nwZ6BYTi%*Z={G3R7c*sQWE!92&`*=WTJ(Hcn9&#vQ0*# zM(+q`TYUk?)pE6++XQGu><}oYKV2 z|5)Vm@7qr1GE#f?I;kBSv=ddpX|X_jsvS%)QrlxN;pVf z({NTNX)e}{`ADXi2PRt9T;Y5>tLPXxa&m|)ikwV`CX!*^8#xUvMWP*^rnqe5EG&n_ zi1(~R9FsV5ulzD*6~jlA`KJ(Z$6v{Q@J3L$+1CxK5!tZs$tKEk|sde2aML zHn~T&-6cY-N6w`J(5`D!(?N+8u{qCXg-r=;LZvt@%nu#Csxl9!&^ylB#V$JyPj-sZ zcpjJg%WkKz-g4~+uCkd<2+BI$#Lz@N%?=Uf57tY=YWwU6pOG89YV0ep7|0%q4 zqHBWeHQOvf`i^z#i^5wdelrAO(>Bo`!aFjsrq^VC*?Y{r4ZSP|3T%Ros;{us)?9ww zxh-wg9ixj7cp@0wmFAj4Gu53`s3IYn_+<3N_h%bF@f|yHHGS+eee^eZ^oQmedB58= zf!#HQbS zU`5O^*2TpZcNq!W&n;g)l1~?tt4KSG;{%u2S=XVF356fV8d=BgLZ~eAIC_umESIUf zE87I$jIgL#4`;*D)CM(2umm_* zcW85k(CNyM6%Luh!pdT9`^>A9^wbWuNV?Mv#$DE`aI4775U^h%Zru@^&ktX}L-ra3 z49gw(2aCZI2ew4HC%5n7Sp<7Oh`@(bmvjL!d~_ z2-I{;LCXp9_6R*bL!*ONLgkH5%QfbqTEcc&{BD+c%8g=oVM*oFVJ>d2wlSF-j<(tK zl9c^QjutOlbx$*w?KWwuIeHm+2(dX=2gHq)S!gEaWg05CJKZEcx~LDc^}?i~8lwhb zWkt={4BucdpD@kc7;2a>T;8SlerZ<3t#wsqp=p?Ofg>zo>8C9bUH4n{U%E&FDGw zv~o(JOTMG1BbOnra#+qW>zU#%ZOLgRi-Op^r+}Ok*84tmS5{*4^VS|a>YmQF;k=aT z?vnP5av{4SR#uGikxr#uB2G@Ip}^q@Ute20*m^-zD`8a2&@iV7&VeI}*d-IqPLlI; zNTzlbomAqaCM((Py!*3j7CRf4T*)})n(_!xg8PUfVJb;J8DBaD-m#OHVu8U-LKG-#dzg6iPB5lw+R^xl@KL*_xTN zlI3U@yr7E7mE~5;ol!*)hsRnv0Z9=D7q#MZa-X13xX0q0UNHlY6w_wf2C1iNu?FcU z9_|Z@ktrz7ODPdAnG~3RHx%@d34vBSka!NcpnzJ=33e4WOJQ;B`Xi43HD4`xb_6ANe1_c77BFx`}TLTDZ`&ouy5ar-d3qO@n~8Z&W-Jy;9~HB~y@P(7z& z!w*+3G1u)d#sy$)=j4R6Xcy0jJ6%4%Y z+t$H(J~sf{ieUw3V&iN&%}SXNno|}L)2oyqiL$Am)5Mw>@^ON+_U08h-nrJ5HIMAF zWwsj&++_@BUb?p7nf6|X>mminz?(Fa(muKx+e}EROQB}_O$MqdGWJvtAS5cH~y)BGbp3~MZM!0=wW6NrPUEjvMRUbez^O|yRHnib6*NR?n=x3XAgtsaLOIM> zTgiC~`MY47r$UfOA`bB$$=rw;g*YF1P7+@WDc^BVk{JsTxuLyJ(4Hn%SrW6EGGVY} zQiuvHhM}_INv%1t#QzRr@nDTFBP)r)8uQVIL%ZR~k>xEW!%6YWSMR(rXTNvuT5%9e z);^2y9?*ys5OIb(4V4POS%V<}H9)R!I60DDN76~KffXSfI%;skJ($aVLx!&W_5*Lu z3(a(q<(;#Vc-a^BC~qNnwYmGeLieR}F z%6dDTg>X3gPYm&Vdc@314hZ>5ir_nlVo-1e!s-pRa*Fzj~RqH|pZH{fAQ4eh0V zQ7&|PS|VoeioB0g2{chh%L>pNH!)KD05Eap_bRBexHnjnN7-i*HxxNOk!xkK_2#G!fK77Z3j}|$2uklo<(^GrfxsTmQG7<#d9AH8Vm}JECh@(^Nqqk^UH1m$ke8_DnoJV3%(p&8|FxX>H%uEcke-bt_vpMdOjP~Z{i zW`h3@5jRYPbAlh%>)6Dk;UV-RHlHbEZz+cOMaP--+p@>{Xyh>k&HgRH?_K2f`#t3A zo~=zk&6q#CHew^l4?w_L;P9`i|mD8Va>&kijXqX8v?7wAHrqj92FgxOG!7t3ehQ{X`I z_X9IFLI9=dAy*biLGtDUH^T#?Gvr$|T?Fch3YYZS2x6!Hzevgs)#;YxAWq61FZSjqsU3Jti+{@rks#11ZTsmVx2ifP7!jIhkkS$6ZkE>SbM` zSjkj|cYL@=N%cE5bnNIG^lQS7`q5G7OWNY6g{m$jMM$V+2L1)u(9A}&x_<^(*-UV$ zs*;wsN3y1cbuQgRdx82?3muC^SOsy;YIIt+kNaBS>cJBC8oTt$QyjpvAUnogdYR4+ z>zYvZV!sS;8~x~T2;;g&zKiJP^-Tlr@K@nA^uO)lZO@kMa> z9FY@-zM_5e!8+gm9sBUnqnU4G2!8Er&;`M4Fx&+-#z7~RY1J^t5(*FX2Z@9Dz#HhU z#T(LIb1G#eyRf{0flTG}Da+>LZ0k=w7)z>7QIiwvUV>+`c_*Y{r0+e9 zS7`09{|icNea29Zm)>Wf9&|yXI~H@pxKtPLd?GF&_I(IHzeyza2UeWD$jT!7%QoFe z^M)?VGKZYiA^jwN`gWJoYyn1suTluhbYYmxH}YeOczG4+87|6>n$S!5i(WKH}V~0{w!(+Xv_}aK@DOcF#tH`BFQq$XbxmI2h%Z>~-LwW6r zL@6~@3+`V!p@%V+lU-~%w^js`DI2mIOBqci6OAPe#*&6Z@%_>G{`kBf6mk@fBXExh zYKgB!;eJrEzbCt*@f-oa$+$!MMilFp13*Q)r4Ph!;P4|OPhB<-*#vsXe)=6Dl&si* z_V~V(v9ykG-Jl=@haejD_{q))1Bv<8g@%gg+9o;a*5T4_BK!n=w}2;K;kSVy@=qdW zexrnVb~AWP?}YW?tNe;vLSpNl3<U?^W0^^f%>E-^@2BnKcAT}5RG$G0~5tADpVL*>v zL<_>8ZI3fdQ$ufGkyqUN(w`^!)x9u%-Q^MO{$#@&06P2&jF0HDf-d_|Vp8NHBoLDu zR5ZvLc~~RoAJDKXlvT=a&~dMumMDJ?ND?`rOv|Y(T4W9q!1n0`($9N>8aNWRxLM5m z;B-33fp?A6PReJ#A}Ia_KA7c@md91Dup^cWd&@#lo!e>5wbYT4J>xw2&$0-6O%0k zH)_>q#a6%S8ARgoNs>aNZVop!0)nv*5?Vaz5jvl=h$yVwODb!1-(IS;sh(6*&ob#~ z+o&V!Ni*}rwAwf@l<|k!^}gwbr-*`wyG0fBgQgxBv5Xh=beoZDUP$MvGNS7 z+XC_F>nck!KI7@hIU_%GSj&+eX{EXRa>;_r8n-w{hLYJ7ccm;14-|JEYT#$oze@%84lka4&IG zfXVx3FdJlCNk(krRY!iIGjr}(oR8bL4|1g3c(e8Te?_j9nXGmDx4vsCP^aDK(^rlpY|deKNUB zvX*)Hw0iDRzItjr2~E5p>8?6kh~wB7B-7bU-Yt3FmaM8eJo6V`*(mFQ-|QtY&{`I4 zQ=O}$za>00uQA(;PEju5syFcEQ#cb&WiE{+Hc!ncn#J%Xx5g!yDN^c zAv_NVU&XhVk#b9wmBjtI?xfcjzwD^wNu@vmZ?2~@PHyfKtyiX-aB;@IuUi9sPJ8FK3HX27W>#zbN}$y7}E_j|AwnoylR|+awUpqJmV-gQYmw z|9>#{j`5ZC%hqVe=-770wr$(CZFX#@w|mp1sd|_Pd{R&%XD=`momg zGJmt`Uo~c}QDb2JY-PQFACxN7Q{eHU)jW%js|al9L_}V>jKd%Yr;^bkCapWmpQo}$ zPCNHoq-|0*&JC~NENh}B2?_K5!ObE`6IF(R#Zv2LgdCd7p)sQwULuut9BwTV72Hhp zA{8Vq7u0X>P?d)l+XCrBMO8UoT#d6T^#BxQUMhW|)+>iCF0;B_5@4UmfYf z;AxTh8dKXy6J?o!ixg~FktbV+7VpfhiJ)dzU=4q9fmqzGQ_r|rBEwBWDxNWXvh2CP z*5ZjwoiW^wm@!-%M~;S!dS6;1v(LZoh)Dx&;$`fWc^N%1s*O_n#gz^(9WC;3xR=~L zm1#^S!bEEm|$ZvOx}t05c$zO=pU0AdT-P|yTY>mM1f?WLIS*Mu%~U_59VKW0w@av*f8 zLUqg)($*SrV7#@)L}LzkiNR-E$iOYQpxI8ydXsShMGsVE;RxRIQ1@A)v2$4zV$w+F z=WUv+&SQp38c0E%m`f@;9&ue=41nw`&pOmVP%~@EnvBY&i5$^0DsDG2zrj9hM*NdG zrbvT@{qv`pA#1hA8U~;o6HtClv`EcI^r)VHlVKMBdPDuC`P!hL?^tYl3M-HrWKY=3 z0+edUWjbcsRP>FyCgsDyg}wm4ERfJ=jaMP2x|mMH1W;oPr^V=Xkw`Fl-UM%+x`D+( zJaa}ogzG7?e=MjbEK7*O(>|)IQ?;HBAlqmI$i^^=Qt=f&&&r)qY+{w!h{}pbrOZID z2~X)-E6q{!2uQ_}QBIyCuyg@3Bf`pu4_8Ha6VJK;-Z*&FsK_7d>#DMN(TT0qC#tfn zLlW8>&QxS$U&`6Ffy$x%Bn%>$Dri47*Gfv`aZ^yhb0&-6q7}VD&)nkU?b6G(NHzH= z>TnZ+%zdzOd#B_it_-__K(x39B~Cgr`7g3vr7V|S##IVAwO5PIb1qhyH|5I;wbJgmrjP?-uymJn`*1bnanonumt_qekm1y5u_TgM)7 z&(uzQWnZ04YAq3M9(y2@=s{DXhRBB4r z98q!W8KTuwIo&$m?PnZ3?VOu`>9W8Oo_-uKE&=F?|A&9TZwzTQ@I{C!C_X6`JVLVR z9b|!giS0a!I6V#P%q|+K-I)x@oCpfASRO&QYV~ewrP4Tq)YsW;cbd{!FC(q}Y znq#_oQY#sEzz>L>aXzwYHTcJp57;^bGM*H2MJd-Xo?uskOE&;#TzvkeTc|rM-Yng* zquJ;;Z%>f!RNLL9X})Xh6Vt9l+a0$Vt!G_NY(7c5qw1NgHy=+jK3TV05rAMaeY<*$B zbcJ`3!8hM?Sy3BYM15C> zFk%^FU96WKBz29c4Rm3-G}(v>tO#{Tx@Xok=!||;$KPW=Gt1O}kJeizNUZNMWyCgZ zGI=&NbFEqljb;w5ojFuz9i%o8G5vvUMr%57C}N%0nk>V>R#$q+%8E;O&NNPJo&3z5 zVbe7^Iu5Vi`b?2w1~9&zn6u6mGE;%0D|aZU8HjPU4$sFfce*ng!y#UF6hmwuW{B1~ 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

}t?Rx@3NSjOYtxWRT;Wg<3>ohS6A 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

bVkZdYs$-$9!3(O*NB^$&Acv@qN0zT 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 databaseCache = Collections.emptyList(); + private String schemaCacheCatalog = ""; + private long schemaCacheTimeMillis; + private List schemaCache = Collections.emptyList(); + private String tableCacheCatalog = ""; + private String tableCacheSchema = ""; + private long tableCacheTimeMillis; + private List tableCache = Collections.emptyList(); + + public Gbase8sAgent() { + super(GBASE8S_PROFILE); + } + + public static String buildUrl(ConnectParams params) { + if (!params.getConnection_string().trim().isEmpty()) { + return params.getConnection_string(); + } + String extraParams = trimEnd(trimStart(params.getUrl_params().trim(), ':', ';'), ';'); + String database = params.getDatabase().trim().isEmpty() ? "sysmaster" : params.getDatabase().trim(); + String serverParam = containsIgnoreCase(extraParams, "GBASEDBTSERVER=") + ? "" + : "GBASEDBTSERVER=" + getGbaseServer(params); + List jdbcParams = new ArrayList<>(); + if (!serverParam.isBlank()) { + jdbcParams.add(serverParam); + } + if (!extraParams.isBlank()) { + jdbcParams.add(extraParams); + } + return "jdbc:gbasedbt-sqli://" + params.getHost() + ":" + port(params) + "/" + database + ":" + + String.join(";", jdbcParams); + } + + private static String getGbaseServer(ConnectParams params) { + if (params.getGbase_server() != null && !params.getGbase_server().trim().isEmpty()) { + return params.getGbase_server().trim(); + } + return defaultGbaseServer(params.getHost()); + } + + @Override + protected String buildJdbcUrl(ConnectParams params) { + return buildUrl(params); + } + + @Override + protected void afterConnect(ConnectParams params, Connection connection) { + super.afterConnect(params, connection); + clearMetadataCache(); + } + + @Override + public void disconnect() { + clearMetadataCache(); + super.disconnect(); + } + + @Override + public QueryResult executeQuery(String sql, String schema, ExecuteQueryOptions options) { + QueryResult result = super.executeQuery(sql, schema, options); + if (mayChangeMetadata(sql)) { + clearMetadataCache(); + } + return result; + } + + @Override + public List listDatabases() { + List cached = cachedDatabases(); + if (cached != null) { + return cached; + } + List names = queryDatabaseNamesInCatalog("sysmaster", "SELECT name FROM sysdatabases ORDER BY name"); + if (names.isEmpty()) { + names = queryDatabaseNames("SELECT name FROM sysmaster:sysdatabases ORDER BY name"); + } + if (names.isEmpty()) { + names = queryDatabaseNames("SELECT name FROM sysdatabases ORDER BY name"); + } + if (names.isEmpty()) { + return super.listDatabases(); + } + List result = new ArrayList<>(); + for (String name : names) { + result.add(new DatabaseInfo(name)); + } + cacheDatabases(result); + return result; + } + + @Override + public List listSchemas() { + try { + String catalog = currentCatalog(); + List cached = cachedSchemas(catalog); + if (cached != null) { + return cached; + } + Set schemas = new LinkedHashSet<>(); + try (PreparedStatement stmt = requireConnection().prepareStatement( + "SELECT DISTINCT owner FROM systables WHERE tabid >= 100 AND tabtype IN ('T', 'V') ORDER BY owner" + ); ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String owner = trim(rs.getString("owner")); + if (!owner.isEmpty()) { + schemas.add(owner); + } + } + } + List result = new ArrayList<>(schemas); + Collections.sort(result); + cacheSchemas(catalog, result); + return result; + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + @Override + public List listTables(String schema) { + try { + String catalog = currentCatalog(); + List cached = cachedTables(catalog, schema); + if (cached != null) { + return cached; + } + List result = new ArrayList<>(); + String owner = trim(schema); + String sql = "SELECT tabname, tabtype FROM systables WHERE tabid >= 100 AND tabtype IN ('T', 'V')"; + if (!owner.isEmpty()) { + sql += " AND owner = ?"; + } + sql += " ORDER BY tabname"; + try (PreparedStatement stmt = requireConnection().prepareStatement(sql)) { + if (!owner.isEmpty()) { + stmt.setString(1, owner); + } + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TableInfo( + trim(rs.getString("tabname")), + tableType(rs.getString("tabtype")) + )); + } + } + } + result.sort(Comparator.comparing(TableInfo::getName)); + cacheTables(catalog, schema, result); + return result; + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + public static void main(String[] args) { + new JsonRpcServer(new Gbase8sAgent()).run(); + } + + private static int port(ConnectParams params) { + return params.getPort() > 0 ? params.getPort() : GBASE8S_PROFILE.getDefaultPort(); + } + + private static String defaultGbaseServer(String host) { + return isIpAddress(host) ? "gbase8s" : host; + } + + private static boolean isIpAddress(String host) { + return host.matches("\\d{1,3}(\\.\\d{1,3}){3}") || host.contains(":"); + } + + private static String trimStart(String value, char... chars) { + int start = 0; + while (start < value.length() && contains(chars, value.charAt(start))) { + start++; + } + return value.substring(start); + } + + private static String trimEnd(String value, char... chars) { + int end = value.length(); + while (end > 0 && contains(chars, value.charAt(end - 1))) { + end--; + } + return value.substring(0, end); + } + + private static boolean contains(char[] chars, char value) { + for (char ch : chars) { + if (ch == value) { + return true; + } + } + return false; + } + + private static boolean containsIgnoreCase(String value, String needle) { + return value.toLowerCase(Locale.ROOT).contains(needle.toLowerCase(Locale.ROOT)); + } + + private List queryDatabaseNames(String sql) { + try { + return queryDatabaseNames(requireConnection(), sql); + } catch (Exception ignored) { + return Collections.emptyList(); + } + } + + private List queryDatabaseNamesInCatalog(String catalog, String sql) { + try { + Connection connection = requireConnection(); + String previousCatalog = ""; + try { + previousCatalog = trim(connection.getCatalog()); + } catch (Exception ignored) { + } + connection.setCatalog(catalog); + try { + return queryDatabaseNames(connection, sql); + } finally { + if (!previousCatalog.isEmpty()) { + try { + connection.setCatalog(previousCatalog); + } catch (Exception ignored) { + } + } + } + } catch (Exception ignored) { + return Collections.emptyList(); + } + } + + private static List queryDatabaseNames(Connection connection, String sql) throws Exception { + Set names = new LinkedHashSet<>(); + try (PreparedStatement stmt = connection.prepareStatement(sql); ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String name = trim(rs.getString(1)); + if (!name.isEmpty()) { + names.add(name); + } + } + } + List result = new ArrayList<>(names); + Collections.sort(result); + return result; + } + + private static String tableType(String tabtype) { + return "V".equalsIgnoreCase(trim(tabtype)) ? "VIEW" : "TABLE"; + } + + private static String trim(String value) { + return value == null ? "" : value.trim(); + } + + private String currentCatalog() { + try { + return trim(requireConnection().getCatalog()); + } catch (Exception ignored) { + return ""; + } + } + + private List cachedDatabases() { + synchronized (metadataCacheLock) { + if (cacheFresh(databaseCacheTimeMillis) && !databaseCache.isEmpty()) { + return new ArrayList<>(databaseCache); + } + } + return null; + } + + private void cacheDatabases(List databases) { + synchronized (metadataCacheLock) { + databaseCache = new ArrayList<>(databases); + databaseCacheTimeMillis = System.currentTimeMillis(); + } + } + + private List cachedSchemas(String catalog) { + synchronized (metadataCacheLock) { + if (cacheFresh(schemaCacheTimeMillis) && schemaCacheCatalog.equals(catalog)) { + return new ArrayList<>(schemaCache); + } + } + return null; + } + + private void cacheSchemas(String catalog, List schemas) { + synchronized (metadataCacheLock) { + schemaCacheCatalog = catalog; + schemaCache = new ArrayList<>(schemas); + schemaCacheTimeMillis = System.currentTimeMillis(); + } + } + + private List cachedTables(String catalog, String schema) { + String owner = trim(schema); + synchronized (metadataCacheLock) { + if (cacheFresh(tableCacheTimeMillis) && tableCacheCatalog.equals(catalog) && tableCacheSchema.equals(owner)) { + return new ArrayList<>(tableCache); + } + } + return null; + } + + private void cacheTables(String catalog, String schema, List tables) { + synchronized (metadataCacheLock) { + tableCacheCatalog = catalog; + tableCacheSchema = trim(schema); + tableCache = new ArrayList<>(tables); + tableCacheTimeMillis = System.currentTimeMillis(); + } + } + + private boolean cacheFresh(long timeMillis) { + return timeMillis > 0 && System.currentTimeMillis() - timeMillis <= METADATA_CACHE_TTL_MILLIS; + } + + private void clearMetadataCache() { + synchronized (metadataCacheLock) { + databaseCacheTimeMillis = 0; + databaseCache = Collections.emptyList(); + schemaCacheCatalog = ""; + schemaCacheTimeMillis = 0; + schemaCache = Collections.emptyList(); + tableCacheCatalog = ""; + tableCacheSchema = ""; + tableCacheTimeMillis = 0; + tableCache = Collections.emptyList(); + } + } + + private static boolean mayChangeMetadata(String sql) { + String normalized = trim(sql).toLowerCase(Locale.ROOT); + return normalized.startsWith("create ") + || normalized.startsWith("drop ") + || normalized.startsWith("alter ") + || normalized.startsWith("rename ") + || normalized.startsWith("truncate "); + } +} diff --git a/agents/drivers/gbase8s/src/test/java/com/dbx/agent/gbase8s/Gbase8sAgentTest.java b/agents/drivers/gbase8s/src/test/java/com/dbx/agent/gbase8s/Gbase8sAgentTest.java new file mode 100644 index 0000000000..32183511a2 --- /dev/null +++ b/agents/drivers/gbase8s/src/test/java/com/dbx/agent/gbase8s/Gbase8sAgentTest.java @@ -0,0 +1,98 @@ +package com.dbx.agent.gbase8s; + +import com.dbx.agent.ConnectParams; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class Gbase8sAgentTest { + @Test + void declaresGbase8sProfile() { + Gbase8sAgent agent = new Gbase8sAgent(); + + Assertions.assertEquals("com.gbasedbt.jdbc.Driver", agent.getProfile().getDriverClass()); + Assertions.assertEquals("jdbc:gbasedbt-sqli://{host}:{port}/{database}:GBASEDBTSERVER=gbase8s", agent.getProfile().getUrlTemplate()); + Assertions.assertEquals(9088, agent.getProfile().getDefaultPort()); + Assertions.assertTrue(agent.getProfile().getSkipExecutionContext()); + } + + @Test + void buildsGbase8sJdbcUrlWithExplicitServerAndLocaleParameters() { + String url = Gbase8sAgent.buildUrl( + new ConnectParams( + "172.26.128.159", + 20013, + "testdb", + "", + "", + "GBASEDBTSERVER=gbase01;CLIENT_LOCALE=zh_cn.utf8;DB_LOCALE=zh_cn.utf8", + "", + false + ) + ); + + Assertions.assertEquals( + "jdbc:gbasedbt-sqli://172.26.128.159:20013/testdb:GBASEDBTSERVER=gbase01;CLIENT_LOCALE=zh_cn.utf8;DB_LOCALE=zh_cn.utf8", + url + ); + } + + @Test + void fallsBackToHostAsGbaseServerWhenNoExplicitServerIsConfigured() { + String url = Gbase8sAgent.buildUrl( + new ConnectParams( + "gbase-host", + 9088, + "sysmaster", + "", + "", + "", + "", + false + ) + ); + + Assertions.assertEquals( + "jdbc:gbasedbt-sqli://gbase-host:9088/sysmaster:GBASEDBTSERVER=gbase-host", + url + ); + } + + @Test + void fallsBackToGbaseServerNameWhenHostIsAnIpAddress() { + String url = Gbase8sAgent.buildUrl( + new ConnectParams( + "172.26.128.159", + 0, + "sysmaster", + "", + "", + "", + "", + false + ) + ); + + Assertions.assertEquals( + "jdbc:gbasedbt-sqli://172.26.128.159:9088/sysmaster:GBASEDBTSERVER=gbase8s", + url + ); + } + + @Test + void usesConnectionStringWhenConfigured() { + String url = Gbase8sAgent.buildUrl( + new ConnectParams( + "ignored", + 0, + "", + "", + "", + "", + "jdbc:gbasedbt-sqli://db.example.com:20013/app:GBASEDBTSERVER=gbase01", + false + ) + ); + + Assertions.assertEquals("jdbc:gbasedbt-sqli://db.example.com:20013/app:GBASEDBTSERVER=gbase01", url); + } +} diff --git a/agents/drivers/goldendb/build.gradle b/agents/drivers/goldendb/build.gradle new file mode 100644 index 0000000000..a200788437 --- /dev/null +++ b/agents/drivers/goldendb/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.mysql:mysql-connector-j:9.2.0' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'GoldenDB', 'Main-Class': 'com.dbx.agent.goldendb.GoldendbAgent') + } +} diff --git a/agents/drivers/goldendb/libs/.gitkeep b/agents/drivers/goldendb/libs/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/agents/drivers/goldendb/src/main/java/com/dbx/agent/goldendb/GoldendbAgent.java b/agents/drivers/goldendb/src/main/java/com/dbx/agent/goldendb/GoldendbAgent.java new file mode 100644 index 0000000000..04590b0cc9 --- /dev/null +++ b/agents/drivers/goldendb/src/main/java/com/dbx/agent/goldendb/GoldendbAgent.java @@ -0,0 +1,409 @@ +package com.dbx.agent.goldendb; + +import com.dbx.agent.BaseDatabaseAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ExecuteQueryOptions; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcExecutor; +import com.dbx.agent.JdbcIdentifiers; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.ObjectInfo; +import com.dbx.agent.ObjectSource; +import com.dbx.agent.QueryResult; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.Types; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; +import java.util.HashSet; + +public final class GoldendbAgent extends BaseDatabaseAgent { + private Connection connection; + + @Override + public Connection getConnection() { + return connection; + } + + @Override + public void connect(ConnectParams params) { + uncheckedVoid(() -> { + Class.forName("com.mysql.cj.jdbc.Driver"); + connection = DriverManager.getConnection(buildUrl(params), params.getUsername(), params.getPassword()); + }); + } + + @Override + public boolean testConnection(ConnectParams params) { + return unchecked(() -> { + Class.forName("com.mysql.cj.jdbc.Driver"); + try (Connection conn = DriverManager.getConnection(buildUrl(params), params.getUsername(), params.getPassword())) { + return conn.isValid(5); + } + }); + } + + @Override + public List listDatabases() { + return unchecked(() -> { + List result = new ArrayList<>(); + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery("SHOW DATABASES")) { + while (rs.next()) { + result.add(new DatabaseInfo(rs.getString(1))); + } + } + return result; + }); + } + + @Override + public List listSchemas() { + List result = new ArrayList<>(); + for (DatabaseInfo database : listDatabases()) { + result.add(database.getName()); + } + return result; + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + try (java.sql.PreparedStatement stmt = requireConnected().prepareStatement( + "SELECT TABLE_NAME, TABLE_TYPE, TABLE_COMMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA = ? ORDER BY TABLE_NAME" + )) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String tableType = rs.getString("TABLE_TYPE"); + if ("BASE TABLE".equals(tableType)) { + tableType = "TABLE"; + } + result.add(new TableInfo(rs.getString("TABLE_NAME"), tableType, emptyToNull(rs.getString("TABLE_COMMENT")))); + } + } + } + return result; + }); + } + + @Override + public List listObjects(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + for (TableInfo table : listTables(schema)) { + result.add(new ObjectInfo(table.getName(), table.getTable_type(), schema, table.getComment())); + } + + try (java.sql.PreparedStatement stmt = requireConnected().prepareStatement( + "SELECT ROUTINE_NAME, ROUTINE_TYPE FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = ? ORDER BY ROUTINE_NAME" + )) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ObjectInfo(rs.getString(1), rs.getString(2), schema, null)); + } + } + } + return result; + }); + } + + @Override + public ObjectSource getObjectSource(String schema, String name, String objectType) { + return unchecked(() -> { + String quotedName = JdbcIdentifiers.INSTANCE.backtick(name); + String sql = switch (objectType.toUpperCase(Locale.ROOT)) { + case "VIEW" -> "SHOW CREATE VIEW " + quotedName; + case "PROCEDURE" -> "SHOW CREATE PROCEDURE " + quotedName; + case "FUNCTION" -> "SHOW CREATE FUNCTION " + quotedName; + default -> throw new IllegalArgumentException("Unsupported object type: " + objectType); + }; + + String source = ""; + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery(sql)) { + if (rs.next()) { + int sourceIndex = "VIEW".equals(objectType.toUpperCase(Locale.ROOT)) ? 2 : 3; + String value = rs.getString(sourceIndex); + source = value == null ? "" : value; + } + } + return new ObjectSource(name, objectType, schema, source); + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + Set primaryKeys = new HashSet<>(); + try (java.sql.PreparedStatement stmt = requireConnected().prepareStatement( + """ + SELECT COLUMN_NAME + FROM information_schema.KEY_COLUMN_USAGE + WHERE TABLE_SCHEMA = ? + AND TABLE_NAME = ? + AND CONSTRAINT_NAME = 'PRIMARY' + """ + )) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + primaryKeys.add(rs.getString("COLUMN_NAME")); + } + } + } + + List result = new ArrayList<>(); + try (java.sql.PreparedStatement stmt = requireConnected().prepareStatement( + """ + SELECT COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_DEFAULT, EXTRA, COLUMN_COMMENT, + NUMERIC_PRECISION, NUMERIC_SCALE, CHARACTER_MAXIMUM_LENGTH + FROM information_schema.COLUMNS + WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? + ORDER BY ORDINAL_POSITION + """ + )) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String columnName = rs.getString("COLUMN_NAME"); + result.add(new ColumnInfo( + columnName, + rs.getString("COLUMN_TYPE"), + "YES".equals(rs.getString("IS_NULLABLE")), + rs.getString("COLUMN_DEFAULT"), + primaryKeys.contains(columnName), + rs.getString("EXTRA"), + emptyToNull(rs.getString("COLUMN_COMMENT")), + integerOrNull(rs, "NUMERIC_PRECISION"), + integerOrNull(rs, "NUMERIC_SCALE"), + numberToIntOrNull(rs, "CHARACTER_MAXIMUM_LENGTH") + )); + } + } + } + return result; + }); + } + + @Override + public List listIndexes(String schema, String table) { + return unchecked(() -> { + Map> indexMap = new TreeMap<>(); + Map uniqueMap = new HashMap<>(); + Map typeMap = new HashMap<>(); + String quotedTable = JdbcIdentifiers.INSTANCE.backtick(table); + String quotedSchema = JdbcIdentifiers.INSTANCE.backtick(schema); + + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery("SHOW INDEX FROM " + quotedTable + " FROM " + quotedSchema)) { + while (rs.next()) { + String indexName = rs.getString("Key_name"); + String columnName = rs.getString("Column_name"); + int seqInIndex = rs.getInt("Seq_in_index"); + int nonUnique = rs.getInt("Non_unique"); + String indexType = rs.getString("Index_type"); + + indexMap.computeIfAbsent(indexName, ignored -> new ArrayList<>()) + .add(new IndexColumn(seqInIndex, columnName)); + uniqueMap.put(indexName, nonUnique == 0); + typeMap.put(indexName, indexType); + } + } + + List result = new ArrayList<>(); + for (Map.Entry> entry : indexMap.entrySet()) { + List columns = entry.getValue(); + columns.sort((left, right) -> Integer.compare(left.ordinal, right.ordinal)); + List columnNames = new ArrayList<>(); + for (IndexColumn column : columns) { + columnNames.add(column.name); + } + + String indexName = entry.getKey(); + result.add(new IndexInfo( + indexName, + columnNames, + Boolean.TRUE.equals(uniqueMap.get(indexName)), + "PRIMARY".equals(indexName), + null, + typeMap.get(indexName), + null, + null + )); + } + return result; + }); + } + + @Override + public List listForeignKeys(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + try (java.sql.PreparedStatement stmt = requireConnected().prepareStatement( + """ + SELECT CONSTRAINT_NAME, COLUMN_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME + FROM information_schema.KEY_COLUMN_USAGE + WHERE TABLE_SCHEMA = ? + AND TABLE_NAME = ? + AND REFERENCED_TABLE_NAME IS NOT NULL + ORDER BY CONSTRAINT_NAME + """ + )) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ForeignKeyInfo( + rs.getString("CONSTRAINT_NAME"), + rs.getString("COLUMN_NAME"), + rs.getString("REFERENCED_TABLE_NAME"), + rs.getString("REFERENCED_COLUMN_NAME") + )); + } + } + } + return result; + }); + } + + @Override + public List listTriggers(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + try (java.sql.PreparedStatement stmt = requireConnected().prepareStatement( + """ + SELECT TRIGGER_NAME, EVENT_MANIPULATION, ACTION_TIMING + FROM information_schema.TRIGGERS + WHERE TRIGGER_SCHEMA = ? AND EVENT_OBJECT_TABLE = ? + ORDER BY TRIGGER_NAME + """ + )) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TriggerInfo( + rs.getString("TRIGGER_NAME"), + rs.getString("EVENT_MANIPULATION"), + rs.getString("ACTION_TIMING") + )); + } + } + } + return result; + }); + } + + @Override + public QueryResult executeQuery(String sql, String schema, ExecuteQueryOptions options) { + return JdbcExecutor.INSTANCE.execute( + requireConnected(), + sql, + schema, + this::setSchemaSQL, + options.getMaxRows(), + options.getFetchSize(), + options.getTimeoutSecs(), + this::resultValue + ); + } + + @Override + public String setSchemaSQL(String schema) { + return "USE " + JdbcIdentifiers.INSTANCE.backtick(schema); + } + + @Override + public void disconnect() { + uncheckedVoid(() -> { + if (connection != null) { + connection.close(); + } + connection = null; + }); + } + + private Object resultValue(ResultSet rs, int index, int sqlType) { + return unchecked(() -> { + Object value; + switch (sqlType) { + case Types.BIGINT: + value = rs.getLong(index); + break; + case Types.INTEGER: + case Types.SMALLINT: + case Types.TINYINT: + value = rs.getInt(index); + break; + case Types.FLOAT: + case Types.REAL: + value = rs.getFloat(index); + break; + case Types.DOUBLE: + value = rs.getDouble(index); + break; + case Types.DECIMAL: + case Types.NUMERIC: + value = rs.getBigDecimal(index); + break; + case Types.BOOLEAN: + case Types.BIT: + value = rs.getBoolean(index); + break; + default: + value = rs.getString(index); + break; + } + return rs.wasNull() ? null : value; + }); + } + + private static String buildUrl(ConnectParams params) { + return "jdbc:mysql://" + params.getHost() + ":" + params.getPort() + "/" + params.getDatabase() + + "?useSSL=false&allowPublicKeyRetrieval=true"; + } + + private static String emptyToNull(String value) { + return value == null || value.isEmpty() ? null : value; + } + + private static Integer integerOrNull(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value instanceof Integer ? (Integer) value : null; + } + + private static Integer numberToIntOrNull(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value instanceof Number ? ((Number) value).intValue() : null; + } + + private static final class IndexColumn { + private final int ordinal; + private final String name; + + private IndexColumn(int ordinal, String name) { + this.ordinal = ordinal; + this.name = name; + } + } + + public static void main(String[] args) { + new JsonRpcServer(new GoldendbAgent()).run(); + } +} diff --git a/agents/drivers/goldendb/src/test/java/com/dbx/agent/goldendb/GoldendbAgentMetadataTest.java b/agents/drivers/goldendb/src/test/java/com/dbx/agent/goldendb/GoldendbAgentMetadataTest.java new file mode 100644 index 0000000000..ba3d9e1ac6 --- /dev/null +++ b/agents/drivers/goldendb/src/test/java/com/dbx/agent/goldendb/GoldendbAgentMetadataTest.java @@ -0,0 +1,25 @@ +package com.dbx.agent.goldendb; + +import com.dbx.agent.test.TestSupport; +import com.dbx.agent.test.JdbcAgentFake; +import com.dbx.agent.test.JdbcMetadataSqlFake; +import java.sql.Connection; +import java.util.List; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class GoldendbAgentMetadataTest { + @Test + void quotesSchemaAndTableIdentifiersInIndexMetadataSql() { + GoldendbAgent agent = new GoldendbAgent(); + Connection fake = JdbcMetadataSqlFake.connection(); + TestSupport.setPrivateConnection(agent, fake); + + agent.listIndexes("bad`schema", "bad`table"); + + Assertions.assertEquals( + List.of("SHOW INDEX FROM `bad``table` FROM `bad``schema`"), + JdbcMetadataSqlFake.statements + ); + } +} diff --git a/agents/drivers/goldendb/src/test/java/com/dbx/agent/goldendb/GoldendbAgentTest.java b/agents/drivers/goldendb/src/test/java/com/dbx/agent/goldendb/GoldendbAgentTest.java new file mode 100644 index 0000000000..c22fa1d467 --- /dev/null +++ b/agents/drivers/goldendb/src/test/java/com/dbx/agent/goldendb/GoldendbAgentTest.java @@ -0,0 +1,16 @@ +package com.dbx.agent.goldendb; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; + +class GoldendbAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new GoldendbAgent(); + } + + @Override + protected String resultSetSql() { + return "CALL sample_proc()"; + } +} diff --git a/agents/drivers/h2/build.gradle b/agents/drivers/h2/build.gradle new file mode 100644 index 0000000000..070380fd1e --- /dev/null +++ b/agents/drivers/h2/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.h2database:h2:2.3.232' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'H2', 'Main-Class': 'com.dbx.agent.h2.H2Agent') + } +} diff --git a/agents/drivers/h2/src/main/java/com/dbx/agent/h2/H2Agent.java b/agents/drivers/h2/src/main/java/com/dbx/agent/h2/H2Agent.java new file mode 100644 index 0000000000..88746621a7 --- /dev/null +++ b/agents/drivers/h2/src/main/java/com/dbx/agent/h2/H2Agent.java @@ -0,0 +1,349 @@ +package com.dbx.agent.h2; + +import com.dbx.agent.AbstractJdbcAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcExecutor; +import com.dbx.agent.JdbcIdentifiers; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.ObjectInfo; +import com.dbx.agent.ObjectSource; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; + +public final class H2Agent extends AbstractJdbcAgent { + private String databaseName = ""; + + @Override + protected String driverClass() { + return "org.h2.Driver"; + } + + @Override + protected String buildJdbcUrl(ConnectParams params) { + return buildUrl(params); + } + + @Override + protected void afterConnect(ConnectParams params, Connection connection) { + databaseName = params.getDatabase(); + } + + @Override + public List listDatabases() { + return List.of(new DatabaseInfo(databaseName.isBlank() ? "default" : databaseName)); + } + + @Override + public List listSchemas() { + return unchecked(() -> { + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement( + "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME" + ); + ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(rs.getString(1)); + } + } + return result; + }); + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + String effectiveSchema = resolveSchema(schema); + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement( + """ + SELECT TABLE_NAME, TABLE_TYPE + FROM INFORMATION_SCHEMA.TABLES + WHERE TABLE_SCHEMA = ? + ORDER BY TABLE_NAME + """ + )) { + stmt.setString(1, effectiveSchema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String tableType = rs.getString("TABLE_TYPE"); + if ("BASE TABLE".equals(tableType)) { + tableType = "TABLE"; + } + result.add(new TableInfo(rs.getString("TABLE_NAME"), tableType, null)); + } + } + } + return result; + }); + } + + @Override + public List listObjects(String schema) { + return unchecked(() -> { + String effectiveSchema = resolveSchema(schema); + List result = new ArrayList<>(); + for (TableInfo table : listTables(schema)) { + result.add(new ObjectInfo(table.getName(), table.getTable_type(), schema, table.getComment())); + } + + try (var stmt = requireConnected().prepareStatement( + "SELECT ROUTINE_NAME, ROUTINE_TYPE FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = ? ORDER BY ROUTINE_NAME" + )) { + stmt.setString(1, effectiveSchema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ObjectInfo(rs.getString(1), rs.getString(2), schema, null)); + } + } + } + return result; + }); + } + + @Override + public ObjectSource getObjectSource(String schema, String name, String objectType) { + return unchecked(() -> { + String effectiveSchema = resolveSchema(schema); + String sql = switch (objectType.toUpperCase(Locale.ROOT)) { + case "VIEW" -> "SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?"; + case "FUNCTION", "PROCEDURE" -> "SELECT ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA = ? AND ROUTINE_NAME = ?"; + default -> throw new IllegalArgumentException("Unsupported object type: " + objectType); + }; + + String source = ""; + try (var stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, effectiveSchema); + stmt.setString(2, name); + try (ResultSet rs = stmt.executeQuery()) { + if (rs.next()) { + String value = rs.getString(1); + source = value == null ? "" : value; + } + } + } + return new ObjectSource(name, objectType, schema, source); + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + String effectiveSchema = resolveSchema(schema); + Set primaryKeys = new HashSet<>(); + try (var stmt = requireConnected().prepareStatement( + """ + SELECT ic.COLUMN_NAME + FROM INFORMATION_SCHEMA.INDEX_COLUMNS ic + JOIN INFORMATION_SCHEMA.INDEXES i + ON ic.INDEX_SCHEMA = i.INDEX_SCHEMA AND ic.INDEX_NAME = i.INDEX_NAME + WHERE ic.TABLE_SCHEMA = ? AND ic.TABLE_NAME = ? + AND i.INDEX_TYPE_NAME = 'PRIMARY KEY' + """ + )) { + stmt.setString(1, effectiveSchema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + primaryKeys.add(rs.getString("COLUMN_NAME")); + } + } + } + + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement( + """ + SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT, + NUMERIC_PRECISION, NUMERIC_SCALE, CHARACTER_MAXIMUM_LENGTH + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? + ORDER BY ORDINAL_POSITION + """ + )) { + stmt.setString(1, effectiveSchema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String columnName = rs.getString("COLUMN_NAME"); + result.add(new ColumnInfo( + columnName, + rs.getString("DATA_TYPE"), + "YES".equals(rs.getString("IS_NULLABLE")), + rs.getString("COLUMN_DEFAULT"), + primaryKeys.contains(columnName), + null, + null, + intOrNull(rs, "NUMERIC_PRECISION"), + intOrNull(rs, "NUMERIC_SCALE"), + intOrNull(rs, "CHARACTER_MAXIMUM_LENGTH") + )); + } + } + } + return result; + }); + } + + @Override + public List listIndexes(String schema, String table) { + return unchecked(() -> { + String effectiveSchema = resolveSchema(schema); + Map> indexMap = new LinkedHashMap<>(); + Map uniqueMap = new HashMap<>(); + Map primaryMap = new HashMap<>(); + Map typeMap = new HashMap<>(); + + try (var stmt = requireConnected().prepareStatement( + """ + SELECT i.INDEX_NAME, ic.COLUMN_NAME, ic.IS_UNIQUE, i.INDEX_TYPE_NAME + FROM INFORMATION_SCHEMA.INDEX_COLUMNS ic + JOIN INFORMATION_SCHEMA.INDEXES i + ON ic.INDEX_SCHEMA = i.INDEX_SCHEMA AND ic.INDEX_NAME = i.INDEX_NAME + WHERE ic.TABLE_SCHEMA = ? AND ic.TABLE_NAME = ? + ORDER BY i.INDEX_NAME, ic.ORDINAL_POSITION + """ + )) { + stmt.setString(1, effectiveSchema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String indexName = rs.getString("INDEX_NAME"); + String columnName = rs.getString("COLUMN_NAME"); + String indexType = rs.getString("INDEX_TYPE_NAME"); + + indexMap.computeIfAbsent(indexName, ignored -> new ArrayList<>()).add(columnName); + uniqueMap.put(indexName, rs.getBoolean("IS_UNIQUE")); + primaryMap.put(indexName, "PRIMARY KEY".equals(indexType)); + typeMap.put(indexName, indexType == null ? "" : indexType); + } + } + } + + List result = new ArrayList<>(); + for (Map.Entry> entry : indexMap.entrySet()) { + String name = entry.getKey(); + result.add(new IndexInfo( + name, + entry.getValue(), + uniqueMap.getOrDefault(name, false), + primaryMap.getOrDefault(name, false), + null, + typeMap.get(name), + null, + null + )); + } + return result; + }); + } + + @Override + public List listForeignKeys(String schema, String table) { + return unchecked(() -> { + String effectiveSchema = resolveSchema(schema); + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement( + """ + SELECT FK_NAME, FKCOLUMN_NAME, PKTABLE_NAME, PKCOLUMN_NAME + FROM INFORMATION_SCHEMA.CROSS_REFERENCES + WHERE FKTABLE_SCHEMA = ? AND FKTABLE_NAME = ? + ORDER BY FK_NAME + """ + )) { + stmt.setString(1, effectiveSchema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ForeignKeyInfo( + rs.getString("FK_NAME"), + rs.getString("FKCOLUMN_NAME"), + rs.getString("PKTABLE_NAME"), + rs.getString("PKCOLUMN_NAME") + )); + } + } + } + return result; + }); + } + + @Override + public List listTriggers(String schema, String table) { + return unchecked(() -> { + String effectiveSchema = resolveSchema(schema); + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement( + """ + SELECT TRIGGER_NAME, EVENT_MANIPULATION, ACTION_TIMING + FROM INFORMATION_SCHEMA.TRIGGERS + WHERE TRIGGER_SCHEMA = ? AND EVENT_OBJECT_TABLE = ? + ORDER BY TRIGGER_NAME + """ + )) { + stmt.setString(1, effectiveSchema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TriggerInfo( + rs.getString("TRIGGER_NAME"), + rs.getString("EVENT_MANIPULATION"), + rs.getString("ACTION_TIMING") + )); + } + } + } + return result; + }); + } + + @Override + public String setSchemaSQL(String schema) { + return "SET SCHEMA " + JdbcIdentifiers.INSTANCE.doubleQuote(schema); + } + + @Override + protected Object resultValue(ResultSet rs, int index, int sqlType) { + return unchecked(() -> JdbcExecutor.INSTANCE.defaultResultValue(rs, index, sqlType)); + } + + static String buildUrl(ConnectParams params) { + String connectionString = params.getConnection_string(); + if (connectionString != null && !connectionString.trim().isEmpty()) { + return connectionString.trim(); + } + if (params.getHost().isBlank()) { + return "jdbc:h2:" + params.getDatabase(); + } + return "jdbc:h2:tcp://" + params.getHost() + ":" + params.getPort() + "/" + params.getDatabase(); + } + + private static String resolveSchema(String schema) { + if ("PUBLIC".equalsIgnoreCase(schema) || "INFORMATION_SCHEMA".equalsIgnoreCase(schema)) { + return schema.toUpperCase(Locale.ROOT); + } + return "PUBLIC"; + } + + private static Integer intOrNull(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value instanceof Number ? ((Number) value).intValue() : null; + } + + public static void main(String[] args) { + new JsonRpcServer(new H2Agent()).run(); + } +} diff --git a/agents/drivers/h2/src/test/java/com/dbx/agent/h2/H2AgentTest.java b/agents/drivers/h2/src/test/java/com/dbx/agent/h2/H2AgentTest.java new file mode 100644 index 0000000000..35f11cd023 --- /dev/null +++ b/agents/drivers/h2/src/test/java/com/dbx/agent/h2/H2AgentTest.java @@ -0,0 +1,114 @@ +package com.dbx.agent.h2; + +import com.dbx.agent.BaseDatabaseAgent; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.test.JdbcExecutionBehaviorTest; +import com.dbx.agent.test.JdbcMetadataBehaviorTest; +import java.util.List; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class H2AgentMigrationTest { + @Test + void agentExtendsBaseDatabaseAgent() { + Assertions.assertTrue(BaseDatabaseAgent.class.isAssignableFrom(H2Agent.class)); + } + + @Test + void buildUrlUsesExplicitConnectionString() { + ConnectParams params = new ConnectParams( + "127.0.0.1", + 9092, + "test", + "sa", + "", + "", + "jdbc:h2:file:/tmp/dbx-h2-test;AUTO_SERVER=TRUE", + false + ); + + Assertions.assertEquals("jdbc:h2:file:/tmp/dbx-h2-test;AUTO_SERVER=TRUE", H2Agent.buildUrl(params)); + } + + @Test + void buildUrlKeepsTcpModeWhenNoConnectionString() { + ConnectParams params = new ConnectParams("127.0.0.1", 9092, "test", "sa", "", "", "", false); + + Assertions.assertEquals("jdbc:h2:tcp://127.0.0.1:9092/test", H2Agent.buildUrl(params)); + } +} + +class H2ExecutionBehaviorTest extends JdbcExecutionBehaviorTest { + @Override + protected DatabaseAgent createConnectedAgent(String databaseName) { + return H2AgentTestSupport.createH2Agent(databaseName); + } + + @Override + protected String resultSetSql() { + return "CALL 42"; + } + + @Override + protected List expectedResultSetColumns() { + return List.of("42"); + } + + @Override + protected List> expectedResultSetRows() { + return List.of(List.of(42)); + } + + @Override + protected String rowsSql(int rowCount) { + return "SELECT X FROM SYSTEM_RANGE(1, " + rowCount + ")"; + } +} + +class H2MetadataBehaviorTest extends JdbcMetadataBehaviorTest { + @Override + protected DatabaseAgent createConnectedAgent(String databaseName) { + return H2AgentTestSupport.createH2Agent(databaseName); + } + + @Override + protected List metadataFixtureSql() { + return List.of( + "CREATE TABLE BETA_TABLE (ID INT PRIMARY KEY)", + "CREATE TABLE ALPHA_TABLE (ID INT PRIMARY KEY)", + "CREATE TABLE COLUMN_ORDER_SAMPLE (ID INT PRIMARY KEY, NAME VARCHAR(64), CREATED_AT TIMESTAMP)" + ); + } + + @Override + protected String metadataSchema() { + return "PUBLIC"; + } + + @Override + protected List expectedTablesInOrder() { + return List.of("ALPHA_TABLE", "BETA_TABLE", "COLUMN_ORDER_SAMPLE"); + } + + @Override + protected String metadataColumnsTable() { + return "COLUMN_ORDER_SAMPLE"; + } + + @Override + protected List expectedColumnsInOrder() { + return List.of("ID", "NAME", "CREATED_AT"); + } +} + +final class H2AgentTestSupport { + private H2AgentTestSupport() { + } + + static DatabaseAgent createH2Agent(String databaseName) { + H2Agent agent = new H2Agent(); + agent.connect(new ConnectParams("", 0, "mem:" + databaseName + ";DB_CLOSE_DELAY=-1", "", "", "", "", false)); + return agent; + } +} diff --git a/agents/drivers/highgo/build.gradle b/agents/drivers/highgo/build.gradle new file mode 100644 index 0000000000..1b944abe12 --- /dev/null +++ b/agents/drivers/highgo/build.gradle @@ -0,0 +1,16 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.highgo:HgdbJdbc:6.2.4' + // PostGIS JDBC is optional: EwkbWktDecoder reflectively probes for + // org.postgis.PGgeometry / net.postgis.jdbc.PGgeometry and falls back to + // its own EWKB parser when the class is absent. compileOnly keeps the + // shadowJar small while still letting users drop the jar into their + // user-driver path if they prefer the upstream parser. + compileOnly 'net.postgis:postgis-jdbc:2024.1.0' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': '瀚高 HighGo', 'Main-Class': 'com.dbx.agent.highgo.HighgoAgent') + } +} diff --git a/agents/drivers/highgo/src/main/java/com/dbx/agent/highgo/HighgoAgent.java b/agents/drivers/highgo/src/main/java/com/dbx/agent/highgo/HighgoAgent.java new file mode 100644 index 0000000000..ee9e6b17b4 --- /dev/null +++ b/agents/drivers/highgo/src/main/java/com/dbx/agent/highgo/HighgoAgent.java @@ -0,0 +1,20 @@ +package com.dbx.agent.highgo; + +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.PostgresLikeAgent; +import com.dbx.agent.PostgresLikeAgentProfile; + +public final class HighgoAgent extends PostgresLikeAgent { + public static final PostgresLikeAgentProfile HIGHGO_PROFILE = new PostgresLikeAgentProfile( + "com.highgo.jdbc.Driver", + "jdbc:highgo://{host}:{port}/{database}" + ); + + public HighgoAgent() { + super(HIGHGO_PROFILE); + } + + public static void main(String[] args) { + new JsonRpcServer(new HighgoAgent()).run(); + } +} diff --git a/agents/drivers/highgo/src/test/java/com/dbx/agent/highgo/HighgoAgentTest.java b/agents/drivers/highgo/src/test/java/com/dbx/agent/highgo/HighgoAgentTest.java new file mode 100644 index 0000000000..2186312269 --- /dev/null +++ b/agents/drivers/highgo/src/test/java/com/dbx/agent/highgo/HighgoAgentTest.java @@ -0,0 +1,46 @@ +package com.dbx.agent.highgo; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; +import com.dbx.agent.test.JdbcMetadataSqlFake; +import com.dbx.agent.test.TestSupport; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.util.Arrays; + +class HighgoAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new HighgoAgent(); + } + + @Override + protected String resultSetSql() { + return "CALL sample_proc()"; + } + + @Test + void declaresHighgoPostgresLikeProfile() { + HighgoAgent agent = new HighgoAgent(); + + Assertions.assertEquals("com.highgo.jdbc.Driver", agent.getProfile().getDriverClass()); + Assertions.assertEquals("jdbc:highgo://{host}:{port}/{database}", agent.getProfile().getUrlTemplate()); + } + + @Test + void readsViewSourceWithQuotedRegclassParameter() { + HighgoAgent agent = new HighgoAgent(); + TestSupport.setPrivateConnection(agent, JdbcMetadataSqlFake.connection()); + + agent.getObjectSource("bad\"schema", "view's name", "VIEW"); + + Assertions.assertEquals( + Arrays.asList( + "SELECT pg_get_viewdef(to_regclass(?), true)", + "param:1=\"bad\"\"schema\".\"view's name\"" + ), + JdbcMetadataSqlFake.statements + ); + } +} diff --git a/agents/drivers/hive/build.gradle b/agents/drivers/hive/build.gradle new file mode 100644 index 0000000000..8787dd75aa --- /dev/null +++ b/agents/drivers/hive/build.gradle @@ -0,0 +1,11 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'org.apache.hive:hive-jdbc:4.0.1:standalone' + implementation 'org.slf4j:slf4j-nop:1.7.30' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'Apache Hive', 'Main-Class': 'com.dbx.agent.hive.HiveAgent') + } +} diff --git a/agents/drivers/hive/src/main/java/com/dbx/agent/hive/HiveAgent.java b/agents/drivers/hive/src/main/java/com/dbx/agent/hive/HiveAgent.java new file mode 100644 index 0000000000..9a3b407621 --- /dev/null +++ b/agents/drivers/hive/src/main/java/com/dbx/agent/hive/HiveAgent.java @@ -0,0 +1,219 @@ +package com.dbx.agent.hive; + +import com.dbx.agent.AbstractJdbcAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcIdentifiers; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Locale; + +public final class HiveAgent extends AbstractJdbcAgent { + + @Override + protected String driverClass() { + return "org.apache.hive.jdbc.HiveDriver"; + } + + @Override + protected String buildJdbcUrl(ConnectParams params) { + return buildUrl(params); + } + + @Override + public List listDatabases() { + return unchecked(() -> { + List result = new ArrayList<>(); + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery("SHOW DATABASES")) { + while (rs.next()) { + result.add(new DatabaseInfo(rs.getString(1))); + } + } + result.sort(Comparator.comparing(DatabaseInfo::getName)); + return result; + }); + } + + @Override + public List listSchemas() { + List result = new ArrayList<>(); + for (DatabaseInfo database : listDatabases()) { + result.add(database.getName()); + } + return result; + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + useSchema(schema); + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery("SHOW TABLES")) { + while (rs.next()) { + result.add(new TableInfo(rs.getString(1), "TABLE", null)); + } + } + result.sort(Comparator.comparing(TableInfo::getName)); + return result; + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + try { + return getColumnsFromDescribe(schema, table); + } catch (Exception ignored) { + return getColumnsFromMetadata(requireConnected(), schema, table); + } + }); + } + + @Override + public List listIndexes(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listForeignKeys(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listTriggers(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public String setSchemaSQL(String schema) { + return "USE " + JdbcIdentifiers.INSTANCE.backtick(schema); + } + + @Override + protected Object resultValue(ResultSet rs, int index, int sqlType) { + return unchecked(() -> { + Object value = rs.getObject(index); + return rs.wasNull() ? null : value == null ? null : value.toString(); + }); + } + + private void useSchema(String schema) throws Exception { + try (java.sql.Statement stmt = requireConnected().createStatement()) { + stmt.execute(setSchemaSQL(schema)); + } + } + + private List getColumnsFromDescribe(String schema, String table) throws Exception { + List result = new ArrayList<>(); + useSchema(schema); + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery("DESCRIBE " + JdbcIdentifiers.INSTANCE.backtick(table))) { + while (rs.next()) { + String colName = trimToNull(rs.getString(1)); + if (colName == null || colName.startsWith("#")) { + continue; + } + result.add(new ColumnInfo( + colName, + trimToEmpty(rs.getString(2)), + true, + null, + false, + null, + optionalComment(rs), + null, + null, + null + )); + } + } + return result; + } + + private static List getColumnsFromMetadata(Connection conn, String schema, String table) throws Exception { + List result = new ArrayList<>(); + DatabaseMetaData meta = conn.getMetaData(); + try (ResultSet rs = meta.getColumns(null, trimToNull(schema), table, "%")) { + while (rs.next()) { + String name = rs.getString("COLUMN_NAME"); + if (trimToNull(name) == null) { + continue; + } + result.add(new ColumnInfo( + name, + trimToEmpty(rs.getString("TYPE_NAME")), + rs.getInt("NULLABLE") != DatabaseMetaData.columnNoNulls, + rs.getString("COLUMN_DEF"), + false, + null, + rs.getString("REMARKS"), + intOrNull(rs, "COLUMN_SIZE"), + intOrNull(rs, "DECIMAL_DIGITS"), + characterLength(rs) + )); + } + } + return result; + } + + private static String buildUrl(ConnectParams params) { + return "jdbc:hive2://" + params.getHost() + ":" + params.getPort() + "/" + params.getDatabase(); + } + + private static String trimToNull(String value) { + if (value == null) { + return null; + } + String trimmed = value.trim(); + return trimmed.isEmpty() ? null : trimmed; + } + + private static String trimToEmpty(String value) { + return value == null ? "" : value.trim(); + } + + private static Integer intOrNull(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value instanceof Number ? ((Number) value).intValue() : null; + } + + private static Integer characterLength(ResultSet rs) throws Exception { + String typeName = rs.getString("TYPE_NAME"); + if (typeName == null) { + return null; + } + String normalized = typeName.toLowerCase(Locale.ROOT); + if (!normalized.contains("char") && !normalized.contains("text") && !normalized.contains("string")) { + return null; + } + return intOrNull(rs, "COLUMN_SIZE"); + } + + private static String optionalComment(ResultSet rs) { + return unchecked(() -> { + try { + String comment = trimToNull(rs.getString(3)); + return comment; + } catch (Exception e) { + return null; + } + }); + } + + public static void main(String[] args) { + new JsonRpcServer(new HiveAgent()).run(); + } +} diff --git a/agents/drivers/hive/src/test/java/com/dbx/agent/hive/HiveAgentExecutionTest.java b/agents/drivers/hive/src/test/java/com/dbx/agent/hive/HiveAgentExecutionTest.java new file mode 100644 index 0000000000..53f7bb7732 --- /dev/null +++ b/agents/drivers/hive/src/test/java/com/dbx/agent/hive/HiveAgentExecutionTest.java @@ -0,0 +1,16 @@ +package com.dbx.agent.hive; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; + +class HiveAgentExecutionTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new HiveAgent(); + } + + @Override + protected String resultSetSql() { + return "MSCK REPAIR TABLE sample"; + } +} diff --git a/agents/drivers/hive/src/test/java/com/dbx/agent/hive/HiveAgentMetadataTest.java b/agents/drivers/hive/src/test/java/com/dbx/agent/hive/HiveAgentMetadataTest.java new file mode 100644 index 0000000000..0ec4fa8729 --- /dev/null +++ b/agents/drivers/hive/src/test/java/com/dbx/agent/hive/HiveAgentMetadataTest.java @@ -0,0 +1,186 @@ +package com.dbx.agent.hive; + +import com.dbx.agent.test.TestSupport; +import com.dbx.agent.test.JdbcMetadataSqlFake; +import com.dbx.agent.ColumnInfo; +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.util.List; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.LinkedHashMap; +import java.util.Map; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class HiveAgentMetadataTest { + @Test + void quotesSchemaAndTableIdentifiersInMetadataSql() { + HiveAgent agent = new HiveAgent(); + Connection fake = JdbcMetadataSqlFake.connection(); + TestSupport.setPrivateConnection(agent, fake); + + agent.listTables("bad`schema"); + agent.getColumns("bad`schema", "bad`table"); + + Assertions.assertEquals( + List.of( + "USE `bad``schema`", + "SHOW TABLES", + "USE `bad``schema`", + "DESCRIBE `bad``table`" + ), + JdbcMetadataSqlFake.statements + ); + } + + @Test + void fallsBackToJdbcMetadataWhenDescribeCannotCreateResultSet() { + HiveAgent agent = new HiveAgent(); + Connection fake = describeFailingMetadataConnection(); + TestSupport.setPrivateConnection(agent, fake); + + List columns = agent.getColumns("default", "events"); + + Assertions.assertEquals(2, columns.size()); + Assertions.assertEquals("id", columns.get(0).getName()); + Assertions.assertEquals("bigint", columns.get(0).getData_type()); + Assertions.assertFalse(columns.get(0).getIs_nullable()); + Assertions.assertEquals("name", columns.get(1).getName()); + Assertions.assertEquals("string", columns.get(1).getData_type()); + Assertions.assertEquals(Integer.valueOf(255), columns.get(1).getCharacter_maximum_length()); + } + + private static Connection describeFailingMetadataConnection() { + DatabaseMetaData meta = proxy(DatabaseMetaData.class, (method, args) -> { + if ("getColumns".equals(method.getName())) { + return rows( + row( + "COLUMN_NAME", "id", + "TYPE_NAME", "bigint", + "NULLABLE", DatabaseMetaData.columnNoNulls, + "COLUMN_DEF", null, + "REMARKS", "identifier", + "COLUMN_SIZE", 19, + "DECIMAL_DIGITS", 0 + ), + row( + "COLUMN_NAME", "name", + "TYPE_NAME", "string", + "NULLABLE", DatabaseMetaData.columnNullable, + "COLUMN_DEF", null, + "REMARKS", null, + "COLUMN_SIZE", 255, + "DECIMAL_DIGITS", 0 + ) + ); + } + return defaultValue(method.getReturnType()); + }); + return proxy(Connection.class, (method, args) -> { + String name = method.getName(); + if ("createStatement".equals(name)) { + return describeFailingStatement(); + } + if ("getMetaData".equals(name)) { + return meta; + } + if ("isClosed".equals(name)) { + return false; + } + return defaultValue(method.getReturnType()); + }); + } + + private static Statement describeFailingStatement() { + return proxy(Statement.class, (method, args) -> { + String name = method.getName(); + if ("execute".equals(name)) { + return false; + } + if ("executeQuery".equals(name)) { + throw new SQLException("Could not create ResultSet: Required field 'type' is unset! Struct:TPrimitiveTypeEntry(type:null)"); + } + return defaultValue(method.getReturnType()); + }); + } + + @SafeVarargs + private static ResultSet rows(Map... rows) { + return proxy(ResultSet.class, new MethodHandler() { + private int index = -1; + + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("next".equals(name)) { + index += 1; + return index < rows.length; + } + if ("close".equals(name)) { + return null; + } + Object value = rows[index].get(args[0]); + if ("getString".equals(name)) { + return value == null ? null : String.valueOf(value); + } + if ("getObject".equals(name)) { + return value; + } + if ("getInt".equals(name)) { + return value instanceof Number ? ((Number) value).intValue() : 0; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private static Map row(Object... values) { + Map row = new LinkedHashMap<>(); + for (int i = 0; i < values.length; i += 2) { + row.put(String.valueOf(values[i]), values[i + 1]); + } + return row; + } + + private static T proxy(Class type, MethodHandler handler) { + InvocationHandler invocationHandler = (proxy, method, args) -> handler.handle(method, args); + return type.cast(Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, invocationHandler)); + } + + private static Object defaultValue(Class type) { + if (Boolean.TYPE.equals(type)) { + return false; + } + if (Byte.TYPE.equals(type)) { + return (byte) 0; + } + if (Short.TYPE.equals(type)) { + return (short) 0; + } + if (Integer.TYPE.equals(type)) { + return 0; + } + if (Long.TYPE.equals(type)) { + return 0L; + } + if (Float.TYPE.equals(type)) { + return 0f; + } + if (Double.TYPE.equals(type)) { + return 0.0d; + } + if (Character.TYPE.equals(type)) { + return '\0'; + } + return null; + } + + private interface MethodHandler { + Object handle(Method method, Object[] args) throws Throwable; + } +} diff --git a/agents/drivers/hive/src/test/java/com/dbx/agent/hive/HiveAgentTest.java b/agents/drivers/hive/src/test/java/com/dbx/agent/hive/HiveAgentTest.java new file mode 100644 index 0000000000..36006e7271 --- /dev/null +++ b/agents/drivers/hive/src/test/java/com/dbx/agent/hive/HiveAgentTest.java @@ -0,0 +1,11 @@ +package com.dbx.agent.hive; + +import org.junit.jupiter.api.Test; + +class HiveAgentTest { + @Test + void hiveJdbcStandaloneRuntimeClassesAreAvailable() throws ClassNotFoundException { + Class.forName("org.apache.hive.jdbc.HiveDriver"); + Class.forName("org.apache.hive.org.apache.thrift.protocol.TProtocol"); + } +} diff --git a/agents/drivers/informix/build.gradle b/agents/drivers/informix/build.gradle new file mode 100644 index 0000000000..1b38423ce7 --- /dev/null +++ b/agents/drivers/informix/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.ibm.informix:jdbc:4.50.10' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'IBM Informix', 'Main-Class': 'com.dbx.agent.informix.InformixAgent') + } +} diff --git a/agents/drivers/informix/src/main/java/com/dbx/agent/informix/InformixAgent.java b/agents/drivers/informix/src/main/java/com/dbx/agent/informix/InformixAgent.java new file mode 100644 index 0000000000..d4651ff971 --- /dev/null +++ b/agents/drivers/informix/src/main/java/com/dbx/agent/informix/InformixAgent.java @@ -0,0 +1,429 @@ +package com.dbx.agent.informix; + +import com.dbx.agent.BaseDatabaseAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ExecuteQueryOptions; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcExecutor; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.ObjectInfo; +import com.dbx.agent.ObjectSource; +import com.dbx.agent.QueryResult; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Locale; +import java.util.Set; + +public final class InformixAgent extends BaseDatabaseAgent { + private Connection connection; + + @Override + public Connection getConnection() { + return connection; + } + + public static String buildJdbcUrl(ConnectParams params) { + String rawUrlParams = params.getUrl_params(); + String extraParams = rawUrlParams == null ? "" : trimEnd(trimStart(rawUrlParams.trim(), ':', ';'), ';'); + String rawDatabase = params.getDatabase(); + String database = rawDatabase == null || rawDatabase.trim().isEmpty() + ? "sysmaster" : rawDatabase.trim(); + + // Determine INFORMIXSERVER: from dedicated field, url_params, or default + String informixServer = params.getInformix_server(); + informixServer = informixServer == null ? "" : informixServer.trim(); + if (informixServer.isEmpty()) { + informixServer = containsIgnoreCase(extraParams, "INFORMIXSERVER=") ? "" : defaultInformixServer(params.getHost()); + } + String serverParam = informixServer.isEmpty() ? "" : "INFORMIXSERVER=" + informixServer; + + // Add CLIENT_LOCALE and DB_LOCALE defaults if not already specified + if (!containsIgnoreCase(extraParams, "CLIENT_LOCALE=")) { + String localeParam = "CLIENT_LOCALE=en_US.utf8"; + extraParams = extraParams.isEmpty() ? localeParam : extraParams + ";" + localeParam; + } + if (!containsIgnoreCase(extraParams, "DB_LOCALE=")) { + String localeParam = "DB_LOCALE=en_US.utf8"; + extraParams = extraParams.isEmpty() ? localeParam : extraParams + ";" + localeParam; + } + + List jdbcParams = new ArrayList<>(); + if (!serverParam.isEmpty()) { + jdbcParams.add(serverParam); + } + if (!extraParams.isEmpty()) { + jdbcParams.add(extraParams); + } + return "jdbc:informix-sqli://" + params.getHost() + ":" + params.getPort() + "/" + database + ":" + + String.join(";", jdbcParams); + } + + private static String defaultInformixServer(String host) { + return isIpAddress(host) ? "informix" : host; + } + + private static boolean isIpAddress(String host) { + return host.matches("\\d{1,3}(\\.\\d{1,3}){3}") || host.contains(":"); + } + + /** + * Map Informix coltype integer codes to type names. + * See Informix documentation for coltype values. + */ + public static String mapColType(int coltype) { + int baseType = coltype % 256; + return switch (baseType) { + case 0 -> "CHAR"; + case 1 -> "SMALLINT"; + case 2 -> "INTEGER"; + case 3 -> "FLOAT"; + case 4 -> "SMALLFLOAT"; + case 5 -> "DECIMAL"; + case 6 -> "SERIAL"; + case 7 -> "DATE"; + case 8 -> "MONEY"; + case 9 -> "NULL"; + case 10 -> "DATETIME"; + case 11 -> "BYTE"; + case 12 -> "TEXT"; + case 13 -> "VARCHAR"; + case 14 -> "INTERVAL"; + case 15 -> "NCHAR"; + case 16 -> "NVARCHAR"; + case 17 -> "INT8"; + case 18 -> "SERIAL8"; + case 19 -> "SET"; + case 20 -> "MULTISET"; + case 21 -> "LIST"; + case 22 -> "ROW"; + case 23 -> "COLLECTION"; + case 40 -> "LVARCHAR"; + case 41 -> "BOOLEAN"; + case 43, 52 -> "BIGINT"; + case 44, 53 -> "BIGSERIAL"; + default -> "UNKNOWN(" + baseType + ")"; + }; + } + + public static Set primaryKeyColumnNumbers(List parts) { + Set result = new HashSet<>(); + for (Integer part : parts) { + if (part == null) { + continue; + } + int value = Math.abs(part); + if (value > 0) { + result.add(value); + } + } + return result; + } + + public static String databaseCatalogSql() { + return "SELECT name FROM sysmaster:sysdatabases ORDER BY name"; + } + + @Override + public void connect(ConnectParams params) { + String url = buildJdbcUrl(params); + uncheckedVoid(() -> { + Class.forName("com.informix.jdbc.IfxDriver"); + try { + connection = DriverManager.getConnection(url, params.getUsername(), params.getPassword()); + } catch (SQLException e) { + throw new SQLException( + "Informix connection failed.\nURL: " + url.replaceAll("//[^@]+@", "//***@") + "\nError: " + e.getMessage(), + e.getSQLState(), e.getErrorCode() + ); + } + }); + } + + @Override + public boolean testConnection(ConnectParams params) { + String url = buildJdbcUrl(params); + return unchecked(() -> { + Class.forName("com.informix.jdbc.IfxDriver"); + try (Connection conn = DriverManager.getConnection(url, params.getUsername(), params.getPassword())) { + return conn.isValid(5); + } + }); + } + + @Override + public List listDatabases() { + return unchecked(() -> { + List result = new ArrayList<>(); + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery(databaseCatalogSql())) { + while (rs.next()) { + result.add(new DatabaseInfo(rs.getString(1).trim())); + } + } + return result; + }); + } + + @Override + public List listSchemas() { + List result = new ArrayList<>(); + for (DatabaseInfo database : listDatabases()) { + result.add(database.getName()); + } + return result; + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = """ + SELECT tabname, + CASE tabtype WHEN 'T' THEN 'TABLE' WHEN 'V' THEN 'VIEW' ELSE tabtype END + FROM systables + WHERE tabid >= 100 + ORDER BY tabname + """; + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery(sql.stripIndent().trim())) { + while (rs.next()) { + result.add(new TableInfo(rs.getString(1).trim(), rs.getString(2).trim(), null)); + } + } + return result; + }); + } + + @Override + public List listObjects(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + for (TableInfo table : listTables(schema)) { + result.add(new ObjectInfo(table.getName(), table.getTable_type(), schema, table.getComment())); + } + + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery( + "SELECT procname FROM sysprocedures WHERE owner != 'informix' AND isproc = 'f' ORDER BY procname" + )) { + while (rs.next()) { + result.add(new ObjectInfo(rs.getString(1).trim(), "FUNCTION", schema, null)); + } + } + + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery( + "SELECT procname FROM sysprocedures WHERE owner != 'informix' AND isproc = 't' ORDER BY procname" + )) { + while (rs.next()) { + result.add(new ObjectInfo(rs.getString(1).trim(), "PROCEDURE", schema, null)); + } + } + return result; + }); + } + + @Override + public ObjectSource getObjectSource(String schema, String name, String objectType) { + return unchecked(() -> { + String sql = """ + SELECT b.data FROM sysprocbody b + JOIN sysprocedures p ON b.procid = p.procid + WHERE p.procname = ? AND b.datakey = 'T' + ORDER BY b.seqno + """; + StringBuilder sb = new StringBuilder(); + try (java.sql.PreparedStatement stmt = requireConnected().prepareStatement(sql.stripIndent().trim())) { + stmt.setString(1, name); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String value = rs.getString(1); + sb.append(value == null ? "" : value); + } + } + } + return new ObjectSource(name, objectType, schema, sb.toString()); + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + Connection conn = requireConnected(); + Set primaryKeyColumns = getPrimaryKeyColumnNumbers(conn, table); + List result = new ArrayList<>(); + String sql = """ + SELECT c.colname, c.coltype, c.colno + FROM syscolumns c + WHERE c.tabid = (SELECT tabid FROM systables WHERE tabname = ?) + ORDER BY c.colno + """; + try (java.sql.PreparedStatement stmt = conn.prepareStatement(sql.stripIndent().trim())) { + stmt.setString(1, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String colname = rs.getString(1).trim(); + int coltype = rs.getInt(2); + result.add(new ColumnInfo( + colname, + mapColType(coltype), + (coltype & 256) == 0, + null, + primaryKeyColumns.contains(rs.getInt(3)), + null, + null, + null, + null, + null + )); + } + } + } + return result; + }); + } + + private Set getPrimaryKeyColumnNumbers(Connection conn, String table) throws SQLException { + String sql = """ + SELECT i.part1, i.part2, i.part3, i.part4, i.part5, i.part6, i.part7, i.part8, + i.part9, i.part10, i.part11, i.part12, i.part13, i.part14, i.part15, i.part16 + FROM sysconstraints c + JOIN sysindexes i ON i.idxname = c.idxname AND i.tabid = c.tabid + JOIN systables t ON t.tabid = c.tabid + WHERE t.tabname = ? AND c.constrtype = 'P' + """; + + try (java.sql.PreparedStatement stmt = conn.prepareStatement(sql.stripIndent().trim())) { + stmt.setString(1, table); + try (ResultSet rs = stmt.executeQuery()) { + if (!rs.next()) { + return Collections.emptySet(); + } + List parts = new ArrayList<>(); + for (int index = 1; index <= 16; index++) { + int value = rs.getInt(index); + parts.add(rs.wasNull() ? null : value); + } + return primaryKeyColumnNumbers(parts); + } + } + } + + @Override + public List listIndexes(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listForeignKeys(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listTriggers(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = """ + SELECT t.trigname, t.event, 'TRIGGER' + FROM systriggers t + JOIN systables s ON t.tabid = s.tabid + WHERE s.tabname = ? + """; + try (java.sql.PreparedStatement stmt = requireConnected().prepareStatement(sql.stripIndent().trim())) { + stmt.setString(1, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TriggerInfo(rs.getString(1).trim(), rs.getString(2).trim(), rs.getString(3).trim())); + } + } + } + return result; + }); + } + + @Override + public QueryResult executeQuery(String sql, String schema, ExecuteQueryOptions options) { + String normalizedSql = switch (trimEnd(sql.trim(), ';').toUpperCase(Locale.ROOT)) { + case "BEGIN WORK" -> "BEGIN"; + case "COMMIT WORK" -> "COMMIT"; + case "ROLLBACK WORK" -> "ROLLBACK"; + default -> sql; + }; + return JdbcExecutor.INSTANCE.execute( + requireConnected(), + normalizedSql, + schema, + this::setSchemaSQL, + options.getMaxRows(), + options.getFetchSize(), + options.getTimeoutSecs(), + this::stringResultValue + ); + } + + @Override + public String setSchemaSQL(String schema) { + return ""; + } + + @Override + public void disconnect() { + uncheckedVoid(() -> { + if (connection != null) { + connection.close(); + } + connection = null; + }); + } + + private Object stringResultValue(ResultSet rs, int index, int sqlType) { + return unchecked(() -> { + Object value = rs.getObject(index); + return rs.wasNull() ? null : value == null ? null : value.toString(); + }); + } + + private static String trimStart(String value, char... chars) { + int index = 0; + while (index < value.length() && contains(chars, value.charAt(index))) { + index++; + } + return value.substring(index); + } + + private static String trimEnd(String value, char... chars) { + int end = value.length(); + while (end > 0 && contains(chars, value.charAt(end - 1))) { + end--; + } + return value.substring(0, end); + } + + private static boolean contains(char[] chars, char value) { + for (char candidate : chars) { + if (candidate == value) { + return true; + } + } + return false; + } + + private static boolean containsIgnoreCase(String value, String needle) { + return value.toLowerCase(Locale.ROOT).contains(needle.toLowerCase(Locale.ROOT)); + } + + public static void main(String[] args) { + new JsonRpcServer(new InformixAgent()).run(); + } +} diff --git a/agents/drivers/informix/src/test/java/com/dbx/agent/informix/InformixAgentExecutionTest.java b/agents/drivers/informix/src/test/java/com/dbx/agent/informix/InformixAgentExecutionTest.java new file mode 100644 index 0000000000..32364b50c7 --- /dev/null +++ b/agents/drivers/informix/src/test/java/com/dbx/agent/informix/InformixAgentExecutionTest.java @@ -0,0 +1,16 @@ +package com.dbx.agent.informix; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; + +class InformixAgentExecutionTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new InformixAgent(); + } + + @Override + protected String resultSetSql() { + return "EXECUTE PROCEDURE sample_proc()"; + } +} diff --git a/agents/drivers/informix/src/test/java/com/dbx/agent/informix/InformixAgentTest.java b/agents/drivers/informix/src/test/java/com/dbx/agent/informix/InformixAgentTest.java new file mode 100644 index 0000000000..795cc8246d --- /dev/null +++ b/agents/drivers/informix/src/test/java/com/dbx/agent/informix/InformixAgentTest.java @@ -0,0 +1,128 @@ +package com.dbx.agent.informix; + +import com.dbx.agent.ConnectParams; +import java.util.Arrays; +import java.util.Set; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class InformixAgentTest { + @Test + void buildsJdbcUrlWithExplicitInformixServerAndLocaleParameters() { + String url = InformixAgent.buildJdbcUrl( + new ConnectParams( + "172.26.128.159", + 20013, + "testdb", + "", + "", + "INFORMIXSERVER=informix;CLIENT_LOCALE=en_US.utf8;DB_LOCALE=en_US.utf8", + "", + false + ) + ); + + Assertions.assertEquals( + "jdbc:informix-sqli://172.26.128.159:20013/testdb:INFORMIXSERVER=informix;CLIENT_LOCALE=en_US.utf8;DB_LOCALE=en_US.utf8", + url + ); + } + + @Test + void fallsBackToHostAsInformixServerWhenNoExplicitServerIsConfigured() { + String url = InformixAgent.buildJdbcUrl( + new ConnectParams( + "informix-host", + 9088, + "sysmaster", + "", + "", + "", + "", + false + ) + ); + + Assertions.assertEquals( + "jdbc:informix-sqli://informix-host:9088/sysmaster:INFORMIXSERVER=informix-host;CLIENT_LOCALE=en_US.utf8;DB_LOCALE=en_US.utf8", + url + ); + } + + @Test + void fallsBackToInformixServerNameWhenHostIsAnIpAddress() { + String url = InformixAgent.buildJdbcUrl( + new ConnectParams( + "172.26.128.159", + 20013, + "sysmaster", + "", + "", + "", + "", + false + ) + ); + + Assertions.assertEquals( + "jdbc:informix-sqli://172.26.128.159:20013/sysmaster:INFORMIXSERVER=informix;CLIENT_LOCALE=en_US.utf8;DB_LOCALE=en_US.utf8", + url + ); + } + + @Test + void usesInformixServerFromDedicatedFieldWhenProvided() { + ConnectParams params = new ConnectParams( + "172.26.128.159", + 20013, + "testdb", + "", + "", + "CLIENT_LOCALE=en_US.utf8", + "", + false + ); + params.setInformix_server("ol_informix1410"); + + String url = InformixAgent.buildJdbcUrl(params); + + Assertions.assertEquals( + "jdbc:informix-sqli://172.26.128.159:20013/testdb:INFORMIXSERVER=ol_informix1410;CLIENT_LOCALE=en_US.utf8;DB_LOCALE=en_US.utf8", + url + ); + } + + @Test + void usesSysmasterWhenDatabaseIsBlank() { + String url = InformixAgent.buildJdbcUrl( + new ConnectParams( + "informix-host", + 9088, + "", + "", + "", + "INFORMIXSERVER=informix", + "", + false + ) + ); + + Assertions.assertEquals( + "jdbc:informix-sqli://informix-host:9088/sysmaster:INFORMIXSERVER=informix;CLIENT_LOCALE=en_US.utf8;DB_LOCALE=en_US.utf8", + url + ); + } + + @Test + void extractsPrimaryKeyColumnNumbersFromInformixIndexParts() { + Assertions.assertEquals( + Set.of(1, 3, 5), + InformixAgent.primaryKeyColumnNumbers(Arrays.asList(1, -3, 0, 5, null)) + ); + } + + @Test + void listsDatabasesFromSysmasterCatalog() { + Assertions.assertEquals("SELECT name FROM sysmaster:sysdatabases ORDER BY name", InformixAgent.databaseCatalogSql()); + } +} diff --git a/agents/drivers/iotdb/build.gradle b/agents/drivers/iotdb/build.gradle new file mode 100644 index 0000000000..adaf4bf828 --- /dev/null +++ b/agents/drivers/iotdb/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation 'org.apache.iotdb:iotdb-jdbc:2.0.8' + implementation 'org.slf4j:slf4j-nop:2.0.16' +} + +tasks.named('jar') { + manifest { + attributes('Agent-Label': 'Apache IoTDB', 'Main-Class': 'com.dbx.agent.iotdb.IoTDBAgent') + } +} diff --git a/agents/drivers/iotdb/src/main/java/com/dbx/agent/iotdb/IoTDBAgent.java b/agents/drivers/iotdb/src/main/java/com/dbx/agent/iotdb/IoTDBAgent.java new file mode 100644 index 0000000000..93dff6b599 --- /dev/null +++ b/agents/drivers/iotdb/src/main/java/com/dbx/agent/iotdb/IoTDBAgent.java @@ -0,0 +1,22 @@ +package com.dbx.agent.iotdb; + +import com.dbx.agent.ConfiguredJdbcAgent; +import com.dbx.agent.JdbcAgentProfile; +import com.dbx.agent.JsonRpcServer; + +public final class IoTDBAgent extends ConfiguredJdbcAgent { + public static final JdbcAgentProfile IOTDB_PROFILE = new JdbcAgentProfile( + "org.apache.iotdb.jdbc.IoTDBDriver", + "jdbc:iotdb://{host}:{port}/", + 6667, + true + ); + + public IoTDBAgent() { + super(IOTDB_PROFILE); + } + + public static void main(String[] args) { + new JsonRpcServer(new IoTDBAgent()).run(); + } +} diff --git a/agents/drivers/iotdb/src/test/java/com/dbx/agent/iotdb/IoTDBAgentTest.java b/agents/drivers/iotdb/src/test/java/com/dbx/agent/iotdb/IoTDBAgentTest.java new file mode 100644 index 0000000000..acfc62f0d7 --- /dev/null +++ b/agents/drivers/iotdb/src/test/java/com/dbx/agent/iotdb/IoTDBAgentTest.java @@ -0,0 +1,32 @@ +package com.dbx.agent.iotdb; + +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class IoTDBAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new IoTDBAgent(); + } + + @Override + protected String resultSetSql() { + return "SELECT * FROM sample_table"; + } + + @Test + void buildsOfficialJdbcUrl() { + ConnectParams params = new ConnectParams(); + params.setHost("iotdb.example.com"); + params.setPort(6667); + params.setUrl_params("sql_dialect=table&useSSL=false"); + + Assertions.assertEquals( + "jdbc:iotdb://iotdb.example.com:6667/?sql_dialect=table&useSSL=false", + IoTDBAgent.IOTDB_PROFILE.buildUrl(params) + ); + } +} diff --git a/agents/drivers/iris/build.gradle b/agents/drivers/iris/build.gradle new file mode 100644 index 0000000000..0bcd80d99e --- /dev/null +++ b/agents/drivers/iris/build.gradle @@ -0,0 +1,9 @@ +dependencies { + implementation 'com.intersystems:intersystems-jdbc:3.10.5' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'IRIS', 'Main-Class': 'com.dbx.agent.iris.IrisAgent') + } +} diff --git a/agents/drivers/iris/src/main/java/com/dbx/agent/iris/IrisAgent.java b/agents/drivers/iris/src/main/java/com/dbx/agent/iris/IrisAgent.java new file mode 100644 index 0000000000..380ea6231b --- /dev/null +++ b/agents/drivers/iris/src/main/java/com/dbx/agent/iris/IrisAgent.java @@ -0,0 +1,159 @@ +package com.dbx.agent.iris; + +import com.dbx.agent.ConfiguredJdbcAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.JdbcAgentProfile; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.StandardJdbcMetadata; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; + +public final class IrisAgent extends ConfiguredJdbcAgent { + public static final JdbcAgentProfile IRIS_PROFILE = new JdbcAgentProfile( + "com.intersystems.jdbc.IRISDriver", + "jdbc:IRIS://{host}:{port}/{database}", + 1972, + true + ); + + public IrisAgent() { + super(IRIS_PROFILE); + } + + @Override + public List listSchemas() { + return dedupeCaseInsensitiveSchemas(StandardJdbcMetadata.INSTANCE.listSchemas(requireConnection(), IRIS_PROFILE)); + } + + @Override + public List getColumns(String schema, String table) { + return irisColumns(requireConnection(), schema, table); + } + + static List irisColumns(Connection conn, String schema, String table) { + return unchecked(() -> { + Set primaryKeys = irisPrimaryKeys(conn, schema, table); + List columns = new ArrayList<>(); + try (PreparedStatement stmt = conn.prepareStatement(columnSql(schema))) { + int index = 1; + if (!isBlank(schema)) { + stmt.setString(index++, schema.trim()); + } + stmt.setString(index, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String name = rs.getString("COLUMN_NAME"); + if (isBlank(name)) { + continue; + } + columns.add(new ColumnInfo( + name, + stringOrDefault(rs, "DATA_TYPE", "Unknown"), + !"NO".equalsIgnoreCase(stringOrNull(rs, "IS_NULLABLE")), + stringOrNull(rs, "COLUMN_DEFAULT"), + primaryKeys.contains(name.toUpperCase(Locale.ROOT)), + null, + null, + intOrNull(rs, "NUMERIC_PRECISION"), + intOrNull(rs, "NUMERIC_SCALE"), + intOrNull(rs, "CHARACTER_MAXIMUM_LENGTH") + )); + } + } + } + return columns; + }); + } + + static List dedupeCaseInsensitiveSchemas(List schemas) { + Map byNormalizedName = new LinkedHashMap<>(); + for (String schema : schemas) { + if (schema == null || schema.trim().isEmpty()) { + continue; + } + String name = schema.trim(); + byNormalizedName.putIfAbsent(name.toUpperCase(Locale.ROOT), name); + } + return new ArrayList<>(byNormalizedName.values()); + } + + private static Set irisPrimaryKeys(Connection conn, String schema, String table) { + Set keys = new LinkedHashSet<>(); + try (PreparedStatement stmt = conn.prepareStatement(primaryKeySql(schema))) { + int index = 1; + if (!isBlank(schema)) { + stmt.setString(index++, schema.trim()); + } + stmt.setString(index, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String column = rs.getString("COLUMN_NAME"); + if (!isBlank(column)) { + keys.add(column.toUpperCase(Locale.ROOT)); + } + } + } + } catch (Exception ignored) { + // Primary key metadata is optional for display; column listing must keep working. + } + return keys; + } + + private static String columnSql(String schema) { + StringBuilder sql = new StringBuilder( + "SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT, " + + "NUMERIC_PRECISION, NUMERIC_SCALE, CHARACTER_MAXIMUM_LENGTH " + + "FROM INFORMATION_SCHEMA.COLUMNS WHERE " + ); + if (!isBlank(schema)) { + sql.append("UPPER(TABLE_SCHEMA) = UPPER(?) AND "); + } + sql.append("UPPER(TABLE_NAME) = UPPER(?) ORDER BY ORDINAL_POSITION"); + return sql.toString(); + } + + private static String primaryKeySql(String schema) { + StringBuilder sql = new StringBuilder( + "SELECT k.COLUMN_NAME " + + "FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE k " + + "WHERE k.CONSTRAINT_TYPE = 'PRIMARY KEY' AND " + ); + if (!isBlank(schema)) { + sql.append("UPPER(k.TABLE_SCHEMA) = UPPER(?) AND "); + } + sql.append("UPPER(k.TABLE_NAME) = UPPER(?) ORDER BY k.ORDINAL_POSITION"); + return sql.toString(); + } + + private static String stringOrDefault(ResultSet rs, String column, String fallback) throws Exception { + String value = stringOrNull(rs, column); + return isBlank(value) ? fallback : value; + } + + private static String stringOrNull(ResultSet rs, String column) throws Exception { + String value = rs.getString(column); + return rs.wasNull() ? null : value; + } + + private static Integer intOrNull(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value instanceof Number ? ((Number) value).intValue() : null; + } + + private static boolean isBlank(String value) { + return value == null || value.trim().isEmpty(); + } + + public static void main(String[] args) { + new JsonRpcServer(new IrisAgent()).run(); + } +} diff --git a/agents/drivers/iris/src/test/java/com/dbx/agent/iris/IrisAgentTest.java b/agents/drivers/iris/src/test/java/com/dbx/agent/iris/IrisAgentTest.java new file mode 100644 index 0000000000..d2aa31965d --- /dev/null +++ b/agents/drivers/iris/src/test/java/com/dbx/agent/iris/IrisAgentTest.java @@ -0,0 +1,154 @@ +package com.dbx.agent.iris; + +import com.dbx.agent.ColumnInfo; +import org.junit.jupiter.api.Test; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class IrisAgentTest { + @Test + void skipsSchemaSwitchingBecauseIrisRejectsSetSchemaContext() { + IrisAgent agent = new IrisAgent(); + + assertEquals("", agent.setSchemaSQL("Ens")); + } + + @Test + void dedupesSchemasCaseInsensitively() { + assertEquals( + Arrays.asList("APP", "SQLUSER", "z_user"), + IrisAgent.dedupeCaseInsensitiveSchemas(Arrays.asList("APP", "SQLUSER", "SQLUser", "app", "z_user")) + ); + } + + @Test + void ignoresBlankSchemasWhenDeduping() { + assertEquals( + Collections.singletonList("SQLUSER"), + IrisAgent.dedupeCaseInsensitiveSchemas(Arrays.asList("", " ", null, "SQLUSER")) + ); + } + + @Test + void readsColumnsWithNativeInformationSchemaQueries() { + List sql = new ArrayList<>(); + Connection conn = fakeConnection(sql); + + List columns = IrisAgent.irisColumns(conn, "SQLUser", "People"); + + assertEquals(2, columns.size()); + assertEquals("ID", columns.get(0).getName()); + assertEquals("INTEGER", columns.get(0).getData_type()); + assertFalse(columns.get(0).getIs_nullable()); + assertTrue(columns.get(0).getIs_primary_key()); + assertEquals("NAME", columns.get(1).getName()); + assertEquals(Integer.valueOf(64), columns.get(1).getCharacter_maximum_length()); + assertFalse(sql.get(0).contains("LIMIT")); + assertTrue(sql.get(0).contains("INFORMATION_SCHEMA.KEY_COLUMN_USAGE")); + assertTrue(sql.get(1).contains("INFORMATION_SCHEMA.COLUMNS")); + } + + private static Connection fakeConnection(List sqlLog) { + return proxy(Connection.class, (method, args) -> { + if ("prepareStatement".equals(method.getName())) { + String sql = (String) args[0]; + sqlLog.add(sql); + return fakeStatement(sql); + } + if ("getMetaData".equals(method.getName())) { + throw new AssertionError("IRIS columns must not use JDBC DatabaseMetaData.getColumns()"); + } + return defaultValue(method.getReturnType()); + }); + } + + private static PreparedStatement fakeStatement(String sql) { + return proxy(PreparedStatement.class, (method, args) -> { + if ("executeQuery".equals(method.getName())) { + if (sql.contains("KEY_COLUMN_USAGE")) { + return fakeResultSet(List.of(Map.of("COLUMN_NAME", "ID"))); + } + return fakeResultSet(List.of( + Map.of( + "COLUMN_NAME", "ID", + "DATA_TYPE", "INTEGER", + "IS_NULLABLE", "NO", + "NUMERIC_PRECISION", 10 + ), + Map.of( + "COLUMN_NAME", "NAME", + "DATA_TYPE", "VARCHAR", + "IS_NULLABLE", "YES", + "CHARACTER_MAXIMUM_LENGTH", 64 + ) + )); + } + return defaultValue(method.getReturnType()); + }); + } + + private static ResultSet fakeResultSet(List> rows) { + final int[] index = {-1}; + final boolean[] wasNull = {false}; + return proxy(ResultSet.class, (method, args) -> { + String name = method.getName(); + if ("next".equals(name)) { + index[0] += 1; + return index[0] < rows.size(); + } + if ("getString".equals(name)) { + Object value = rows.get(index[0]).get((String) args[0]); + wasNull[0] = value == null; + return value == null ? null : String.valueOf(value); + } + if ("getObject".equals(name)) { + Object value = rows.get(index[0]).get((String) args[0]); + wasNull[0] = value == null; + return value; + } + if ("wasNull".equals(name)) { + return wasNull[0]; + } + return defaultValue(method.getReturnType()); + }); + } + + @SuppressWarnings("unchecked") + private static T proxy(Class type, MethodHandler handler) { + InvocationHandler invocationHandler = new InvocationHandler() { + @Override + public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { + return handler.handle(method, args == null ? new Object[0] : args); + } + }; + return (T) Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, invocationHandler); + } + + private static Object defaultValue(Class type) { + if (Boolean.TYPE.equals(type)) { + return false; + } + if (Integer.TYPE.equals(type)) { + return 0; + } + return null; + } + + private interface MethodHandler { + Object handle(Method method, Object[] args) throws Throwable; + } +} diff --git a/agents/drivers/kingbase/build.gradle b/agents/drivers/kingbase/build.gradle new file mode 100644 index 0000000000..7c9eef176f --- /dev/null +++ b/agents/drivers/kingbase/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'cn.com.kingbase:kingbase8:9.0.1.jre7' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': '人大金仓 KingbaseES', 'Main-Class': 'com.dbx.agent.kingbase.KingbaseAgent') + } +} diff --git a/agents/drivers/kingbase/libs/.gitkeep b/agents/drivers/kingbase/libs/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/agents/drivers/kingbase/src/main/java/com/dbx/agent/kingbase/KingbaseAgent.java b/agents/drivers/kingbase/src/main/java/com/dbx/agent/kingbase/KingbaseAgent.java new file mode 100644 index 0000000000..0cd723aa80 --- /dev/null +++ b/agents/drivers/kingbase/src/main/java/com/dbx/agent/kingbase/KingbaseAgent.java @@ -0,0 +1,349 @@ +package com.dbx.agent.kingbase; + +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcIdentifiers; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.ObjectInfo; +import com.dbx.agent.ObjectSource; +import com.dbx.agent.PostgresLikeAgent; +import com.dbx.agent.PostgresLikeAgentProfile; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.Statement; +import java.sql.Types; +import java.util.ArrayList; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; + +public final class KingbaseAgent extends PostgresLikeAgent { + public static final PostgresLikeAgentProfile KINGBASE_PROFILE = new PostgresLikeAgentProfile( + "com.kingbase8.Driver", + "jdbc:kingbase8://{host}:{port}/{database}" + ); + + public KingbaseAgent() { + super(KINGBASE_PROFILE); + } + + @Override + protected void afterConnect(ConnectParams params, Connection connection) { + if (params.isMysql_compat_mode()) { + setMysqlCompatMode(true); + } + } + + @Override + public List listDatabases() { + return unchecked(() -> { + try (PreparedStatement stmt = requireConnected().prepareStatement("SELECT current_database() AS database_name"); + ResultSet rs = stmt.executeQuery()) { + if (rs.next()) { + return Collections.singletonList(new DatabaseInfo(rs.getString("database_name"))); + } + } + return Collections.singletonList(new DatabaseInfo(getConfiguredDatabase())); + }); + } + + @Override + public List listSchemas() { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT schema_name " + + "FROM information_schema.schemata " + + "WHERE UPPER(schema_name) <> 'INFORMATION_SCHEMA' " + + "AND UPPER(schema_name) NOT LIKE 'SYS%' " + + "AND UPPER(schema_name) NOT LIKE 'XLOG%' " + + "ORDER BY schema_name"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql); + ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(rs.getString("schema_name")); + } + } + return result; + }); + } + + @Override + public List listTables(String schema) { + return listTables(schema, "table_type = 'BASE TABLE'"); + } + + @Override + public List listObjects(String schema) { + List result = new ArrayList<>(); + for (TableInfo table : listTables(schema)) { + result.add(new ObjectInfo(table.getName(), table.getTable_type(), effectiveSchema(schema), table.getComment())); + } + return result; + } + + @Override + public ObjectSource getObjectSource(String schema, String name, String objectType) { + if (!"VIEW".equalsIgnoreCase(objectType)) { + return new ObjectSource(name, objectType, effectiveSchema(schema), ""); + } + return unchecked(() -> { + String source = ""; + String sql = "SELECT view_definition " + + "FROM information_schema.views " + + "WHERE table_schema = " + sqlString(effectiveSchema(schema)) + + " AND table_name = " + sqlString(name); + try (Statement stmt = requireConnected().createStatement()) { + try (ResultSet rs = stmt.executeQuery(sql)) { + if (rs.next()) { + source = coalesce(rs.getString("view_definition")); + } + } + } + return new ObjectSource(name, objectType, effectiveSchema(schema), source); + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + Set primaryKeys = primaryKeys(schema, table); + List result = new ArrayList<>(); + String sql = "SELECT column_name, data_type, is_nullable, column_default, " + + "numeric_precision, numeric_scale, character_maximum_length " + + "FROM information_schema.columns " + + "WHERE table_schema = " + sqlString(effectiveSchema(schema)) + + " AND table_name = " + sqlString(table) + " " + + "ORDER BY ordinal_position"; + try (Statement stmt = requireConnected().createStatement()) { + try (ResultSet rs = stmt.executeQuery(sql)) { + while (rs.next()) { + String columnName = rs.getString("column_name"); + result.add(new ColumnInfo( + columnName, + rs.getString("data_type"), + "YES".equalsIgnoreCase(coalesce(rs.getString("is_nullable"))), + rs.getString("column_default"), + primaryKeys.contains(columnName), + null, + null, + intObject(rs, "numeric_precision"), + intObject(rs, "numeric_scale"), + intObject(rs, "character_maximum_length") + )); + } + } + } + return result; + }); + } + + @Override + public List listIndexes(String schema, String table) { + return unchecked(() -> { + Map indexes = new LinkedHashMap<>(); + String sql = "SELECT tc.constraint_name, tc.constraint_type, kcu.column_name " + + "FROM information_schema.table_constraints tc " + + "JOIN information_schema.key_column_usage kcu " + + "ON kcu.constraint_schema = tc.constraint_schema " + + "AND kcu.constraint_name = tc.constraint_name " + + "AND kcu.table_schema = tc.table_schema " + + "AND kcu.table_name = tc.table_name " + + "WHERE tc.table_schema = " + sqlString(effectiveSchema(schema)) + + " AND tc.table_name = " + sqlString(table) + " " + + "AND tc.constraint_type IN ('PRIMARY KEY', 'UNIQUE') " + + "ORDER BY tc.constraint_name, kcu.ordinal_position"; + try (Statement stmt = requireConnected().createStatement()) { + try (ResultSet rs = stmt.executeQuery(sql)) { + while (rs.next()) { + String name = rs.getString("constraint_name"); + String type = rs.getString("constraint_type"); + ConstraintIndexBuilder builder = indexes.get(name); + if (builder == null) { + builder = new ConstraintIndexBuilder(name, "PRIMARY KEY".equalsIgnoreCase(type)); + indexes.put(name, builder); + } + builder.columns.add(rs.getString("column_name")); + } + } + } + List result = new ArrayList<>(); + for (ConstraintIndexBuilder index : indexes.values()) { + result.add(new IndexInfo(index.name, index.columns, true, index.primary, null, index.primary ? "PRIMARY KEY" : "UNIQUE", null, null)); + } + return result; + }); + } + + @Override + public List listForeignKeys(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT fk.constraint_name, fk.column_name, pk.table_name AS ref_table, pk.column_name AS ref_column " + + "FROM information_schema.table_constraints tc " + + "JOIN information_schema.key_column_usage fk " + + "ON fk.constraint_schema = tc.constraint_schema " + + "AND fk.constraint_name = tc.constraint_name " + + "AND fk.table_schema = tc.table_schema " + + "AND fk.table_name = tc.table_name " + + "JOIN information_schema.referential_constraints rc " + + "ON rc.constraint_schema = tc.constraint_schema " + + "AND rc.constraint_name = tc.constraint_name " + + "JOIN information_schema.key_column_usage pk " + + "ON pk.constraint_schema = rc.unique_constraint_schema " + + "AND pk.constraint_name = rc.unique_constraint_name " + + "AND pk.ordinal_position = fk.position_in_unique_constraint " + + "WHERE tc.table_schema = " + sqlString(effectiveSchema(schema)) + + " AND tc.table_name = " + sqlString(table) + " " + + "AND tc.constraint_type = 'FOREIGN KEY' " + + "ORDER BY fk.constraint_name, fk.ordinal_position"; + try (Statement stmt = requireConnected().createStatement()) { + try (ResultSet rs = stmt.executeQuery(sql)) { + while (rs.next()) { + result.add(new ForeignKeyInfo( + rs.getString("constraint_name"), + rs.getString("column_name"), + rs.getString("ref_table"), + rs.getString("ref_column") + )); + } + } + } + return result; + }); + } + + @Override + public List listTriggers(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public String setSchemaSQL(String schema) { + return "SET search_path TO " + JdbcIdentifiers.INSTANCE.doubleQuote(effectiveSchema(schema)); + } + + @Override + protected Object resultValue(ResultSet rs, int index, int sqlType, String columnTypeName) { + if (isTemporalType(sqlType, columnTypeName)) { + return unchecked(() -> { + Object value = rs.getTimestamp(index); + return rs.wasNull() ? null : value.toString(); + }); + } + return super.resultValue(rs, index, sqlType, columnTypeName); + } + + private static boolean isTemporalType(int sqlType, String columnTypeName) { + switch (sqlType) { + case Types.DATE: + case Types.TIME: + case Types.TIME_WITH_TIMEZONE: + case Types.TIMESTAMP: + case Types.TIMESTAMP_WITH_TIMEZONE: + return true; + default: + break; + } + if (columnTypeName == null) { + return false; + } + String normalized = columnTypeName.trim().toLowerCase(Locale.ROOT); + return normalized.equals("date") + || normalized.equals("time") + || normalized.equals("datetime") + || normalized.startsWith("timestamp"); + } + + private Set primaryKeys(String schema, String table) { + return unchecked(() -> { + Set primaryKeys = new LinkedHashSet<>(); + String sql = "SELECT kcu.column_name " + + "FROM information_schema.table_constraints tc " + + "JOIN information_schema.key_column_usage kcu " + + "ON kcu.constraint_schema = tc.constraint_schema " + + "AND kcu.constraint_name = tc.constraint_name " + + "AND kcu.table_schema = tc.table_schema " + + "AND kcu.table_name = tc.table_name " + + "WHERE tc.table_schema = " + sqlString(effectiveSchema(schema)) + + " AND tc.table_name = " + sqlString(table) + " " + + "AND tc.constraint_type = 'PRIMARY KEY' " + + "ORDER BY kcu.ordinal_position"; + try (Statement stmt = requireConnected().createStatement()) { + try (ResultSet rs = stmt.executeQuery(sql)) { + while (rs.next()) { + primaryKeys.add(rs.getString("column_name")); + } + } + } + return primaryKeys; + }); + } + + private List listTables(String schema, String tableTypePredicate) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT table_name, table_type " + + "FROM information_schema.tables " + + "WHERE table_schema = " + sqlString(effectiveSchema(schema)) + " AND " + tableTypePredicate + " " + + "ORDER BY table_name"; + try (Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery(sql)) { + while (rs.next()) { + result.add(new TableInfo(rs.getString(1), normalizeTableType(rs.getString(2)))); + } + } + return result; + }); + } + + private String effectiveSchema(String schema) { + if (schema != null && !schema.trim().isEmpty()) { + return schema; + } + return "PUBLIC"; + } + + private static Integer intObject(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value instanceof Number ? ((Number) value).intValue() : null; + } + + private static String normalizeTableType(String type) { + if (type == null || type.trim().isEmpty()) return "TABLE"; + if ("BASE TABLE".equalsIgnoreCase(type)) return "TABLE"; + return type; + } + + private static String coalesce(String value) { + return value == null ? "" : value; + } + + private static String sqlString(String value) { + return "'" + coalesce(value).replace("'", "''") + "'"; + } + + private static final class ConstraintIndexBuilder { + final String name; + final List columns = new ArrayList<>(); + final boolean primary; + + ConstraintIndexBuilder(String name, boolean primary) { + this.name = name; + this.primary = primary; + } + } + + public static void main(String[] args) { + new JsonRpcServer(new KingbaseAgent()).run(); + } +} diff --git a/agents/drivers/kingbase/src/test/java/com/dbx/agent/kingbase/KingbaseAgentTest.java b/agents/drivers/kingbase/src/test/java/com/dbx/agent/kingbase/KingbaseAgentTest.java new file mode 100644 index 0000000000..6d2e542bd2 --- /dev/null +++ b/agents/drivers/kingbase/src/test/java/com/dbx/agent/kingbase/KingbaseAgentTest.java @@ -0,0 +1,184 @@ +package com.dbx.agent.kingbase; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; +import com.dbx.agent.test.TestSupport; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.Statement; +import java.sql.Timestamp; +import java.sql.Types; +import java.util.ArrayList; +import java.util.List; + +class KingbaseAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new KingbaseAgent(); + } + + @Override + protected String resultSetSql() { + return "CALL sample_proc()"; + } + + @Test + void declaresKingbasePostgresLikeProfile() { + KingbaseAgent agent = new KingbaseAgent(); + + Assertions.assertEquals("com.kingbase8.Driver", agent.getProfile().getDriverClass()); + Assertions.assertEquals("jdbc:kingbase8://{host}:{port}/{database}", agent.getProfile().getUrlTemplate()); + } + + @Test + void mysqlCompatListDatabasesUsesCurrentDatabase() { + List sql = new ArrayList<>(); + KingbaseAgent agent = new KingbaseAgent(); + agent.setMysqlCompatMode(true); + TestSupport.setPrivateConnection(agent, preparedConnection(sql, resultSet( + new String[]{"database_name"}, + new Object[][]{{"TEST"}} + ))); + + Assertions.assertEquals("TEST", agent.listDatabases().get(0).getName()); + Assertions.assertEquals("SELECT current_database() AS database_name", sql.get(0)); + } + + @Test + void mysqlCompatListTablesUsesInformationSchema() { + List sql = new ArrayList<>(); + KingbaseAgent agent = new KingbaseAgent(); + agent.setMysqlCompatMode(true); + TestSupport.setPrivateConnection(agent, preparedConnection(sql, resultSet( + new String[]{"table_name", "table_type"}, + new Object[][]{{"test_timestamps", "BASE TABLE"}} + ))); + + Assertions.assertEquals("test_timestamps", agent.listTables("PUBLIC").get(0).getName()); + Assertions.assertTrue(sql.get(0).contains("FROM information_schema.tables")); + Assertions.assertFalse(sql.get(0).contains("SHOW")); + } + + @Test + void mysqlCompatTimestampTypeNameIsReadAsTimestampText() throws Exception { + Timestamp timestamp = Timestamp.valueOf("2026-06-22 11:29:00"); + KingbaseAgent agent = new KingbaseAgent(); + agent.setMysqlCompatMode(true); + + Object value = readResultValue(agent, timestampResultSet(timestamp), Types.BINARY, "timestamp"); + + Assertions.assertEquals("2026-06-22 11:29:00.0", value); + } + + private static Connection preparedConnection(List sql, ResultSet rs) { + PreparedStatement statement = proxy(PreparedStatement.class, (method, args) -> { + if ("executeQuery".equals(method.getName())) { + return rs; + } + if ("close".equals(method.getName())) { + return null; + } + return defaultValue(method.getReturnType()); + }); + Statement plainStatement = proxy(Statement.class, (method, args) -> { + if ("executeQuery".equals(method.getName())) { + sql.add(String.valueOf(args[0])); + return rs; + } + if ("close".equals(method.getName())) { + return null; + } + return defaultValue(method.getReturnType()); + }); + return proxy(Connection.class, (method, args) -> { + if ("prepareStatement".equals(method.getName())) { + sql.add(String.valueOf(args[0])); + return statement; + } + if ("createStatement".equals(method.getName())) { + return plainStatement; + } + if ("isClosed".equals(method.getName())) { + return false; + } + return defaultValue(method.getReturnType()); + }); + } + + private static ResultSet resultSet(String[] columns, Object[][] rows) { + int[] index = {-1}; + return proxy(ResultSet.class, (method, args) -> { + switch (method.getName()) { + case "next": + index[0] += 1; + return index[0] < rows.length; + case "getString": + Object key = args[0]; + if (key instanceof Number) { + return rows[index[0]][((Number) key).intValue() - 1]; + } + for (int i = 0; i < columns.length; i++) { + if (columns[i].equalsIgnoreCase(String.valueOf(key))) { + return rows[index[0]][i]; + } + } + return null; + case "wasNull": + return false; + case "close": + return null; + default: + return defaultValue(method.getReturnType()); + } + }); + } + + private static ResultSet timestampResultSet(Timestamp timestamp) { + return proxy(ResultSet.class, (method, args) -> { + switch (method.getName()) { + case "getTimestamp": + return timestamp; + case "getBytes": + throw new AssertionError("timestamp should not be read as bytes"); + case "wasNull": + return false; + default: + return defaultValue(method.getReturnType()); + } + }); + } + + private static T proxy(Class type, MethodHandler handler) { + InvocationHandler invocationHandler = (Object unused, Method method, Object[] args) -> handler.handle(method, args); + return type.cast(Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, invocationHandler)); + } + + private static Object defaultValue(Class type) { + if (Boolean.TYPE.equals(type)) return false; + if (Byte.TYPE.equals(type)) return (byte) 0; + if (Short.TYPE.equals(type)) return (short) 0; + if (Integer.TYPE.equals(type)) return 0; + if (Long.TYPE.equals(type)) return 0L; + if (Float.TYPE.equals(type)) return 0f; + if (Double.TYPE.equals(type)) return 0.0d; + if (Character.TYPE.equals(type)) return '\0'; + return null; + } + + private interface MethodHandler { + Object handle(Method method, Object[] args) throws Throwable; + } + + private static Object readResultValue(KingbaseAgent agent, ResultSet rs, int sqlType, String columnTypeName) throws Exception { + Method method = KingbaseAgent.class.getDeclaredMethod("resultValue", ResultSet.class, int.class, int.class, String.class); + method.setAccessible(true); + return method.invoke(agent, rs, 1, sqlType, columnTypeName); + } +} diff --git a/agents/drivers/kylin/build.gradle b/agents/drivers/kylin/build.gradle new file mode 100644 index 0000000000..7ec3cd652b --- /dev/null +++ b/agents/drivers/kylin/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'org.apache.kylin:kylin-jdbc:5.0.0' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'Apache Kylin', 'Main-Class': 'com.dbx.agent.kylin.KylinAgent') + } +} diff --git a/agents/drivers/kylin/src/main/java/com/dbx/agent/kylin/KylinAgent.java b/agents/drivers/kylin/src/main/java/com/dbx/agent/kylin/KylinAgent.java new file mode 100644 index 0000000000..8af270cdb7 --- /dev/null +++ b/agents/drivers/kylin/src/main/java/com/dbx/agent/kylin/KylinAgent.java @@ -0,0 +1,144 @@ +package com.dbx.agent.kylin; + +import com.dbx.agent.AbstractJdbcAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; + +public final class KylinAgent extends AbstractJdbcAgent { + + @Override + protected String driverClass() { + return "org.apache.kylin.jdbc.Driver"; + } + + @Override + protected String buildJdbcUrl(ConnectParams params) { + return buildUrl(params); + } + + @Override + public List listDatabases() { + return unchecked(() -> { + List result = new ArrayList<>(); + try (ResultSet rs = requireConnected().getMetaData().getCatalogs()) { + while (rs.next()) { + result.add(new DatabaseInfo(rs.getString("TABLE_CAT"))); + } + } + result.sort(Comparator.comparing(DatabaseInfo::getName)); + return result; + }); + } + + @Override + public List listSchemas() { + return Collections.emptyList(); + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + try (ResultSet rs = requireConnected().getMetaData().getTables(null, schema, null, null)) { + while (rs.next()) { + result.add(new TableInfo( + rs.getString("TABLE_NAME"), + normalizeTableType(rs.getString("TABLE_TYPE")), + null + )); + } + } + result.sort(Comparator.comparing(TableInfo::getName)); + return result; + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + Set primaryKeys = new LinkedHashSet<>(); + try (ResultSet rs = requireConnected().getMetaData().getPrimaryKeys(null, schema, table)) { + while (rs.next()) { + primaryKeys.add(rs.getString("COLUMN_NAME")); + } + } + + List result = new ArrayList<>(); + try (ResultSet rs = requireConnected().getMetaData().getColumns(null, schema, table, null)) { + while (rs.next()) { + String colName = rs.getString("COLUMN_NAME"); + result.add(new ColumnInfo( + colName, + rs.getString("TYPE_NAME"), + "YES".equals(rs.getString("IS_NULLABLE")), + rs.getString("COLUMN_DEF"), + primaryKeys.contains(colName), + null, + emptyToNull(rs.getString("REMARKS")), + intOrNull(rs, "COLUMN_SIZE"), + intOrNull(rs, "DECIMAL_DIGITS"), + null + )); + } + } + return result; + }); + } + + @Override + public List listIndexes(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listForeignKeys(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listTriggers(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public String setSchemaSQL(String schema) { + return ""; + } + + private static String buildUrl(ConnectParams params) { + return "jdbc:kylin://" + params.getHost() + ":" + params.getPort() + "/" + params.getDatabase(); + } + + private static String normalizeTableType(String type) { + if ("BASE TABLE".equals(type)) { + return "TABLE"; + } + return type; + } + + private static Integer intOrNull(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value instanceof Number ? ((Number) value).intValue() : null; + } + + private static String emptyToNull(String value) { + return value == null || value.isEmpty() ? null : value; + } + + public static void main(String[] args) { + new JsonRpcServer(new KylinAgent()).run(); + } +} diff --git a/agents/drivers/kylin/src/test/java/com/dbx/agent/kylin/KylinAgentTest.java b/agents/drivers/kylin/src/test/java/com/dbx/agent/kylin/KylinAgentTest.java new file mode 100644 index 0000000000..4c3e88be9b --- /dev/null +++ b/agents/drivers/kylin/src/test/java/com/dbx/agent/kylin/KylinAgentTest.java @@ -0,0 +1,16 @@ +package com.dbx.agent.kylin; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; + +class KylinAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new KylinAgent(); + } + + @Override + protected String resultSetSql() { + return "CALL sample_proc()"; + } +} diff --git a/agents/drivers/mongodb/build.gradle b/agents/drivers/mongodb/build.gradle new file mode 100644 index 0000000000..125b760f20 --- /dev/null +++ b/agents/drivers/mongodb/build.gradle @@ -0,0 +1,11 @@ +dependencies { + implementation project(':common') + implementation 'org.mongodb:mongodb-driver-sync:3.12.14' + implementation 'com.google.code.gson:gson:2.11.0' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'MongoDB (Legacy)', 'Main-Class': 'com.dbx.agent.mongodb.MongoAgent') + } +} diff --git a/agents/drivers/mongodb/src/main/java/com/dbx/agent/mongodb/MongoAgent.java b/agents/drivers/mongodb/src/main/java/com/dbx/agent/mongodb/MongoAgent.java new file mode 100644 index 0000000000..93f2fae868 --- /dev/null +++ b/agents/drivers/mongodb/src/main/java/com/dbx/agent/mongodb/MongoAgent.java @@ -0,0 +1,586 @@ +package com.dbx.agent.mongodb; + +import com.dbx.agent.AgentProtocol; +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonNull; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import com.mongodb.ConnectionString; +import com.mongodb.MongoCredential; +import com.mongodb.MongoClientSettings; +import com.mongodb.ServerAddress; +import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; +import java.io.BufferedReader; +import java.io.FileInputStream; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.security.KeyFactory; +import java.security.KeyStore; +import java.security.PrivateKey; +import java.security.SecureRandom; +import java.security.cert.Certificate; +import java.security.cert.CertificateFactory; +import java.security.spec.PKCS8EncodedKeySpec; +import java.time.Instant; +import java.time.ZoneOffset; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Base64; +import java.util.Collection; +import java.util.Collections; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import javax.net.ssl.KeyManager; +import javax.net.ssl.KeyManagerFactory; +import javax.net.ssl.SSLContext; +import javax.net.ssl.TrustManager; +import javax.net.ssl.TrustManagerFactory; +import org.bson.Document; +import org.bson.types.ObjectId; + +public final class MongoAgent { + private static final Gson GSON = new Gson(); + private static final DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ISO_INSTANT.withZone(ZoneOffset.UTC); + private static final long JS_MAX_SAFE_INTEGER = 9_007_199_254_740_991L; + private static MongoClient client; + + private MongoAgent() { + } + + private static String stringOrNull(JsonObject object, String key) { + JsonElement element = object.get(key); + return element == null || element instanceof JsonNull ? null : element.getAsString(); + } + + static MongoClientSettings.Builder configureBuilder(JsonObject connObj) { + String host = connObj.has("host") ? connObj.get("host").getAsString() : "127.0.0.1"; + int port = connObj.has("port") ? connObj.get("port").getAsInt() : 27017; + String username = coalesce(stringOrNull(connObj, "username")); + String password = coalesce(stringOrNull(connObj, "password")); + String authDatabase = authenticationDatabase(connObj); + String connectionString = stringOrNull(connObj, "connection_string"); + boolean ssl = connObj.has("ssl") && !connObj.get("ssl").isJsonNull() && connObj.get("ssl").getAsBoolean(); + String caCertPath = stringOrNull(connObj, "ca_cert_path"); + String clientCertPath = firstNonBlank( + stringOrNull(connObj, "client_cert_path"), stringOrNull(connObj, "cert_path")); + String clientKeyPath = firstNonBlank( + stringOrNull(connObj, "client_key_path"), stringOrNull(connObj, "key_path")); + + if ((clientCertPath == null) != (clientKeyPath == null)) { + throw new IllegalArgumentException("Client certificate and key must be provided together"); + } + + MongoClientSettings.Builder builder = MongoClientSettings.builder(); + if (connectionString != null && !connectionString.isBlank()) { + builder.applyConnectionString(new ConnectionString(connectionString)); + } else { + builder.applyToClusterSettings( + settings -> settings.hosts(Collections.singletonList(new ServerAddress(host, port)))); + if (!username.isBlank()) { + builder.credential(MongoCredential.createCredential(username, authDatabase, password.toCharArray())); + } + } + + if (ssl) { + applyTlsSettings(builder, caCertPath, clientCertPath, clientKeyPath); + } + + return builder; + } + + private static Object connect(JsonObject params) { + JsonObject connObj = params.has("connection") && params.get("connection").isJsonObject() + ? params.getAsJsonObject("connection") + : params; + String database = defaultString(stringOrNull(connObj, "database"), "admin"); + + MongoClientSettings.Builder builder = configureBuilder(connObj); + + if (client != null) { + client.close(); + } + client = MongoClients.create(builder.build()); + client.getDatabase(database).runCommand(new Document("ping", 1)); + return Collections.singletonMap("ok", true); + } + + private static void applyTlsSettings(MongoClientSettings.Builder builder, + String caCertPath, String clientCertPath, String clientKeyPath) { + builder.applyToSslSettings(sslBuilder -> { + sslBuilder.enabled(true); + if (caCertPath != null && !caCertPath.isBlank() + || clientCertPath != null && !clientCertPath.isBlank()) { + try { + sslBuilder.context(createTlsSslContext(caCertPath, clientCertPath, clientKeyPath)); + } catch (Exception e) { + throw new RuntimeException("Failed to configure TLS: " + e.getMessage(), e); + } + } + }); + } + + static SSLContext createTlsSslContext(String caCertPath, String clientCertPath, String clientKeyPath) + throws Exception { + TrustManager[] trustManagers = null; + if (caCertPath != null && !caCertPath.isBlank()) { + trustManagers = loadTrustManagersFromPem(caCertPath); + } + + KeyManager[] keyManagers = null; + if (clientCertPath != null && !clientCertPath.isBlank() + && clientKeyPath != null && !clientKeyPath.isBlank()) { + keyManagers = loadKeyManagersFromPem(clientCertPath, clientKeyPath); + } + + SSLContext ctx = SSLContext.getInstance("TLS"); + ctx.init(keyManagers, trustManagers, new SecureRandom()); + return ctx; + } + + static TrustManager[] loadTrustManagersFromPem(String caCertPath) throws Exception { + CertificateFactory cf = CertificateFactory.getInstance("X.509"); + KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType()); + trustStore.load(null, null); + int i = 0; + try (InputStream is = new FileInputStream(caCertPath)) { + for (Certificate cert : (Collection) cf.generateCertificates(is)) { + trustStore.setCertificateEntry("ca-" + i, cert); + i++; + } + } + TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); + tmf.init(trustStore); + return tmf.getTrustManagers(); + } + + static KeyManager[] loadKeyManagersFromPem(String certPath, String keyPath) throws Exception { + CertificateFactory cf = CertificateFactory.getInstance("X.509"); + Certificate cert; + try (InputStream is = new FileInputStream(certPath)) { + cert = cf.generateCertificate(is); + } + + PrivateKey key = loadPrivateKeyFromPem(keyPath); + + KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); + keyStore.load(null, null); + keyStore.setCertificateEntry("client", cert); + keyStore.setKeyEntry("client", key, new char[0], new Certificate[] {cert}); + + KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); + kmf.init(keyStore, new char[0]); + return kmf.getKeyManagers(); + } + + static PrivateKey loadPrivateKeyFromPem(String keyPath) throws Exception { + String content = new String(Files.readAllBytes(Paths.get(keyPath)), StandardCharsets.UTF_8); + content = content.replace("-----BEGIN PRIVATE KEY-----", "") + .replace("-----END PRIVATE KEY-----", "") + .replace("-----BEGIN RSA PRIVATE KEY-----", "") + .replace("-----END RSA PRIVATE KEY-----", "") + .replace("-----BEGIN EC PRIVATE KEY-----", "") + .replace("-----END EC PRIVATE KEY-----", ""); + byte[] keyBytes = Base64.getDecoder().decode(content.replaceAll("\\s", "")); + + // PKCS#8 (standard format, "-----BEGIN PRIVATE KEY-----") + try { + return KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(keyBytes)); + } catch (Exception e) { + // ignore — try next format + } + try { + return KeyFactory.getInstance("EC").generatePrivate(new PKCS8EncodedKeySpec(keyBytes)); + } catch (Exception e) { + // ignore — try next format + } + + // PKCS#1 RSA — add PKCS#8 AlgorithmIdentifier prefix + // The prefix is: SEQUENCE { INTEGER 0, SEQUENCE { OID 1.2.840.113549.1.1.1, NULL }, OCTET STRING } + try { + byte[] pkcs8Header = { + 0x30, (byte) 0x82, 0, 0, // SEQUENCE (length filled in below) + 0x02, 0x01, 0x00, // INTEGER 0 + 0x30, 0x0d, // SEQUENCE (AlgorithmIdentifier) + 0x06, 0x09, 0x2a, (byte) 0x86, 0x48, (byte) 0x86, (byte) 0xf7, 0x0d, 0x01, 0x01, 0x01, // OID 1.2.840.113549.1.1.1 + 0x05, 0x00, // NULL + 0x04 // OCTET STRING (length filled in below) + }; + int totalLen = pkcs8Header.length + keyBytes.length - 4; // subtract placeholder SEQUENCE length + pkcs8Header[2] = (byte) ((totalLen >> 8) & 0xff); + pkcs8Header[3] = (byte) (totalLen & 0xff); + // OCTET STRING length + int octetLen = keyBytes.length; + byte[] octetLenBytes; + if (octetLen < 128) { + octetLenBytes = new byte[] {(byte) octetLen}; + } else if (octetLen < 256) { + octetLenBytes = new byte[] {(byte) 0x81, (byte) octetLen}; + } else { + octetLenBytes = new byte[] {(byte) 0x82, (byte) (octetLen >> 8), (byte) (octetLen & 0xff)}; + } + byte[] pkcs8Key = new byte[pkcs8Header.length + octetLenBytes.length - 1 + keyBytes.length]; + int pos = 0; + System.arraycopy(pkcs8Header, 0, pkcs8Key, pos, pkcs8Header.length - 1); // exclude placeholder OCTET STRING length + pos += pkcs8Header.length - 1; + System.arraycopy(octetLenBytes, 0, pkcs8Key, pos, octetLenBytes.length); + pos += octetLenBytes.length; + System.arraycopy(keyBytes, 0, pkcs8Key, pos, keyBytes.length); + return KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(pkcs8Key)); + } catch (Exception e) { + throw new IllegalArgumentException( + "Unsupported private key format in " + keyPath + + ". Use PKCS#8 (-----BEGIN PRIVATE KEY-----) or PKCS#1 RSA (-----BEGIN RSA PRIVATE KEY-----).", + e); + } + } + + static String firstNonBlank(String... values) { + for (String value : values) { + if (value != null && !value.isBlank()) { + return value; + } + } + return null; + } + + static String authenticationDatabase(JsonObject connObj) { + String authSource = urlParam(stringOrNull(connObj, "url_params"), "authSource"); + if (authSource != null && !authSource.isBlank()) { + return authSource; + } + return defaultString(stringOrNull(connObj, "database"), "admin"); + } + + private static String urlParam(String urlParams, String key) { + if (urlParams == null || urlParams.isBlank()) { + return null; + } + String normalized = urlParams.startsWith("?") ? urlParams.substring(1) : urlParams; + for (String pair : normalized.split("&")) { + if (pair.isBlank()) continue; + String[] parts = pair.split("=", 2); + if (decode(parts[0]).equals(key)) { + return parts.length > 1 ? decode(parts[1]) : ""; + } + } + return null; + } + + private static String decode(String value) { + return URLDecoder.decode(value, StandardCharsets.UTF_8); + } + + private static Object listDatabases() { + MongoClient c = requireClient(); + List> result = new ArrayList<>(); + for (String name : c.listDatabaseNames()) { + result.add(Collections.singletonMap("name", name)); + } + return result; + } + + private static Object listCollections(JsonObject params) { + MongoClient c = requireClient(); + String database = params.get("database").getAsString(); + List result = new ArrayList<>(); + for (String name : c.getDatabase(database).listCollectionNames()) { + result.add(name); + } + return result; + } + + private static Object findDocuments(JsonObject params) { + MongoClient c = requireClient(); + String database = params.get("database").getAsString(); + String collection = params.get("collection").getAsString(); + long skip = params.has("skip") ? params.get("skip").getAsLong() : 0; + int limit = params.has("limit") ? params.get("limit").getAsInt() : 50; + String filterJson = stringOrNull(params, "filter"); + String sortJson = stringOrNull(params, "sort"); + + var col = c.getDatabase(database).getCollection(collection); + Document filterDoc = filterJson != null && !filterJson.isBlank() ? Document.parse(filterJson) : new Document(); + long total = col.countDocuments(filterDoc); + + var iterable = col.find(filterDoc).skip((int) skip).limit(limit); + if (sortJson != null && !sortJson.isBlank()) { + iterable = iterable.sort(Document.parse(sortJson)); + } + + List> documents = new ArrayList<>(); + for (Document document : iterable) { + documents.add(bsonToJson(document)); + } + Map result = new LinkedHashMap<>(); + result.put("documents", documents); + result.put("total", total); + return result; + } + + private static Object insertDocument(JsonObject params) { + MongoClient c = requireClient(); + String database = params.get("database").getAsString(); + String collection = params.get("collection").getAsString(); + String docJson = params.get("doc_json").getAsString(); + + Document doc = Document.parse(docJson); + c.getDatabase(database).getCollection(collection).insertOne(doc); + Object insertedId = convertValue(doc.get("_id")); + return Collections.singletonMap("inserted_id", insertedId); + } + + private static Object parseId(String id) { + try { + return new ObjectId(id); + } catch (Exception e) { + return id; + } + } + + private static Object updateDocument(JsonObject params) { + MongoClient c = requireClient(); + String database = params.get("database").getAsString(); + String collection = params.get("collection").getAsString(); + String id = params.get("id").getAsString(); + String docJson = params.get("doc_json").getAsString(); + + var col = c.getDatabase(database).getCollection(collection); + Document newDoc = documentForWrite(docJson); + var filter = new Document("_id", parseId(id)); + var result = isUpdateOperatorDocument(newDoc) + ? col.updateOne(filter, newDoc) + : col.replaceOne(filter, replacementDocument(newDoc)); + return Collections.singletonMap("modified_count", result.getModifiedCount()); + } + + static Document documentForWrite(String docJson) { + Document doc = Document.parse(docJson); + convertMongoShellDates(doc); + return doc; + } + + private static Document replacementDocument(Document doc) { + Document replacement = new Document(doc); + replacement.remove("_id"); + return replacement; + } + + static boolean isUpdateOperatorDocument(Document doc) { + if (doc.isEmpty()) { + return false; + } + for (String key : doc.keySet()) { + if (!key.startsWith("$")) { + return false; + } + } + return true; + } + + private static Object deleteDocument(JsonObject params) { + MongoClient c = requireClient(); + String database = params.get("database").getAsString(); + String collection = params.get("collection").getAsString(); + String id = params.get("id").getAsString(); + + var col = c.getDatabase(database).getCollection(collection); + var result = col.deleteOne(new Document("_id", parseId(id))); + return Collections.singletonMap("deleted_count", result.getDeletedCount()); + } + + private static Map bsonToJson(Document doc) { + Map result = new LinkedHashMap<>(); + for (Map.Entry entry : doc.entrySet()) { + result.put(entry.getKey(), convertValue(entry.getValue())); + } + return result; + } + + static Object convertValue(Object value) { + if (value == null) { + return null; + } + if (value instanceof ObjectId objectId) { + return objectId.toHexString(); + } + if (value instanceof Document document) { + return bsonToJson(document); + } + if (value instanceof List values) { + List result = new ArrayList<>(); + for (Object item : values) { + result.add(convertValue(item)); + } + return result; + } + if (value instanceof java.util.Date date) { + Instant instant = Instant.ofEpochMilli(date.getTime()); + return "ISODate(\"" + DATE_FORMAT.format(instant) + "\")"; + } + if (value instanceof Long longValue) { + return longValue < -JS_MAX_SAFE_INTEGER || longValue > JS_MAX_SAFE_INTEGER ? longValue.toString() : longValue; + } + if (value instanceof Boolean || value instanceof Integer || value instanceof Double || value instanceof String) { + return value; + } + return value.toString(); + } + + @SuppressWarnings("unchecked") + private static Object convertMongoShellDates(Object value) { + if (value instanceof Document document) { + for (String key : new ArrayList<>(document.keySet())) { + document.put(key, convertMongoShellDates(document.get(key))); + } + return document; + } + if (value instanceof List values) { + List converted = (List) values; + for (int i = 0; i < converted.size(); i++) { + converted.set(i, convertMongoShellDates(converted.get(i))); + } + return converted; + } + if (value instanceof String text) { + Date date = parseMongoShellDate(text); + if (date == null) { + date = parseLegacyDateDisplay(text); + } + return date == null ? value : date; + } + return value; + } + + static Date parseMongoShellDate(String value) { + String trimmed = value.trim(); + String inner = null; + if (trimmed.startsWith("ISODate(") && trimmed.endsWith(")")) { + inner = trimmed.substring("ISODate(".length(), trimmed.length() - 1).trim(); + } else if (trimmed.startsWith("new Date(") && trimmed.endsWith(")")) { + inner = trimmed.substring("new Date(".length(), trimmed.length() - 1).trim(); + } + if (inner == null || inner.length() < 2) { + return null; + } + char quote = inner.charAt(0); + if ((quote != '"' && quote != '\'') || inner.charAt(inner.length() - 1) != quote) { + return null; + } + try { + Instant instant = Instant.parse(inner.substring(1, inner.length() - 1)); + return Date.from(instant); + } catch (Exception e) { + return null; + } + } + + static Date parseLegacyDateDisplay(String value) { + String trimmed = value.trim(); + if (!trimmed.matches("\\d{4}-\\d{2}-\\d{2}[ T]\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?")) { + return null; + } + String normalized = trimmed.replace(' ', 'T'); + int dot = normalized.indexOf('.'); + if (dot < 0) { + normalized = normalized + ".000"; + } else { + int millisStart = dot + 1; + int millisEnd = normalized.length(); + normalized = normalized.substring(0, millisStart) + + String.format("%-3s", normalized.substring(millisStart, millisEnd)).replace(' ', '0'); + } + try { + return Date.from(Instant.parse(normalized + "Z")); + } catch (Exception e) { + return null; + } + } + + private static Object dispatch(String method, JsonObject params) { + return switch (method) { + case AgentProtocol.METHOD_HANDSHAKE -> AgentProtocol.handshakeResult(); + case AgentProtocol.METHOD_CONNECT -> connect(params); + case AgentProtocol.MONGO_METHOD_LIST_DATABASES -> listDatabases(); + case AgentProtocol.MONGO_METHOD_LIST_COLLECTIONS -> listCollections(params); + case AgentProtocol.MONGO_METHOD_FIND_DOCUMENTS -> findDocuments(params); + case AgentProtocol.MONGO_METHOD_INSERT_DOCUMENT -> insertDocument(params); + case AgentProtocol.MONGO_METHOD_UPDATE_DOCUMENT -> updateDocument(params); + case AgentProtocol.MONGO_METHOD_DELETE_DOCUMENT -> deleteDocument(params); + case AgentProtocol.METHOD_DISCONNECT, AgentProtocol.METHOD_SHUTDOWN -> { + if (client != null) { + client.close(); + client = null; + } + if (AgentProtocol.METHOD_SHUTDOWN.equals(method)) { + System.exit(0); + } + yield Collections.singletonMap("ok", true); + } + default -> throw new IllegalArgumentException("Unknown method: " + method); + }; + } + + private static MongoClient requireClient() { + if (client == null) { + throw new IllegalStateException("Not connected"); + } + return client; + } + + private static String coalesce(String value) { + return value == null ? "" : value; + } + + private static String defaultString(String value, String fallback) { + return value == null ? fallback : value; + } + + static String handleRequest(String line) { + JsonObject req = JsonParser.parseString(line).getAsJsonObject(); + JsonElement id = req.get("id"); + String method = req.get("method").getAsString(); + JsonObject params = req.has("params") && req.get("params").isJsonObject() + ? req.getAsJsonObject("params") + : new JsonObject(); + + JsonObject response = new JsonObject(); + response.addProperty("jsonrpc", "2.0"); + response.add("id", id); + + try { + Object result = dispatch(method, params); + response.add("result", GSON.toJsonTree(result)); + } catch (Exception e) { + JsonObject error = new JsonObject(); + error.addProperty("code", -1); + error.addProperty("message", e.getMessage() == null ? "Unknown error" : e.getMessage()); + response.add("error", error); + } + + return GSON.toJson(response); + } + + public static void main(String[] args) throws Exception { + System.out.println("{\"ready\":true}"); + System.out.flush(); + + BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); + while (true) { + String line = reader.readLine(); + if (line == null) { + break; + } + + System.out.println(handleRequest(line)); + System.out.flush(); + } + } +} diff --git a/agents/drivers/mongodb/src/test/java/com/dbx/agent/mongodb/MongoAgentTest.java b/agents/drivers/mongodb/src/test/java/com/dbx/agent/mongodb/MongoAgentTest.java new file mode 100644 index 0000000000..7c1458827a --- /dev/null +++ b/agents/drivers/mongodb/src/test/java/com/dbx/agent/mongodb/MongoAgentTest.java @@ -0,0 +1,322 @@ +package com.dbx.agent.mongodb; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import com.dbx.agent.AgentProtocol; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import com.mongodb.MongoClientSettings; +import java.io.FileInputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.security.KeyStore; +import java.security.PrivateKey; +import java.util.Base64; +import java.util.Date; +import org.bson.Document; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; + +class MongoAgentTest { + @TempDir + static Path tempDir; + + private static Path caPemPath; + private static Path clientPemPath; + private static Path clientKeyPath; + + @BeforeAll + static void setUpCerts() throws Exception { + Path keystore = tempDir.resolve("keystore.jks"); + caPemPath = tempDir.resolve("ca.pem"); + clientPemPath = tempDir.resolve("client.pem"); + clientKeyPath = tempDir.resolve("client-key.pem"); + + // Generate a key pair in a JKS keystore using keytool + ProcessBuilder pb = new ProcessBuilder( + "keytool", "-genkeypair", "-alias", "test", "-keyalg", "RSA", "-keysize", "2048", + "-keystore", keystore.toString(), "-storepass", "pass123", "-keypass", "pass123", + "-dname", "CN=Test TLS Cert", "-validity", "365" + ); + pb.inheritIO(); + int rc = pb.start().waitFor(); + if (rc != 0) { + throw new RuntimeException("keytool -genkeypair failed with exit code " + rc); + } + + // Export the certificate as PEM (for ca_cert_path / client_cert_path) + for (Path pem : new Path[] {caPemPath, clientPemPath}) { + ProcessBuilder exportPb = new ProcessBuilder( + "keytool", "-exportcert", "-alias", "test", + "-keystore", keystore.toString(), "-storepass", "pass123", "-rfc" + ); + exportPb.redirectOutput(pem.toFile()); + exportPb.redirectError(ProcessBuilder.Redirect.INHERIT); + int exportRc = exportPb.start().waitFor(); + if (exportRc != 0) { + throw new RuntimeException("keytool -exportcert failed with exit code " + exportRc); + } + } + + // Extract the private key as PKCS#8 PEM + KeyStore ks = KeyStore.getInstance("JKS"); + try (FileInputStream fis = new FileInputStream(keystore.toFile())) { + ks.load(fis, "pass123".toCharArray()); + } + PrivateKey pk = (PrivateKey) ks.getKey("test", "pass123".toCharArray()); + String pkcs8Pem = "-----BEGIN PRIVATE KEY-----\n" + + Base64.getEncoder().encodeToString(pk.getEncoded()) + + "\n-----END PRIVATE KEY-----\n"; + Files.writeString(clientKeyPath, pkcs8Pem); + } + + // ─── existing tests ─── + + @Test + void exposesProtocolHandshakeOverJsonRpc() { + String response = MongoAgent.handleRequest( + "{\"jsonrpc\":\"2.0\",\"id\":7,\"method\":\"handshake\"," + + "\"params\":{\"appVersion\":\"0.5.13\",\"supportedProtocolVersions\":[1]}}"); + + JsonObject json = JsonParser.parseString(response).getAsJsonObject(); + JsonObject result = json.getAsJsonObject("result"); + assertEquals("2.0", json.get("jsonrpc").getAsString()); + assertEquals(7, json.get("id").getAsInt()); + assertEquals(AgentProtocol.PROTOCOL_VERSION, result.get("protocolVersion").getAsInt()); + assertEquals(AgentProtocol.PROTOCOL_VERSION, result.get("agentProtocolVersion").getAsInt()); + assertTrue(containsCapability(result.getAsJsonArray("capabilities"), AgentProtocol.CAPABILITY_CONNECT)); + assertTrue(containsCapability(result.getAsJsonArray("capabilities"), AgentProtocol.CAPABILITY_QUERY)); + assertTrue(containsCapability(result.getAsJsonArray("capabilities"), AgentProtocol.CAPABILITY_METADATA)); + } + + @Test + void usesAuthSourceFromUrlParamsAsAuthenticationDatabase() { + JsonObject connection = new JsonObject(); + connection.addProperty("database", "gray_lite_twin_fat"); + connection.addProperty("url_params", "authSource=admin&authMechanism=SCRAM-SHA-1"); + + assertEquals("admin", MongoAgent.authenticationDatabase(connection)); + } + + @Test + void fallsBackToDefaultDatabaseWhenAuthSourceIsMissing() { + JsonObject connection = new JsonObject(); + connection.addProperty("database", "gray_lite_twin_fat"); + + assertEquals("gray_lite_twin_fat", MongoAgent.authenticationDatabase(connection)); + } + + // ─── TLS: configureBuilder JSON parsing ─── + + @Test + void sslTrueFromConnectionObject() { + JsonObject connection = minimalConnection(); + connection.addProperty("ssl", true); + + MongoClientSettings.Builder builder = MongoAgent.configureBuilder(connection); + + assertNotNull(builder); + } + + @Test + void sslFalseByDefault() { + JsonObject connection = minimalConnection(); + // ssl is not set — should default to false + + MongoClientSettings.Builder builder = MongoAgent.configureBuilder(connection); + + assertNotNull(builder); + } + + @Test + void sslTrueFromTopLevelParams() { + JsonObject connObj = minimalConnection(); + connObj.addProperty("ssl", true); + JsonObject params = new JsonObject(); + params.add("connection", connObj); + + // connect() unwraps the connection sub-object; verify configureBuilder reads ssl from it + JsonObject extracted = params.has("connection") && params.get("connection").isJsonObject() + ? params.getAsJsonObject("connection") + : params; + assertEquals(true, extracted.get("ssl").getAsBoolean()); + } + + @Test + void readsCaCertPathFromConnection() { + JsonObject connection = minimalConnection(); + connection.addProperty("ssl", true); + connection.addProperty("ca_cert_path", caPemPath.toString()); + + MongoClientSettings.Builder builder = MongoAgent.configureBuilder(connection); + + assertNotNull(builder); + } + + @Test + void readsClientCertAndKeyPathsFromConnection() { + JsonObject connection = minimalConnection(); + connection.addProperty("ssl", true); + connection.addProperty("client_cert_path", clientPemPath.toString()); + connection.addProperty("client_key_path", clientKeyPath.toString()); + + MongoClientSettings.Builder builder = MongoAgent.configureBuilder(connection); + + assertNotNull(builder); + } + + @Test + void certPathAndKeyPathFallbackNames() { + JsonObject connection = minimalConnection(); + connection.addProperty("ssl", true); + connection.addProperty("cert_path", clientPemPath.toString()); + connection.addProperty("key_path", clientKeyPath.toString()); + + // Should not throw — cert_path/key_path are fallback names for client_cert_path/client_key_path + MongoClientSettings.Builder builder = MongoAgent.configureBuilder(connection); + + assertNotNull(builder); + } + + @Test + void rejectsMismatchedClientCertAndKey() { + JsonObject connection = minimalConnection(); + connection.addProperty("ssl", true); + connection.addProperty("client_cert_path", clientPemPath.toString()); + // client_key_path is missing + + assertThrows(IllegalArgumentException.class, () -> MongoAgent.configureBuilder(connection)); + } + + // ─── TLS: SSLContext creation ─── + + @Test + void createsSslContextWithCaCert() throws Exception { + var ctx = MongoAgent.createTlsSslContext(caPemPath.toString(), null, null); + + assertNotNull(ctx); + } + + @Test + void createsSslContextWithClientCertAndKey() throws Exception { + var ctx = MongoAgent.createTlsSslContext(null, clientPemPath.toString(), clientKeyPath.toString()); + + assertNotNull(ctx); + } + + @Test + void createsSslContextWithAllCertPaths() throws Exception { + var ctx = MongoAgent.createTlsSslContext( + caPemPath.toString(), clientPemPath.toString(), clientKeyPath.toString()); + + assertNotNull(ctx); + } + + // ─── TLS: trust manager loading ─── + + @Test + void loadsTrustManagersFromPemFile() throws Exception { + var trustManagers = MongoAgent.loadTrustManagersFromPem(caPemPath.toString()); + + assertNotNull(trustManagers); + assertTrue(trustManagers.length > 0); + } + + // ─── TLS: key manager loading ─── + + @Test + void loadsKeyManagersFromPemFiles() throws Exception { + var keyManagers = MongoAgent.loadKeyManagersFromPem( + clientPemPath.toString(), clientKeyPath.toString()); + + assertNotNull(keyManagers); + assertTrue(keyManagers.length > 0); + } + + // ─── TLS: private key format support ─── + + @Test + void loadsPkcs8PrivateKeyFromPem() throws Exception { + var key = MongoAgent.loadPrivateKeyFromPem(clientKeyPath.toString()); + + assertNotNull(key); + assertEquals("RSA", key.getAlgorithm()); + } + + // ─── utility ─── + + @Test + void firstNonBlankReturnsFirstNonBlankValue() { + assertEquals("b", MongoAgent.firstNonBlank(null, "", "b", "c")); + assertEquals("a", MongoAgent.firstNonBlank("a", "b")); + } + + @Test + void firstNonBlankReturnsNullWhenAllBlank() { + assertEquals(null, MongoAgent.firstNonBlank(null, "", " ")); + } + + @Test + void convertValuePreservesUnsafeLongForJsonClients() { + assertEquals("2326645729978441729", MongoAgent.convertValue(2_326_645_729_978_441_729L)); + assertEquals("-2326645729978441729", MongoAgent.convertValue(-2_326_645_729_978_441_729L)); + } + + @Test + void convertValueKeepsSafeLongAsNumber() { + assertEquals(42L, MongoAgent.convertValue(42L)); + } + + @Test + void convertValueFormatsDatesAsMongoShellIsoDate() { + assertEquals("ISODate(\"2026-06-10T13:59:31.287Z\")", MongoAgent.convertValue(Date.from(java.time.Instant.parse("2026-06-10T13:59:31.287Z")))); + } + + @Test + void documentForWriteParsesMongoShellIsoDateStrings() { + Document doc = MongoAgent.documentForWrite("{\"$set\":{\"CreateDate\":\"ISODate(\\\"2026-06-10T13:59:31.287Z\\\")\"}}"); + + assertTrue(MongoAgent.isUpdateOperatorDocument(doc)); + Document set = (Document) doc.get("$set"); + assertTrue(set.get("CreateDate") instanceof Date); + } + + @Test + void documentForWriteParsesNestedMongoShellIsoDateStrings() { + Document doc = MongoAgent.documentForWrite("{\"items\":[{\"created\":\"new Date(\\\"2026-06-10T13:59:31.287Z\\\")\"}]}"); + + assertTrue(((Document) ((java.util.List) doc.get("items")).get(0)).get("created") instanceof Date); + } + + @Test + void documentForWriteParsesLegacyDateDisplayStrings() { + Document doc = MongoAgent.documentForWrite("{\"$set\":{\"CreateDate\":\"2025-08-14 02:25:43.718\"}}"); + + Document set = (Document) doc.get("$set"); + assertTrue(set.get("CreateDate") instanceof Date); + assertEquals(1_755_138_343_718L, ((Date) set.get("CreateDate")).getTime()); + } + + // ─── helpers ─── + + private static JsonObject minimalConnection() { + JsonObject conn = new JsonObject(); + conn.addProperty("host", "127.0.0.1"); + conn.addProperty("port", 27017); + return conn; + } + + private static boolean containsCapability(JsonArray capabilities, String expected) { + for (int i = 0; i < capabilities.size(); i++) { + if (expected.equals(capabilities.get(i).getAsString())) { + return true; + } + } + return false; + } +} diff --git a/agents/drivers/neo4j/build.gradle b/agents/drivers/neo4j/build.gradle new file mode 100644 index 0000000000..232f5958d5 --- /dev/null +++ b/agents/drivers/neo4j/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'org.neo4j:neo4j-jdbc-full-bundle:6.10.0' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'Neo4j', 'Main-Class': 'com.dbx.agent.neo4j.Neo4jAgent') + } +} diff --git a/agents/drivers/neo4j/src/main/java/com/dbx/agent/neo4j/Neo4jAgent.java b/agents/drivers/neo4j/src/main/java/com/dbx/agent/neo4j/Neo4jAgent.java new file mode 100644 index 0000000000..9447b38dc0 --- /dev/null +++ b/agents/drivers/neo4j/src/main/java/com/dbx/agent/neo4j/Neo4jAgent.java @@ -0,0 +1,350 @@ +package com.dbx.agent.neo4j; + +import com.dbx.agent.BaseDatabaseAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ExecuteQueryOptions; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcExecutor; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.QueryResult; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TransactionExecutor; +import com.dbx.agent.TriggerInfo; + +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Locale; +import java.util.Set; + +public class Neo4jAgent extends BaseDatabaseAgent { + private Connection connection; + + @Override + public Connection getConnection() { + return connection; + } + + @Override + public String setSchemaSQL(String schema) { + return ""; + } + + @Override + public void connect(ConnectParams params) { + uncheckedVoid(() -> { + Class.forName("org.neo4j.jdbc.Neo4jDriver"); + String url = buildNeo4jUrl(params); + connection = DriverManager.getConnection(url, params.getUsername(), params.getPassword()); + }); + } + + @Override + public boolean testConnection(ConnectParams params) { + return unchecked(() -> { + Class.forName("org.neo4j.jdbc.Neo4jDriver"); + String url = buildNeo4jUrl(params); + try (Connection conn = DriverManager.getConnection(url, params.getUsername(), params.getPassword())) { + return conn.isValid(5); + } + }); + } + + private static String buildNeo4jUrl(ConnectParams params) { + StringBuilder url = new StringBuilder(); + url.append("jdbc:neo4j://").append(params.getHost()).append(":").append(params.getPort()); + String database = params.getDatabase(); + if (database != null && !database.trim().isEmpty()) { + url.append("?database=").append(database.trim()); + } + return url.toString(); + } + + @Override + public List listDatabases() { + return unchecked(() -> { + Connection conn = requireConnected(); + List result = new ArrayList<>(); + try (Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery("SHOW DATABASES")) { + while (rs.next()) { + result.add(new DatabaseInfo(rs.getString("name"))); + } + } + result.sort(Comparator.comparing(DatabaseInfo::getName)); + return result; + }); + } + + @Override + public List listSchemas() { + return Collections.emptyList(); + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + Connection conn = requireConnected(); + // Try JDBC metadata first — the driver handles version compatibility. + List result = new ArrayList<>(); + DatabaseMetaData meta = conn.getMetaData(); + try (ResultSet rs = meta.getTables(null, blankToNull(schema), "%", new String[]{"TABLE", "VIEW"})) { + while (rs.next()) { + String name = rs.getString("TABLE_NAME"); + String type = rs.getString("TABLE_TYPE"); + String comment = getStringOrNull(rs, "REMARKS"); + if (name != null && !name.isEmpty()) { + result.add(new TableInfo(name, type, comment)); + } + } + } catch (Exception ignored) { + // Fall through to Cypher fallback + } + // Fallback: use Cypher for drivers that don't implement getTables(). + if (result.isEmpty()) { + try (Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery("CALL db.labels()")) { + while (rs.next()) { + String label = getStringOrDefault(rs, "label", ""); + if (label.isEmpty()) { + label = rs.getString(1); + } + if (label != null && !label.isEmpty()) { + result.add(new TableInfo(label, "TABLE", null)); + } + } + } catch (Exception ignored) { + // Cypher fallback also failed + } + } + result.sort(Comparator.comparing(TableInfo::getName)); + return result; + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + Connection conn = requireConnected(); + List result = new ArrayList<>(); + // Try JDBC metadata first. + DatabaseMetaData meta = conn.getMetaData(); + Set primaryKeys = new LinkedHashSet<>(); + try (ResultSet rs = meta.getPrimaryKeys(null, blankToNull(schema), table)) { + while (rs.next()) { + String pkColumn = rs.getString("COLUMN_NAME"); + if (pkColumn != null) { + primaryKeys.add(pkColumn); + } + } + } catch (Exception ignored) { + // Fall through + } + try (ResultSet rs = meta.getColumns(null, blankToNull(schema), table, "%")) { + while (rs.next()) { + String name = rs.getString("COLUMN_NAME"); + if (name == null || name.isEmpty()) { + continue; + } + String type = rs.getString("TYPE_NAME"); + if (type == null) { + type = "Unknown"; + } + boolean nullable = true; + try { + nullable = "YES".equals(rs.getString("IS_NULLABLE")); + } catch (Exception ignored) { + // keep default + } + String defaultValue = getStringOrNull(rs, "COLUMN_DEF"); + String comment = getStringOrNull(rs, "REMARKS"); + result.add(new ColumnInfo( + name, type, nullable, defaultValue, + primaryKeys.contains(name), + comment, null, null, null, null + )); + } + } catch (Exception ignored) { + // Fall through to Cypher fallback + } + // Fallback: use Cypher for drivers that don't implement getColumns(). + if (result.isEmpty()) { + try (Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery("CALL db.schema.nodeTypeProperties()")) { + while (rs.next()) { + String nodeLabels = rs.getString("nodeLabels"); + if (nodeLabels == null) { + nodeLabels = ""; + } + if (!nodeLabels.contains(table)) { + continue; + } + String propertyName = rs.getString("propertyName"); + if (propertyName == null) { + continue; + } + String propertyTypes = rs.getString("propertyTypes"); + if (propertyTypes == null) { + propertyTypes = "Unknown"; + } + boolean isNullable; + try { + isNullable = !rs.getBoolean("mandatory"); + } catch (Exception ignored) { + isNullable = true; + } + result.add(new ColumnInfo( + propertyName, propertyTypes, isNullable, + null, false, null, null, null, null, null + )); + } + } catch (Exception ignored) { + // Cypher fallback also failed + } + } + result.sort(Comparator.comparing(ColumnInfo::getName)); + return result; + }); + } + + private static String blankToNull(String value) { + if (value == null) return null; + String trimmed = value.trim(); + return trimmed.isEmpty() ? null : trimmed; + } + + @Override + public List listIndexes(String schema, String table) { + return unchecked(() -> { + Connection conn = requireConnected(); + List result = new ArrayList<>(); + try (Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery("SHOW INDEXES")) { + while (rs.next()) { + String labelsOrTypes = getStringOrDefault(rs, "labelsOrTypes", ""); + if (!labelsOrTypes.contains(table)) { + continue; + } + + String properties = getStringOrDefault(rs, "properties", ""); + String uniqueness = getStringOrDefault(rs, "uniqueness", ""); + result.add(new IndexInfo( + getStringOrDefault(rs, "name", ""), + parseProperties(properties), + "UNIQUE".equals(uniqueness.toUpperCase(Locale.ROOT)), + false, + null, + getStringOrNull(rs, "type"), + null, + null + )); + } + } + result.sort(Comparator.comparing(IndexInfo::getName)); + return result; + }); + } + + @Override + public List listForeignKeys(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listTriggers(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public QueryResult executeTransaction(List statements, String schema) { + return TransactionExecutor.executeStatements(requireConnected(), statements, schema, this::setSchemaSQL, (stmt, sql) -> { + stmt.execute(sql); + return Math.max(stmt.getUpdateCount(), 0); + }); + } + + public QueryResult executeQuery(String sql, String schema) { + return executeQuery(sql, schema, new ExecuteQueryOptions()); + } + + @Override + public QueryResult executeQuery(String sql, String schema, ExecuteQueryOptions options) { + return JdbcExecutor.INSTANCE.execute( + requireConnected(), + sql, + schema, + this::setSchemaSQL, + options.getMaxRows(), + options.getFetchSize(), + options.getTimeoutSecs(), + this::stringResultValue + ); + } + + @Override + public void disconnect() { + uncheckedVoid(() -> { + if (connection != null) { + connection.close(); + } + connection = null; + }); + } + + private Object stringResultValue(ResultSet rs, int index, int sqlType) { + return unchecked(() -> { + Object value = rs.getObject(index); + return rs.wasNull() ? null : value == null ? null : value.toString(); + }); + } + + private static List parseProperties(String properties) { + String trimmed = properties; + if (trimmed.startsWith("[") && trimmed.endsWith("]") && trimmed.length() >= 2) { + trimmed = trimmed.substring(1, trimmed.length() - 1); + } + + List result = new ArrayList<>(); + for (String property : trimmed.split(",")) { + String value = property.trim(); + if (value.startsWith("\"") && value.endsWith("\"") && value.length() >= 2) { + value = value.substring(1, value.length() - 1); + } + if (!value.isEmpty()) { + result.add(value); + } + } + return result; + } + + private static String getStringOrDefault(ResultSet rs, String column, String defaultValue) { + try { + String value = rs.getString(column); + return value == null ? defaultValue : value; + } catch (Exception ignored) { + return defaultValue; + } + } + + private static String getStringOrNull(ResultSet rs, String column) { + try { + return rs.getString(column); + } catch (Exception ignored) { + return null; + } + } + + public static void main(String[] args) { + new JsonRpcServer(new Neo4jAgent()).run(); + } +} diff --git a/agents/drivers/neo4j/src/test/java/com/dbx/agent/neo4j/Neo4jAgentTest.java b/agents/drivers/neo4j/src/test/java/com/dbx/agent/neo4j/Neo4jAgentTest.java new file mode 100644 index 0000000000..0573ea3d69 --- /dev/null +++ b/agents/drivers/neo4j/src/test/java/com/dbx/agent/neo4j/Neo4jAgentTest.java @@ -0,0 +1,183 @@ +package com.dbx.agent.neo4j; + +import com.dbx.agent.QueryResult; +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Proxy; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class Neo4jAgentTest { + @Test + void executesCypherWritesWithReturnThroughStatementExecute() throws Exception { + Neo4jAgent agent = new Neo4jAgent(); + List calls = new ArrayList<>(); + setConnectionForTest(agent, fakeConnection(calls)); + + QueryResult result = agent.executeQuery("CREATE (n:Person {name: 'Ada'}) RETURN n", null); + + Assertions.assertEquals(Collections.singletonList("n"), result.getColumns()); + Assertions.assertEquals( + Collections.singletonList(Collections.singletonList("(:Person {name: Ada})")), + result.getRows() + ); + Assertions.assertTrue(calls.contains("execute")); + Assertions.assertFalse(calls.contains("executeUpdate")); + } + + @Test + void executesTransactionsThroughStatementExecute() throws Exception { + Neo4jAgent agent = new Neo4jAgent(); + List calls = new ArrayList<>(); + setConnectionForTest(agent, fakeConnection(calls)); + + QueryResult result = agent.executeTransaction( + Arrays.asList( + "MATCH (n:Employee) WHERE elementId(n) = '4:abc:7' SET n.name = 'Grace'", + "CREATE (n:Employee {name: 'Linus'})" + ), + null + ); + + Assertions.assertEquals(0L, result.getAffected_rows()); + Assertions.assertEquals( + Arrays.asList("setAutoCommit:false", "execute", "execute", "commit", "setAutoCommit:true"), + calls + ); + Assertions.assertFalse(calls.contains("executeUpdate")); + } + + private static void setConnectionForTest(Neo4jAgent agent, Connection connection) throws Exception { + java.lang.reflect.Field field = Neo4jAgent.class.getDeclaredField("connection"); + field.setAccessible(true); + field.set(agent, connection); + } + + private static Connection fakeConnection(List calls) { + Statement statement = fakeStatement(calls); + return proxy(Connection.class, (unused, method, args) -> { + switch (method.getName()) { + case "createStatement": + return statement; + case "setAutoCommit": + calls.add("setAutoCommit:" + args[0]); + return null; + case "getAutoCommit": + return true; + case "commit": + calls.add("commit"); + return null; + case "rollback": + calls.add("rollback"); + return null; + case "close": + return null; + case "isClosed": + return false; + default: + return defaultValue(method.getReturnType()); + } + }); + } + + private static Statement fakeStatement(List calls) { + ResultSet resultSet = fakeResultSet(); + return proxy(Statement.class, (unused, method, args) -> { + switch (method.getName()) { + case "execute": + calls.add("execute"); + return true; + case "executeUpdate": + calls.add("executeUpdate"); + throw new SQLException("syntax error or access rule violation - invalid syntax"); + case "executeQuery": + calls.add("executeQuery"); + return resultSet; + case "getResultSet": + return resultSet; + case "getUpdateCount": + return 0; + case "close": + return null; + default: + return defaultValue(method.getReturnType()); + } + }); + } + + private static ResultSet fakeResultSet() { + int[] index = {-1}; + ResultSetMetaData metadata = fakeMetadata(); + return proxy(ResultSet.class, (unused, method, args) -> { + switch (method.getName()) { + case "next": + index[0] += 1; + return index[0] == 0; + case "getMetaData": + return metadata; + case "getObject": + return "(:Person {name: Ada})"; + case "wasNull": + return false; + case "close": + return null; + default: + return defaultValue(method.getReturnType()); + } + }); + } + + private static ResultSetMetaData fakeMetadata() { + return proxy(ResultSetMetaData.class, (unused, method, args) -> { + switch (method.getName()) { + case "getColumnCount": + return 1; + case "getColumnLabel": + return "n"; + default: + return defaultValue(method.getReturnType()); + } + }); + } + + @SuppressWarnings("unchecked") + private static T proxy(Class type, InvocationHandler handler) { + return (T) Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, handler); + } + + private static Object defaultValue(Class type) { + if (type == Boolean.TYPE) { + return false; + } + if (type == Byte.TYPE) { + return (byte) 0; + } + if (type == Short.TYPE) { + return (short) 0; + } + if (type == Integer.TYPE) { + return 0; + } + if (type == Long.TYPE) { + return 0L; + } + if (type == Float.TYPE) { + return 0F; + } + if (type == Double.TYPE) { + return 0.0D; + } + if (type == Character.TYPE) { + return '\0'; + } + return null; + } +} diff --git a/agents/drivers/oceanbase-oracle/build.gradle b/agents/drivers/oceanbase-oracle/build.gradle new file mode 100644 index 0000000000..ef3e6f3ed9 --- /dev/null +++ b/agents/drivers/oceanbase-oracle/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.oceanbase:oceanbase-client:2.4.18' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'OceanBase Oracle Mode', 'Main-Class': 'com.dbx.agent.oceanbaseoracle.OceanBaseOracleAgent') + } +} diff --git a/agents/drivers/oceanbase-oracle/src/main/java/com/dbx/agent/oceanbaseoracle/OceanBaseOracleAgent.java b/agents/drivers/oceanbase-oracle/src/main/java/com/dbx/agent/oceanbaseoracle/OceanBaseOracleAgent.java new file mode 100644 index 0000000000..683a19f887 --- /dev/null +++ b/agents/drivers/oceanbase-oracle/src/main/java/com/dbx/agent/oceanbaseoracle/OceanBaseOracleAgent.java @@ -0,0 +1,449 @@ +package com.dbx.agent.oceanbaseoracle; + +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConfiguredJdbcAgent; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcAgentProfile; +import com.dbx.agent.JdbcIdentifiers; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.ObjectInfo; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; + +public final class OceanBaseOracleAgent extends ConfiguredJdbcAgent { + private static final String COMPATIBLE_OJDBC_VERSION = "compatibleOjdbcVersion"; + private static final String DEFAULT_COMPATIBLE_OJDBC_VERSION = "compatibleOjdbcVersion=8"; + private static final Set SYSTEM_SCHEMAS = Set.of( + "SYS", "SYSTEM", "SYSMAN", "DBSNMP", "SYSBACKUP", "SYSDG", "SYSKM", "OUTLN", + "AUDSYS", "LBACSYS", "DVF", "DVSYS", "APPQOSSYS", "CTXSYS", "MDSYS", "MDDATA", + "ORDSYS", "ORDDATA", "ORDPLUGINS", "XDB", "ANONYMOUS", "DIP", "EXFSYS", + "GSMADMIN_INTERNAL", "GSMCATUSER", "GSMUSER", "OJVMSYS", "OLAPSYS", + "ORACLE_OCM", "SI_INFORMTN_SCHEMA", "WMSYS", "XS$NULL", "DBSFWUSER", + "REMOTE_SCHEDULER_AGENT", "PDBADMIN", "DGPDB_INT", "OPS$ORACLE", + "GGSYS", "FLOWS_FILES", "APEX_PUBLIC_USER", "GSMROOTUSER", "SYSRAC" + ); + + public static final JdbcAgentProfile OCEANBASE_ORACLE_PROFILE = new JdbcAgentProfile( + "com.oceanbase.jdbc.Driver", + "jdbc:oceanbase://{host}:{port}/{database}", + 2881, + false, + SYSTEM_SCHEMAS, + List.of("TABLE", "VIEW", "BASE TABLE") + ) { + @Override + public String schemaSwitchSql(String schema, String quote) { + return "ALTER SESSION SET CURRENT_SCHEMA = " + quote + schema.replace(quote, quote + quote) + quote; + } + }; + + public OceanBaseOracleAgent() { + super(OCEANBASE_ORACLE_PROFILE); + } + + @Override + protected String buildJdbcUrl(ConnectParams params) { + return buildUrl(params); + } + + static String buildUrl(ConnectParams params) { + return appendDefaultCompatibilityOption(OCEANBASE_ORACLE_PROFILE.buildUrl(params)); + } + + @Override + public List listDatabases() { + return unchecked(() -> { + List result = new ArrayList<>(); + for (String schema : querySchemas()) { + result.add(new DatabaseInfo(schema)); + } + return result; + }); + } + + @Override + public List listSchemas() { + return unchecked(this::querySchemas); + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + String owner = normalizeSchema(schema); + String sql = """ + SELECT o.OBJECT_NAME, + CASE o.OBJECT_TYPE WHEN 'VIEW' THEN 'VIEW' ELSE 'TABLE' END AS TABLE_TYPE, + c.COMMENTS + FROM ALL_OBJECTS o + LEFT JOIN ALL_TAB_COMMENTS c ON c.OWNER = o.OWNER AND c.TABLE_NAME = o.OBJECT_NAME + WHERE o.OWNER = ? AND o.OBJECT_TYPE IN ('TABLE', 'VIEW') + ORDER BY o.OBJECT_NAME + """.stripIndent().trim(); + + List result = new ArrayList<>(); + try (var stmt = requireConnection().prepareStatement(sql)) { + stmt.setString(1, owner); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TableInfo(rs.getString(1), rs.getString(2), rs.getString(3))); + } + } + } + return result; + }); + } + + @Override + public List listObjects(String schema) { + return unchecked(() -> { + String owner = normalizeSchema(schema); + String sql = """ + SELECT OBJECT_NAME, OBJECT_TYPE + FROM ALL_OBJECTS + WHERE OWNER = ? AND OBJECT_TYPE IN ('TABLE', 'VIEW', 'PROCEDURE', 'FUNCTION', 'PACKAGE', 'SEQUENCE', 'SYNONYM') + ORDER BY CASE OBJECT_TYPE + WHEN 'TABLE' THEN 0 + WHEN 'VIEW' THEN 1 + WHEN 'PROCEDURE' THEN 2 + WHEN 'FUNCTION' THEN 3 + WHEN 'PACKAGE' THEN 4 + WHEN 'SEQUENCE' THEN 5 + ELSE 6 + END, OBJECT_NAME + """.stripIndent().trim(); + + List result = new ArrayList<>(); + try (var stmt = requireConnection().prepareStatement(sql)) { + stmt.setString(1, owner); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ObjectInfo(rs.getString(1), rs.getString(2), owner, null)); + } + } + } + return result; + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + String owner = normalizeSchema(schema); + String sql = """ + SELECT c.COLUMN_NAME, c.DATA_TYPE, c.NULLABLE, c.DATA_PRECISION, c.DATA_SCALE, + c.DATA_LENGTH, c.CHAR_LENGTH, cc.COMMENTS, + CASE WHEN pk.COLUMN_NAME IS NULL THEN 0 ELSE 1 END AS IS_PK + FROM ALL_TAB_COLUMNS c + LEFT JOIN ALL_COL_COMMENTS cc + ON cc.OWNER = c.OWNER AND cc.TABLE_NAME = c.TABLE_NAME AND cc.COLUMN_NAME = c.COLUMN_NAME + LEFT JOIN ( + SELECT cols.COLUMN_NAME + FROM ALL_CONS_COLUMNS cols + JOIN ALL_CONSTRAINTS cons + ON cols.CONSTRAINT_NAME = cons.CONSTRAINT_NAME AND cols.OWNER = cons.OWNER + WHERE cons.CONSTRAINT_TYPE = 'P' AND cons.OWNER = ? AND cons.TABLE_NAME = ? + ) pk ON pk.COLUMN_NAME = c.COLUMN_NAME + WHERE c.OWNER = ? AND c.TABLE_NAME = ? + ORDER BY c.COLUMN_ID + """.stripIndent().trim(); + + List result = new ArrayList<>(); + try (var stmt = requireConnection().prepareStatement(sql)) { + stmt.setString(1, owner); + stmt.setString(2, table); + stmt.setString(3, owner); + stmt.setString(4, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String name = rs.getString("COLUMN_NAME"); + String baseType = rs.getString("DATA_TYPE"); + Integer numPrec = intOrNull(rs, "DATA_PRECISION"); + Integer numScale = intOrNull(rs, "DATA_SCALE"); + Integer dataLen = intOrNull(rs, "DATA_LENGTH"); + Integer charLen = intOrNull(rs, "CHAR_LENGTH"); + result.add(new ColumnInfo( + name, + formatDataType(baseType, numPrec, numScale, dataLen, charLen), + "Y".equalsIgnoreCase(rs.getString("NULLABLE")), + null, + rs.getInt("IS_PK") == 1, + null, + rs.getString("COMMENTS"), + numPrec, + numScale, + charLen + )); + } + } + } + return result; + }); + } + + @Override + public List listIndexes(String schema, String table) { + return unchecked(() -> { + String owner = normalizeSchema(schema); + String sql = """ + SELECT i.INDEX_NAME, ic.COLUMN_NAME, ic.COLUMN_POSITION, i.UNIQUENESS, + c.CONSTRAINT_TYPE, i.INDEX_TYPE + FROM ALL_INDEXES i + JOIN ALL_IND_COLUMNS ic + ON i.INDEX_NAME = ic.INDEX_NAME + AND i.OWNER = ic.INDEX_OWNER + AND i.TABLE_OWNER = ic.TABLE_OWNER + AND i.TABLE_NAME = ic.TABLE_NAME + LEFT JOIN ALL_CONSTRAINTS c + ON i.INDEX_NAME = c.INDEX_NAME + AND i.TABLE_OWNER = c.OWNER + AND i.TABLE_NAME = c.TABLE_NAME + AND c.CONSTRAINT_TYPE = 'P' + WHERE i.TABLE_OWNER = ? AND i.TABLE_NAME = ? + ORDER BY i.INDEX_NAME, ic.COLUMN_POSITION + """.stripIndent().trim(); + + Map> columnsByIndex = new LinkedHashMap<>(); + Map uniqueByIndex = new LinkedHashMap<>(); + Map primaryByIndex = new LinkedHashMap<>(); + Map typeByIndex = new LinkedHashMap<>(); + try (var stmt = requireConnection().prepareStatement(sql)) { + stmt.setString(1, owner); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String indexName = rs.getString("INDEX_NAME"); + columnsByIndex.computeIfAbsent(indexName, ignored -> new ArrayList<>()).add(rs.getString("COLUMN_NAME")); + uniqueByIndex.put(indexName, "UNIQUE".equalsIgnoreCase(rs.getString("UNIQUENESS"))); + primaryByIndex.put(indexName, "P".equalsIgnoreCase(rs.getString("CONSTRAINT_TYPE"))); + typeByIndex.put(indexName, rs.getString("INDEX_TYPE")); + } + } + } + + List result = new ArrayList<>(); + for (Map.Entry> entry : columnsByIndex.entrySet()) { + String name = entry.getKey(); + result.add(new IndexInfo( + name, + entry.getValue(), + Boolean.TRUE.equals(uniqueByIndex.get(name)), + Boolean.TRUE.equals(primaryByIndex.get(name)), + null, + typeByIndex.get(name), + null, + null + )); + } + return result; + }); + } + + @Override + public List listForeignKeys(String schema, String table) { + return unchecked(() -> { + String owner = normalizeSchema(schema); + String sql = """ + SELECT c.CONSTRAINT_NAME, cc.COLUMN_NAME, rc.TABLE_NAME, rcc.COLUMN_NAME + FROM ALL_CONSTRAINTS c + JOIN ALL_CONS_COLUMNS cc ON c.CONSTRAINT_NAME = cc.CONSTRAINT_NAME AND c.OWNER = cc.OWNER + JOIN ALL_CONSTRAINTS rc ON c.R_CONSTRAINT_NAME = rc.CONSTRAINT_NAME AND c.R_OWNER = rc.OWNER + JOIN ALL_CONS_COLUMNS rcc + ON rc.CONSTRAINT_NAME = rcc.CONSTRAINT_NAME + AND rc.OWNER = rcc.OWNER + AND cc.POSITION = rcc.POSITION + WHERE c.CONSTRAINT_TYPE = 'R' AND c.OWNER = ? AND c.TABLE_NAME = ? + ORDER BY c.CONSTRAINT_NAME, cc.POSITION + """.stripIndent().trim(); + + List result = new ArrayList<>(); + try (var stmt = requireConnection().prepareStatement(sql)) { + stmt.setString(1, owner); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ForeignKeyInfo( + rs.getString(1), + rs.getString(2), + rs.getString(3), + rs.getString(4) + )); + } + } + } + return result; + }); + } + + @Override + public List listTriggers(String schema, String table) { + return unchecked(() -> { + String owner = normalizeSchema(schema); + String sql = """ + SELECT TRIGGER_NAME, TRIGGERING_EVENT, TRIGGER_TYPE + FROM ALL_TRIGGERS + WHERE OWNER = ? AND TABLE_NAME = ? + ORDER BY TRIGGER_NAME + """.stripIndent().trim(); + + List result = new ArrayList<>(); + try (var stmt = requireConnection().prepareStatement(sql)) { + stmt.setString(1, owner); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TriggerInfo(rs.getString(1), rs.getString(2), rs.getString(3))); + } + } + } + return result; + }); + } + + @Override + public String setSchemaSQL(String schema) { + return "ALTER SESSION SET CURRENT_SCHEMA = " + JdbcIdentifiers.INSTANCE.doubleQuote(schema); + } + + private List querySchemas() throws SQLException { + try { + return querySchemaNames(); + } catch (SQLException primaryError) { + String current; + try { + current = currentSchema(); + } catch (SQLException ignored) { + throw primaryError; + } + if (current == null || current.isBlank()) { + throw primaryError; + } + return List.of(current); + } + } + + private List querySchemaNames() throws SQLException { + String placeholders = SYSTEM_SCHEMAS.stream() + .map(schema -> "'" + schema + "'") + .collect(Collectors.joining(",")); + String sql = """ + SELECT username + FROM ALL_USERS + WHERE username IS NOT NULL + AND username NOT IN (%s) + AND username NOT LIKE 'APEX_%%' + AND username NOT LIKE 'FLOWS_%%' + AND username NOT LIKE '%%$%%' + ORDER BY CASE + WHEN username = SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') THEN 0 + WHEN username = SYS_CONTEXT('USERENV', 'SESSION_USER') THEN 1 + ELSE 2 + END, username + """.formatted(placeholders).stripIndent().trim(); + + List result = new ArrayList<>(); + try (var stmt = requireConnection().createStatement(); + ResultSet rs = stmt.executeQuery(sql)) { + while (rs.next()) { + String schema = rs.getString(1); + if (schema != null && !schema.isBlank()) { + result.add(schema); + } + } + } + return result; + } + + private String normalizeSchema(String schema) throws SQLException { + String value = schema == null ? "" : schema.trim(); + return value.isEmpty() ? currentSchema() : value; + } + + private String currentSchema() throws SQLException { + try (var stmt = requireConnection().createStatement(); + ResultSet rs = stmt.executeQuery("SELECT SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') FROM DUAL")) { + if (rs.next()) { + String schema = rs.getString(1); + if (schema != null && !schema.isBlank()) { + return schema; + } + } + } + return ""; + } + + private static String appendDefaultCompatibilityOption(String url) { + if (hasQueryKey(url, COMPATIBLE_OJDBC_VERSION)) { + return url; + } + return url + (url.contains("?") ? "&" : "?") + DEFAULT_COMPATIBLE_OJDBC_VERSION; + } + + private static boolean hasQueryKey(String url, String key) { + int queryStart = url.indexOf('?'); + if (queryStart < 0) { + return false; + } + String query = url.substring(queryStart + 1); + int fragmentStart = query.indexOf('#'); + if (fragmentStart >= 0) { + query = query.substring(0, fragmentStart); + } + for (String part : query.split("[&;]")) { + String normalized = part.trim(); + if (normalized.isEmpty()) { + continue; + } + int equals = normalized.indexOf('='); + String paramKey = equals >= 0 ? normalized.substring(0, equals) : normalized; + if (paramKey.trim().equalsIgnoreCase(key)) { + return true; + } + } + return false; + } + + private static String formatDataType(String base, Integer numPrec, Integer numScale, Integer dataLen, Integer charLen) { + if (base == null || base.isBlank()) { + return ""; + } + return switch (base.toUpperCase(Locale.ROOT)) { + case "VARCHAR2", "NVARCHAR2", "CHAR", "NCHAR" -> { + Integer len = charLen == null ? dataLen : charLen; + yield len == null ? base : base + "(" + len + ")"; + } + case "NUMBER" -> { + if (numPrec != null && numScale != null && numScale > 0) { + yield base + "(" + numPrec + "," + numScale + ")"; + } + if (numPrec != null && numPrec > 0) { + yield base + "(" + numPrec + ")"; + } + yield base; + } + case "RAW" -> dataLen == null ? "RAW" : "RAW(" + dataLen + ")"; + default -> base; + }; + } + + private static Integer intOrNull(ResultSet rs, String column) throws SQLException { + Object value = rs.getObject(column); + return value instanceof Number ? ((Number) value).intValue() : null; + } + + public static void main(String[] args) { + new JsonRpcServer(new OceanBaseOracleAgent()).run(); + } +} diff --git a/agents/drivers/oceanbase-oracle/src/test/java/com/dbx/agent/oceanbaseoracle/OceanBaseOracleAgentTest.java b/agents/drivers/oceanbase-oracle/src/test/java/com/dbx/agent/oceanbaseoracle/OceanBaseOracleAgentTest.java new file mode 100644 index 0000000000..1fd9b0901a --- /dev/null +++ b/agents/drivers/oceanbase-oracle/src/test/java/com/dbx/agent/oceanbaseoracle/OceanBaseOracleAgentTest.java @@ -0,0 +1,59 @@ +package com.dbx.agent.oceanbaseoracle; + +import com.dbx.agent.ConnectParams; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class OceanBaseOracleAgentTest { + @Test + void buildsOceanBaseJdbcUrl() { + ConnectParams params = new ConnectParams(); + params.setHost("oceanbase.example.com"); + params.setPort(0); + params.setDatabase("sys"); + + Assertions.assertEquals( + "jdbc:oceanbase://oceanbase.example.com:2881/sys?compatibleOjdbcVersion=8", + OceanBaseOracleAgent.buildUrl(params) + ); + } + + @Test + void appendsQueryParametersToJdbcUrl() { + ConnectParams params = new ConnectParams(); + params.setHost("oceanbase.example.com"); + params.setPort(2881); + params.setDatabase("sys"); + params.setUrl_params("useSSL=false"); + + Assertions.assertEquals( + "jdbc:oceanbase://oceanbase.example.com:2881/sys?useSSL=false&compatibleOjdbcVersion=8", + OceanBaseOracleAgent.buildUrl(params) + ); + } + + @Test + void keepsExplicitCompatibleOjdbcVersion() { + ConnectParams params = new ConnectParams(); + params.setHost("oceanbase.example.com"); + params.setPort(2881); + params.setDatabase("sys"); + params.setUrl_params("compatibleOjdbcVersion=6&useSSL=false"); + + Assertions.assertEquals( + "jdbc:oceanbase://oceanbase.example.com:2881/sys?compatibleOjdbcVersion=6&useSSL=false", + OceanBaseOracleAgent.buildUrl(params) + ); + } + + @Test + void appendsCompatibleOjdbcVersionToCustomJdbcUrl() { + ConnectParams params = new ConnectParams(); + params.setConnection_string("jdbc:oceanbase://custom-host:2881/sys?useSSL=false"); + + Assertions.assertEquals( + "jdbc:oceanbase://custom-host:2881/sys?useSSL=false&compatibleOjdbcVersion=8", + OceanBaseOracleAgent.buildUrl(params) + ); + } +} diff --git a/agents/drivers/oracle-10g/build.gradle b/agents/drivers/oracle-10g/build.gradle new file mode 100644 index 0000000000..a38986ab84 --- /dev/null +++ b/agents/drivers/oracle-10g/build.gradle @@ -0,0 +1,11 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.oracle.database.jdbc:ojdbc6:11.2.0.4' + implementation 'com.oracle.database.nls:orai18n:11.2.0.4' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'Oracle 10g', 'Main-Class': 'com.dbx.agent.oracle10g.Oracle10gAgent') + } +} diff --git a/agents/drivers/oracle-10g/src/main/java/com/dbx/agent/oracle10g/Oracle10gAgent.java b/agents/drivers/oracle-10g/src/main/java/com/dbx/agent/oracle10g/Oracle10gAgent.java new file mode 100644 index 0000000000..5c74825645 --- /dev/null +++ b/agents/drivers/oracle-10g/src/main/java/com/dbx/agent/oracle10g/Oracle10gAgent.java @@ -0,0 +1,515 @@ +package com.dbx.agent.oracle10g; + +import com.dbx.agent.BaseDatabaseAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ExecuteQueryOptions; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcExecutor; +import com.dbx.agent.JdbcIdentifiers; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.ObjectInfo; +import com.dbx.agent.ObjectSource; +import com.dbx.agent.QueryPageOptions; +import com.dbx.agent.QueryPageResult; +import com.dbx.agent.QueryResult; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Locale; +import java.util.Properties; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public final class Oracle10gAgent extends BaseDatabaseAgent { + private static final List SYSTEM_SCHEMAS = Arrays.asList( + "SYS", "SYSTEM", "SYSMAN", "DBSNMP", "SYSBACKUP", "SYSDG", "SYSKM", "OUTLN", + "AUDSYS", "LBACSYS", "DVF", "DVSYS", "APPQOSSYS", "CTXSYS", "MDSYS", "MDDATA", + "ORDSYS", "ORDDATA", "ORDPLUGINS", "XDB", "ANONYMOUS", "DIP", "EXFSYS", + "GSMADMIN_INTERNAL", "GSMCATUSER", "GSMUSER", "OJVMSYS", "OLAPSYS", + "ORACLE_OCM", "SI_INFORMTN_SCHEMA", "WMSYS", "XS$NULL", "DBSFWUSER", + "REMOTE_SCHEDULER_AGENT", "PDBADMIN", "DGPDB_INT", "OPS$ORACLE", + "GGSYS", "FLOWS_FILES", "APEX_PUBLIC_USER" + ); + private static final Pattern OFFSET_FETCH_RE = Pattern.compile( + "(.+?)\\s+OFFSET\\s+(\\d+)\\s+ROWS?\\s+FETCH\\s+(FIRST|NEXT)\\s+(\\d+)\\s+ROWS?\\s+ONLY", + Pattern.CASE_INSENSITIVE + ); + private static final Pattern FETCH_ONLY_RE = Pattern.compile( + "(.+?)\\s+FETCH\\s+(FIRST|NEXT)\\s+(\\d+)\\s+ROWS?\\s+ONLY", + Pattern.CASE_INSENSITIVE + ); + private static final Pattern PLSQL_OBJECT_DDL_RE = Pattern.compile( + "^\\s*CREATE\\s+(?:OR\\s+REPLACE\\s+)?(?:(?:NON)?EDITIONABLE\\s+)?(?:PROCEDURE|FUNCTION|PACKAGE(?:\\s+BODY)?|TRIGGER|TYPE(?:\\s+BODY)?)\\b", + Pattern.CASE_INSENSITIVE + ); + + private Connection connection; + + @Override + public Connection getConnection() { + return connection; + } + + public static String rewriteFetchFirst(String sql) { + Matcher offsetFetch = OFFSET_FETCH_RE.matcher(sql); + if (offsetFetch.matches()) { + String innerSql = offsetFetch.group(1); + long offset = Long.parseLong(offsetFetch.group(2)); + long limit = Long.parseLong(offsetFetch.group(4)); + long upper = offset + limit; + return "SELECT * FROM (SELECT a.*, ROWNUM rn__ FROM (" + innerSql + ") a WHERE ROWNUM <= " + upper + ") WHERE rn__ > " + offset; + } + + Matcher fetchOnly = FETCH_ONLY_RE.matcher(sql); + if (fetchOnly.matches()) { + String innerSql = fetchOnly.group(1); + long limit = Long.parseLong(fetchOnly.group(3)); + return "SELECT * FROM (" + innerSql + ") WHERE ROWNUM <= " + limit; + } + + return sql; + } + + @Override + public String setSchemaSQL(String schema) { + return "ALTER SESSION SET CURRENT_SCHEMA = " + JdbcIdentifiers.INSTANCE.doubleQuote(schema); + } + + @Override + public void connect(ConnectParams params) { + uncheckedVoid(() -> { + Class.forName("oracle.jdbc.OracleDriver"); + connection = DriverManager.getConnection(buildUrl(params), connectionProperties(params)); + }); + } + + @Override + public boolean testConnection(ConnectParams params) { + return unchecked(() -> { + Class.forName("oracle.jdbc.OracleDriver"); + try (Connection conn = DriverManager.getConnection(buildUrl(params), connectionProperties(params))) { + return conn.isValid(5); + } + }); + } + + @Override + public List listDatabases() { + return unchecked(() -> { + List result = new ArrayList<>(); + String placeholders = quotedSystemSchemas(); + String sql = "SELECT owner FROM (" + + " SELECT SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') AS owner FROM DUAL" + + " UNION" + + " SELECT DISTINCT owner FROM all_tables" + + " UNION" + + " SELECT DISTINCT owner FROM all_views" + + " )" + + " WHERE owner IS NOT NULL" + + " AND owner NOT IN (" + placeholders + ")" + + " AND owner NOT LIKE 'APEX_%'" + + " AND owner NOT LIKE 'FLOWS_%'" + + " ORDER BY owner"; + try (Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery(sql)) { + while (rs.next()) { + result.add(new DatabaseInfo(rs.getString(1))); + } + } + return result; + }); + } + + @Override + public List listSchemas() { + return unchecked(() -> { + List result = new ArrayList<>(); + for (DatabaseInfo database : listDatabases()) { + result.add(database.getName()); + } + return result; + }); + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT o.OBJECT_NAME," + + " CASE o.OBJECT_TYPE WHEN 'VIEW' THEN 'VIEW' ELSE 'TABLE' END AS TABLE_TYPE," + + " c.COMMENTS" + + " FROM ALL_OBJECTS o" + + " LEFT JOIN ALL_TAB_COMMENTS c ON c.OWNER = o.OWNER AND c.TABLE_NAME = o.OBJECT_NAME" + + " WHERE o.OWNER = ? AND o.OBJECT_TYPE IN ('TABLE','VIEW')" + + " ORDER BY o.OBJECT_NAME"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TableInfo(rs.getString(1), rs.getString(2), rs.getString(3))); + } + } + } + return result; + }); + } + + @Override + public List listObjects(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT OBJECT_NAME, OBJECT_TYPE FROM ALL_OBJECTS" + + " WHERE OWNER = ? AND OBJECT_TYPE IN ('TABLE', 'VIEW', 'PROCEDURE', 'FUNCTION')" + + " ORDER BY CASE OBJECT_TYPE WHEN 'TABLE' THEN 0 WHEN 'VIEW' THEN 1 WHEN 'PROCEDURE' THEN 2 ELSE 3 END, OBJECT_NAME"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ObjectInfo(rs.getString(1), rs.getString(2), schema, null)); + } + } + } + return result; + }); + } + + @Override + public ObjectSource getObjectSource(String schema, String name, String objectType) { + return unchecked(() -> { + String upperType = objectType.toUpperCase(Locale.ROOT); + String source; + if ("VIEW".equals(upperType)) { + // ALL_VIEWS is more reliable than DBMS_METADATA.GET_DDL, + // which fails on XE editions where XSL stylesheets are missing. + String sql = "SELECT TEXT FROM ALL_VIEWS WHERE OWNER = ? AND VIEW_NAME = ?"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, name); + try (ResultSet rs = stmt.executeQuery()) { + source = rs.next() ? coalesce(rs.getString(1)) : ""; + } + } + } else { + String dbmsType; + switch (upperType) { + case "PROCEDURE": + dbmsType = "PROCEDURE"; + break; + case "FUNCTION": + dbmsType = "FUNCTION"; + break; + default: + throw new IllegalArgumentException("Unsupported object type: " + objectType); + } + String sql = "SELECT DBMS_METADATA.GET_DDL(?, ?, ?) FROM DUAL"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, dbmsType); + stmt.setString(2, name); + stmt.setString(3, schema); + try (ResultSet rs = stmt.executeQuery()) { + source = rs.next() ? coalesce(rs.getString(1)) : ""; + } + } + } + return new ObjectSource(name, objectType, schema, source); + }); + } + + @Override + public String getTableDdl(String schema, String table) { + return unchecked(() -> { + String sql = "SELECT DBMS_METADATA.GET_DDL(?, ?, ?) FROM DUAL"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, "TABLE"); + stmt.setString(2, table); + stmt.setString(3, schema); + try (ResultSet rs = stmt.executeQuery()) { + if (rs.next()) { + return coalesce(rs.getString(1)); + } + } + } + throw new IllegalArgumentException("Table not found: " + schema + "." + table); + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT c.COLUMN_NAME, c.DATA_TYPE, c.NULLABLE, c.DATA_PRECISION, c.DATA_SCALE," + + " c.DATA_LENGTH, c.CHAR_LENGTH, cc.COMMENTS," + + " CASE WHEN pk.COLUMN_NAME IS NULL THEN 0 ELSE 1 END AS IS_PK" + + " FROM ALL_TAB_COLUMNS c" + + " LEFT JOIN ALL_COL_COMMENTS cc" + + " ON cc.OWNER = c.OWNER AND cc.TABLE_NAME = c.TABLE_NAME AND cc.COLUMN_NAME = c.COLUMN_NAME" + + " LEFT JOIN (" + + " SELECT cols.COLUMN_NAME FROM ALL_CONS_COLUMNS cols" + + " JOIN ALL_CONSTRAINTS cons" + + " ON cols.CONSTRAINT_NAME = cons.CONSTRAINT_NAME AND cols.OWNER = cons.OWNER" + + " WHERE cons.CONSTRAINT_TYPE = 'P' AND cons.OWNER = ? AND cons.TABLE_NAME = ?" + + " ) pk ON pk.COLUMN_NAME = c.COLUMN_NAME" + + " WHERE c.OWNER = ? AND c.TABLE_NAME = ?" + + " ORDER BY c.COLUMN_ID"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + stmt.setString(3, schema); + stmt.setString(4, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String name = rs.getString("COLUMN_NAME"); + String baseType = rs.getString("DATA_TYPE"); + Integer numPrec = intObject(rs, "DATA_PRECISION"); + Integer numScale = intObject(rs, "DATA_SCALE"); + Integer dataLen = intObject(rs, "DATA_LENGTH"); + Integer charLen = intObject(rs, "CHAR_LENGTH"); + String dataType = formatDataType(baseType, numPrec, numScale, dataLen, charLen); + + result.add(new ColumnInfo( + name, + dataType, + "Y".equals(rs.getString("NULLABLE")), + null, + rs.getInt("IS_PK") == 1, + null, + rs.getString("COMMENTS"), + numPrec, + numScale, + charLen + )); + } + } + } + return result; + }); + } + + @Override + public List listIndexes(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT i.INDEX_NAME," + + " RTRIM(XMLAGG(XMLELEMENT(e, ic.COLUMN_NAME || ',') ORDER BY ic.COLUMN_POSITION).EXTRACT('//text()').GETSTRINGVAL(), ',') AS COLUMNS," + + " i.UNIQUENESS," + + " CASE WHEN c.CONSTRAINT_TYPE = 'P' THEN 1 ELSE 0 END AS IS_PK," + + " i.INDEX_TYPE" + + " FROM ALL_INDEXES i" + + " JOIN ALL_IND_COLUMNS ic ON i.INDEX_NAME = ic.INDEX_NAME AND i.OWNER = ic.INDEX_OWNER AND i.TABLE_OWNER = ic.TABLE_OWNER" + + " LEFT JOIN ALL_CONSTRAINTS c ON i.INDEX_NAME = c.INDEX_NAME AND i.TABLE_OWNER = c.OWNER" + + " AND c.CONSTRAINT_TYPE = 'P'" + + " WHERE i.TABLE_OWNER = ? AND i.TABLE_NAME = ?" + + " GROUP BY i.INDEX_NAME, i.UNIQUENESS, c.CONSTRAINT_TYPE, i.INDEX_TYPE" + + " ORDER BY i.INDEX_NAME"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new IndexInfo( + rs.getString(1), + splitNonEmpty(coalesce(rs.getString(2)), ","), + "UNIQUE".equals(rs.getString(3)), + "1".equals(rs.getString(4)), + null, + rs.getString(5), + null, + null + )); + } + } + } + return result; + }); + } + + @Override + public List listForeignKeys(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT c.CONSTRAINT_NAME, cc.COLUMN_NAME, rc.TABLE_NAME, rcc.COLUMN_NAME" + + " FROM ALL_CONSTRAINTS c" + + " JOIN ALL_CONS_COLUMNS cc ON c.CONSTRAINT_NAME = cc.CONSTRAINT_NAME AND c.OWNER = cc.OWNER" + + " JOIN ALL_CONSTRAINTS rc ON c.R_CONSTRAINT_NAME = rc.CONSTRAINT_NAME AND c.R_OWNER = rc.OWNER" + + " JOIN ALL_CONS_COLUMNS rcc ON rc.CONSTRAINT_NAME = rcc.CONSTRAINT_NAME AND rc.OWNER = rcc.OWNER" + + " WHERE c.CONSTRAINT_TYPE = 'R' AND c.OWNER = ? AND c.TABLE_NAME = ?" + + " ORDER BY c.CONSTRAINT_NAME"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ForeignKeyInfo(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4))); + } + } + } + return result; + }); + } + + @Override + public List listTriggers(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT TRIGGER_NAME, TRIGGERING_EVENT, TRIGGER_TYPE" + + " FROM ALL_TRIGGERS" + + " WHERE OWNER = ? AND TABLE_NAME = ?" + + " ORDER BY TRIGGER_NAME"; + try (PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TriggerInfo(rs.getString(1), rs.getString(2), rs.getString(3))); + } + } + } + return result; + }); + } + + @Override + public QueryResult executeQuery(String sql, String schema, ExecuteQueryOptions options) { + return JdbcExecutor.INSTANCE.execute( + requireConnected(), + prepareExecutableSql(sql), + schema, + this::setSchemaSQL, + options.getMaxRows(), + options.getFetchSize(), + options.getTimeoutSecs(), + this::stringResultValue + ); + } + + @Override + public QueryPageResult executeQueryPage(String sql, String schema, QueryPageOptions options) { + return JdbcExecutor.INSTANCE.executePage( + requireConnected(), + prepareExecutableSql(sql), + schema, + this::setSchemaSQL, + options, + this::stringResultValue + ); + } + + @Override + public void disconnect() { + uncheckedVoid(() -> { + if (connection != null) { + connection.close(); + } + connection = null; + }); + } + + private Object stringResultValue(ResultSet rs, int index, int sqlType) { + return unchecked(() -> { + return JdbcExecutor.stringResultValue(rs, index, sqlType); + }); + } + + static String buildUrl(ConnectParams params) { + String connectionString = params.getConnection_string(); + if (connectionString != null && !connectionString.trim().isEmpty()) { + return connectionString; + } + return "jdbc:oracle:thin:@" + params.getHost() + ":" + params.getPort() + "/" + serviceName(params); + } + + private static Properties connectionProperties(ConnectParams params) { + Properties props = new Properties(); + props.put("user", params.getUsername()); + props.put("password", params.getPassword()); + if (params.getDatabase().toUpperCase(Locale.ROOT).startsWith("SYSDBA:")) { + props.put("internal_logon", "SYSDBA"); + } + return props; + } + + private static String serviceName(ConnectParams params) { + String serviceName = params.getDatabase(); + if (serviceName.toUpperCase(Locale.ROOT).startsWith("SYSDBA:")) { + return serviceName.substring(7); + } + return serviceName; + } + + private static String quotedSystemSchemas() { + List quoted = new ArrayList<>(); + for (String schema : SYSTEM_SCHEMAS) { + quoted.add("'" + schema + "'"); + } + return String.join(",", quoted); + } + + private static String trimTrailingSemicolons(String sql) { + String trimmed = sql; + while (trimmed.endsWith(";")) { + trimmed = trimmed.substring(0, trimmed.length() - 1); + } + return trimmed; + } + + static String prepareExecutableSql(String sql) { + String trimmed = sql.trim(); + if (PLSQL_OBJECT_DDL_RE.matcher(trimmed).find()) { + return trimmed; + } + return rewriteFetchFirst(trimTrailingSemicolons(trimmed)); + } + + private static String formatDataType(String base, Integer numPrec, Integer numScale, Integer dataLen, Integer charLen) { + switch (base.toUpperCase(Locale.ROOT)) { + case "VARCHAR2": + case "NVARCHAR2": + case "CHAR": + case "NCHAR": + Integer length = charLen != null ? charLen : dataLen; + return length != null ? base + "(" + length + ")" : base; + case "NUMBER": + if (numPrec != null && numScale != null && numScale > 0) { + return base + "(" + numPrec + "," + numScale + ")"; + } + return numPrec != null && numPrec > 0 ? base + "(" + numPrec + ")" : base; + case "RAW": + return dataLen != null ? "RAW(" + dataLen + ")" : "RAW"; + default: + return base; + } + } + + private static Integer intObject(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value == null ? null : ((Number) value).intValue(); + } + + private static List splitNonEmpty(String value, String delimiter) { + List result = new ArrayList<>(); + for (String part : value.split(delimiter)) { + if (!part.isEmpty()) { + result.add(part); + } + } + return result; + } + + private static String coalesce(String value) { + return value == null ? "" : value; + } + + public static void main(String[] args) { + new JsonRpcServer(new Oracle10gAgent()).run(); + } +} diff --git a/agents/drivers/oracle-10g/src/test/java/com/dbx/agent/oracle10g/Oracle10gAgentTest.java b/agents/drivers/oracle-10g/src/test/java/com/dbx/agent/oracle10g/Oracle10gAgentTest.java new file mode 100644 index 0000000000..b6d9cd3e78 --- /dev/null +++ b/agents/drivers/oracle-10g/src/test/java/com/dbx/agent/oracle10g/Oracle10gAgentTest.java @@ -0,0 +1,205 @@ +package com.dbx.agent.oracle10g; + +import com.dbx.agent.test.TestSupport; +import com.dbx.agent.BaseDatabaseAgent; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.ObjectInfo; +import com.dbx.agent.ObjectSource; +import com.dbx.agent.test.JdbcAgentFake; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Proxy; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.Arrays; +import java.util.List; +import java.util.function.Function; +import java.util.stream.Collectors; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class Oracle10gAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new Oracle10gAgent(); + } + + @Override + protected String resultSetSql() { + return "CALL DBMS_XPLAN.DISPLAY_CURSOR()"; + } + + @Test + void agentInheritsBaseDatabaseAgent() { + Assertions.assertTrue(createAgent() instanceof BaseDatabaseAgent); + } + + @Test + void buildUrlUsesExplicitConnectionString() { + ConnectParams params = new ConnectParams( + "oracle.example.com", + 1521, + "ORCL", + "scott", + "tiger", + "", + "jdbc:oracle:thin:@oracle.example.com:1521:ORCL", + false + ); + + Assertions.assertEquals("jdbc:oracle:thin:@oracle.example.com:1521:ORCL", Oracle10gAgent.buildUrl(params)); + } + + @Test + void prepareExecutableSqlKeepsPlsqlObjectTerminator() { + String sql = "CREATE OR REPLACE PROCEDURE APP_PROC AS BEGIN NULL; END;"; + + Assertions.assertEquals(sql, Oracle10gAgent.prepareExecutableSql(sql)); + } + + @Test + void prepareExecutableSqlTrimsPlainStatementTerminator() { + Assertions.assertEquals("SELECT 1 FROM DUAL", Oracle10gAgent.prepareExecutableSql("SELECT 1 FROM DUAL;")); + } + + @Test + void prepareExecutableSqlStillRewritesFetchFirst() { + Assertions.assertEquals( + "SELECT * FROM (SELECT * FROM EMP) WHERE ROWNUM <= 10", + Oracle10gAgent.prepareExecutableSql("SELECT * FROM EMP FETCH FIRST 10 ROWS ONLY;") + ); + } + + @Test + void listsTablesViewsProceduresAndFunctions() { + Oracle10gAgent agent = new Oracle10gAgent(); + TestSupport.setPrivateConnection(agent, objectListConnection()); + + List objects = agent.listObjects("APP"); + + Assertions.assertEquals( + Arrays.asList("TABLE", "VIEW", "PROCEDURE", "FUNCTION"), + objects.stream().map(ObjectInfo::getObject_type).collect(Collectors.toList()) + ); + Assertions.assertEquals( + Arrays.asList("APP_TABLE", "APP_VIEW", "APP_PROC", "APP_FUNC"), + objects.stream().map(ObjectInfo::getName).collect(Collectors.toList()) + ); + } + + @Test + void loadsRoutineSourceFromDbmsMetadata() { + Oracle10gAgent agent = new Oracle10gAgent(); + TestSupport.setPrivateConnection( + agent, + metadataConnection(sql -> Arrays.asList( + Arrays.asList("CREATE OR REPLACE PROCEDURE APP_PROC AS BEGIN NULL; END;") + )) + ); + + ObjectSource source = agent.getObjectSource("APP", "APP_PROC", "PROCEDURE"); + + Assertions.assertEquals("APP_PROC", source.getName()); + Assertions.assertEquals("PROCEDURE", source.getObject_type()); + Assertions.assertEquals("APP", source.getSchema()); + Assertions.assertEquals("CREATE OR REPLACE PROCEDURE APP_PROC AS BEGIN NULL; END;", source.getSource()); + } + + private static Connection objectListConnection() { + return metadataConnection(sql -> { + if (sql.contains("'PROCEDURE'")) { + return Arrays.asList( + Arrays.asList("APP_TABLE", "TABLE"), + Arrays.asList("APP_VIEW", "VIEW"), + Arrays.asList("APP_PROC", "PROCEDURE"), + Arrays.asList("APP_FUNC", "FUNCTION") + ); + } + return Arrays.asList( + Arrays.asList("APP_TABLE", "TABLE", ""), + Arrays.asList("APP_VIEW", "VIEW", "") + ); + }); + } + + private static Connection metadataConnection(Function>> rowsForSql) { + return proxy(Connection.class, (unused, method, args) -> { + switch (method.getName()) { + case "prepareStatement": + return metadataStatement(rowsForSql.apply((String) args[0])); + case "close": + return null; + case "isClosed": + return false; + default: + return defaultValue(method.getReturnType()); + } + }); + } + + private static PreparedStatement metadataStatement(List> rows) { + return proxy(PreparedStatement.class, (unused, method, args) -> { + switch (method.getName()) { + case "executeQuery": + return metadataResultSet(rows); + case "setString": + case "close": + return null; + default: + return defaultValue(method.getReturnType()); + } + }); + } + + private static ResultSet metadataResultSet(List> rows) { + int[] index = {-1}; + return proxy(ResultSet.class, (unused, method, args) -> { + switch (method.getName()) { + case "next": + index[0] += 1; + return index[0] < rows.size(); + case "getString": + return rows.get(index[0]).get(((Integer) args[0]) - 1); + case "close": + return null; + default: + return defaultValue(method.getReturnType()); + } + }); + } + + @SuppressWarnings("unchecked") + private static T proxy(Class type, InvocationHandler handler) { + return (T) Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, handler); + } + + private static Object defaultValue(Class type) { + if (type == Boolean.TYPE) { + return false; + } + if (type == Byte.TYPE) { + return (byte) 0; + } + if (type == Short.TYPE) { + return (short) 0; + } + if (type == Integer.TYPE) { + return 0; + } + if (type == Long.TYPE) { + return 0L; + } + if (type == Float.TYPE) { + return 0F; + } + if (type == Double.TYPE) { + return 0.0D; + } + if (type == Character.TYPE) { + return '\0'; + } + return null; + } +} diff --git a/agents/drivers/oracle-go/.gitignore b/agents/drivers/oracle-go/.gitignore new file mode 100644 index 0000000000..8aa3c07867 --- /dev/null +++ b/agents/drivers/oracle-go/.gitignore @@ -0,0 +1,2 @@ +agent +agent.exe diff --git a/agents/drivers/oracle-go/README.md b/agents/drivers/oracle-go/README.md new file mode 100644 index 0000000000..847b78d5ab --- /dev/null +++ b/agents/drivers/oracle-go/README.md @@ -0,0 +1,36 @@ +# DBX Oracle Go Agent + +Experimental native Oracle agent for DBX using `github.com/sijms/go-ora/v2`. + +## Build + +```bash +go build -o agent . +``` + +Cross-compile release builds use pure Go output: + +```bash +CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o dbx-agent-oracle-linux-x64 . +CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -trimpath -ldflags="-s -w" -o dbx-agent-oracle-macos-aarch64 . +CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o dbx-agent-oracle-windows-x64.exe . +``` + +## Local DBX Test + +Build the binary, then copy it into DBX's installed Oracle driver directory: + +```bash +mkdir -p ~/.dbx/agents/drivers/oracle +cp agent ~/.dbx/agents/drivers/oracle/agent +chmod +x ~/.dbx/agents/drivers/oracle/agent +``` + +DBX prefers `agent` over `agent.jar`, so Oracle connections will use this Go +agent until the file is removed. + +To restore the Java agent: + +```bash +rm ~/.dbx/agents/drivers/oracle/agent +``` diff --git a/agents/drivers/oracle-go/go.mod b/agents/drivers/oracle-go/go.mod new file mode 100644 index 0000000000..569ba62d6a --- /dev/null +++ b/agents/drivers/oracle-go/go.mod @@ -0,0 +1,5 @@ +module github.com/t8y2/dbx/agents/drivers/oracle-go + +go 1.22 + +require github.com/sijms/go-ora/v2 v2.9.0 diff --git a/agents/drivers/oracle-go/go.sum b/agents/drivers/oracle-go/go.sum new file mode 100644 index 0000000000..c8b6880459 --- /dev/null +++ b/agents/drivers/oracle-go/go.sum @@ -0,0 +1,2 @@ +github.com/sijms/go-ora/v2 v2.9.0 h1:+iQbUeTeCOFMb5BsOMgUhV8KWyrv9yjKpcK4x7+MFrg= +github.com/sijms/go-ora/v2 v2.9.0/go.mod h1:QgFInVi3ZWyqAiJwzBQA+nbKYKH77tdp1PYoCqhR2dU= diff --git a/agents/drivers/oracle-go/main.go b/agents/drivers/oracle-go/main.go new file mode 100644 index 0000000000..2db1c4fc7e --- /dev/null +++ b/agents/drivers/oracle-go/main.go @@ -0,0 +1,1400 @@ +package main + +import ( + "bufio" + "context" + "database/sql" + "encoding/json" + "errors" + "fmt" + "io" + "net/url" + "os" + "regexp" + "strconv" + "strings" + "time" + + _ "github.com/sijms/go-ora/v2" + go_ora "github.com/sijms/go-ora/v2" +) + +const protocolVersion = 1 +const defaultMaxRows = 1000 +const oracleListDatabasesSQL = ` +SELECT username AS owner +FROM all_users +WHERE username IS NOT NULL + AND username NOT IN ( + 'SYS','SYSTEM','SYSMAN','DBSNMP','SYSBACKUP','SYSDG','SYSKM','SYSRAC','OUTLN', + 'AUDSYS','LBACSYS','DVF','DVSYS','APPQOSSYS','CTXSYS','MDSYS','MDDATA', + 'ORDSYS','ORDDATA','ORDPLUGINS','XDB','ANONYMOUS','DIP','EXFSYS', + 'GSMADMIN_INTERNAL','GSMCATUSER','GSMROOTUSER','GSMUSER','OJVMSYS','OLAPSYS', + 'ORACLE_OCM','SI_INFORMTN_SCHEMA','WMSYS','XS$NULL','DBSFWUSER', + 'REMOTE_SCHEDULER_AGENT','PDBADMIN','DGPDB_INT','OPS$ORACLE', + 'GGSYS','FLOWS_FILES','APEX_PUBLIC_USER' + ) + AND username NOT LIKE 'APEX_%' + AND username NOT LIKE 'FLOWS_%' + AND username NOT LIKE '%$%' +ORDER BY CASE + WHEN username = SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') THEN 0 + WHEN username = SYS_CONTEXT('USERENV', 'SESSION_USER') THEN 1 + ELSE 2 +END, username` + +type request struct { + ID json.RawMessage `json:"id"` + Method string `json:"method"` + Params map[string]json.RawMessage `json:"params"` +} + +type response struct { + JSONRPC string `json:"jsonrpc,omitempty"` + ID json.RawMessage `json:"id,omitempty"` + Result any `json:"result,omitempty"` + Error *rpcError `json:"error,omitempty"` +} + +type rpcError struct { + Code int `json:"code"` + Message string `json:"message"` +} + +type connectParams struct { + Host string `json:"host"` + Port int `json:"port"` + Database string `json:"database"` + Username string `json:"username"` + Password string `json:"password"` + SysDBA bool `json:"sysdba"` + URLParams string `json:"url_params"` + ConnectionString string `json:"connection_string"` +} + +type queryOptions struct { + SQL string `json:"sql"` + Database string `json:"database"` + Schema string `json:"schema"` + MaxRows int `json:"maxRows"` + FetchSize int `json:"fetchSize"` +} + +type queryResult struct { + Columns []string `json:"columns"` + Rows [][]any `json:"rows"` + AffectedRows int64 `json:"affected_rows"` + ExecutionTimeMS int64 `json:"execution_time_ms"` + Truncated bool `json:"truncated"` +} + +func (r queryResult) MarshalJSON() ([]byte, error) { + type alias queryResult + value := alias(r) + if value.Columns == nil { + value.Columns = []string{} + } + if value.Rows == nil { + value.Rows = [][]any{} + } + return json.Marshal(value) +} + +type queryPageResult struct { + Columns []string `json:"columns"` + Rows [][]any `json:"rows"` + AffectedRows int64 `json:"affected_rows"` + ExecutionTimeMS int64 `json:"execution_time_ms"` + Truncated bool `json:"truncated"` + SessionID *string `json:"session_id"` + HasMore bool `json:"has_more"` +} + +func (r queryPageResult) MarshalJSON() ([]byte, error) { + type alias queryPageResult + value := alias(r) + if value.Columns == nil { + value.Columns = []string{} + } + if value.Rows == nil { + value.Rows = [][]any{} + } + return json.Marshal(value) +} + +type querySession struct { + rows *sql.Rows + columns []string + pending []any + remaining int +} + +type databaseInfo struct { + Name string `json:"name"` +} + +type tableInfo struct { + Name string `json:"name"` + TableType string `json:"table_type"` + Comment *string `json:"comment"` +} + +type objectInfo struct { + Name string `json:"name"` + ObjectType string `json:"object_type"` + Schema string `json:"schema"` + Comment *string `json:"comment"` +} + +type columnInfo struct { + Name string `json:"name"` + DataType string `json:"data_type"` + IsNullable bool `json:"is_nullable"` + ColumnDefault *string `json:"column_default"` + IsPrimaryKey bool `json:"is_primary_key"` + Extra *string `json:"extra"` + Comment *string `json:"comment"` + NumericPrecision *int `json:"numeric_precision"` + NumericScale *int `json:"numeric_scale"` + CharacterMaximumLength *int `json:"character_maximum_length"` +} + +type indexInfo struct { + Name string `json:"name"` + Columns []string `json:"columns"` + IsUnique bool `json:"is_unique"` + IsPrimary bool `json:"is_primary"` + Filter *string `json:"filter"` + IndexType *string `json:"index_type"` + IncludedColumns []string `json:"included_columns"` + Comment *string `json:"comment"` +} + +func (i indexInfo) MarshalJSON() ([]byte, error) { + type alias indexInfo + value := alias(i) + if value.Columns == nil { + value.Columns = []string{} + } + if value.IncludedColumns == nil { + value.IncludedColumns = []string{} + } + return json.Marshal(value) +} + +type foreignKeyInfo struct { + Name string `json:"name"` + Column string `json:"column"` + RefTable string `json:"ref_table"` + RefColumn string `json:"ref_column"` +} + +type triggerInfo struct { + Name string `json:"name"` + Event string `json:"event"` + Timing string `json:"timing"` +} + +type server struct { + db *sql.DB + params connectParams + sessions map[string]*querySession + nextSessionID int64 +} + +func main() { + s := newServer() + encoder := json.NewEncoder(os.Stdout) + fmt.Fprintln(os.Stdout, `{"ready":true}`) + + scanner := bufio.NewScanner(os.Stdin) + scanner.Buffer(make([]byte, 0, 64*1024), 512*1024*1024) + for scanner.Scan() { + line := strings.TrimSpace(scanner.Text()) + if line == "" { + continue + } + resp, shutdown := s.handleLine(line) + if err := encoder.Encode(resp); err != nil { + fmt.Fprintf(os.Stderr, "failed to write response: %v\n", err) + return + } + if shutdown { + return + } + } + if err := scanner.Err(); err != nil && !errors.Is(err, io.EOF) { + fmt.Fprintf(os.Stderr, "failed to read stdin: %v\n", err) + } +} + +func newServer() *server { + return &server{sessions: map[string]*querySession{}} +} + +func (s *server) handleLine(line string) (response, bool) { + var req request + if err := json.Unmarshal([]byte(line), &req); err != nil { + return errorResponse(nil, err), false + } + if len(req.ID) == 0 { + req.ID = json.RawMessage("1") + } + result, shutdown, err := s.dispatch(req.Method, req.Params) + if err != nil { + return errorResponse(req.ID, err), false + } + return response{JSONRPC: "2.0", ID: req.ID, Result: result}, shutdown +} + +func (s *server) dispatch(method string, params map[string]json.RawMessage) (any, bool, error) { + switch method { + case "handshake": + return map[string]any{ + "protocolVersion": protocolVersion, + "agentProtocolVersion": protocolVersion, + "capabilities": []string{"connect", "test_connection", "metadata", "query", "ddl"}, + }, false, nil + case "connect": + var cp connectParams + if err := decodeParams(params, &cp); err != nil { + return nil, false, err + } + return map[string]bool{"ok": true}, false, s.connect(cp) + case "test_connection": + var cp connectParams + if err := decodeParams(params, &cp); err != nil { + return nil, false, err + } + db, err := openDB(cp) + if err != nil { + return nil, false, err + } + defer db.Close() + ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) + defer cancel() + if err := db.PingContext(ctx); err != nil { + return nil, false, err + } + return map[string]bool{"ok": true}, false, nil + case "list_databases": + result, err := s.listDatabases() + return result, false, err + case "list_schemas": + result, err := s.listSchemas() + return result, false, err + case "list_tables": + schema := stringParam(params, "schema") + result, err := s.listTables(schema) + return result, false, err + case "list_objects": + schema := stringParam(params, "schema") + result, err := s.listObjects(schema) + return result, false, err + case "get_columns": + schema := stringParam(params, "schema") + table := stringParam(params, "table") + result, err := s.getColumns(schema, table) + return result, false, err + case "get_object_source": + schema := stringParam(params, "schema") + name := stringParam(params, "name") + objectType := stringParam(params, "object_type") + source, err := s.getObjectSource(schema, name, objectType) + return source, false, err + case "get_table_ddl": + schema := stringParam(params, "schema") + table := stringParam(params, "table") + objectType := stringParam(params, "object_type") + ddl, err := s.getTableDDL(schema, table, objectType) + return ddl, false, err + case "execute_query": + var opts queryOptions + if err := decodeParams(params, &opts); err != nil { + return nil, false, err + } + result, err := s.executeQuery(opts) + return result, false, err + case "execute_query_page": + var opts queryOptions + if err := decodeParams(params, &opts); err != nil { + return nil, false, err + } + result, err := s.executeQueryPage(opts, intParam(params, "pageSize")) + return result, false, err + case "fetch_query_page": + result, err := s.fetchQueryPage(stringParam(params, "sessionId"), intParam(params, "pageSize")) + return result, false, err + case "close_query_session": + return s.closeQuerySession(stringParam(params, "sessionId")), false, nil + case "list_indexes": + schema := stringParam(params, "schema") + table := stringParam(params, "table") + result, err := s.listIndexes(schema, table) + return result, false, err + case "list_foreign_keys": + schema := stringParam(params, "schema") + table := stringParam(params, "table") + result, err := s.listForeignKeys(schema, table) + return result, false, err + case "list_triggers": + schema := stringParam(params, "schema") + table := stringParam(params, "table") + result, err := s.listTriggers(schema, table) + return result, false, err + case "get_explain_info": + sqlText := stringParam(params, "sql") + plan, err := s.getExplainInfo(sqlText) + return map[string]any{"plan": plan, "has_actual_stats": false}, false, err + case "execute_transaction": + result, err := s.executeTransaction(params) + return result, false, err + case "disconnect": + return map[string]bool{"ok": true}, false, s.disconnect() + case "shutdown": + _ = s.disconnect() + return map[string]bool{"ok": true}, true, nil + default: + return nil, false, fmt.Errorf("unknown method: %s", method) + } +} + +func (s *server) connect(params connectParams) error { + _ = s.disconnect() + db, err := openDB(params) + if err != nil { + return err + } + ctx, cancel := context.WithTimeout(context.Background(), 15*time.Second) + defer cancel() + if err := db.PingContext(ctx); err != nil { + db.Close() + return err + } + if _, err := db.ExecContext(ctx, "ALTER SESSION SET NLS_LANGUAGE='AMERICAN'"); err != nil { + db.Close() + return err + } + s.db = db + s.params = params + return nil +} + +func (s *server) disconnect() error { + s.closeAllQuerySessions() + if s.db == nil { + return nil + } + err := s.db.Close() + s.db = nil + return err +} + +func openDB(params connectParams) (*sql.DB, error) { + dsn := buildDSN(params) + db, err := sql.Open("oracle", dsn) + if err != nil { + return nil, err + } + db.SetMaxOpenConns(4) + db.SetMaxIdleConns(1) + db.SetConnMaxLifetime(30 * time.Minute) + return db, nil +} + +func buildDSN(params connectParams) string { + connectionString := strings.TrimSpace(params.ConnectionString) + if strings.HasPrefix(strings.ToLower(connectionString), "oracle://") { + return connectionString + } + options := parseURLParams(params.URLParams) + if params.SysDBA { + options["AUTH TYPE"] = "SYSDBA" + } + + if jdbc := parseOracleJDBCURL(connectionString); jdbc.Kind != "" { + if jdbc.Descriptor != "" { + return go_ora.BuildJDBC(params.Username, params.Password, jdbc.Descriptor, options) + } + host := jdbc.Host + port := jdbc.Port + if port == 0 { + port = 1521 + } + if jdbc.Kind == "sid" { + options["SID"] = jdbc.Database + return go_ora.BuildUrl(host, port, "", params.Username, params.Password, options) + } + return go_ora.BuildUrl(host, port, jdbc.Database, params.Username, params.Password, options) + } + + service := strings.TrimSpace(params.Database) + if strings.HasPrefix(strings.ToUpper(service), "SYSDBA:") { + service = strings.TrimSpace(service[len("SYSDBA:"):]) + } + port := params.Port + if port == 0 { + port = 1521 + } + return go_ora.BuildUrl(params.Host, port, service, params.Username, params.Password, options) +} + +type jdbcURLInfo struct { + Kind string + Host string + Port int + Database string + Descriptor string +} + +var ( + oracleJDBCServiceRegexp = regexp.MustCompile(`(?i)^jdbc:oracle:thin:@//([^/:]+):([0-9]+)/([^?]+)`) + oracleJDBCSIDRegexp = regexp.MustCompile(`(?i)^jdbc:oracle:thin:@([^/:]+):([0-9]+):([^?]+)`) + oracleJDBCLegacyRegexp = regexp.MustCompile(`(?i)^jdbc:oracle:thin:@([^/:]+):([0-9]+)/([^?]+)`) +) + +func parseOracleJDBCURL(value string) jdbcURLInfo { + value = strings.TrimSpace(value) + lower := strings.ToLower(value) + if !strings.HasPrefix(lower, "jdbc:oracle:thin:@") { + return jdbcURLInfo{} + } + descriptor := strings.TrimSpace(value[len("jdbc:oracle:thin:@"):]) + if strings.HasPrefix(descriptor, "(") { + return jdbcURLInfo{Kind: "descriptor", Descriptor: descriptor} + } + if match := oracleJDBCServiceRegexp.FindStringSubmatch(value); len(match) == 4 { + return jdbcURLInfo{Kind: "service", Host: match[1], Port: parsePort(match[2]), Database: match[3]} + } + if match := oracleJDBCSIDRegexp.FindStringSubmatch(value); len(match) == 4 { + return jdbcURLInfo{Kind: "sid", Host: match[1], Port: parsePort(match[2]), Database: match[3]} + } + if match := oracleJDBCLegacyRegexp.FindStringSubmatch(value); len(match) == 4 { + return jdbcURLInfo{Kind: "service", Host: match[1], Port: parsePort(match[2]), Database: match[3]} + } + return jdbcURLInfo{} +} + +func parsePort(value string) int { + port, _ := strconv.Atoi(value) + return port +} + +func (s *server) requireDB() (*sql.DB, error) { + if s.db == nil { + return nil, errors.New("agent is not connected") + } + return s.db, nil +} + +func (s *server) listDatabases() ([]databaseInfo, error) { + rows, err := s.queryRows(oracleListDatabasesSQL, nil) + if err != nil { + if isOraclePGALimitError(err) { + return s.currentSchemaDatabase() + } + return nil, err + } + defer rows.Close() + var result []databaseInfo + for rows.Next() { + var name string + if err := rows.Scan(&name); err != nil { + return nil, err + } + result = append(result, databaseInfo{Name: name}) + } + if err := rows.Err(); err != nil { + if isOraclePGALimitError(err) { + return s.currentSchemaDatabase() + } + return nil, err + } + return emptyIfNil(result), nil +} + +func isOraclePGALimitError(err error) bool { + return err != nil && strings.Contains(strings.ToUpper(err.Error()), "ORA-04036") +} + +func (s *server) currentSchemaDatabase() ([]databaseInfo, error) { + schema, err := s.currentSchema() + if err != nil { + return nil, err + } + if strings.TrimSpace(schema) == "" { + return []databaseInfo{}, nil + } + return []databaseInfo{{Name: schema}}, nil +} + +func (s *server) listSchemas() ([]string, error) { + databases, err := s.listDatabases() + if err != nil { + return nil, err + } + result := make([]string, 0, len(databases)) + for _, database := range databases { + result = append(result, database.Name) + } + return emptyIfNil(result), nil +} + +func (s *server) currentSchema() (string, error) { + db, err := s.requireDB() + if err != nil { + return "", err + } + var schema string + if err := db.QueryRow("SELECT SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') FROM DUAL").Scan(&schema); err != nil { + return "", err + } + return strings.ToUpper(schema), nil +} + +func (s *server) normalizeSchema(schema string) (string, error) { + schema = strings.TrimSpace(schema) + if schema == "" { + return s.currentSchema() + } + return strings.ToUpper(schema), nil +} + +func (s *server) listTables(schema string) ([]tableInfo, error) { + schema, err := s.normalizeSchema(schema) + if err != nil { + return nil, err + } + rows, err := s.queryRows(` +SELECT /*+ NO_QUERY_TRANSFORMATION */ o.OBJECT_NAME, + CASE o.OBJECT_TYPE WHEN 'VIEW' THEN 'VIEW' ELSE 'TABLE' END AS TABLE_TYPE, + c.COMMENTS +FROM ALL_OBJECTS o +LEFT JOIN ALL_TAB_COMMENTS c ON c.OWNER = o.OWNER AND c.TABLE_NAME = o.OBJECT_NAME +WHERE o.OWNER = :1 + AND o.OBJECT_TYPE IN ('TABLE', 'VIEW') +ORDER BY o.OBJECT_NAME`, []any{schema}) + if err != nil { + if isOraclePGALimitError(err) { + return []tableInfo{}, nil + } + return nil, err + } + defer rows.Close() + var result []tableInfo + for rows.Next() { + var item tableInfo + if err := rows.Scan(&item.Name, &item.TableType, &item.Comment); err != nil { + return nil, err + } + result = append(result, item) + } + return emptyIfNil(result), rows.Err() +} + +func (s *server) listObjects(schema string) ([]objectInfo, error) { + schema, err := s.normalizeSchema(schema) + if err != nil { + return nil, err + } + rows, err := s.queryRows(` +SELECT /*+ NO_QUERY_TRANSFORMATION */ o.OBJECT_NAME, o.OBJECT_TYPE, c.COMMENTS +FROM ALL_OBJECTS o +LEFT JOIN ALL_TAB_COMMENTS c ON c.OWNER = o.OWNER AND c.TABLE_NAME = o.OBJECT_NAME +WHERE o.OWNER = :1 + AND o.OBJECT_TYPE IN ('TABLE', 'VIEW', 'PROCEDURE', 'FUNCTION', 'PACKAGE') +ORDER BY o.OBJECT_TYPE, o.OBJECT_NAME`, []any{schema}) + if err != nil { + if isOraclePGALimitError(err) { + return []objectInfo{}, nil + } + return nil, err + } + defer rows.Close() + var result []objectInfo + for rows.Next() { + var item objectInfo + item.Schema = schema + if err := rows.Scan(&item.Name, &item.ObjectType, &item.Comment); err != nil { + return nil, err + } + result = append(result, item) + } + return emptyIfNil(result), rows.Err() +} + +func (s *server) getColumns(schema, table string) ([]columnInfo, error) { + schema, err := s.normalizeSchema(schema) + if err != nil { + return nil, err + } + table = strings.ToUpper(strings.TrimSpace(table)) + rows, err := s.queryRows(` +SELECT c.COLUMN_NAME, + c.DATA_TYPE, + c.NULLABLE, + c.DATA_DEFAULT, + CASE WHEN pk.COLUMN_NAME IS NULL THEN 0 ELSE 1 END AS IS_PRIMARY_KEY, + cc.COMMENTS, + c.DATA_PRECISION, + c.DATA_SCALE, + c.CHAR_LENGTH +FROM ALL_TAB_COLUMNS c +LEFT JOIN ( + SELECT acc.OWNER, acc.TABLE_NAME, acc.COLUMN_NAME + FROM ALL_CONSTRAINTS ac + JOIN ALL_CONS_COLUMNS acc ON acc.OWNER = ac.OWNER AND acc.CONSTRAINT_NAME = ac.CONSTRAINT_NAME + WHERE ac.CONSTRAINT_TYPE = 'P' +) pk ON pk.OWNER = c.OWNER AND pk.TABLE_NAME = c.TABLE_NAME AND pk.COLUMN_NAME = c.COLUMN_NAME +LEFT JOIN ALL_COL_COMMENTS cc ON cc.OWNER = c.OWNER AND cc.TABLE_NAME = c.TABLE_NAME AND cc.COLUMN_NAME = c.COLUMN_NAME +WHERE c.OWNER = :1 AND c.TABLE_NAME = :2 +ORDER BY c.COLUMN_ID`, []any{schema, table}) + if err != nil { + return nil, err + } + defer rows.Close() + var result []columnInfo + for rows.Next() { + var item columnInfo + var nullable string + var primary int + if err := rows.Scan( + &item.Name, + &item.DataType, + &nullable, + &item.ColumnDefault, + &primary, + &item.Comment, + &item.NumericPrecision, + &item.NumericScale, + &item.CharacterMaximumLength, + ); err != nil { + return nil, err + } + item.IsNullable = nullable == "Y" + item.IsPrimaryKey = primary != 0 + item.DataType = oracleColumnTypeDDL(item) + result = append(result, item) + } + return emptyIfNil(result), rows.Err() +} + +func (s *server) listIndexes(schema, table string) ([]indexInfo, error) { + schema, err := s.normalizeSchema(schema) + if err != nil { + return nil, err + } + table = strings.ToUpper(strings.TrimSpace(table)) + rows, err := s.queryRows(` +SELECT i.INDEX_NAME, + ic.COLUMN_NAME, + i.UNIQUENESS, + CASE WHEN pk.CONSTRAINT_NAME IS NULL THEN 0 ELSE 1 END AS IS_PRIMARY, + i.INDEX_TYPE, + ic.COLUMN_POSITION +FROM ALL_INDEXES i +JOIN ALL_IND_COLUMNS ic ON ic.INDEX_OWNER = i.OWNER AND ic.INDEX_NAME = i.INDEX_NAME +LEFT JOIN ALL_CONSTRAINTS pk ON pk.OWNER = i.TABLE_OWNER + AND pk.TABLE_NAME = i.TABLE_NAME + AND pk.CONSTRAINT_TYPE = 'P' + AND pk.INDEX_NAME = i.INDEX_NAME +WHERE i.TABLE_OWNER = :1 AND i.TABLE_NAME = :2 +ORDER BY i.INDEX_NAME, ic.COLUMN_POSITION`, []any{schema, table}) + if err != nil { + return nil, err + } + defer rows.Close() + + byName := map[string]*indexInfo{} + order := []string{} + for rows.Next() { + var name, column, uniqueness, indexType string + var primary int + var position int + if err := rows.Scan(&name, &column, &uniqueness, &primary, &indexType, &position); err != nil { + return nil, err + } + item := byName[name] + if item == nil { + item = &indexInfo{ + Name: name, + Columns: []string{}, + IsUnique: uniqueness == "UNIQUE", + IsPrimary: primary != 0, + IndexType: &indexType, + IncludedColumns: []string{}, + } + byName[name] = item + order = append(order, name) + } + item.Columns = append(item.Columns, column) + } + if err := rows.Err(); err != nil { + return nil, err + } + result := make([]indexInfo, 0, len(order)) + for _, name := range order { + result = append(result, *byName[name]) + } + return emptyIfNil(result), nil +} + +func (s *server) listForeignKeys(schema, table string) ([]foreignKeyInfo, error) { + schema, err := s.normalizeSchema(schema) + if err != nil { + return nil, err + } + table = strings.ToUpper(strings.TrimSpace(table)) + rows, err := s.queryRows(` +SELECT ac.CONSTRAINT_NAME, + acc.COLUMN_NAME, + rcc.TABLE_NAME AS REF_TABLE, + rcc.COLUMN_NAME AS REF_COLUMN +FROM ALL_CONSTRAINTS ac +JOIN ALL_CONS_COLUMNS acc ON acc.OWNER = ac.OWNER AND acc.CONSTRAINT_NAME = ac.CONSTRAINT_NAME +JOIN ALL_CONS_COLUMNS rcc ON rcc.OWNER = ac.R_OWNER AND rcc.CONSTRAINT_NAME = ac.R_CONSTRAINT_NAME + AND rcc.POSITION = acc.POSITION +WHERE ac.OWNER = :1 + AND ac.TABLE_NAME = :2 + AND ac.CONSTRAINT_TYPE = 'R' +ORDER BY ac.CONSTRAINT_NAME, acc.POSITION`, []any{schema, table}) + if err != nil { + return nil, err + } + defer rows.Close() + var result []foreignKeyInfo + for rows.Next() { + var item foreignKeyInfo + if err := rows.Scan(&item.Name, &item.Column, &item.RefTable, &item.RefColumn); err != nil { + return nil, err + } + result = append(result, item) + } + return emptyIfNil(result), rows.Err() +} + +func (s *server) listTriggers(schema, table string) ([]triggerInfo, error) { + schema, err := s.normalizeSchema(schema) + if err != nil { + return nil, err + } + table = strings.ToUpper(strings.TrimSpace(table)) + rows, err := s.queryRows(` +SELECT TRIGGER_NAME, TRIGGERING_EVENT, TRIGGER_TYPE +FROM ALL_TRIGGERS +WHERE OWNER = :1 AND TABLE_NAME = :2 +ORDER BY TRIGGER_NAME`, []any{schema, table}) + if err != nil { + return nil, err + } + defer rows.Close() + var result []triggerInfo + for rows.Next() { + var item triggerInfo + if err := rows.Scan(&item.Name, &item.Event, &item.Timing); err != nil { + return nil, err + } + result = append(result, item) + } + return emptyIfNil(result), rows.Err() +} + +func (s *server) getObjectSource(schema, name, objectType string) (map[string]any, error) { + var err error + schema, err = s.normalizeSchema(schema) + if err != nil { + return nil, err + } + upperType := strings.ToUpper(objectType) + if upperType == "VIEW" { + // ALL_VIEWS.TEXT for views — ALL_SOURCE doesn't contain views, and + // DBMS_METADATA.GET_DDL fails on XE editions. + var source string + err = s.db.QueryRow( + "SELECT TEXT FROM ALL_VIEWS WHERE OWNER = :1 AND VIEW_NAME = :2", + schema, strings.ToUpper(name), + ).Scan(&source) + if errors.Is(err, sql.ErrNoRows) { + return map[string]any{"name": name, "object_type": objectType, "schema": schema, "source": ""}, nil + } + if err != nil { + return nil, err + } + return map[string]any{"name": name, "object_type": objectType, "schema": schema, "source": source}, nil + } + + rows, err := s.queryRows(` +SELECT TEXT +FROM ALL_SOURCE +WHERE OWNER = :1 AND NAME = :2 AND TYPE = :3 +ORDER BY LINE`, []any{schema, strings.ToUpper(name), upperType}) + if err != nil { + return nil, err + } + defer rows.Close() + var builder strings.Builder + for rows.Next() { + var line string + if err := rows.Scan(&line); err != nil { + return nil, err + } + builder.WriteString(line) + } + return map[string]any{"name": name, "object_type": objectType, "schema": schema, "source": builder.String()}, rows.Err() +} + +func (s *server) getTableDDL(schema, table, objectType string) (string, error) { + var err error + schema, err = s.normalizeSchema(schema) + if err != nil { + return "", err + } + db, err := s.requireDB() + if err != nil { + return "", err + } + objectType, err = s.resolveDDLObjectType(schema, table, objectType) + if err != nil { + return "", err + } + if objectType == "VIEW" { + return s.buildViewDDL(schema, table) + } + var ddl string + err = db.QueryRow("SELECT DBMS_METADATA.GET_DDL(:1, :2, :3) FROM DUAL", objectType, strings.ToUpper(table), schema).Scan(&ddl) + if err == nil && strings.TrimSpace(ddl) != "" { + return ddl, nil + } + if objectType == "TABLE" { + return s.buildTableDDL(schema, table) + } + return "", err +} + +func (s *server) resolveDDLObjectType(schema, name, requested string) (string, error) { + objectType := normalizeDDLObjectType(requested) + if objectType != "" { + return objectType, nil + } + db, err := s.requireDB() + if err != nil { + return "", err + } + err = db.QueryRow(` +SELECT OBJECT_TYPE +FROM ( + SELECT OBJECT_TYPE + FROM ALL_OBJECTS + WHERE OWNER = :1 + AND OBJECT_NAME = :2 + AND OBJECT_TYPE IN ('TABLE', 'VIEW', 'MATERIALIZED VIEW') + ORDER BY CASE OBJECT_TYPE WHEN 'TABLE' THEN 0 WHEN 'VIEW' THEN 1 ELSE 2 END +) +WHERE ROWNUM = 1`, schema, strings.ToUpper(name)).Scan(&objectType) + if errors.Is(err, sql.ErrNoRows) { + return "", fmt.Errorf("object not found: %s.%s", schema, name) + } + if err != nil { + return "", err + } + return normalizeDDLObjectType(objectType), nil +} + +func normalizeDDLObjectType(value string) string { + switch strings.ToUpper(strings.ReplaceAll(strings.TrimSpace(value), " ", "_")) { + case "TABLE": + return "TABLE" + case "VIEW": + return "VIEW" + case "MATERIALIZED_VIEW": + return "MATERIALIZED_VIEW" + default: + return "" + } +} + +func (s *server) buildViewDDL(schema, name string) (string, error) { + db, err := s.requireDB() + if err != nil { + return "", err + } + var source string + err = db.QueryRow( + "SELECT TEXT FROM ALL_VIEWS WHERE OWNER = :1 AND VIEW_NAME = :2", + schema, strings.ToUpper(name), + ).Scan(&source) + if errors.Is(err, sql.ErrNoRows) { + return "", fmt.Errorf("view not found: %s.%s", schema, name) + } + if err != nil { + return "", err + } + return fmt.Sprintf("CREATE OR REPLACE VIEW %s.%s AS\n%s", quoteIdentifier(schema), quoteIdentifier(name), strings.TrimSpace(source)), nil +} + +func (s *server) buildTableDDL(schema, table string) (string, error) { + columns, err := s.getColumns(schema, table) + if err != nil { + return "", err + } + if len(columns) == 0 { + return "", fmt.Errorf("table not found: %s.%s", schema, table) + } + var builder strings.Builder + builder.WriteString("CREATE TABLE ") + builder.WriteString(quoteIdentifier(schema)) + builder.WriteByte('.') + builder.WriteString(quoteIdentifier(table)) + builder.WriteString(" (\n") + for i, column := range columns { + if i > 0 { + builder.WriteString(",\n") + } + builder.WriteString(" ") + builder.WriteString(quoteIdentifier(column.Name)) + builder.WriteByte(' ') + builder.WriteString(oracleColumnTypeDDL(column)) + if column.ColumnDefault != nil && strings.TrimSpace(*column.ColumnDefault) != "" { + builder.WriteString(" DEFAULT ") + builder.WriteString(strings.TrimSpace(*column.ColumnDefault)) + } + if !column.IsNullable { + builder.WriteString(" NOT NULL") + } + } + primary := make([]string, 0) + for _, column := range columns { + if column.IsPrimaryKey { + primary = append(primary, quoteIdentifier(column.Name)) + } + } + if len(primary) > 0 { + builder.WriteString(",\n PRIMARY KEY (") + builder.WriteString(strings.Join(primary, ", ")) + builder.WriteByte(')') + } + builder.WriteString("\n)") + return builder.String(), nil +} + +func oracleColumnTypeDDL(column columnInfo) string { + dataType := strings.ToUpper(strings.TrimSpace(column.DataType)) + if dataType == "" { + return "VARCHAR2(4000)" + } + if strings.Contains(dataType, "(") { + return dataType + } + if isOracleCharacterType(dataType) && column.CharacterMaximumLength != nil && *column.CharacterMaximumLength > 0 { + return fmt.Sprintf("%s(%d)", dataType, *column.CharacterMaximumLength) + } + if dataType == "NUMBER" { + if column.NumericPrecision != nil && *column.NumericPrecision > 0 { + if column.NumericScale != nil && *column.NumericScale != 0 { + return fmt.Sprintf("NUMBER(%d,%d)", *column.NumericPrecision, *column.NumericScale) + } + return fmt.Sprintf("NUMBER(%d)", *column.NumericPrecision) + } + return "NUMBER" + } + if (dataType == "FLOAT" || dataType == "BINARY_FLOAT" || dataType == "BINARY_DOUBLE") && + column.NumericPrecision != nil && *column.NumericPrecision > 0 { + return fmt.Sprintf("%s(%d)", dataType, *column.NumericPrecision) + } + return dataType +} + +func isOracleCharacterType(dataType string) bool { + switch dataType { + case "CHAR", "VARCHAR2", "VARCHAR", "NCHAR", "NVARCHAR2", "RAW": + return true + default: + return false + } +} + +func (s *server) getExplainInfo(sqlText string) (string, error) { + if strings.TrimSpace(sqlText) == "" { + return "", errors.New("sql is required") + } + rows, err := s.queryRows("EXPLAIN PLAN FOR "+trimStatementSQL(sqlText), nil) + if err != nil { + return "", err + } + rows.Close() + planRows, err := s.queryRows("SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY())", nil) + if err != nil { + return "", err + } + defer planRows.Close() + var builder strings.Builder + for planRows.Next() { + var line string + if err := planRows.Scan(&line); err != nil { + return "", err + } + builder.WriteString(line) + builder.WriteByte('\n') + } + return strings.TrimSpace(builder.String()), planRows.Err() +} + +func (s *server) executeTransaction(params map[string]json.RawMessage) (queryResult, error) { + var payload struct { + Statements []string `json:"statements"` + Schema string `json:"schema"` + } + if err := decodeParams(params, &payload); err != nil { + return queryResult{}, err + } + db, err := s.requireDB() + if err != nil { + return queryResult{}, err + } + tx, err := db.Begin() + if err != nil { + return queryResult{}, err + } + if strings.TrimSpace(payload.Schema) != "" { + if _, err := tx.Exec("ALTER SESSION SET CURRENT_SCHEMA = " + quoteIdentifier(payload.Schema)); err != nil { + tx.Rollback() + return queryResult{}, err + } + } + var affected int64 + start := time.Now() + for _, statement := range payload.Statements { + statement = trimStatementSQL(statement) + if statement == "" { + continue + } + result, err := tx.Exec(statement) + if err != nil { + tx.Rollback() + return queryResult{}, err + } + count, _ := result.RowsAffected() + affected += count + } + if err := tx.Commit(); err != nil { + return queryResult{}, err + } + return queryResult{ + Columns: []string{}, + Rows: [][]any{}, + AffectedRows: affected, + ExecutionTimeMS: time.Since(start).Milliseconds(), + }, nil +} + +func (s *server) executeQueryPage(opts queryOptions, pageSize int) (queryPageResult, error) { + start := time.Now() + if strings.TrimSpace(opts.Schema) != "" { + if err := s.setSchema(opts.Schema); err != nil { + return queryPageResult{}, err + } + } + sqlText := trimStatementSQL(opts.SQL) + if !isQuerySQL(sqlText) { + result, err := s.executeQuery(opts) + return queryPageResult{ + Columns: result.Columns, + Rows: result.Rows, + AffectedRows: result.AffectedRows, + ExecutionTimeMS: result.ExecutionTimeMS, + Truncated: result.Truncated, + SessionID: nil, + HasMore: false, + }, err + } + rows, err := s.queryRows(sqlText, nil) + if err != nil { + return queryPageResult{}, err + } + columns, err := rows.Columns() + if err != nil { + rows.Close() + return queryPageResult{}, err + } + maxRows := opts.MaxRows + if maxRows <= 0 { + maxRows = defaultMaxRows + } + session := &querySession{rows: rows, columns: columns, remaining: maxRows} + result, err := readQuerySessionPage(session, pageSize) + result.ExecutionTimeMS = time.Since(start).Milliseconds() + if err != nil { + rows.Close() + return queryPageResult{}, err + } + if result.HasMore { + sessionID := s.storeQuerySession(session) + result.SessionID = &sessionID + } else { + rows.Close() + } + return result, nil +} + +func (s *server) fetchQueryPage(sessionID string, pageSize int) (queryPageResult, error) { + session := s.sessions[sessionID] + if session == nil { + return queryPageResult{Columns: []string{}, Rows: [][]any{}, SessionID: nil, HasMore: false}, nil + } + result, err := readQuerySessionPage(session, pageSize) + if err != nil { + s.closeQuerySession(sessionID) + return queryPageResult{}, err + } + if result.HasMore { + result.SessionID = &sessionID + } else { + s.closeQuerySession(sessionID) + } + return result, nil +} + +func (s *server) storeQuerySession(session *querySession) string { + s.nextSessionID++ + sessionID := fmt.Sprintf("oracle-go-%d", s.nextSessionID) + s.sessions[sessionID] = session + return sessionID +} + +func (s *server) closeQuerySession(sessionID string) bool { + session := s.sessions[sessionID] + if session == nil { + return false + } + session.rows.Close() + delete(s.sessions, sessionID) + return true +} + +func (s *server) closeAllQuerySessions() { + for sessionID := range s.sessions { + s.closeQuerySession(sessionID) + } +} + +func readQuerySessionPage(session *querySession, pageSize int) (queryPageResult, error) { + if pageSize <= 0 { + pageSize = defaultMaxRows + } + result := queryPageResult{Columns: session.columns, Rows: [][]any{}, SessionID: nil, HasMore: false} + for len(result.Rows) < pageSize && session.remaining > 0 { + if session.pending != nil { + result.Rows = append(result.Rows, session.pending) + session.pending = nil + session.remaining-- + continue + } + if !session.rows.Next() { + return result, session.rows.Err() + } + row, err := scanRow(session.rows, len(session.columns)) + if err != nil { + return queryPageResult{}, err + } + result.Rows = append(result.Rows, row) + session.remaining-- + } + if session.remaining <= 0 { + result.Truncated = true + return result, nil + } + if session.rows.Next() { + row, err := scanRow(session.rows, len(session.columns)) + if err != nil { + return queryPageResult{}, err + } + session.pending = row + result.HasMore = true + return result, nil + } + return result, session.rows.Err() +} + +func (s *server) executeQuery(opts queryOptions) (queryResult, error) { + start := time.Now() + if strings.TrimSpace(opts.Schema) != "" { + if err := s.setSchema(opts.Schema); err != nil { + return queryResult{}, err + } + } + sqlText := trimStatementSQL(opts.SQL) + maxRows := opts.MaxRows + if maxRows <= 0 { + maxRows = defaultMaxRows + } + if isQuerySQL(sqlText) { + result, err := s.executeSelect(sqlText, maxRows) + result.ExecutionTimeMS = time.Since(start).Milliseconds() + return result, err + } + db, err := s.requireDB() + if err != nil { + return queryResult{}, err + } + execResult, err := db.Exec(sqlText) + if err != nil { + return queryResult{}, err + } + affected, _ := execResult.RowsAffected() + return queryResult{Columns: []string{}, Rows: [][]any{}, AffectedRows: affected, ExecutionTimeMS: time.Since(start).Milliseconds()}, nil +} + +func (s *server) executeSelect(sqlText string, maxRows int) (queryResult, error) { + rows, err := s.queryRows(sqlText, nil) + if err != nil { + return queryResult{}, err + } + defer rows.Close() + columns, err := rows.Columns() + if err != nil { + return queryResult{}, err + } + result := queryResult{Columns: columns, Rows: [][]any{}} + for rows.Next() { + if len(result.Rows) >= maxRows { + result.Truncated = true + break + } + values, err := scanRow(rows, len(columns)) + if err != nil { + return queryResult{}, err + } + result.Rows = append(result.Rows, values) + } + return result, rows.Err() +} + +func scanRow(rows *sql.Rows, columnCount int) ([]any, error) { + values := make([]any, columnCount) + scanTargets := make([]any, columnCount) + for i := range values { + scanTargets[i] = &values[i] + } + if err := rows.Scan(scanTargets...); err != nil { + return nil, err + } + for i, value := range values { + values[i] = normalizeValue(value) + } + return values, nil +} + +func (s *server) setSchema(schema string) error { + db, err := s.requireDB() + if err != nil { + return err + } + _, err = db.Exec("ALTER SESSION SET CURRENT_SCHEMA = " + quoteIdentifier(schema)) + return err +} + +func (s *server) queryRows(sqlText string, args []any) (*sql.Rows, error) { + db, err := s.requireDB() + if err != nil { + return nil, err + } + if len(args) == 0 { + return db.Query(sqlText) + } + return db.Query(sqlText, args...) +} + +func decodeParams(params map[string]json.RawMessage, target any) error { + if params == nil { + params = map[string]json.RawMessage{} + } + data, err := json.Marshal(params) + if err != nil { + return err + } + return json.Unmarshal(data, target) +} + +func stringParam(params map[string]json.RawMessage, key string) string { + if params == nil || len(params[key]) == 0 { + return "" + } + var value string + _ = json.Unmarshal(params[key], &value) + return value +} + +func intParam(params map[string]json.RawMessage, key string) int { + if params == nil || len(params[key]) == 0 { + return 0 + } + var value int + _ = json.Unmarshal(params[key], &value) + return value +} + +func errorResponse(id json.RawMessage, err error) response { + return response{JSONRPC: "2.0", ID: id, Error: &rpcError{Code: -1, Message: err.Error()}} +} + +func parseURLParams(raw string) map[string]string { + result := map[string]string{} + values, err := url.ParseQuery(raw) + if err != nil { + return result + } + for key, items := range values { + if len(items) > 0 { + result[key] = items[len(items)-1] + } + } + return result +} + +func trimStatementSQL(sqlText string) string { + return strings.TrimRight(strings.TrimSpace(sqlText), "; \t\r\n") +} + +func isQuerySQL(sqlText string) bool { + lower := strings.ToLower(strings.TrimSpace(sqlText)) + return strings.HasPrefix(lower, "select") || strings.HasPrefix(lower, "with") +} + +func quoteIdentifier(value string) string { + return `"` + strings.ReplaceAll(value, `"`, `""`) + `"` +} + +func normalizeValue(value any) any { + switch v := value.(type) { + case nil: + return nil + case []byte: + return string(v) + case time.Time: + return v.Format(time.RFC3339Nano) + case int64, float64, bool, string: + return v + case fmt.Stringer: + return v.String() + default: + return fmt.Sprint(v) + } +} + +func emptyIfNil[T any](values []T) []T { + if values == nil { + return []T{} + } + return values +} + +func intPtrFromString(value string) *int { + if value == "" { + return nil + } + parsed, err := strconv.Atoi(value) + if err != nil { + return nil + } + return &parsed +} diff --git a/agents/drivers/oracle-go/main_test.go b/agents/drivers/oracle-go/main_test.go new file mode 100644 index 0000000000..3830f92963 --- /dev/null +++ b/agents/drivers/oracle-go/main_test.go @@ -0,0 +1,284 @@ +package main + +import ( + "encoding/json" + "errors" + "os" + "strings" + "testing" +) + +func TestHandshakeResponse(t *testing.T) { + s := newServer() + resp, shutdown := s.handleLine(`{"jsonrpc":"2.0","id":7,"method":"handshake","params":{"appVersion":"dev"}}`) + if shutdown { + t.Fatal("handshake should not shut down the server") + } + if resp.Error != nil { + t.Fatalf("unexpected error: %v", resp.Error) + } + data, err := json.Marshal(resp.Result) + if err != nil { + t.Fatal(err) + } + var result struct { + ProtocolVersion int `json:"protocolVersion"` + AgentProtocolVersion int `json:"agentProtocolVersion"` + Capabilities []string `json:"capabilities"` + } + if err := json.Unmarshal(data, &result); err != nil { + t.Fatal(err) + } + if result.ProtocolVersion != 1 || result.AgentProtocolVersion != 1 { + t.Fatalf("unexpected protocol versions: %+v", result) + } + contract := protocolContract(t) + if result.ProtocolVersion != contract.ProtocolVersion || result.AgentProtocolVersion != contract.ProtocolVersion { + t.Fatalf("handshake protocol versions do not match contract: result=%+v contract=%+v", result, contract) + } + for _, capability := range result.Capabilities { + if !contains(contract.AllCapabilities, capability) { + t.Fatalf("handshake returned capability %q outside protocol contract %v", capability, contract.AllCapabilities) + } + } + if !contains(result.Capabilities, "query") || !contains(result.Capabilities, "metadata") { + t.Fatalf("expected query and metadata capabilities, got %v", result.Capabilities) + } +} + +func TestCloseMissingQuerySessionReturnsFalse(t *testing.T) { + s := newServer() + resp, shutdown := s.handleLine(`{"jsonrpc":"2.0","id":8,"method":"close_query_session","params":{"sessionId":"missing"}}`) + if shutdown { + t.Fatal("close_query_session should not shut down the server") + } + if resp.Error != nil { + t.Fatalf("unexpected error: %v", resp.Error) + } + if resp.Result != false { + t.Fatalf("expected false result, got %#v", resp.Result) + } +} + +func TestEmptyResultSlicesMarshalAsArrays(t *testing.T) { + data, err := json.Marshal(queryResult{}) + if err != nil { + t.Fatal(err) + } + text := string(data) + if strings.Contains(text, `"columns":null`) || strings.Contains(text, `"rows":null`) { + t.Fatalf("query result should marshal nil slices as arrays: %s", text) + } + + data, err = json.Marshal(indexInfo{}) + if err != nil { + t.Fatal(err) + } + text = string(data) + if strings.Contains(text, `"columns":null`) || strings.Contains(text, `"included_columns":null`) { + t.Fatalf("index info should marshal nil slices as arrays: %s", text) + } +} + +func TestGetTableDDLResultMarshalsAsString(t *testing.T) { + data, err := json.Marshal("CREATE TABLE HR.ORDERS (ID NUMBER)") + if err != nil { + t.Fatal(err) + } + var ddl string + if err := json.Unmarshal(data, &ddl); err != nil { + t.Fatalf("get_table_ddl result must deserialize as a string: %v", err) + } +} + +func TestNormalizeDDLObjectType(t *testing.T) { + tests := map[string]string{ + "": "", + "table": "TABLE", + "VIEW": "VIEW", + "materialized view": "MATERIALIZED_VIEW", + "MATERIALIZED_VIEW": "MATERIALIZED_VIEW", + "procedure": "", + } + for input, want := range tests { + if got := normalizeDDLObjectType(input); got != want { + t.Fatalf("normalizeDDLObjectType(%q) = %q, want %q", input, got, want) + } + } +} + +func protocolContract(t *testing.T) struct { + ProtocolVersion int `json:"protocolVersion"` + AllCapabilities []string `json:"allCapabilities"` +} { + t.Helper() + data, err := os.ReadFile("../../common/src/main/resources/agent-protocol-v1.json") + if err != nil { + t.Fatal(err) + } + var contract struct { + ProtocolVersion int `json:"protocolVersion"` + AllCapabilities []string `json:"allCapabilities"` + } + if err := json.Unmarshal(data, &contract); err != nil { + t.Fatal(err) + } + return contract +} + +func TestOracleColumnTypeDDL(t *testing.T) { + charLen := 64 + precision := 10 + scale := 2 + zeroScale := 0 + + tests := []struct { + name string + column columnInfo + want string + }{ + {name: "varchar", column: columnInfo{DataType: "VARCHAR2", CharacterMaximumLength: &charLen}, want: "VARCHAR2(64)"}, + {name: "number scale", column: columnInfo{DataType: "NUMBER", NumericPrecision: &precision, NumericScale: &scale}, want: "NUMBER(10,2)"}, + {name: "number zero scale", column: columnInfo{DataType: "NUMBER", NumericPrecision: &precision, NumericScale: &zeroScale}, want: "NUMBER(10)"}, + {name: "timestamp preserves precision", column: columnInfo{DataType: "TIMESTAMP(6)"}, want: "TIMESTAMP(6)"}, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + if got := oracleColumnTypeDDL(tt.column); got != tt.want { + t.Fatalf("oracleColumnTypeDDL() = %q, want %q", got, tt.want) + } + }) + } +} + +func TestBuildDSNUsesConnectionStringWhenProvided(t *testing.T) { + dsn := buildDSN(connectParams{ConnectionString: "oracle://scott:tiger@db.example.com:1521/ORCLPDB1"}) + + if dsn != "oracle://scott:tiger@db.example.com:1521/ORCLPDB1" { + t.Fatalf("unexpected dsn: %s", dsn) + } +} + +func TestBuildDSNUsesJdbcServiceHostAndPort(t *testing.T) { + dsn := buildDSN(connectParams{ + Host: "127.0.0.1", + Port: 11521, + Database: "ORCLPDB1", + Username: "scott", + Password: "tiger", + ConnectionString: "jdbc:oracle:thin:@//oracle.example.com:1521/ORCLPDB1", + }) + + if strings.Contains(strings.ToLower(dsn), "jdbc:") { + t.Fatalf("dsn should be go-ora format, got: %s", dsn) + } + if !strings.Contains(dsn, "oracle.example.com:1521") || !strings.Contains(dsn, "ORCLPDB1") { + t.Fatalf("dsn should use JDBC host/port/database fields, got: %s", dsn) + } +} + +func TestBuildDSNUsesRewrittenJdbcServiceHostAndPort(t *testing.T) { + dsn := buildDSN(connectParams{ + Host: "127.0.0.1", + Port: 11521, + Database: "ORCLPDB1", + Username: "scott", + Password: "tiger", + ConnectionString: "jdbc:oracle:thin:@//127.0.0.1:11521/ORCLPDB1", + }) + + if strings.Contains(strings.ToLower(dsn), "jdbc:") { + t.Fatalf("dsn should be go-ora format, got: %s", dsn) + } + if !strings.Contains(dsn, "127.0.0.1:11521") || !strings.Contains(dsn, "ORCLPDB1") { + t.Fatalf("dsn should use rewritten JDBC host/port/database fields, got: %s", dsn) + } +} + +func TestBuildDSNConvertsJdbcSID(t *testing.T) { + dsn := buildDSN(connectParams{ + Host: "127.0.0.1", + Port: 11521, + Database: "ORCL", + Username: "scott", + Password: "tiger", + ConnectionString: "jdbc:oracle:thin:@oracle.example.com:1521:ORCL", + }) + + if strings.Contains(strings.ToLower(dsn), "jdbc:") { + t.Fatalf("dsn should be go-ora format, got: %s", dsn) + } + upperDSN := strings.ToUpper(dsn) + if !strings.Contains(dsn, "oracle.example.com:1521") || !strings.Contains(upperDSN, "SID=ORCL") { + t.Fatalf("dsn should use JDBC host/port and SID option, got: %s", dsn) + } +} + +func TestBuildDSNConvertsJdbcDescriptor(t *testing.T) { + dsn := buildDSN(connectParams{ + Username: "scott", + Password: "tiger", + ConnectionString: "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db.example.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCLPDB1)))", + }) + + if !strings.HasPrefix(dsn, "oracle://scott:tiger@") { + t.Fatalf("descriptor should become go-ora url, got: %s", dsn) + } + if !strings.Contains(dsn, "connStr=") { + t.Fatalf("descriptor should be passed via connStr option, got: %s", dsn) + } +} + +func TestBuildDSNAddsSysDbaOption(t *testing.T) { + dsn := buildDSN(connectParams{ + Host: "127.0.0.1", + Port: 1521, + Database: "SYSDBA:ORCLPDB1", + Username: "sys", + Password: "secret", + SysDBA: true, + URLParams: "TRACE FILE=trace.log", + }) + + if strings.Contains(dsn, "SYSDBA:") { + t.Fatalf("dsn should strip SYSDBA prefix: %s", dsn) + } + if !strings.Contains(dsn, "ORCLPDB1") { + t.Fatalf("dsn should include service name: %s", dsn) + } + upperDSN := strings.ToUpper(dsn) + if !strings.Contains(upperDSN, "AUTH TYPE=SYSDBA") && + !strings.Contains(upperDSN, "AUTH+TYPE=SYSDBA") && + !strings.Contains(upperDSN, "AUTH%20TYPE=SYSDBA") { + t.Fatalf("dsn should include SYSDBA auth option: %s", dsn) + } +} + +func TestListDatabasesSQLUsesUserDictionaryInsteadOfObjectDictionary(t *testing.T) { + sqlText := strings.ToUpper(oracleListDatabasesSQL) + + if !strings.Contains(sqlText, "ALL_USERS") { + t.Fatalf("schema listing should query ALL_USERS, got: %s", oracleListDatabasesSQL) + } + if strings.Contains(sqlText, "ALL_TABLES") || strings.Contains(sqlText, "ALL_VIEWS") { + t.Fatalf("schema listing should not scan object dictionaries, got: %s", oracleListDatabasesSQL) + } +} + +func TestIsOraclePGALimitError(t *testing.T) { + if !isOraclePGALimitError(errors.New("ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT")) { + t.Fatal("expected ORA-04036 to be detected") + } + if isOraclePGALimitError(errors.New("ORA-00942: table or view does not exist")) { + t.Fatal("unexpected ORA-00942 match") + } +} + +func contains(values []string, target string) bool { + for _, value := range values { + if value == target { + return true + } + } + return false +} diff --git a/agents/drivers/oracle-legacy/build.gradle b/agents/drivers/oracle-legacy/build.gradle new file mode 100644 index 0000000000..f43773d5e8 --- /dev/null +++ b/agents/drivers/oracle-legacy/build.gradle @@ -0,0 +1,19 @@ +sourceSets { + main { + java { + srcDirs = ['src/main/java', '../oracle/src/main/java'] + } + } +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.oracle.database.jdbc:ojdbc8:19.26.0.0' + implementation 'com.oracle.database.nls:orai18n:19.26.0.0' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'Oracle Legacy', 'Main-Class': 'com.dbx.agent.oraclelegacy.OracleLegacyAgent') + } +} diff --git a/agents/drivers/oracle-legacy/src/main/java/com/dbx/agent/oraclelegacy/OracleLegacyAgent.java b/agents/drivers/oracle-legacy/src/main/java/com/dbx/agent/oraclelegacy/OracleLegacyAgent.java new file mode 100644 index 0000000000..d2fc003ea6 --- /dev/null +++ b/agents/drivers/oracle-legacy/src/main/java/com/dbx/agent/oraclelegacy/OracleLegacyAgent.java @@ -0,0 +1,10 @@ +package com.dbx.agent.oraclelegacy; + +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.oracle.OracleAgent; + +public final class OracleLegacyAgent extends OracleAgent { + public static void main(String[] args) { + new JsonRpcServer(new OracleLegacyAgent()).run(); + } +} diff --git a/agents/drivers/oracle/build.gradle b/agents/drivers/oracle/build.gradle new file mode 100644 index 0000000000..32455273d2 --- /dev/null +++ b/agents/drivers/oracle/build.gradle @@ -0,0 +1,11 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.oracle.database.jdbc:ojdbc17:23.26.2.0.0' + implementation 'com.oracle.database.nls:orai18n:23.26.2.0.0' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'Oracle', 'Main-Class': 'com.dbx.agent.oracle.OracleAgent') + } +} diff --git a/agents/drivers/oracle/src/main/java/com/dbx/agent/oracle/OracleAgent.java b/agents/drivers/oracle/src/main/java/com/dbx/agent/oracle/OracleAgent.java new file mode 100644 index 0000000000..c495dcbcdc --- /dev/null +++ b/agents/drivers/oracle/src/main/java/com/dbx/agent/oracle/OracleAgent.java @@ -0,0 +1,616 @@ +package com.dbx.agent.oracle; + +import com.dbx.agent.BaseDatabaseAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ExecuteQueryOptions; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcExecutor; +import com.dbx.agent.JdbcIdentifiers; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.ObjectInfo; +import com.dbx.agent.ObjectSource; +import com.dbx.agent.QueryPageOptions; +import com.dbx.agent.QueryPageResult; +import com.dbx.agent.QueryResult; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; +import java.util.Properties; +import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +public class OracleAgent extends BaseDatabaseAgent { + private static final Set SYSTEM_SCHEMAS = Set.of( + "SYS", "SYSTEM", "SYSMAN", "DBSNMP", "SYSBACKUP", "SYSDG", "SYSKM", "OUTLN", + "AUDSYS", "LBACSYS", "DVF", "DVSYS", "APPQOSSYS", "CTXSYS", "MDSYS", "MDDATA", + "ORDSYS", "ORDDATA", "ORDPLUGINS", "XDB", "ANONYMOUS", "DIP", "EXFSYS", + "GSMADMIN_INTERNAL", "GSMCATUSER", "GSMUSER", "OJVMSYS", "OLAPSYS", + "ORACLE_OCM", "SI_INFORMTN_SCHEMA", "WMSYS", "XS$NULL", "DBSFWUSER", + "REMOTE_SCHEDULER_AGENT", "PDBADMIN", "DGPDB_INT", "OPS$ORACLE", + "GGSYS", "FLOWS_FILES", "APEX_PUBLIC_USER", "GSMROOTUSER", "SYSRAC" + ); + + private static final Pattern OFFSET_FETCH_RE = Pattern.compile( + "(.+?)\\s+OFFSET\\s+(\\d+)\\s+ROWS?\\s+FETCH\\s+(FIRST|NEXT)\\s+(\\d+)\\s+ROWS?\\s+ONLY", + Pattern.CASE_INSENSITIVE + ); + private static final Pattern FETCH_ONLY_RE = Pattern.compile( + "(.+?)\\s+FETCH\\s+(FIRST|NEXT)\\s+(\\d+)\\s+ROWS?\\s+ONLY", + Pattern.CASE_INSENSITIVE + ); + private static final Pattern PLSQL_OBJECT_DDL_RE = Pattern.compile( + "^\\s*CREATE\\s+(?:OR\\s+REPLACE\\s+)?(?:(?:NON)?EDITIONABLE\\s+)?(?:PROCEDURE|FUNCTION|PACKAGE(?:\\s+BODY)?|TRIGGER|TYPE(?:\\s+BODY)?)\\b", + Pattern.CASE_INSENSITIVE + ); + + private Connection connection; + + @Override + public Connection getConnection() { + return connection; + } + + public static String rewriteFetchFirst(String sql) { + Matcher offsetMatcher = OFFSET_FETCH_RE.matcher(sql); + if (offsetMatcher.matches()) { + String innerSql = offsetMatcher.group(1); + long offset = Long.parseLong(offsetMatcher.group(2)); + long limit = Long.parseLong(offsetMatcher.group(4)); + long upper = offset + limit; + return "SELECT * FROM (SELECT a.*, ROWNUM rn__ FROM (" + innerSql + ") a WHERE ROWNUM <= " + upper + + ") WHERE rn__ > " + offset; + } + + Matcher fetchMatcher = FETCH_ONLY_RE.matcher(sql); + if (fetchMatcher.matches()) { + String innerSql = fetchMatcher.group(1); + long limit = Long.parseLong(fetchMatcher.group(3)); + return "SELECT * FROM (" + innerSql + ") WHERE ROWNUM <= " + limit; + } + + return sql; + } + + @Override + public String setSchemaSQL(String schema) { + return "ALTER SESSION SET CURRENT_SCHEMA = " + JdbcIdentifiers.INSTANCE.doubleQuote(schema); + } + + @Override + public void connect(ConnectParams params) { + uncheckedVoid(() -> { + Class.forName("oracle.jdbc.OracleDriver"); + String serviceName = params.getDatabase(); + Properties props = connectionProperties(params); + + if (serviceName.toUpperCase(Locale.ROOT).startsWith("SYSDBA:")) { + serviceName = serviceName.substring(7); + props.setProperty("internal_logon", "SYSDBA"); + } + + connection = DriverManager.getConnection(buildUrl(params, serviceName), props); + try (var stmt = connection.createStatement()) { + stmt.execute("ALTER SESSION SET NLS_LANGUAGE='AMERICAN'"); + } + }); + } + + @Override + public boolean testConnection(ConnectParams params) { + return unchecked(() -> { + Class.forName("oracle.jdbc.OracleDriver"); + String serviceName = params.getDatabase(); + Properties props = connectionProperties(params); + + if (serviceName.toUpperCase(Locale.ROOT).startsWith("SYSDBA:")) { + serviceName = serviceName.substring(7); + props.setProperty("internal_logon", "SYSDBA"); + } + + try (Connection conn = DriverManager.getConnection(buildUrl(params, serviceName), props)) { + return conn.isValid(5); + } + }); + } + + @Override + public List listDatabases() { + return unchecked(() -> { + try { + return queryDatabaseInfos(listDatabasesSql()); + } catch (SQLException e) { + if (isPgaLimitError(e)) { + return currentSchemaDatabase(); + } + throw e; + } + }); + } + + static String listDatabasesSql() { + String placeholders = SYSTEM_SCHEMAS.stream() + .map(schema -> "'" + schema + "'") + .collect(Collectors.joining(",")); + return """ + SELECT username AS owner + FROM all_users + WHERE username IS NOT NULL + AND username NOT IN (%s) + AND username NOT LIKE 'APEX_%%' + AND username NOT LIKE 'FLOWS_%%' + AND username NOT LIKE '%%$%%' + ORDER BY CASE + WHEN username = SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') THEN 0 + WHEN username = SYS_CONTEXT('USERENV', 'SESSION_USER') THEN 1 + ELSE 2 + END, username + """.formatted(placeholders).stripIndent().trim(); + } + + static boolean isPgaLimitError(SQLException error) { + for (Throwable current = error; current != null; current = current.getCause()) { + if (current instanceof SQLException sqlException) { + if (sqlException.getErrorCode() == 4036 || String.valueOf(sqlException.getMessage()).contains("ORA-04036")) { + return true; + } + SQLException next = sqlException.getNextException(); + while (next != null) { + if (next.getErrorCode() == 4036 || String.valueOf(next.getMessage()).contains("ORA-04036")) { + return true; + } + next = next.getNextException(); + } + } else if (String.valueOf(current.getMessage()).contains("ORA-04036")) { + return true; + } + } + return false; + } + + private List queryDatabaseInfos(String sql) throws SQLException { + List result = new ArrayList<>(); + try (var stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery(sql)) { + while (rs.next()) { + result.add(new DatabaseInfo(rs.getString(1))); + } + } + return result; + } + + private List currentSchemaDatabase() throws SQLException { + try (var stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery("SELECT SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') FROM DUAL")) { + if (rs.next()) { + String schema = rs.getString(1); + if (schema != null && !schema.isBlank()) { + return List.of(new DatabaseInfo(schema)); + } + } + } + return List.of(); + } + + @Override + public List listSchemas() { + List result = new ArrayList<>(); + for (DatabaseInfo database : listDatabases()) { + result.add(database.getName()); + } + return result; + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + try { + String sql = """ + SELECT /*+ NO_QUERY_TRANSFORMATION */ o.OBJECT_NAME, + CASE o.OBJECT_TYPE WHEN 'VIEW' THEN 'VIEW' ELSE 'TABLE' END AS TABLE_TYPE, + c.COMMENTS + FROM ALL_OBJECTS o + LEFT JOIN ALL_TAB_COMMENTS c ON c.OWNER = o.OWNER AND c.TABLE_NAME = o.OBJECT_NAME + WHERE o.OWNER = ? AND o.OBJECT_TYPE IN ('TABLE','VIEW') + ORDER BY o.OBJECT_NAME + """.stripIndent().trim(); + + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TableInfo(rs.getString(1), rs.getString(2), rs.getString(3))); + } + } + } + return result; + } catch (SQLException e) { + if (isPgaLimitError(e)) { + return List.of(); + } + throw e; + } + }); + } + + @Override + public List listObjects(String schema) { + return unchecked(() -> { + try { + String sql = """ + SELECT /*+ NO_QUERY_TRANSFORMATION */ OBJECT_NAME, OBJECT_TYPE FROM ALL_OBJECTS + WHERE OWNER = ? AND OBJECT_TYPE IN ('TABLE', 'VIEW', 'PROCEDURE', 'FUNCTION') + ORDER BY CASE OBJECT_TYPE WHEN 'TABLE' THEN 0 WHEN 'VIEW' THEN 1 WHEN 'PROCEDURE' THEN 2 ELSE 3 END, OBJECT_NAME + """.stripIndent().trim(); + + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ObjectInfo(rs.getString(1), rs.getString(2), schema, null)); + } + } + } + return result; + } catch (SQLException e) { + if (isPgaLimitError(e)) { + return List.of(); + } + throw e; + } + }); + } + + @Override + public ObjectSource getObjectSource(String schema, String name, String objectType) { + return unchecked(() -> { + String upperType = objectType.toUpperCase(Locale.ROOT); + String source = ""; + if ("VIEW".equals(upperType)) { + // ALL_VIEWS is more reliable than DBMS_METADATA.GET_DDL, + // which fails on XE editions where XSL stylesheets are missing. + try (var stmt = requireConnected().prepareStatement( + "SELECT TEXT FROM ALL_VIEWS WHERE OWNER = ? AND VIEW_NAME = ?")) { + stmt.setString(1, schema); + stmt.setString(2, name); + try (ResultSet rs = stmt.executeQuery()) { + if (rs.next()) { + String value = rs.getString(1); + source = value == null ? "" : value; + } + } + } + } else { + String dbmsType = switch (upperType) { + case "PROCEDURE" -> "PROCEDURE"; + case "FUNCTION" -> "FUNCTION"; + default -> throw new IllegalArgumentException("Unsupported object type: " + objectType); + }; + try (var stmt = requireConnected().prepareStatement( + "SELECT DBMS_METADATA.GET_DDL(?, ?, ?) FROM DUAL")) { + stmt.setString(1, dbmsType); + stmt.setString(2, name); + stmt.setString(3, schema); + try (ResultSet rs = stmt.executeQuery()) { + if (rs.next()) { + String value = rs.getString(1); + source = value == null ? "" : value; + } + } + } + } + return new ObjectSource(name, objectType, schema, source); + }); + } + + @Override + public String getTableDdl(String schema, String table) { + return unchecked(() -> { + try (var stmt = requireConnected().prepareStatement("SELECT DBMS_METADATA.GET_DDL(?, ?, ?) FROM DUAL")) { + stmt.setString(1, "TABLE"); + stmt.setString(2, table); + stmt.setString(3, schema); + try (ResultSet rs = stmt.executeQuery()) { + if (rs.next()) { + String value = rs.getString(1); + return value == null ? "" : value; + } + } + } + throw new IllegalArgumentException("Table not found: " + schema + "." + table); + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + String sql = """ + SELECT c.COLUMN_NAME, c.DATA_TYPE, c.NULLABLE, c.DATA_PRECISION, c.DATA_SCALE, + c.DATA_LENGTH, c.CHAR_LENGTH, cc.COMMENTS, + CASE WHEN pk.COLUMN_NAME IS NULL THEN 0 ELSE 1 END AS IS_PK + FROM ALL_TAB_COLUMNS c + LEFT JOIN ALL_COL_COMMENTS cc + ON cc.OWNER = c.OWNER AND cc.TABLE_NAME = c.TABLE_NAME AND cc.COLUMN_NAME = c.COLUMN_NAME + LEFT JOIN ( + SELECT cols.COLUMN_NAME FROM ALL_CONS_COLUMNS cols + JOIN ALL_CONSTRAINTS cons + ON cols.CONSTRAINT_NAME = cons.CONSTRAINT_NAME AND cols.OWNER = cons.OWNER + WHERE cons.CONSTRAINT_TYPE = 'P' AND cons.OWNER = ? AND cons.TABLE_NAME = ? + ) pk ON pk.COLUMN_NAME = c.COLUMN_NAME + WHERE c.OWNER = ? AND c.TABLE_NAME = ? + ORDER BY c.COLUMN_ID + """.stripIndent().trim(); + + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + stmt.setString(3, schema); + stmt.setString(4, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String name = rs.getString("COLUMN_NAME"); + String baseType = rs.getString("DATA_TYPE"); + Integer numPrec = intOrNull(rs, "DATA_PRECISION"); + Integer numScale = intOrNull(rs, "DATA_SCALE"); + Integer dataLen = intOrNull(rs, "DATA_LENGTH"); + Integer charLen = intOrNull(rs, "CHAR_LENGTH"); + String dataType = formatDataType(baseType, numPrec, numScale, dataLen, charLen); + + result.add(new ColumnInfo( + name, + dataType, + "Y".equals(rs.getString("NULLABLE")), + null, + rs.getInt("IS_PK") == 1, + null, + rs.getString("COMMENTS"), + numPrec, + numScale, + charLen + )); + } + } + } + return result; + }); + } + + @Override + public List listIndexes(String schema, String table) { + return unchecked(() -> { + String sql = """ + SELECT i.INDEX_NAME, + LISTAGG(ic.COLUMN_NAME, ',') WITHIN GROUP (ORDER BY ic.COLUMN_POSITION) AS COLUMNS, + i.UNIQUENESS, + CASE WHEN c.CONSTRAINT_TYPE = 'P' THEN 1 ELSE 0 END AS IS_PK, + i.INDEX_TYPE + FROM ALL_INDEXES i + JOIN ALL_IND_COLUMNS ic ON i.INDEX_NAME = ic.INDEX_NAME AND i.OWNER = ic.INDEX_OWNER AND i.TABLE_OWNER = ic.TABLE_OWNER + LEFT JOIN ALL_CONSTRAINTS c ON i.INDEX_NAME = c.INDEX_NAME AND i.TABLE_OWNER = c.OWNER + AND c.CONSTRAINT_TYPE = 'P' + WHERE i.TABLE_OWNER = ? AND i.TABLE_NAME = ? + GROUP BY i.INDEX_NAME, i.UNIQUENESS, c.CONSTRAINT_TYPE, i.INDEX_TYPE + ORDER BY i.INDEX_NAME + """.stripIndent().trim(); + + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String colsStr = rs.getString(2); + List columns = new ArrayList<>(); + if (colsStr != null && !colsStr.isEmpty()) { + columns.addAll(List.of(colsStr.split(","))); + } + result.add(new IndexInfo( + rs.getString(1), + columns, + "UNIQUE".equals(rs.getString(3)), + "1".equals(rs.getString(4)), + null, + rs.getString(5), + null, + null + )); + } + } + } + return result; + }); + } + + @Override + public List listForeignKeys(String schema, String table) { + return unchecked(() -> { + String sql = """ + SELECT c.CONSTRAINT_NAME, cc.COLUMN_NAME, rc.TABLE_NAME, rcc.COLUMN_NAME + FROM ALL_CONSTRAINTS c + JOIN ALL_CONS_COLUMNS cc ON c.CONSTRAINT_NAME = cc.CONSTRAINT_NAME AND c.OWNER = cc.OWNER + JOIN ALL_CONSTRAINTS rc ON c.R_CONSTRAINT_NAME = rc.CONSTRAINT_NAME AND c.R_OWNER = rc.OWNER + JOIN ALL_CONS_COLUMNS rcc ON rc.CONSTRAINT_NAME = rcc.CONSTRAINT_NAME AND rc.OWNER = rcc.OWNER + WHERE c.CONSTRAINT_TYPE = 'R' AND c.OWNER = ? AND c.TABLE_NAME = ? + ORDER BY c.CONSTRAINT_NAME + """.stripIndent().trim(); + + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ForeignKeyInfo( + rs.getString(1), + rs.getString(2), + rs.getString(3), + rs.getString(4) + )); + } + } + } + return result; + }); + } + + @Override + public List listTriggers(String schema, String table) { + return unchecked(() -> { + String sql = """ + SELECT TRIGGER_NAME, TRIGGERING_EVENT, TRIGGER_TYPE + FROM ALL_TRIGGERS + WHERE OWNER = ? AND TABLE_NAME = ? + ORDER BY TRIGGER_NAME + """.stripIndent().trim(); + + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TriggerInfo(rs.getString(1), rs.getString(2), rs.getString(3))); + } + } + } + return result; + }); + } + + @Override + public QueryResult executeQuery(String sql, String schema, ExecuteQueryOptions options) { + return JdbcExecutor.INSTANCE.execute( + requireConnected(), + prepareExecutableSql(sql), + schema, + this::setSchemaSQL, + options.getMaxRows(), + options.getFetchSize(), + options.getTimeoutSecs(), + OracleAgent::stringResultValue + ); + } + + @Override + public QueryPageResult executeQueryPage(String sql, String schema, QueryPageOptions options) { + return JdbcExecutor.INSTANCE.executePage( + requireConnected(), + prepareExecutableSql(sql), + schema, + this::setSchemaSQL, + options, + OracleAgent::stringResultValue + ); + } + + @Override + public void disconnect() { + uncheckedVoid(() -> { + if (connection != null) { + connection.close(); + } + connection = null; + }); + } + + private static Properties connectionProperties(ConnectParams params) { + Properties props = new Properties(); + props.setProperty("user", params.getUsername()); + props.setProperty("password", params.getPassword()); + props.setProperty("oracle.jdbc.defaultNChar", "true"); + return props; + } + + static String buildUrl(ConnectParams params) { + return buildUrl(params, serviceName(params)); + } + + private static String buildUrl(ConnectParams params, String serviceName) { + String connectionString = params.getConnection_string(); + if (connectionString != null && !connectionString.trim().isEmpty()) { + return connectionString; + } + return "jdbc:oracle:thin:@" + params.getHost() + ":" + params.getPort() + "/" + serviceName; + } + + private static String serviceName(ConnectParams params) { + String serviceName = params.getDatabase(); + if (serviceName.toUpperCase(Locale.ROOT).startsWith("SYSDBA:")) { + return serviceName.substring(7); + } + return serviceName; + } + + private static String formatDataType( + String base, + Integer numPrec, + Integer numScale, + Integer dataLen, + Integer charLen + ) { + return switch (base.toUpperCase(Locale.ROOT)) { + case "VARCHAR2", "NVARCHAR2", "CHAR", "NCHAR" -> { + Integer len = charLen == null ? dataLen : charLen; + yield len == null ? base : base + "(" + len + ")"; + } + case "NUMBER" -> { + if (numPrec != null && numScale != null && numScale > 0) { + yield base + "(" + numPrec + "," + numScale + ")"; + } + if (numPrec != null && numPrec > 0) { + yield base + "(" + numPrec + ")"; + } + yield base; + } + case "RAW" -> dataLen == null ? "RAW" : "RAW(" + dataLen + ")"; + default -> base; + }; + } + + private static Object stringResultValue(ResultSet rs, int index, int sqlType) { + try { + return JdbcExecutor.stringResultValue(rs, index, sqlType); + } catch (SQLException e) { + throw new RuntimeException(e); + } + } + + private static Integer intOrNull(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value instanceof Number ? ((Number) value).intValue() : null; + } + + private static String trimEndSemicolons(String sql) { + String trimmed = sql; + while (trimmed.endsWith(";")) { + trimmed = trimmed.substring(0, trimmed.length() - 1); + } + return trimmed; + } + + static String prepareExecutableSql(String sql) { + String trimmed = sql.trim(); + if (PLSQL_OBJECT_DDL_RE.matcher(trimmed).find()) { + return trimmed; + } + return rewriteFetchFirst(trimEndSemicolons(trimmed)); + } + + public static void main(String[] args) { + new JsonRpcServer(new OracleAgent()).run(); + } +} diff --git a/agents/drivers/oracle/src/test/java/com/dbx/agent/oracle/OracleAgentTest.java b/agents/drivers/oracle/src/test/java/com/dbx/agent/oracle/OracleAgentTest.java new file mode 100644 index 0000000000..a612e65f8c --- /dev/null +++ b/agents/drivers/oracle/src/test/java/com/dbx/agent/oracle/OracleAgentTest.java @@ -0,0 +1,76 @@ +package com.dbx.agent.oracle; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.sql.SQLException; +import java.util.Locale; + +class OracleAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new OracleAgent(); + } + + @Override + protected String resultSetSql() { + return "CALL DBMS_XPLAN.DISPLAY_CURSOR()"; + } + + @Test + void buildUrlUsesExplicitConnectionString() { + ConnectParams params = new ConnectParams( + "oracle.example.com", + 1521, + "ORCL", + "scott", + "tiger", + "", + "jdbc:oracle:thin:@oracle.example.com:1521:ORCL", + false + ); + + Assertions.assertEquals("jdbc:oracle:thin:@oracle.example.com:1521:ORCL", OracleAgent.buildUrl(params)); + } + + @Test + void prepareExecutableSqlKeepsPlsqlObjectTerminator() { + String sql = "CREATE OR REPLACE PROCEDURE APP_PROC AS BEGIN NULL; END;"; + + Assertions.assertEquals(sql, OracleAgent.prepareExecutableSql(sql)); + } + + @Test + void prepareExecutableSqlTrimsPlainStatementTerminator() { + Assertions.assertEquals("SELECT 1 FROM DUAL", OracleAgent.prepareExecutableSql("SELECT 1 FROM DUAL;")); + } + + @Test + void prepareExecutableSqlStillRewritesFetchFirst() { + Assertions.assertEquals( + "SELECT * FROM (SELECT * FROM EMP) WHERE ROWNUM <= 10", + OracleAgent.prepareExecutableSql("SELECT * FROM EMP FETCH FIRST 10 ROWS ONLY;") + ); + } + + @Test + void listDatabasesSqlUsesUserDictionaryInsteadOfObjectDictionary() { + String sql = OracleAgent.listDatabasesSql().toUpperCase(Locale.ROOT); + + Assertions.assertTrue(sql.contains("ALL_USERS")); + Assertions.assertFalse(sql.contains("ALL_TABLES")); + Assertions.assertFalse(sql.contains("ALL_VIEWS")); + } + + @Test + void detectsPgaLimitError() { + Assertions.assertTrue(OracleAgent.isPgaLimitError(new SQLException( + "ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT", + "72000", + 4036 + ))); + } +} diff --git a/agents/drivers/saphana/build.gradle b/agents/drivers/saphana/build.gradle new file mode 100644 index 0000000000..112aff5227 --- /dev/null +++ b/agents/drivers/saphana/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.sap.cloud.db.jdbc:ngdbc:2.28.7' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'SAP HANA', 'Main-Class': 'com.dbx.agent.saphana.SapHanaAgent') + } +} diff --git a/agents/drivers/saphana/src/main/java/com/dbx/agent/saphana/SapHanaAgent.java b/agents/drivers/saphana/src/main/java/com/dbx/agent/saphana/SapHanaAgent.java new file mode 100644 index 0000000000..269b2fd24b --- /dev/null +++ b/agents/drivers/saphana/src/main/java/com/dbx/agent/saphana/SapHanaAgent.java @@ -0,0 +1,26 @@ +package com.dbx.agent.saphana; + +import com.dbx.agent.ConfiguredJdbcAgent; +import com.dbx.agent.JdbcAgentProfile; +import com.dbx.agent.JsonRpcServer; +import java.util.Arrays; +import java.util.Collections; + +public final class SapHanaAgent extends ConfiguredJdbcAgent { + public static final JdbcAgentProfile SAPHANA_PROFILE = new JdbcAgentProfile( + "com.sap.db.jdbc.Driver", + "jdbc:sap://{host}:{port}/?databaseName={database}", + 30015, + false, + Collections.emptySet(), + Arrays.asList("COLUMN TABLE", "ROW TABLE", "TABLE", "VIEW") + ); + + public SapHanaAgent() { + super(SAPHANA_PROFILE); + } + + public static void main(String[] args) { + new JsonRpcServer(new SapHanaAgent()).run(); + } +} diff --git a/agents/drivers/snowflake/build.gradle b/agents/drivers/snowflake/build.gradle new file mode 100644 index 0000000000..7ba1819842 --- /dev/null +++ b/agents/drivers/snowflake/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'net.snowflake:snowflake-jdbc:3.22.0' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'Snowflake', 'Main-Class': 'com.dbx.agent.snowflake.SnowflakeAgent') + } +} diff --git a/agents/drivers/snowflake/src/main/java/com/dbx/agent/snowflake/SnowflakeAgent.java b/agents/drivers/snowflake/src/main/java/com/dbx/agent/snowflake/SnowflakeAgent.java new file mode 100644 index 0000000000..da11603db8 --- /dev/null +++ b/agents/drivers/snowflake/src/main/java/com/dbx/agent/snowflake/SnowflakeAgent.java @@ -0,0 +1,243 @@ +package com.dbx.agent.snowflake; + +import com.dbx.agent.AbstractJdbcAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcIdentifiers; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.ObjectInfo; +import com.dbx.agent.ObjectSource; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; +import java.sql.Connection; +import java.sql.ResultSet; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Locale; + +public final class SnowflakeAgent extends AbstractJdbcAgent { + + @Override + protected String driverClass() { + return "net.snowflake.client.jdbc.SnowflakeDriver"; + } + + @Override + protected String buildJdbcUrl(ConnectParams params) { + return buildUrl(params); + } + + @Override + public List listDatabases() { + return unchecked(() -> { + List result = new ArrayList<>(); + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery("SHOW DATABASES")) { + while (rs.next()) { + result.add(new DatabaseInfo(rs.getString("name"))); + } + } + result.sort(Comparator.comparing(DatabaseInfo::getName)); + return result; + }); + } + + @Override + public List listSchemas() { + return unchecked(() -> { + List result = new ArrayList<>(); + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery("SHOW SCHEMAS")) { + while (rs.next()) { + result.add(rs.getString("name")); + } + } + Collections.sort(result); + return result; + }); + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT TABLE_NAME, TABLE_TYPE " + + "FROM INFORMATION_SCHEMA.TABLES " + + "WHERE TABLE_SCHEMA = ? " + + "ORDER BY TABLE_NAME"; + try (java.sql.PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TableInfo( + rs.getString("TABLE_NAME"), + normalizeTableType(rs.getString("TABLE_TYPE")), + null + )); + } + } + } + return result; + }); + } + + @Override + public List listObjects(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + for (TableInfo table : listTables(schema)) { + result.add(new ObjectInfo(table.getName(), table.getTable_type(), schema, table.getComment())); + } + + String sql = "SELECT PROCEDURE_NAME, 'PROCEDURE' " + + "FROM INFORMATION_SCHEMA.PROCEDURES " + + "WHERE PROCEDURE_SCHEMA = ? " + + "ORDER BY PROCEDURE_NAME"; + try (java.sql.PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ObjectInfo(rs.getString(1), rs.getString(2), schema, null)); + } + } + } + return result; + }); + } + + @Override + public ObjectSource getObjectSource(String schema, String name, String objectType) { + return unchecked(() -> { + String ddlType = objectType.toUpperCase(Locale.ROOT); + String sql = "SELECT GET_DDL('" + ddlType + "', '\"" + schema + "\".\"" + name + "\"')"; + String source = ""; + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery(sql)) { + if (rs.next()) { + String value = rs.getString(1); + source = value == null ? "" : value; + } + } + return new ObjectSource(name, objectType, schema, source); + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + Connection conn = requireConnected(); + List primaryKeys = new ArrayList<>(); + try (java.sql.Statement stmt = conn.createStatement()) { + String qualifiedTable = JdbcIdentifiers.INSTANCE.doubleQuote(schema) + "." + JdbcIdentifiers.INSTANCE.doubleQuote(table); + try (ResultSet rs = stmt.executeQuery("SHOW PRIMARY KEYS IN TABLE " + qualifiedTable)) { + while (rs.next()) { + primaryKeys.add(rs.getString("column_name")); + } + } + } catch (Exception ignored) { + // Snowflake may not return primary key metadata for every object. + } + + List result = new ArrayList<>(); + String sql = "SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT, " + + "NUMERIC_PRECISION, NUMERIC_SCALE, CHARACTER_MAXIMUM_LENGTH, COMMENT " + + "FROM INFORMATION_SCHEMA.COLUMNS " + + "WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? " + + "ORDER BY ORDINAL_POSITION"; + try (java.sql.PreparedStatement stmt = conn.prepareStatement(sql)) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String colName = rs.getString("COLUMN_NAME"); + result.add(new ColumnInfo( + colName, + rs.getString("DATA_TYPE"), + "YES".equals(rs.getString("IS_NULLABLE")), + rs.getString("COLUMN_DEFAULT"), + primaryKeys.contains(colName), + null, + blankToNull(rs.getString("COMMENT")), + intOrNull(rs, "NUMERIC_PRECISION"), + intOrNull(rs, "NUMERIC_SCALE"), + intOrNull(rs, "CHARACTER_MAXIMUM_LENGTH") + )); + } + } + } + return result; + }); + } + + @Override + public List listIndexes(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listForeignKeys(String schema, String table) { + return unchecked(() -> { + try (java.sql.Statement stmt = requireConnected().createStatement()) { + String qualifiedTable = JdbcIdentifiers.INSTANCE.doubleQuote(schema) + "." + JdbcIdentifiers.INSTANCE.doubleQuote(table); + try (ResultSet rs = stmt.executeQuery("SHOW IMPORTED KEYS IN TABLE " + qualifiedTable)) { + List result = new ArrayList<>(); + while (rs.next()) { + result.add(new ForeignKeyInfo( + rs.getString("fk_name"), + rs.getString("fk_column_name"), + rs.getString("pk_table_name"), + rs.getString("pk_column_name") + )); + } + return result; + } + } catch (Exception ignored) { + return Collections.emptyList(); + } + }); + } + + @Override + public List listTriggers(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public String setSchemaSQL(String schema) { + return "USE SCHEMA " + JdbcIdentifiers.INSTANCE.doubleQuote(schema); + } + + @Override + protected Object resultValue(ResultSet rs, int index, int sqlType) { + return unchecked(() -> { + Object value = rs.getObject(index); + return rs.wasNull() ? null : value == null ? null : value.toString(); + }); + } + + private static String buildUrl(ConnectParams params) { + return "jdbc:snowflake://" + params.getHost() + ":" + params.getPort() + "/?db=" + params.getDatabase(); + } + + private static String normalizeTableType(String tableType) { + return "BASE TABLE".equals(tableType) ? "TABLE" : tableType; + } + + private static String blankToNull(String value) { + return value == null || value.isEmpty() ? null : value; + } + + private static Integer intOrNull(ResultSet rs, String column) throws java.sql.SQLException { + Object value = rs.getObject(column); + return value instanceof Number ? ((Number) value).intValue() : null; + } + + public static void main(String[] args) { + new JsonRpcServer(new SnowflakeAgent()).run(); + } +} diff --git a/agents/drivers/snowflake/src/test/java/com/dbx/agent/snowflake/SnowflakeAgentMetadataTest.java b/agents/drivers/snowflake/src/test/java/com/dbx/agent/snowflake/SnowflakeAgentMetadataTest.java new file mode 100644 index 0000000000..847d48878d --- /dev/null +++ b/agents/drivers/snowflake/src/test/java/com/dbx/agent/snowflake/SnowflakeAgentMetadataTest.java @@ -0,0 +1,29 @@ +package com.dbx.agent.snowflake; + +import com.dbx.agent.test.TestSupport; +import com.dbx.agent.test.JdbcAgentFake; +import com.dbx.agent.test.JdbcMetadataSqlFake; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class SnowflakeAgentMetadataTest { + @Test + void quotesSchemaAndTableIdentifiersInKeyMetadataSql() { + SnowflakeAgent agent = new SnowflakeAgent(); + TestSupport.setPrivateConnection(agent, JdbcMetadataSqlFake.connection()); + + agent.getColumns("bad\"schema", "bad\"table"); + agent.listForeignKeys("bad\"schema", "bad\"table"); + + Assertions.assertTrue( + JdbcMetadataSqlFake.statements.contains( + "SHOW PRIMARY KEYS IN TABLE \"bad\"\"schema\".\"bad\"\"table\"" + ) + ); + Assertions.assertTrue( + JdbcMetadataSqlFake.statements.contains( + "SHOW IMPORTED KEYS IN TABLE \"bad\"\"schema\".\"bad\"\"table\"" + ) + ); + } +} diff --git a/agents/drivers/snowflake/src/test/java/com/dbx/agent/snowflake/SnowflakeAgentTest.java b/agents/drivers/snowflake/src/test/java/com/dbx/agent/snowflake/SnowflakeAgentTest.java new file mode 100644 index 0000000000..11af6e4638 --- /dev/null +++ b/agents/drivers/snowflake/src/test/java/com/dbx/agent/snowflake/SnowflakeAgentTest.java @@ -0,0 +1,16 @@ +package com.dbx.agent.snowflake; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; + +class SnowflakeAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new SnowflakeAgent(); + } + + @Override + protected String resultSetSql() { + return "CALL sample_proc()"; + } +} diff --git a/agents/drivers/sundb/build.gradle b/agents/drivers/sundb/build.gradle new file mode 100644 index 0000000000..ef14a7312d --- /dev/null +++ b/agents/drivers/sundb/build.gradle @@ -0,0 +1,13 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) +} + +tasks.named('shadowJar') { + manifest { + attributes( + 'Agent-Label': 'SunDB', + 'Agent-External-Driver': 'true', + 'Main-Class': 'com.dbx.agent.sundb.SundbAgent' + ) + } +} diff --git a/agents/drivers/sundb/src/main/java/com/dbx/agent/sundb/SundbAgent.java b/agents/drivers/sundb/src/main/java/com/dbx/agent/sundb/SundbAgent.java new file mode 100644 index 0000000000..9a23eb897b --- /dev/null +++ b/agents/drivers/sundb/src/main/java/com/dbx/agent/sundb/SundbAgent.java @@ -0,0 +1,384 @@ +package com.dbx.agent.sundb; + +import com.dbx.agent.BaseDatabaseAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ExecuteQueryOptions; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcExecutor; +import com.dbx.agent.JdbcIdentifiers; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.ObjectInfo; +import com.dbx.agent.ObjectSource; +import com.dbx.agent.QueryResult; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.Types; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Set; + +public final class SundbAgent extends BaseDatabaseAgent { + private Connection connection; + + @Override + public Connection getConnection() { + return connection; + } + + @Override + public void connect(ConnectParams params) { + uncheckedVoid(() -> { + Class.forName("com.sundb.jdbc.SundbDriver"); + String url = buildUrl(params); + connection = DriverManager.getConnection(url, params.getUsername(), params.getPassword()); + }); + } + + @Override + public boolean testConnection(ConnectParams params) { + return unchecked(() -> { + Class.forName("com.sundb.jdbc.SundbDriver"); + String url = buildUrl(params); + try (Connection conn = DriverManager.getConnection(url, params.getUsername(), params.getPassword())) { + return conn.isValid(5); + } + }); + } + + @Override + public List listDatabases() { + return unchecked(() -> { + List result = new ArrayList<>(); + try (var stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery("SHOW DATABASES")) { + while (rs.next()) { + result.add(new DatabaseInfo(rs.getString(1))); + } + } + return result; + }); + } + + @Override + public List listSchemas() { + List result = new ArrayList<>(); + for (DatabaseInfo database : listDatabases()) { + result.add(database.getName()); + } + return result; + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement( + "SELECT TABLE_NAME, TABLE_TYPE FROM information_schema.TABLES WHERE TABLE_SCHEMA = ? ORDER BY TABLE_NAME" + )) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String tableType = rs.getString("TABLE_TYPE"); + if ("BASE TABLE".equals(tableType)) { + tableType = "TABLE"; + } + result.add(new TableInfo(rs.getString("TABLE_NAME"), tableType, null)); + } + } + } + return result; + }); + } + + @Override + public List listObjects(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + for (TableInfo table : listTables(schema)) { + result.add(new ObjectInfo(table.getName(), table.getTable_type(), schema, table.getComment())); + } + + try (var stmt = requireConnected().prepareStatement( + "SELECT ROUTINE_NAME, ROUTINE_TYPE FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = ? ORDER BY ROUTINE_NAME" + )) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ObjectInfo(rs.getString(1), rs.getString(2), schema, null)); + } + } + } + return result; + }); + } + + @Override + public ObjectSource getObjectSource(String schema, String name, String objectType) { + return unchecked(() -> { + String sql = switch (objectType.toUpperCase(Locale.ROOT)) { + case "VIEW" -> "SHOW CREATE VIEW `" + name.replace("`", "``") + "`"; + case "PROCEDURE" -> "SHOW CREATE PROCEDURE `" + name.replace("`", "``") + "`"; + case "FUNCTION" -> "SHOW CREATE FUNCTION `" + name.replace("`", "``") + "`"; + default -> throw new IllegalArgumentException("Unsupported object type: " + objectType); + }; + + String source = ""; + try (var stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery(sql)) { + if (rs.next()) { + int index = "VIEW".equals(objectType.toUpperCase(Locale.ROOT)) ? 1 : 2; + String value = rs.getString(index + 1); + source = value == null ? "" : value; + } + } + return new ObjectSource(name, objectType, schema, source); + }); + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + Set primaryKeys = new HashSet<>(); + try (var stmt = requireConnected().prepareStatement( + """ + SELECT COLUMN_NAME + FROM information_schema.KEY_COLUMN_USAGE + WHERE TABLE_SCHEMA = ? + AND TABLE_NAME = ? + AND CONSTRAINT_NAME = 'PRIMARY' + """ + )) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + primaryKeys.add(rs.getString("COLUMN_NAME")); + } + } + } + + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement( + """ + SELECT COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_DEFAULT, EXTRA, COLUMN_COMMENT, + NUMERIC_PRECISION, NUMERIC_SCALE, CHARACTER_MAXIMUM_LENGTH + FROM information_schema.COLUMNS + WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? + ORDER BY ORDINAL_POSITION + """ + )) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + String columnName = rs.getString("COLUMN_NAME"); + result.add(new ColumnInfo( + columnName, + rs.getString("COLUMN_TYPE"), + "YES".equals(rs.getString("IS_NULLABLE")), + rs.getString("COLUMN_DEFAULT"), + primaryKeys.contains(columnName), + rs.getString("EXTRA"), + emptyToNull(rs.getString("COLUMN_COMMENT")), + integerOrNull(rs, "NUMERIC_PRECISION"), + integerOrNull(rs, "NUMERIC_SCALE"), + numberToIntOrNull(rs, "CHARACTER_MAXIMUM_LENGTH") + )); + } + } + } + return result; + }); + } + + @Override + public List listIndexes(String schema, String table) { + return unchecked(() -> { + try (var stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery( + "SHOW INDEX FROM " + JdbcIdentifiers.INSTANCE.backtick(table) + + " FROM " + JdbcIdentifiers.INSTANCE.backtick(schema) + )) { + Map> indexMap = new LinkedHashMap<>(); + Map uniqueMap = new HashMap<>(); + Map typeMap = new HashMap<>(); + + while (rs.next()) { + String indexName = rs.getString("Key_name"); + String columnName = rs.getString("Column_name"); + int sequence = rs.getInt("Seq_in_index"); + int nonUnique = rs.getInt("Non_unique"); + String indexType = rs.getString("Index_type"); + + indexMap.computeIfAbsent(indexName, ignored -> new ArrayList<>()) + .add(new IndexColumn(sequence, columnName)); + uniqueMap.put(indexName, nonUnique == 0); + typeMap.put(indexName, indexType); + } + + List result = new ArrayList<>(); + for (Map.Entry> entry : indexMap.entrySet()) { + String name = entry.getKey(); + List columns = entry.getValue().stream() + .sorted(Comparator.comparingInt(IndexColumn::sequence)) + .map(IndexColumn::name) + .toList(); + result.add(new IndexInfo( + name, + columns, + uniqueMap.getOrDefault(name, false), + "PRIMARY".equals(name), + null, + typeMap.get(name), + null, + null + )); + } + return result; + } + }); + } + + @Override + public List listForeignKeys(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement( + """ + SELECT CONSTRAINT_NAME, COLUMN_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME + FROM information_schema.KEY_COLUMN_USAGE + WHERE TABLE_SCHEMA = ? + AND TABLE_NAME = ? + AND REFERENCED_TABLE_NAME IS NOT NULL + ORDER BY CONSTRAINT_NAME + """ + )) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new ForeignKeyInfo( + rs.getString("CONSTRAINT_NAME"), + rs.getString("COLUMN_NAME"), + rs.getString("REFERENCED_TABLE_NAME"), + rs.getString("REFERENCED_COLUMN_NAME") + )); + } + } + } + return result; + }); + } + + @Override + public List listTriggers(String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + try (var stmt = requireConnected().prepareStatement( + """ + SELECT TRIGGER_NAME, EVENT_MANIPULATION, ACTION_TIMING + FROM information_schema.TRIGGERS + WHERE TRIGGER_SCHEMA = ? AND EVENT_OBJECT_TABLE = ? + ORDER BY TRIGGER_NAME + """ + )) { + stmt.setString(1, schema); + stmt.setString(2, table); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TriggerInfo( + rs.getString("TRIGGER_NAME"), + rs.getString("EVENT_MANIPULATION"), + rs.getString("ACTION_TIMING") + )); + } + } + } + return result; + }); + } + + @Override + public QueryResult executeQuery(String sql, String schema, ExecuteQueryOptions options) { + return JdbcExecutor.INSTANCE.execute( + requireConnected(), + sql, + schema, + this::setSchemaSQL, + options.getMaxRows(), + options.getFetchSize(), + options.getTimeoutSecs(), + this::getResultValue + ); + } + + @Override + public String setSchemaSQL(String schema) { + return "USE " + JdbcIdentifiers.INSTANCE.backtick(schema); + } + + @Override + public void disconnect() { + uncheckedVoid(() -> { + if (connection != null) { + connection.close(); + } + connection = null; + }); + } + + private static String buildUrl(ConnectParams params) { + return "jdbc:sundb://" + params.getHost() + ":" + params.getPort() + "/" + params.getDatabase(); + } + + private static Integer integerOrNull(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value instanceof Integer ? (Integer) value : null; + } + + private static Integer numberToIntOrNull(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value instanceof Number ? ((Number) value).intValue() : null; + } + + private static String emptyToNull(String value) { + return value == null || value.isEmpty() ? null : value; + } + + private Object getResultValue(ResultSet rs, int index, int sqlType) { + try { + Object value = switch (sqlType) { + case Types.BIGINT -> rs.getLong(index); + case Types.INTEGER, Types.SMALLINT, Types.TINYINT -> rs.getInt(index); + case Types.FLOAT, Types.REAL -> rs.getFloat(index); + case Types.DOUBLE -> rs.getDouble(index); + case Types.DECIMAL, Types.NUMERIC -> rs.getBigDecimal(index); + case Types.BOOLEAN, Types.BIT -> rs.getBoolean(index); + default -> rs.getString(index); + }; + return rs.wasNull() ? null : value; + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + private record IndexColumn(int sequence, String name) { + } + + public static void main(String[] args) { + new JsonRpcServer(new SundbAgent()).run(); + } +} diff --git a/agents/drivers/sundb/src/test/java/com/dbx/agent/sundb/SundbAgentMetadataTest.java b/agents/drivers/sundb/src/test/java/com/dbx/agent/sundb/SundbAgentMetadataTest.java new file mode 100644 index 0000000000..943e7953f2 --- /dev/null +++ b/agents/drivers/sundb/src/test/java/com/dbx/agent/sundb/SundbAgentMetadataTest.java @@ -0,0 +1,23 @@ +package com.dbx.agent.sundb; + +import com.dbx.agent.test.TestSupport; +import com.dbx.agent.test.JdbcAgentFake; +import com.dbx.agent.test.JdbcMetadataSqlFake; +import java.util.Collections; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class SundbAgentMetadataTest { + @Test + void quotesSchemaAndTableIdentifiersInIndexMetadataSql() { + SundbAgent agent = new SundbAgent(); + TestSupport.setPrivateConnection(agent, JdbcMetadataSqlFake.connection()); + + agent.listIndexes("bad`schema", "bad`table"); + + Assertions.assertEquals( + Collections.singletonList("SHOW INDEX FROM `bad``table` FROM `bad``schema`"), + JdbcMetadataSqlFake.statements + ); + } +} diff --git a/agents/drivers/sundb/src/test/java/com/dbx/agent/sundb/SundbAgentTest.java b/agents/drivers/sundb/src/test/java/com/dbx/agent/sundb/SundbAgentTest.java new file mode 100644 index 0000000000..1a563804c7 --- /dev/null +++ b/agents/drivers/sundb/src/test/java/com/dbx/agent/sundb/SundbAgentTest.java @@ -0,0 +1,16 @@ +package com.dbx.agent.sundb; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; + +class SundbAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new SundbAgent(); + } + + @Override + protected String resultSetSql() { + return "CALL sample_proc()"; + } +} diff --git a/agents/drivers/tdengine/build.gradle b/agents/drivers/tdengine/build.gradle new file mode 100644 index 0000000000..3d537919af --- /dev/null +++ b/agents/drivers/tdengine/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.taosdata.jdbc:taos-jdbcdriver:3.6.3' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'TDengine', 'Main-Class': 'com.dbx.agent.tdengine.TDengineAgent') + } +} diff --git a/agents/drivers/tdengine/src/main/java/com/dbx/agent/tdengine/TDengineAgent.java b/agents/drivers/tdengine/src/main/java/com/dbx/agent/tdengine/TDengineAgent.java new file mode 100644 index 0000000000..3f3b9cadeb --- /dev/null +++ b/agents/drivers/tdengine/src/main/java/com/dbx/agent/tdengine/TDengineAgent.java @@ -0,0 +1,598 @@ +package com.dbx.agent.tdengine; + +import com.dbx.agent.BaseDatabaseAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ExecuteQueryOptions; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcExecutor; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.ObjectInfo; +import com.dbx.agent.ObjectSource; +import com.dbx.agent.QueryPageOptions; +import com.dbx.agent.QueryPageResult; +import com.dbx.agent.QueryResult; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; +import java.nio.charset.StandardCharsets; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.Timestamp; +import java.sql.Types; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.ThreadFactory; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public final class TDengineAgent extends BaseDatabaseAgent { + private static final DateTimeFormatter TDENGINE_TIMESTAMP_FORMAT = + DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); + private static final Pattern NUMERIC_PRECISION_PATTERN = + Pattern.compile("(?i)^(decimal|numeric)\\((\\d+)(?:,\\s*\\d+)?\\)"); + private static final Pattern NUMERIC_SCALE_PATTERN = + Pattern.compile("(?i)^(decimal|numeric)\\(\\d+,\\s*(\\d+)\\)"); + private static final Pattern CHARACTER_LENGTH_PATTERN = + Pattern.compile("(?i)^(binary|nchar|varchar|varbinary)\\((\\d+)\\)"); + + private Connection connection; + + @Override + public Connection getConnection() { + return connection; + } + + @Override + public void connect(ConnectParams params) { + uncheckedVoid(() -> { + connection = TDengineConnectionFactory.open(params); + }); + } + + @Override + public boolean testConnection(ConnectParams params) { + return unchecked(() -> { + try (Connection conn = TDengineConnectionFactory.open(params)) { + return conn.isValid(5); + } + }); + } + + @Override + public List listDatabases() { + return unchecked(() -> { + List result = new ArrayList<>(); + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery("SHOW DATABASES")) { + while (rs.next()) { + result.add(new DatabaseInfo(rs.getString(1))); + } + } + return result; + }); + } + + @Override + public List listSchemas() { + List result = new ArrayList<>(); + for (DatabaseInfo database : listDatabases()) { + result.add(database.getName()); + } + return result; + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + result.addAll(queryTables("SHOW " + quoteQualifiedPrefix(schema) + "STABLES", "STABLE")); + result.addAll(queryTables("SHOW " + quoteQualifiedPrefix(schema) + "TABLES", "TABLE")); + + Map distinct = new LinkedHashMap<>(); + for (TableInfo table : result) { + distinct.putIfAbsent(table.getTable_type() + ":" + table.getName(), table); + } + List sorted = new ArrayList<>(distinct.values()); + sorted.sort(Comparator.comparing(table -> table.getName().toLowerCase(Locale.ROOT))); + return sorted; + }); + } + + @Override + public List listObjects(String schema) { + List result = new ArrayList<>(); + for (TableInfo table : listTables(schema)) { + result.add(new ObjectInfo(table.getName(), table.getTable_type(), schema, table.getComment())); + } + return result; + } + + @Override + public List getColumns(String schema, String table) { + return unchecked(() -> { + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery("DESCRIBE " + qualifiedName(schema, table))) { + return readDescribeColumns(rs); + } + }); + } + + @Override + public ObjectSource getObjectSource(String schema, String name, String objectType) { + String source = getCreateSql(schema, name, objectType); + if (source.isBlank()) { + source = getTableDdl(schema, name); + } + return new ObjectSource(name, objectType, schema, source); + } + + @Override + public String getTableDdl(String schema, String table) { + String source = getCreateSql(schema, table, "STABLE"); + if (source.isBlank()) { + source = getCreateSql(schema, table, "TABLE"); + } + if (source.isBlank()) { + return super.getTableDdl(schema, table); + } + return source; + } + + @Override + public List listIndexes(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listForeignKeys(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listTriggers(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public QueryResult executeQuery(String sql, String schema, ExecuteQueryOptions options) { + return JdbcExecutor.INSTANCE.execute( + requireConnected(), + sql, + schema, + this::setSchemaSQL, + options.getMaxRows(), + options.getFetchSize(), + options.getTimeoutSecs(), + this::tdengineResultValue + ); + } + + @Override + public QueryPageResult executeQueryPage(String sql, String schema, QueryPageOptions options) { + return JdbcExecutor.INSTANCE.executePage( + requireConnected(), + sql, + schema, + this::setSchemaSQL, + options, + this::tdengineResultValue + ); + } + + @Override + public String setSchemaSQL(String schema) { + return "USE " + quoteIdentifier(schema); + } + + @Override + public void disconnect() { + uncheckedVoid(() -> { + if (connection != null) { + connection.close(); + } + connection = null; + }); + } + + private List queryTables(String sql, String tableType) throws Exception { + List result = new ArrayList<>(); + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery(sql)) { + while (rs.next()) { + result.add(new TableInfo(rs.getString(1), tableType, null)); + } + } + return result; + } + + private static List readDescribeColumns(ResultSet rs) throws Exception { + List result = new ArrayList<>(); + int ordinal = 0; + while (rs.next()) { + ordinal += 1; + String name = rs.getString(1); + String dataType = coalesce(rs.getString(2)); + String note = optionalString(rs, 4); + boolean isTag = note != null && note.toUpperCase(Locale.ROOT).contains("TAG"); + result.add(new ColumnInfo( + name, + dataType, + ordinal != 1, + null, + ordinal == 1 && !isTag, + note, + isTag ? "TAG" : null, + parseNumericPrecision(dataType), + parseNumericScale(dataType), + parseCharacterMaximumLength(dataType) + )); + } + return result; + } + + private String getCreateSql(String schema, String name, String objectType) { + String showType = switch (objectType.toUpperCase(Locale.ROOT)) { + case "STABLE", "SUPER TABLE", "SUPERTABLE" -> "STABLE"; + case "TABLE", "BASE TABLE", "CHILD TABLE" -> "TABLE"; + default -> null; + }; + if (showType == null) { + return ""; + } + + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery("SHOW CREATE " + showType + " " + qualifiedName(schema, name))) { + if (!rs.next()) { + return ""; + } + int columnCount = rs.getMetaData().getColumnCount(); + for (int i = 2; i <= columnCount; i++) { + String value = rs.getString(i); + if (value != null && value.toUpperCase(Locale.ROOT).contains("CREATE")) { + return value; + } + } + String value = rs.getString(columnCount); + return value == null ? "" : value; + } catch (Exception e) { + return ""; + } + } + + private Object tdengineResultValue(ResultSet rs, int index, int sqlType) { + return unchecked(() -> { + Object value = switch (sqlType) { + case Types.BIGINT -> rs.getLong(index); + case Types.INTEGER, Types.SMALLINT, Types.TINYINT -> rs.getInt(index); + case Types.FLOAT, Types.REAL -> rs.getFloat(index); + case Types.DOUBLE -> rs.getDouble(index); + case Types.DECIMAL, Types.NUMERIC -> rs.getBigDecimal(index); + case Types.BOOLEAN, Types.BIT -> rs.getBoolean(index); + default -> rs.getObject(index); + }; + return rs.wasNull() ? null : decodeTdengineValue(value); + }); + } + + public static Object decodeTdengineValue(Object value) { + if (value instanceof byte[] bytes) { + return new String(bytes, StandardCharsets.UTF_8); + } + if (value instanceof Timestamp timestamp) { + return TDENGINE_TIMESTAMP_FORMAT.format(timestamp.toLocalDateTime()); + } + return value; + } + + private static String quoteQualifiedPrefix(String schema) { + String trimmed = schema.trim(); + return trimmed.isEmpty() ? "" : quoteIdentifier(trimmed) + "."; + } + + private static String qualifiedName(String schema, String name) { + String table = quoteIdentifier(name); + String trimmed = schema.trim(); + return trimmed.isEmpty() ? table : quoteIdentifier(trimmed) + "." + table; + } + + private static String quoteIdentifier(String identifier) { + return "`" + identifier.replace("`", "``") + "`"; + } + + private static Integer parseNumericPrecision(String dataType) { + return parseIntGroup(NUMERIC_PRECISION_PATTERN, dataType, 2); + } + + private static Integer parseNumericScale(String dataType) { + return parseIntGroup(NUMERIC_SCALE_PATTERN, dataType, 2); + } + + private static Integer parseCharacterMaximumLength(String dataType) { + return parseIntGroup(CHARACTER_LENGTH_PATTERN, dataType, 2); + } + + private static Integer parseIntGroup(Pattern pattern, String value, int group) { + Matcher matcher = pattern.matcher(value); + if (!matcher.find()) { + return null; + } + try { + return Integer.valueOf(matcher.group(group)); + } catch (NumberFormatException e) { + return null; + } + } + + private static String optionalString(ResultSet rs, int index) { + try { + return rs.getString(index); + } catch (Exception e) { + return null; + } + } + + private static String coalesce(String value) { + return value == null ? "" : value; + } + + public static void main(String[] args) { + new JsonRpcServer(new TDengineAgent()).run(); + } +} + +final class TDengineJdbcUrl { + enum TransportPreference { + AUTO, + WEBSOCKET, + REST + } + + private static final String PARAM_TRANSPORT = "transport"; + private static final String PARAM_DBX_TRANSPORT = "dbx.transport"; + + private TDengineJdbcUrl() { + } + + static String from(ConnectParams params) { + TransportPreference preference = transportPreference(params.getUrl_params()); + if (preference == TransportPreference.REST) { + return from(params, TDengineTransport.REST); + } + String host = params.getHost().isBlank() ? "localhost" : params.getHost(); + int port = params.getPort() > 0 ? params.getPort() : 6041; + String database = params.getDatabase().trim(); + String path = database.isBlank() ? "/" : "/" + database; + String query = normalizeQueryString(params.getUrl_params()); + String suffix = query.isBlank() ? "" : "?" + query; + return "jdbc:TAOS-WS://" + host + ":" + port + path + suffix; + } + + static String from(ConnectParams params, TDengineTransport transport) { + String host = params.getHost().isBlank() ? "localhost" : params.getHost(); + int port = params.getPort() > 0 ? params.getPort() : 6041; + String database = params.getDatabase().trim(); + String path = database.isBlank() ? "/" : "/" + database; + String query = normalizeQueryString(params.getUrl_params()); + String suffix = query.isBlank() ? "" : "?" + query; + return transport.urlPrefix() + host + ":" + port + path + suffix; + } + + static String sanitizeConnectionString(String connectionString) { + if (connectionString == null || connectionString.isBlank()) { + return ""; + } + int queryIndex = connectionString.indexOf('?'); + if (queryIndex < 0) { + return connectionString; + } + String base = connectionString.substring(0, queryIndex); + String rawQuery = connectionString.substring(queryIndex + 1); + int fragmentIndex = rawQuery.indexOf('#'); + String fragment = ""; + if (fragmentIndex >= 0) { + fragment = rawQuery.substring(fragmentIndex); + rawQuery = rawQuery.substring(0, fragmentIndex); + } + String query = normalizeQueryString(rawQuery); + if (query.isBlank()) { + return base + fragment; + } + return base + "?" + query + fragment; + } + + static TransportPreference transportPreference(String rawQuery) { + String query = rawQuery == null ? "" : rawQuery.trim(); + if (query.startsWith("?")) { + query = query.substring(1); + } + if (query.isBlank()) { + return TransportPreference.AUTO; + } + String[] parts = query.split("&"); + for (String part : parts) { + if (part == null || part.isBlank()) { + continue; + } + int index = part.indexOf('='); + String key = index < 0 ? part.trim() : part.substring(0, index).trim(); + if (!PARAM_TRANSPORT.equalsIgnoreCase(key) && !PARAM_DBX_TRANSPORT.equalsIgnoreCase(key)) { + continue; + } + String value = index < 0 ? "" : part.substring(index + 1).trim(); + if ("rest".equalsIgnoreCase(value) || "rs".equalsIgnoreCase(value)) { + return TransportPreference.REST; + } + if ("ws".equalsIgnoreCase(value) || "websocket".equalsIgnoreCase(value)) { + return TransportPreference.WEBSOCKET; + } + } + return TransportPreference.AUTO; + } + + private static String normalizeQueryString(String rawQuery) { + String query = rawQuery == null ? "" : rawQuery.trim(); + if (query.startsWith("?")) { + query = query.substring(1); + } + if (query.isBlank()) { + return ""; + } + String[] parts = query.split("&"); + List kept = new ArrayList<>(); + for (String part : parts) { + if (part == null || part.isBlank()) { + continue; + } + int index = part.indexOf('='); + String key = index < 0 ? part.trim() : part.substring(0, index).trim(); + if (PARAM_TRANSPORT.equalsIgnoreCase(key) || PARAM_DBX_TRANSPORT.equalsIgnoreCase(key)) { + continue; + } + kept.add(part); + } + return String.join("&", kept); + } +} + +enum TDengineTransport { + WEBSOCKET("jdbc:TAOS-WS://", "com.taosdata.jdbc.ws.WebSocketDriver"), + REST("jdbc:TAOS-RS://", "com.taosdata.jdbc.rs.RestfulDriver"); + + private final String urlPrefix; + private final String driverClass; + + TDengineTransport(String urlPrefix, String driverClass) { + this.urlPrefix = urlPrefix; + this.driverClass = driverClass; + } + + String urlPrefix() { + return urlPrefix; + } + + String driverClass() { + return driverClass; + } +} + +final class TDengineConnectionFactory { + private static final int AUTO_TRANSPORT_ATTEMPT_TIMEOUT_SECONDS = 8; + + private TDengineConnectionFactory() { + } + + static Connection open(ConnectParams params) throws Exception { + String explicitConnectionString = params.getConnection_string() == null ? "" : params.getConnection_string().trim(); + if (!explicitConnectionString.isBlank()) { + String sanitizedConnectionString = TDengineJdbcUrl.sanitizeConnectionString(explicitConnectionString); + Class.forName(driverClassFromConnectionString(sanitizedConnectionString)); + return DriverManager.getConnection(sanitizedConnectionString, params.getUsername(), params.getPassword()); + } + + TDengineJdbcUrl.TransportPreference preference = TDengineJdbcUrl.transportPreference(params.getUrl_params()); + TDengineTransport[] candidates = transportsFor(preference); + Exception firstError = null; + for (TDengineTransport transport : candidates) { + try { + Connection connection = preference == TDengineJdbcUrl.TransportPreference.AUTO + ? openWithAttemptTimeout(params, transport) + : openDirect(params, transport); + return connection; + } catch (Exception e) { + if (firstError == null) { + firstError = e; + } else { + firstError.addSuppressed(e); + } + } + } + if (firstError != null) { + throw new RuntimeException("Failed to connect TDengine using transports: " + candidateNames(candidates), firstError); + } + throw new IllegalStateException("No TDengine transport available."); + } + + private static Connection openDirect(ConnectParams params, TDengineTransport transport) throws Exception { + Class.forName(transport.driverClass()); + String url = TDengineJdbcUrl.from(params, transport); + return DriverManager.getConnection(url, params.getUsername(), params.getPassword()); + } + + private static Connection openWithAttemptTimeout(ConnectParams params, TDengineTransport transport) throws Exception { + String threadName = "tdengine-connect-" + transport.name().toLowerCase(Locale.ROOT); + ThreadFactory factory = runnable -> { + Thread thread = new Thread(runnable, threadName); + thread.setDaemon(true); + return thread; + }; + ExecutorService executor = Executors.newSingleThreadExecutor(factory); + try { + Future future = executor.submit(new Callable() { + @Override + public Connection call() throws Exception { + return openDirect(params, transport); + } + }); + return future.get(AUTO_TRANSPORT_ATTEMPT_TIMEOUT_SECONDS, TimeUnit.SECONDS); + } catch (TimeoutException e) { + throw new RuntimeException( + "TDengine " + transport.name().toLowerCase(Locale.ROOT) + + " transport connect timed out after " + AUTO_TRANSPORT_ATTEMPT_TIMEOUT_SECONDS + "s", + e + ); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new RuntimeException("Interrupted while connecting TDengine via " + transport.name().toLowerCase(Locale.ROOT), e); + } catch (ExecutionException e) { + Throwable cause = e.getCause(); + if (cause instanceof Exception exception) { + throw exception; + } + throw new RuntimeException(cause); + } finally { + executor.shutdownNow(); + } + } + + private static TDengineTransport[] transportsFor(TDengineJdbcUrl.TransportPreference preference) { + return switch (preference) { + case REST -> new TDengineTransport[] {TDengineTransport.REST}; + case WEBSOCKET -> new TDengineTransport[] {TDengineTransport.WEBSOCKET}; + case AUTO -> new TDengineTransport[] {TDengineTransport.WEBSOCKET, TDengineTransport.REST}; + }; + } + + private static String candidateNames(TDengineTransport[] candidates) { + List names = new ArrayList<>(); + for (TDengineTransport candidate : candidates) { + names.add(candidate.name().toLowerCase(Locale.ROOT)); + } + return String.join(" -> ", names); + } + + private static String driverClassFromConnectionString(String connectionString) { + if (connectionString.regionMatches(true, 0, TDengineTransport.REST.urlPrefix(), 0, TDengineTransport.REST.urlPrefix().length())) { + return TDengineTransport.REST.driverClass(); + } + if (connectionString.regionMatches(true, 0, TDengineTransport.WEBSOCKET.urlPrefix(), 0, TDengineTransport.WEBSOCKET.urlPrefix().length())) { + return TDengineTransport.WEBSOCKET.driverClass(); + } + return TDengineTransport.WEBSOCKET.driverClass(); + } +} diff --git a/agents/drivers/tdengine/src/test/java/com/dbx/agent/tdengine/TDengineAgentPagingTest.java b/agents/drivers/tdengine/src/test/java/com/dbx/agent/tdengine/TDengineAgentPagingTest.java new file mode 100644 index 0000000000..91ef0b9174 --- /dev/null +++ b/agents/drivers/tdengine/src/test/java/com/dbx/agent/tdengine/TDengineAgentPagingTest.java @@ -0,0 +1,178 @@ +package com.dbx.agent.tdengine; + +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.test.TestSupport; +import org.junit.jupiter.api.Test; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.nio.charset.StandardCharsets; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.Statement; +import java.sql.Types; + +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +class TDengineAgentPagingTest { + @Test + void executeQueryPageDecodesBinaryVarcharValuesAsStrings() { + TDengineAgent agent = new TDengineAgent(); + TestSupport.setPrivateConnection(agent, binaryVarcharConnection()); + JsonRpcServer server = new JsonRpcServer(agent); + + String response = handleRequest(server, """ + { + "jsonrpc": "2.0", + "id": 1, + "method": "execute_query_page", + "params": { + "sql": "SELECT v FROM sample", + "schema": "power", + "pageSize": 100 + } + } + """); + + assertFalse(response.contains("\"error\""), response); + assertTrue(response.contains("\"hello\""), response); + assertFalse(response.contains("[104,101,108,108,111]"), response); + } + + private static Connection binaryVarcharConnection() { + Statement statement = binaryVarcharStatement(); + return proxy(Connection.class, (method, args) -> { + String name = method.getName(); + if ("createStatement".equals(name)) { + return statement; + } + if ("getAutoCommit".equals(name)) { + return true; + } + if ("setAutoCommit".equals(name) || "commit".equals(name) || "rollback".equals(name) || "close".equals(name)) { + return null; + } + if ("isClosed".equals(name)) { + return false; + } + return defaultValue(method.getReturnType()); + }); + } + + private static Statement binaryVarcharStatement() { + ResultSet resultSet = binaryVarcharResultSet(); + return proxy(Statement.class, (method, args) -> { + String name = method.getName(); + if ("execute".equals(name)) { + return true; + } + if ("getResultSet".equals(name)) { + return resultSet; + } + if ("getUpdateCount".equals(name)) { + return 0; + } + if ("setMaxRows".equals(name) || "setFetchSize".equals(name) || "close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + }); + } + + private static ResultSet binaryVarcharResultSet() { + final int[] index = {-1}; + ResultSetMetaData metadata = binaryVarcharMetadata(); + byte[] value = "hello".getBytes(StandardCharsets.UTF_8); + return proxy(ResultSet.class, (method, args) -> { + String name = method.getName(); + if ("next".equals(name)) { + index[0] += 1; + return index[0] == 0; + } + if ("getMetaData".equals(name)) { + return metadata; + } + if ("getObject".equals(name)) { + return value; + } + if ("wasNull".equals(name)) { + return false; + } + if ("close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + }); + } + + private static ResultSetMetaData binaryVarcharMetadata() { + return proxy(ResultSetMetaData.class, (method, args) -> { + String name = method.getName(); + if ("getColumnCount".equals(name)) { + return 1; + } + if ("getColumnLabel".equals(name)) { + return "v"; + } + if ("getColumnType".equals(name)) { + return Types.VARCHAR; + } + return defaultValue(method.getReturnType()); + }); + } + + private static String handleRequest(JsonRpcServer server, String request) { + try { + Method method = JsonRpcServer.class.getDeclaredMethod("handleRequest", String.class); + method.setAccessible(true); + return (String) method.invoke(server, request); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + private static T proxy(Class type, MethodHandler handler) { + InvocationHandler invocationHandler = new InvocationHandler() { + @Override + public Object invoke(Object proxy, Method method, Object[] args) { + return handler.handle(method, args); + } + }; + return type.cast(Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, invocationHandler)); + } + + private static Object defaultValue(Class type) { + if (Boolean.TYPE.equals(type)) { + return false; + } + if (Byte.TYPE.equals(type)) { + return (byte) 0; + } + if (Short.TYPE.equals(type)) { + return (short) 0; + } + if (Integer.TYPE.equals(type)) { + return 0; + } + if (Long.TYPE.equals(type)) { + return 0L; + } + if (Float.TYPE.equals(type)) { + return 0f; + } + if (Double.TYPE.equals(type)) { + return 0.0d; + } + if (Character.TYPE.equals(type)) { + return '\0'; + } + return null; + } + + private interface MethodHandler { + Object handle(Method method, Object[] args); + } +} diff --git a/agents/drivers/tdengine/src/test/java/com/dbx/agent/tdengine/TDengineAgentTest.java b/agents/drivers/tdengine/src/test/java/com/dbx/agent/tdengine/TDengineAgentTest.java new file mode 100644 index 0000000000..51bdc114b3 --- /dev/null +++ b/agents/drivers/tdengine/src/test/java/com/dbx/agent/tdengine/TDengineAgentTest.java @@ -0,0 +1,140 @@ +package com.dbx.agent.tdengine; + +import com.dbx.agent.test.TestSupport; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.ExecuteQueryOptions; +import com.dbx.agent.test.JdbcAgentFake; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; +import com.dbx.agent.test.JdbcMetadataSqlFake; +import java.nio.charset.StandardCharsets; +import java.sql.Timestamp; +import java.util.Arrays; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class TDengineAgentExecutionTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new TDengineAgent(); + } + + @Override + protected String resultSetSql() { + return "SHOW DATABASES"; + } +} + +class TDengineAgentMetadataTest { + @Test + void buildsWebsocketJdbcUrlWithDefaultPortAndDatabase() { + String url = TDengineJdbcUrl.from( + new ConnectParams("127.0.0.1", 0, "meters", "root", "taosdata", "", "", false) + ); + + Assertions.assertEquals("jdbc:TAOS-WS://127.0.0.1:6041/meters", url); + } + + @Test + void preservesCustomWebsocketPortAndUrlParams() { + String url = TDengineJdbcUrl.from( + new ConnectParams("td.local", 6042, "", "", "", "timezone=UTC&charset=UTF-8", "", false) + ); + + Assertions.assertEquals("jdbc:TAOS-WS://td.local:6042/?timezone=UTC&charset=UTF-8", url); + } + + @Test + void supportsRestTransportViaCompatibilityUrlParam() { + String url = TDengineJdbcUrl.from( + new ConnectParams("127.0.0.1", 0, "testdb", "", "", "dbx.transport=rest&charset=UTF-8", "", false) + ); + + Assertions.assertEquals("jdbc:TAOS-RS://127.0.0.1:6041/testdb?charset=UTF-8", url); + } + + @Test + void stripsTransportControlParamFromJdbcQuery() { + String url = TDengineJdbcUrl.from( + new ConnectParams("127.0.0.1", 6041, "", "", "", "transport=ws&timezone=UTC", "", false) + ); + + Assertions.assertEquals("jdbc:TAOS-WS://127.0.0.1:6041/?timezone=UTC", url); + } + + @Test + void usesTdengineMetadataStatements() { + TDengineAgent agent = new TDengineAgent(); + TestSupport.setPrivateConnection(agent, JdbcMetadataSqlFake.connection()); + + agent.listDatabases(); + agent.listTables("power"); + agent.getColumns("power", "meters"); + + Assertions.assertEquals( + Arrays.asList( + "SHOW DATABASES", + "SHOW `power`.STABLES", + "SHOW `power`.TABLES", + "DESCRIBE `power`.`meters`" + ), + JdbcMetadataSqlFake.statements + ); + } + + @Test + void setsDatabaseBeforeExecutionWhenSchemaIsProvided() { + TDengineAgent agent = new TDengineAgent(); + TestSupport.setPrivateConnection(agent, JdbcAgentFake.connection()); + + agent.executeQuery("SELECT 1", "power", new ExecuteQueryOptions()); + + Assertions.assertEquals( + Arrays.asList("setMaxRows:10001", "execute"), + JdbcAgentFake.calls + ); + } + + @Test + void decodesTdengineByteArrayTextValues() { + Assertions.assertEquals( + "d1001", + TDengineAgent.decodeTdengineValue("d1001".getBytes(StandardCharsets.UTF_8)) + ); + } + + @Test + void formatsTdengineTimestampsAsSqlLiterals() { + Assertions.assertEquals( + "2026-05-16 09:35:58.123", + TDengineAgent.decodeTdengineValue(Timestamp.valueOf("2026-05-16 09:35:58.123")) + ); + } + + @Test + void unknownTransportValueDefaultsToWebsocketAndKeepsOtherParams() { + String url = TDengineJdbcUrl.from( + new ConnectParams("127.0.0.1", 6041, "", "", "", "transport=foo&timezone=UTC", "", false) + ); + + Assertions.assertEquals("jdbc:TAOS-WS://127.0.0.1:6041/?timezone=UTC", url); + } + + @Test + void sanitizeConnectionStringStripsTransportControlParams() { + String sanitized = TDengineJdbcUrl.sanitizeConnectionString( + "jdbc:TAOS-WS://127.0.0.1:6041/db?dbx.transport=rest&charset=UTF-8&transport=ws" + ); + + Assertions.assertEquals("jdbc:TAOS-WS://127.0.0.1:6041/db?charset=UTF-8", sanitized); + } + + @Test + void sanitizeConnectionStringKeepsFragmentAndNonControlParams() { + String sanitized = TDengineJdbcUrl.sanitizeConnectionString( + "jdbc:TAOS-RS://127.0.0.1:6041/db?timezone=UTC&dbx.transport=rest#anchor" + ); + + Assertions.assertEquals("jdbc:TAOS-RS://127.0.0.1:6041/db?timezone=UTC#anchor", sanitized); + } +} diff --git a/agents/drivers/teradata/build.gradle b/agents/drivers/teradata/build.gradle new file mode 100644 index 0000000000..73c6bad937 --- /dev/null +++ b/agents/drivers/teradata/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.teradata.jdbc:terajdbc:20.00.00.56' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'Teradata', 'Main-Class': 'com.dbx.agent.teradata.TeradataAgent') + } +} diff --git a/agents/drivers/teradata/src/main/java/com/dbx/agent/teradata/TeradataAgent.java b/agents/drivers/teradata/src/main/java/com/dbx/agent/teradata/TeradataAgent.java new file mode 100644 index 0000000000..f24aafcff5 --- /dev/null +++ b/agents/drivers/teradata/src/main/java/com/dbx/agent/teradata/TeradataAgent.java @@ -0,0 +1,21 @@ +package com.dbx.agent.teradata; + +import com.dbx.agent.ConfiguredJdbcAgent; +import com.dbx.agent.JdbcAgentProfile; +import com.dbx.agent.JsonRpcServer; + +public final class TeradataAgent extends ConfiguredJdbcAgent { + public static final JdbcAgentProfile TERADATA_PROFILE = new JdbcAgentProfile( + "com.teradata.jdbc.TeraDriver", + "jdbc:teradata://{host}/DBS_PORT={port},DATABASE={database}", + 1025 + ); + + public TeradataAgent() { + super(TERADATA_PROFILE); + } + + public static void main(String[] args) { + new JsonRpcServer(new TeradataAgent()).run(); + } +} diff --git a/agents/drivers/trino/build.gradle b/agents/drivers/trino/build.gradle new file mode 100644 index 0000000000..28b6cd8146 --- /dev/null +++ b/agents/drivers/trino/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'io.trino:trino-jdbc:471' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'Trino (Presto)', 'Main-Class': 'com.dbx.agent.trino.TrinoAgent') + } +} diff --git a/agents/drivers/trino/src/main/java/com/dbx/agent/trino/TrinoAgent.java b/agents/drivers/trino/src/main/java/com/dbx/agent/trino/TrinoAgent.java new file mode 100644 index 0000000000..6ffdad8ace --- /dev/null +++ b/agents/drivers/trino/src/main/java/com/dbx/agent/trino/TrinoAgent.java @@ -0,0 +1,272 @@ +package com.dbx.agent.trino; + +import com.dbx.agent.AbstractJdbcAgent; +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.ConnectParams; +import com.dbx.agent.DatabaseInfo; +import com.dbx.agent.ForeignKeyInfo; +import com.dbx.agent.IndexInfo; +import com.dbx.agent.JdbcIdentifiers; +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.TableInfo; +import com.dbx.agent.TriggerInfo; +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.ResultSet; +import java.sql.Types; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public final class TrinoAgent extends AbstractJdbcAgent { + private static final Pattern NUMERIC_PRECISION_PATTERN = Pattern.compile("(?i)^(decimal|numeric)\\((\\d+)(?:,\\s*\\d+)?\\)"); + private static final Pattern NUMERIC_SCALE_PATTERN = Pattern.compile("(?i)^(decimal|numeric)\\(\\d+,\\s*(\\d+)\\)"); + private static final Pattern CHARACTER_LENGTH_PATTERN = Pattern.compile("(?i)^(char|varchar)\\((\\d+)\\)"); + + @Override + protected String driverClass() { + return "io.trino.jdbc.TrinoDriver"; + } + + @Override + protected String buildJdbcUrl(ConnectParams params) { + return buildUrl(params); + } + + @Override + public List listDatabases() { + return unchecked(() -> { + List result = new ArrayList<>(); + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery("SHOW CATALOGS")) { + while (rs.next()) { + result.add(new DatabaseInfo(rs.getString(1))); + } + } + return result; + }); + } + + @Override + public List listSchemas() { + return unchecked(() -> { + List result = new ArrayList<>(); + try (java.sql.Statement stmt = requireConnected().createStatement(); + ResultSet rs = stmt.executeQuery("SHOW SCHEMAS")) { + while (rs.next()) { + result.add(rs.getString(1)); + } + } + return result; + }); + } + + @Override + public List listTables(String schema) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "SELECT table_name, table_type " + + "FROM information_schema.tables " + + "WHERE table_schema = ? " + + "ORDER BY table_name"; + try (java.sql.PreparedStatement stmt = requireConnected().prepareStatement(sql)) { + stmt.setString(1, schema); + try (ResultSet rs = stmt.executeQuery()) { + while (rs.next()) { + result.add(new TableInfo( + rs.getString("table_name"), + normalizeTableType(rs.getString("table_type")), + null + )); + } + } + } + return result; + }); + } + + @Override + public List getColumns(String schema, String table) { + Connection conn = requireConnected(); + List metadataColumns; + try { + metadataColumns = getColumnsFromMetadata(conn, schema, table); + } catch (RuntimeException e) { + metadataColumns = Collections.emptyList(); + } + return metadataColumns.isEmpty() ? getColumnsFromDescribe(conn, schema, table) : metadataColumns; + } + + @Override + public List listIndexes(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listForeignKeys(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public List listTriggers(String schema, String table) { + return Collections.emptyList(); + } + + @Override + public String setSchemaSQL(String schema) { + return "USE " + JdbcIdentifiers.INSTANCE.doubleQuote(schema); + } + + private List getColumnsFromMetadata(Connection conn, String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String catalog = blankToNull(conn.getCatalog()); + try (ResultSet rs = conn.getMetaData().getColumns(catalog, schema, table, null)) { + while (rs.next()) { + int sqlType = rs.getInt("DATA_TYPE"); + Integer size = intOrNull(rs, "COLUMN_SIZE"); + Integer scale = intOrNull(rs, "DECIMAL_DIGITS"); + result.add(new ColumnInfo( + rs.getString("COLUMN_NAME"), + coalesce(rs.getString("TYPE_NAME")), + rs.getInt("NULLABLE") != DatabaseMetaData.columnNoNulls, + rs.getString("COLUMN_DEF"), + false, + null, + rs.getString("REMARKS"), + isNumericType(sqlType) ? size : null, + isNumericType(sqlType) ? scale : null, + isCharacterType(sqlType) ? size : null + )); + } + } + return result; + }); + } + + private List getColumnsFromDescribe(Connection conn, String schema, String table) { + return unchecked(() -> { + List result = new ArrayList<>(); + String sql = "DESCRIBE " + quoteIdentifier(schema) + "." + quoteIdentifier(table); + try (java.sql.Statement stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery(sql)) { + while (rs.next()) { + String dataType = rs.getString(2); + String extra = rs.getString(3); + result.add(new ColumnInfo( + rs.getString(1), + dataType, + !coalesce(extra).toLowerCase(java.util.Locale.ROOT).contains("not null"), + null, + false, + extra, + rs.getString(4), + parseNumericPrecision(dataType), + parseNumericScale(dataType), + parseCharacterMaximumLength(dataType) + )); + } + } + return result; + }); + } + + @Override + protected Object resultValue(ResultSet rs, int index, int sqlType) { + return unchecked(() -> { + Object value = rs.getObject(index); + return rs.wasNull() ? null : value == null ? null : value.toString(); + }); + } + + private static String buildUrl(ConnectParams params) { + if (params.getConnection_string() != null && !params.getConnection_string().isBlank()) { + return params.getConnection_string(); + } + return "jdbc:trino://" + params.getHost() + ":" + params.getPort() + "/" + params.getDatabase(); + } + + private static String quoteIdentifier(String identifier) { + return "\"" + identifier.replace("\"", "\"\"") + "\""; + } + + private static boolean isNumericType(int sqlType) { + switch (sqlType) { + case Types.BIGINT: + case Types.DECIMAL: + case Types.DOUBLE: + case Types.FLOAT: + case Types.INTEGER: + case Types.NUMERIC: + case Types.REAL: + case Types.SMALLINT: + case Types.TINYINT: + return true; + default: + return false; + } + } + + private static boolean isCharacterType(int sqlType) { + switch (sqlType) { + case Types.CHAR: + case Types.LONGNVARCHAR: + case Types.LONGVARCHAR: + case Types.NCHAR: + case Types.NVARCHAR: + case Types.VARCHAR: + return true; + default: + return false; + } + } + + private static Integer parseNumericPrecision(String dataType) { + return firstIntGroup(NUMERIC_PRECISION_PATTERN, dataType, 2); + } + + private static Integer parseNumericScale(String dataType) { + return firstIntGroup(NUMERIC_SCALE_PATTERN, dataType, 1); + } + + private static Integer parseCharacterMaximumLength(String dataType) { + return firstIntGroup(CHARACTER_LENGTH_PATTERN, dataType, 2); + } + + private static Integer firstIntGroup(Pattern pattern, String value, int group) { + if (value == null) { + return null; + } + Matcher matcher = pattern.matcher(value); + if (!matcher.find()) { + return null; + } + return Integer.valueOf(matcher.group(group)); + } + + private static Integer intOrNull(ResultSet rs, String column) throws Exception { + Object value = rs.getObject(column); + return value instanceof Number ? ((Number) value).intValue() : null; + } + + private static String normalizeTableType(String type) { + if ("BASE TABLE".equals(type)) { + return "TABLE"; + } + return type; + } + + private static String blankToNull(String value) { + return value == null || value.trim().isEmpty() ? null : value; + } + + private static String coalesce(String value) { + return value == null ? "" : value; + } + + public static void main(String[] args) { + new JsonRpcServer(new TrinoAgent()).run(); + } +} diff --git a/agents/drivers/trino/src/test/java/com/dbx/agent/trino/TrinoAgentTest.java b/agents/drivers/trino/src/test/java/com/dbx/agent/trino/TrinoAgentTest.java new file mode 100644 index 0000000000..f1d94db0f6 --- /dev/null +++ b/agents/drivers/trino/src/test/java/com/dbx/agent/trino/TrinoAgentTest.java @@ -0,0 +1,16 @@ +package com.dbx.agent.trino; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; + +class TrinoAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new TrinoAgent(); + } + + @Override + protected String resultSetSql() { + return "CALL system.runtime.nodes()"; + } +} diff --git a/agents/drivers/vastbase/build.gradle b/agents/drivers/vastbase/build.gradle new file mode 100644 index 0000000000..11ece4ac12 --- /dev/null +++ b/agents/drivers/vastbase/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'cn.com.vastdata:vastbase-jdbc:2.11v' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'Vastbase', 'Main-Class': 'com.dbx.agent.vastbase.VastbaseAgent') + } +} diff --git a/agents/drivers/vastbase/libs/.gitkeep b/agents/drivers/vastbase/libs/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/agents/drivers/vastbase/src/main/java/com/dbx/agent/vastbase/VastbaseAgent.java b/agents/drivers/vastbase/src/main/java/com/dbx/agent/vastbase/VastbaseAgent.java new file mode 100644 index 0000000000..920db9b16a --- /dev/null +++ b/agents/drivers/vastbase/src/main/java/com/dbx/agent/vastbase/VastbaseAgent.java @@ -0,0 +1,61 @@ +package com.dbx.agent.vastbase; + +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.ObjectSource; +import com.dbx.agent.PostgresLikeAgent; +import com.dbx.agent.PostgresLikeAgentProfile; + +public final class VastbaseAgent extends PostgresLikeAgent { + public static final PostgresLikeAgentProfile VASTBASE_PROFILE = new PostgresLikeAgentProfile( + "cn.com.vastbase.Driver", + "jdbc:vastbase://{host}:{port}/{database}" + ); + + public VastbaseAgent() { + super(VASTBASE_PROFILE); + } + + public static void main(String[] args) { + new JsonRpcServer(new VastbaseAgent()).run(); + } + + @Override + public ObjectSource getObjectSource(String schema, String name, String objectType) { + ObjectSource result = super.getObjectSource(schema, name, objectType); + String source = unwrapRecordText(result.getSource()); + return new ObjectSource(result.getName(), result.getObject_type(), result.getSchema(), source); + } + + /** + * Vastbase 的 pg_get_functiondef 在 SQL Server 兼容模式下返回的是 + * PostgreSQL 行记录文本格式 {@code (1,"source text")} 而非纯文本。 + * 此方法剥离行记录包装,提取实际的源码内容。 + */ + static String unwrapRecordText(String source) { + if (source == null || source.isEmpty()) { + return source; + } + String trimmed = source.trim(); + if (!trimmed.startsWith("(") || !trimmed.endsWith(")")) { + return source; + } + // 格式: (field1,field2,...),第一个字段通常是整数,第二个是源码文本 + String inner = trimmed.substring(1, trimmed.length() - 1); + int commaIdx = inner.indexOf(','); + if (commaIdx <= 0) { + // 单字段行记录: (source_text) + return unquoteRecordField(inner); + } + // 多字段行记录: 跳过第一个字段,提取第二个字段及之后的内容 + String rest = inner.substring(commaIdx + 1); + return unquoteRecordField(rest); + } + + private static String unquoteRecordField(String value) { + String trimmed = value.trim(); + if (trimmed.startsWith("\"") && trimmed.endsWith("\"")) { + return trimmed.substring(1, trimmed.length() - 1).replace("\"\"", "\""); + } + return trimmed; + } +} diff --git a/agents/drivers/vastbase/src/test/java/com/dbx/agent/vastbase/VastbaseAgentTest.java b/agents/drivers/vastbase/src/test/java/com/dbx/agent/vastbase/VastbaseAgentTest.java new file mode 100644 index 0000000000..ab8cb9a55e --- /dev/null +++ b/agents/drivers/vastbase/src/test/java/com/dbx/agent/vastbase/VastbaseAgentTest.java @@ -0,0 +1,26 @@ +package com.dbx.agent.vastbase; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class VastbaseAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new VastbaseAgent(); + } + + @Override + protected String resultSetSql() { + return "CALL sample_proc()"; + } + + @Test + void declaresVastbasePostgresLikeProfile() { + VastbaseAgent agent = new VastbaseAgent(); + + Assertions.assertEquals("cn.com.vastbase.Driver", agent.getProfile().getDriverClass()); + Assertions.assertEquals("jdbc:vastbase://{host}:{port}/{database}", agent.getProfile().getUrlTemplate()); + } +} diff --git a/agents/drivers/vertica/build.gradle b/agents/drivers/vertica/build.gradle new file mode 100644 index 0000000000..fc1e0cf03e --- /dev/null +++ b/agents/drivers/vertica/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.vertica.jdbc:vertica-jdbc:25.3.0-0' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'Vertica', 'Main-Class': 'com.dbx.agent.vertica.VerticaAgent') + } +} diff --git a/agents/drivers/vertica/src/main/java/com/dbx/agent/vertica/VerticaAgent.java b/agents/drivers/vertica/src/main/java/com/dbx/agent/vertica/VerticaAgent.java new file mode 100644 index 0000000000..05cef7a2b5 --- /dev/null +++ b/agents/drivers/vertica/src/main/java/com/dbx/agent/vertica/VerticaAgent.java @@ -0,0 +1,21 @@ +package com.dbx.agent.vertica; + +import com.dbx.agent.ConfiguredJdbcAgent; +import com.dbx.agent.JdbcAgentProfile; +import com.dbx.agent.JsonRpcServer; + +public final class VerticaAgent extends ConfiguredJdbcAgent { + public static final JdbcAgentProfile VERTICA_PROFILE = new JdbcAgentProfile( + "com.vertica.jdbc.Driver", + "jdbc:vertica://{host}:{port}/{database}", + 5433 + ); + + public VerticaAgent() { + super(VERTICA_PROFILE); + } + + public static void main(String[] args) { + new JsonRpcServer(new VerticaAgent()).run(); + } +} diff --git a/agents/drivers/xugu/README.md b/agents/drivers/xugu/README.md new file mode 100644 index 0000000000..09631c301a --- /dev/null +++ b/agents/drivers/xugu/README.md @@ -0,0 +1,36 @@ +# DBX Xugu Agent + +Native XuguDB agent for DBX using `gitee.com/XuguDB/go-xugu-driver`. + +## Build + +```bash +go build -o agent . +``` + +Cross-compile release builds use pure Go output: + +```bash +CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o dbx-agent-xugu-linux-x64 . +CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -trimpath -ldflags="-s -w" -o dbx-agent-xugu-macos-aarch64 . +CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o dbx-agent-xugu-windows-x64.exe . +``` + +## Local DBX Test + +Build the binary, then copy it into DBX's installed XuguDB driver directory: + +```bash +mkdir -p ~/.dbx/agents/drivers/xugu +cp agent ~/.dbx/agents/drivers/xugu/agent +chmod +x ~/.dbx/agents/drivers/xugu/agent +``` + +DBX prefers `agent` over `agent.jar`, so XuguDB connections will use this Go +agent until the file is removed. + +To restore the Java/JDBC agent: + +```bash +rm ~/.dbx/agents/drivers/xugu/agent +``` diff --git a/agents/drivers/xugu/go.mod b/agents/drivers/xugu/go.mod new file mode 100644 index 0000000000..acc70480f7 --- /dev/null +++ b/agents/drivers/xugu/go.mod @@ -0,0 +1,5 @@ +module github.com/t8y2/dbx/agents/drivers/xugu + +go 1.22 + +require gitee.com/XuguDB/go-xugu-driver v1.0.12 diff --git a/agents/drivers/xugu/go.sum b/agents/drivers/xugu/go.sum new file mode 100644 index 0000000000..7b5f9a2f7c --- /dev/null +++ b/agents/drivers/xugu/go.sum @@ -0,0 +1,2 @@ +gitee.com/XuguDB/go-xugu-driver v1.0.12 h1:Le49iCI5YJBmQDJUUWx2SHHR3aYio0CTFjNx5O8m2Ew= +gitee.com/XuguDB/go-xugu-driver v1.0.12/go.mod h1:VJlSyp+6BjYL1US00cVb4traVISlm8iGywYe3viLPbE= diff --git a/agents/drivers/xugu/main.go b/agents/drivers/xugu/main.go new file mode 100644 index 0000000000..f3af1f39ec --- /dev/null +++ b/agents/drivers/xugu/main.go @@ -0,0 +1,1714 @@ +package main + +import ( + "bufio" + "context" + "database/sql" + "encoding/json" + "errors" + "fmt" + "io" + "os" + "regexp" + "strconv" + "strings" + "time" + + _ "gitee.com/XuguDB/go-xugu-driver" +) + +const protocolVersion = 1 +const defaultMaxRows = 1000 +const defaultXuguPort = 5138 +const xuguListDatabasesSQL = ` +SELECT DB_NAME +FROM ALL_DATABASES +ORDER BY DB_NAME` +const xuguListSchemasSQL = ` +SELECT SCHEMA_NAME +FROM ALL_SCHEMAS +ORDER BY SCHEMA_NAME` +const xuguPrimaryKeyColumnsSQL = ` +SELECT c.DEFINE +FROM ALL_CONSTRAINTS c +JOIN ALL_TABLES t ON t.DB_ID = c.DB_ID AND t.TABLE_ID = c.TABLE_ID +JOIN ALL_SCHEMAS s ON s.DB_ID = t.DB_ID AND s.SCHEMA_ID = t.SCHEMA_ID +WHERE UPPER(s.SCHEMA_NAME) = UPPER(?) + AND UPPER(t.TABLE_NAME) = UPPER(?) + AND c.CONS_TYPE = 'P'` + +type request struct { + ID json.RawMessage `json:"id"` + Method string `json:"method"` + Params map[string]json.RawMessage `json:"params"` +} + +type response struct { + JSONRPC string `json:"jsonrpc,omitempty"` + ID json.RawMessage `json:"id,omitempty"` + Result any `json:"result,omitempty"` + Error *rpcError `json:"error,omitempty"` +} + +type rpcError struct { + Code int `json:"code"` + Message string `json:"message"` +} + +type connectParams struct { + Host string `json:"host"` + Port int `json:"port"` + Database string `json:"database"` + Username string `json:"username"` + Password string `json:"password"` + SysDBA bool `json:"sysdba"` + URLParams string `json:"url_params"` + ConnectionString string `json:"connection_string"` +} + +type queryOptions struct { + SQL string `json:"sql"` + Database string `json:"database"` + Schema string `json:"schema"` + MaxRows int `json:"maxRows"` + FetchSize int `json:"fetchSize"` +} + +type queryResult struct { + Columns []string `json:"columns"` + ColumnTypes []string `json:"column_types"` + Rows [][]any `json:"rows"` + AffectedRows int64 `json:"affected_rows"` + ExecutionTimeMS int64 `json:"execution_time_ms"` + Truncated bool `json:"truncated"` +} + +func (r queryResult) MarshalJSON() ([]byte, error) { + type alias queryResult + value := alias(r) + if value.Columns == nil { + value.Columns = []string{} + } + if value.ColumnTypes == nil { + value.ColumnTypes = []string{} + } + if value.Rows == nil { + value.Rows = [][]any{} + } + return json.Marshal(value) +} + +type queryPageResult struct { + Columns []string `json:"columns"` + ColumnTypes []string `json:"column_types"` + Rows [][]any `json:"rows"` + AffectedRows int64 `json:"affected_rows"` + ExecutionTimeMS int64 `json:"execution_time_ms"` + Truncated bool `json:"truncated"` + SessionID *string `json:"session_id"` + HasMore bool `json:"has_more"` +} + +func (r queryPageResult) MarshalJSON() ([]byte, error) { + type alias queryPageResult + value := alias(r) + if value.Columns == nil { + value.Columns = []string{} + } + if value.ColumnTypes == nil { + value.ColumnTypes = []string{} + } + if value.Rows == nil { + value.Rows = [][]any{} + } + return json.Marshal(value) +} + +type querySession struct { + rows *sql.Rows + columns []string + columnTypes []string + pending []any + remaining int +} + +type databaseInfo struct { + Name string `json:"name"` +} + +type tableInfo struct { + Name string `json:"name"` + TableType string `json:"table_type"` + Comment *string `json:"comment"` +} + +type objectInfo struct { + Name string `json:"name"` + ObjectType string `json:"object_type"` + Schema string `json:"schema"` + Comment *string `json:"comment"` +} + +type columnInfo struct { + Name string `json:"name"` + DataType string `json:"data_type"` + IsNullable bool `json:"is_nullable"` + ColumnDefault *string `json:"column_default"` + IsPrimaryKey bool `json:"is_primary_key"` + Extra *string `json:"extra"` + Comment *string `json:"comment"` + NumericPrecision *int `json:"numeric_precision"` + NumericScale *int `json:"numeric_scale"` + CharacterMaximumLength *int `json:"character_maximum_length"` +} + +type indexInfo struct { + Name string `json:"name"` + Columns []string `json:"columns"` + IsUnique bool `json:"is_unique"` + IsPrimary bool `json:"is_primary"` + Filter *string `json:"filter"` + IndexType *string `json:"index_type"` + IncludedColumns []string `json:"included_columns"` + Comment *string `json:"comment"` +} + +func (i indexInfo) MarshalJSON() ([]byte, error) { + type alias indexInfo + value := alias(i) + if value.Columns == nil { + value.Columns = []string{} + } + if value.IncludedColumns == nil { + value.IncludedColumns = []string{} + } + return json.Marshal(value) +} + +type foreignKeyInfo struct { + Name string `json:"name"` + Column string `json:"column"` + RefTable string `json:"ref_table"` + RefColumn string `json:"ref_column"` +} + +type triggerInfo struct { + Name string `json:"name"` + Event string `json:"event"` + Timing string `json:"timing"` +} + +type server struct { + db *sql.DB + params connectParams + sessions map[string]*querySession + nextSessionID int64 +} + +func main() { + s := newServer() + encoder := json.NewEncoder(os.Stdout) + fmt.Fprintln(os.Stdout, `{"ready":true}`) + + scanner := bufio.NewScanner(os.Stdin) + scanner.Buffer(make([]byte, 0, 64*1024), 512*1024*1024) + for scanner.Scan() { + line := strings.TrimSpace(scanner.Text()) + if line == "" { + continue + } + resp, shutdown := s.handleLine(line) + if err := encoder.Encode(resp); err != nil { + fmt.Fprintf(os.Stderr, "failed to write response: %v\n", err) + return + } + if shutdown { + return + } + } + if err := scanner.Err(); err != nil && !errors.Is(err, io.EOF) { + fmt.Fprintf(os.Stderr, "failed to read stdin: %v\n", err) + } +} + +func newServer() *server { + return &server{sessions: map[string]*querySession{}} +} + +func (s *server) handleLine(line string) (response, bool) { + var req request + if err := json.Unmarshal([]byte(line), &req); err != nil { + return errorResponse(nil, err), false + } + if len(req.ID) == 0 { + req.ID = json.RawMessage("1") + } + result, shutdown, err := s.dispatch(req.Method, req.Params) + if err != nil { + return errorResponse(req.ID, err), false + } + return response{JSONRPC: "2.0", ID: req.ID, Result: result}, shutdown +} + +func (s *server) dispatch(method string, params map[string]json.RawMessage) (any, bool, error) { + switch method { + case "handshake": + return map[string]any{ + "protocolVersion": protocolVersion, + "agentProtocolVersion": protocolVersion, + "capabilities": []string{"connect", "test_connection", "metadata", "query", "ddl"}, + }, false, nil + case "connect": + var cp connectParams + if err := decodeParams(params, &cp); err != nil { + return nil, false, err + } + return map[string]bool{"ok": true}, false, s.connect(cp) + case "test_connection": + var cp connectParams + if err := decodeParams(params, &cp); err != nil { + return nil, false, err + } + db, err := openDB(cp) + if err != nil { + return nil, false, err + } + defer db.Close() + ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) + defer cancel() + if err := db.PingContext(ctx); err != nil { + return nil, false, err + } + return map[string]bool{"ok": true}, false, nil + case "list_databases": + result, err := s.listDatabases() + return result, false, err + case "list_schemas": + if err := s.useDatabase(stringParam(params, "database")); err != nil { + return nil, false, err + } + result, err := s.listSchemas() + return result, false, err + case "list_tables": + if err := s.useDatabase(stringParam(params, "database")); err != nil { + return nil, false, err + } + schema := stringParam(params, "schema") + result, err := s.listTables(schema) + return result, false, err + case "list_objects": + if err := s.useDatabase(stringParam(params, "database")); err != nil { + return nil, false, err + } + schema := stringParam(params, "schema") + result, err := s.listObjects(schema) + return result, false, err + case "get_columns": + if err := s.useDatabase(stringParam(params, "database")); err != nil { + return nil, false, err + } + schema := stringParam(params, "schema") + table := stringParam(params, "table") + result, err := s.getColumns(schema, table) + return result, false, err + case "get_object_source": + if err := s.useDatabase(stringParam(params, "database")); err != nil { + return nil, false, err + } + schema := stringParam(params, "schema") + name := stringParam(params, "name") + objectType := stringParam(params, "object_type") + source, err := s.getObjectSource(schema, name, objectType) + return source, false, err + case "get_table_ddl": + if err := s.useDatabase(stringParam(params, "database")); err != nil { + return nil, false, err + } + schema := stringParam(params, "schema") + table := stringParam(params, "table") + ddl, err := s.getTableDDL(schema, table) + return ddl, false, err + case "execute_query": + var opts queryOptions + if err := decodeParams(params, &opts); err != nil { + return nil, false, err + } + result, err := s.executeQuery(opts) + return result, false, err + case "execute_query_page": + var opts queryOptions + if err := decodeParams(params, &opts); err != nil { + return nil, false, err + } + result, err := s.executeQueryPage(opts, intParam(params, "pageSize")) + return result, false, err + case "fetch_query_page": + result, err := s.fetchQueryPage(stringParam(params, "sessionId"), intParam(params, "pageSize")) + return result, false, err + case "close_query_session": + return s.closeQuerySession(stringParam(params, "sessionId")), false, nil + case "list_indexes": + if err := s.useDatabase(stringParam(params, "database")); err != nil { + return nil, false, err + } + schema := stringParam(params, "schema") + table := stringParam(params, "table") + result, err := s.listIndexes(schema, table) + return result, false, err + case "list_foreign_keys": + if err := s.useDatabase(stringParam(params, "database")); err != nil { + return nil, false, err + } + schema := stringParam(params, "schema") + table := stringParam(params, "table") + result, err := s.listForeignKeys(schema, table) + return result, false, err + case "list_triggers": + if err := s.useDatabase(stringParam(params, "database")); err != nil { + return nil, false, err + } + schema := stringParam(params, "schema") + table := stringParam(params, "table") + result, err := s.listTriggers(schema, table) + return result, false, err + case "get_explain_info": + sqlText := stringParam(params, "sql") + plan, err := s.getExplainInfo(sqlText) + return map[string]any{"plan": plan, "has_actual_stats": false}, false, err + case "execute_transaction": + result, err := s.executeTransaction(params) + return result, false, err + case "disconnect": + return map[string]bool{"ok": true}, false, s.disconnect() + case "shutdown": + _ = s.disconnect() + return map[string]bool{"ok": true}, true, nil + default: + return nil, false, fmt.Errorf("unknown method: %s", method) + } +} + +func (s *server) connect(params connectParams) error { + _ = s.disconnect() + db, err := openDB(params) + if err != nil { + return err + } + ctx, cancel := context.WithTimeout(context.Background(), 15*time.Second) + defer cancel() + if err := db.PingContext(ctx); err != nil { + db.Close() + return err + } + s.db = db + s.params = params + return nil +} + +func (s *server) disconnect() error { + s.closeAllQuerySessions() + if s.db == nil { + return nil + } + err := s.db.Close() + s.db = nil + return err +} + +func openDB(params connectParams) (*sql.DB, error) { + dsn := buildDSN(params) + db, err := sql.Open("xugu", dsn) + if err != nil { + return nil, err + } + db.SetMaxOpenConns(4) + db.SetMaxIdleConns(1) + db.SetConnMaxLifetime(30 * time.Minute) + return db, nil +} + +func buildDSN(params connectParams) string { + connectionString := strings.TrimSpace(params.ConnectionString) + if looksLikeXuguDSN(connectionString) { + return connectionString + } + if parsed := parseXuguURL(connectionString); parsed.Host != "" { + if parsed.Database == "" { + parsed.Database = params.Database + } + if parsed.Username == "" { + parsed.Username = params.Username + } + if parsed.Password == "" { + parsed.Password = params.Password + } + return buildXuguDSN(parsed.Host, parsed.Port, parsed.Database, parsed.Username, parsed.Password, params.URLParams) + } + + if jdbc := parseXuguJDBCURL(connectionString); jdbc.Host != "" { + return buildXuguDSN(jdbc.Host, jdbc.Port, jdbc.Database, params.Username, params.Password, params.URLParams) + } + + return buildXuguDSN(params.Host, params.Port, params.Database, params.Username, params.Password, params.URLParams) +} + +func looksLikeXuguDSN(value string) bool { + upper := strings.ToUpper(value) + return strings.Contains(upper, "IP=") && strings.Contains(upper, "DB=") && strings.Contains(upper, "USER=") +} + +type xuguURLInfo struct { + Host string + Port int + Database string + Username string + Password string +} + +var xuguJDBCRegexp = regexp.MustCompile(`(?i)^jdbc:xugu://([^/:]+)(?::([0-9]+))?/([^?;]+)`) + +func parseXuguJDBCURL(value string) xuguURLInfo { + value = strings.TrimSpace(value) + match := xuguJDBCRegexp.FindStringSubmatch(value) + if len(match) != 4 { + return xuguURLInfo{} + } + return xuguURLInfo{Host: match[1], Port: parsePort(match[2]), Database: match[3]} +} + +func parseXuguURL(value string) xuguURLInfo { + value = strings.TrimSpace(value) + if !strings.HasPrefix(strings.ToLower(value), "xugu://") { + return xuguURLInfo{} + } + withoutScheme := value[len("xugu://"):] + var userInfo string + hostPart := withoutScheme + if at := strings.LastIndex(hostPart, "@"); at >= 0 { + userInfo = hostPart[:at] + hostPart = hostPart[at+1:] + } + if slash := strings.IndexAny(hostPart, "/?"); slash >= 0 { + databasePart := strings.TrimLeft(hostPart[slash:], "/") + hostPart = hostPart[:slash] + if q := strings.Index(databasePart, "?"); q >= 0 { + databasePart = databasePart[:q] + } + info := parseHostPort(hostPart) + info.Database = databasePart + if userInfo != "" { + info.Username, info.Password = splitUserInfo(userInfo) + } + return info + } + info := parseHostPort(hostPart) + if userInfo != "" { + info.Username, info.Password = splitUserInfo(userInfo) + } + return info +} + +func parseHostPort(value string) xuguURLInfo { + host := strings.TrimSpace(value) + port := 0 + if idx := strings.LastIndex(host, ":"); idx > 0 { + port = parsePort(host[idx+1:]) + host = host[:idx] + } + return xuguURLInfo{Host: host, Port: port} +} + +func splitUserInfo(value string) (string, string) { + if idx := strings.Index(value, ":"); idx >= 0 { + return value[:idx], value[idx+1:] + } + return value, "" +} + +func buildXuguDSN(host string, port int, database, username, password, urlParams string) string { + if port <= 0 { + port = defaultXuguPort + } + parts := []string{ + "IP=" + host, + "DB=" + strings.TrimSpace(database), + "User=" + strings.TrimSpace(username), + "PWD=" + strings.TrimSpace(password), + "Port=" + strconv.Itoa(port), + } + if !hasDSNParam(urlParams, "CHAR_SET") && !hasDSNParam(urlParams, "CHARSET") { + parts = append(parts, "CHAR_SET=UTF8") + } + for _, param := range splitDSNParams(urlParams) { + parts = append(parts, param) + } + return strings.Join(parts, ";") +} + +func hasDSNParam(raw, key string) bool { + key = strings.ToUpper(strings.TrimSpace(key)) + for _, param := range splitDSNParams(raw) { + name, _, _ := strings.Cut(param, "=") + if strings.ToUpper(strings.TrimSpace(name)) == key { + return true + } + } + return false +} + +func splitDSNParams(raw string) []string { + raw = strings.TrimSpace(strings.Trim(raw, ";")) + if raw == "" { + return nil + } + if strings.Contains(raw, ";") { + items := strings.Split(raw, ";") + result := make([]string, 0, len(items)) + for _, item := range items { + item = strings.TrimSpace(item) + if item != "" { + result = append(result, item) + } + } + return result + } + if strings.Contains(raw, "&") { + items := strings.Split(raw, "&") + result := make([]string, 0, len(items)) + for _, item := range items { + item = strings.TrimSpace(item) + if item != "" { + result = append(result, item) + } + } + return result + } + return []string{raw} +} + +func parsePort(value string) int { + port, _ := strconv.Atoi(value) + return port +} + +func (s *server) requireDB() (*sql.DB, error) { + if s.db == nil { + return nil, errors.New("agent is not connected") + } + return s.db, nil +} + +func (s *server) useDatabase(database string) error { + database = strings.TrimSpace(database) + if database == "" { + return nil + } + if strings.EqualFold(database, configuredDatabaseName(s.params)) { + return nil + } + db, err := s.requireDB() + if err != nil { + return err + } + _, err = db.Exec("USE " + quoteIdentifier(database)) + return err +} + +func (s *server) listDatabases() ([]databaseInfo, error) { + rows, err := s.queryRows(xuguListDatabasesSQL, nil) + if err != nil { + if fallback := fallbackDatabasesFromParams(s.params); len(fallback) > 0 && isXuguMetadataAccessError(err) { + return fallback, nil + } + return nil, err + } + defer rows.Close() + var result []databaseInfo + for rows.Next() { + var name string + if err := rows.Scan(&name); err != nil { + return nil, err + } + result = append(result, databaseInfo{Name: name}) + } + return emptyIfNil(result), rows.Err() +} + +func fallbackDatabasesFromParams(params connectParams) []databaseInfo { + if name := configuredDatabaseName(params); name != "" { + return []databaseInfo{{Name: name}} + } + return nil +} + +func configuredDatabaseName(params connectParams) string { + if name := strings.TrimSpace(params.Database); name != "" { + return name + } + connectionString := strings.TrimSpace(params.ConnectionString) + if parsed := parseXuguURL(connectionString); parsed.Database != "" { + return parsed.Database + } + if jdbc := parseXuguJDBCURL(connectionString); jdbc.Database != "" { + return jdbc.Database + } + if value := xuguDSNValue(connectionString, "DB"); value != "" { + return value + } + return "" +} + +func isXuguMetadataAccessError(err error) bool { + message := strings.ToUpper(err.Error()) + return strings.Contains(message, "E18012") || + strings.Contains(message, "权限不够") || + strings.Contains(message, "ALL_DATABASES") || + strings.Contains(message, "SYS_DATABASES") || + strings.Contains(message, "ALL_SCHEMAS") || + strings.Contains(message, "SYS_SCHEMAS") || + strings.Contains(message, "ALL_TABLES") || + strings.Contains(message, "SYS_TABLES") || + strings.Contains(message, "ALL_VIEWS") || + strings.Contains(message, "SYS_VIEWS") || + strings.Contains(message, "ALL_CONSTRAINTS") || + strings.Contains(message, "SYS_COLUMNS") || + strings.Contains(message, "SYS_CONSTRAINTS") || + strings.Contains(message, "SYS_INDEXES") || + strings.Contains(message, "SYS_TRIGGERS") +} + +func xuguDSNValue(dsn string, key string) string { + for _, part := range strings.Split(dsn, ";") { + name, value, ok := strings.Cut(part, "=") + if ok && strings.EqualFold(strings.TrimSpace(name), key) { + return strings.TrimSpace(value) + } + } + return "" +} + +func (s *server) listSchemas() ([]string, error) { + rows, err := s.queryRows(xuguListSchemasSQL, nil) + if err != nil { + if fallback := strings.ToUpper(strings.TrimSpace(s.params.Username)); fallback != "" && isXuguMetadataAccessError(err) { + return []string{fallback}, nil + } + return nil, err + } + defer rows.Close() + var result []string + for rows.Next() { + var schema string + if err := rows.Scan(&schema); err != nil { + return nil, err + } + result = append(result, schema) + } + return emptyIfNil(result), rows.Err() +} + +func (s *server) currentSchema() (string, error) { + rows, err := s.queryRows(` +SELECT s.SCHEMA_NAME +FROM SYS_SCHEMAS s +JOIN SYS_USERS u ON u.DB_ID = s.DB_ID AND u.USER_ID = s.USER_ID +WHERE UPPER(u.USER_NAME) = UPPER(?) +ORDER BY CASE WHEN UPPER(s.SCHEMA_NAME) = UPPER(?) THEN 0 ELSE 1 END, s.SCHEMA_NAME`, []any{s.params.Username, s.params.Username}) + if err != nil { + if fallback := strings.ToUpper(strings.TrimSpace(s.params.Username)); fallback != "" && isXuguMetadataAccessError(err) { + return fallback, nil + } + return "", err + } + defer rows.Close() + if rows.Next() { + var schema string + if err := rows.Scan(&schema); err != nil { + return "", err + } + return strings.ToUpper(schema), nil + } + if err := rows.Err(); err != nil { + return "", err + } + return strings.ToUpper(strings.TrimSpace(s.params.Username)), nil +} + +func (s *server) normalizeSchema(schema string) (string, error) { + schema = strings.TrimSpace(schema) + if schema == "" { + return s.currentSchema() + } + return strings.ToUpper(schema), nil +} + +func (s *server) listTables(schema string) ([]tableInfo, error) { + schema, err := s.normalizeSchema(schema) + if err != nil { + return nil, err + } + rows, err := s.queryRows(` +SELECT t.TABLE_NAME, 'TABLE' AS TABLE_TYPE, t.COMMENTS +FROM ALL_TABLES t +JOIN ALL_SCHEMAS s ON s.DB_ID = t.DB_ID AND s.SCHEMA_ID = t.SCHEMA_ID +WHERE UPPER(s.SCHEMA_NAME) = UPPER(?) +UNION ALL +SELECT v.VIEW_NAME, 'VIEW' AS TABLE_TYPE, v.COMMENTS +FROM ALL_VIEWS v +JOIN ALL_SCHEMAS s ON s.DB_ID = v.DB_ID AND s.SCHEMA_ID = v.SCHEMA_ID +WHERE UPPER(s.SCHEMA_NAME) = UPPER(?) +ORDER BY 2, 1`, []any{schema, schema}) + if err != nil { + return nil, err + } + defer rows.Close() + var result []tableInfo + for rows.Next() { + var item tableInfo + if err := rows.Scan(&item.Name, &item.TableType, &item.Comment); err != nil { + return nil, err + } + result = append(result, item) + } + return emptyIfNil(result), rows.Err() +} + +func (s *server) listObjects(schema string) ([]objectInfo, error) { + schema, err := s.normalizeSchema(schema) + if err != nil { + return nil, err + } + rows, err := s.queryRows(` +SELECT t.TABLE_NAME, 'TABLE' AS OBJECT_TYPE, t.COMMENTS +FROM ALL_TABLES t +JOIN ALL_SCHEMAS s ON s.DB_ID = t.DB_ID AND s.SCHEMA_ID = t.SCHEMA_ID +WHERE UPPER(s.SCHEMA_NAME) = UPPER(?) +UNION ALL +SELECT v.VIEW_NAME, 'VIEW' AS OBJECT_TYPE, v.COMMENTS +FROM ALL_VIEWS v +JOIN ALL_SCHEMAS s ON s.DB_ID = v.DB_ID AND s.SCHEMA_ID = v.SCHEMA_ID +WHERE UPPER(s.SCHEMA_NAME) = UPPER(?) +ORDER BY 2, 1`, []any{schema, schema}) + if err != nil { + return nil, err + } + defer rows.Close() + var result []objectInfo + for rows.Next() { + var item objectInfo + item.Schema = schema + if err := rows.Scan(&item.Name, &item.ObjectType, &item.Comment); err != nil { + return nil, err + } + result = append(result, item) + } + return emptyIfNil(result), rows.Err() +} + +func (s *server) getColumns(schema, table string) ([]columnInfo, error) { + schema, err := s.normalizeSchema(schema) + if err != nil { + return nil, err + } + table = strings.ToUpper(strings.TrimSpace(table)) + primaryKeys, err := s.primaryKeyColumns(schema, table) + if err != nil { + return nil, err + } + rows, err := s.queryRows(` +SELECT c.COL_NAME, c.TYPE_NAME, c.NOT_NULL, c.DEF_VAL, c.COMMENTS, c.SCALE +FROM SYS_COLUMNS c +JOIN SYS_TABLES t ON t.DB_ID = c.DB_ID AND t.TABLE_ID = c.TABLE_ID +JOIN SYS_SCHEMAS s ON s.DB_ID = t.DB_ID AND s.SCHEMA_ID = t.SCHEMA_ID +WHERE UPPER(s.SCHEMA_NAME) = UPPER(?) + AND UPPER(t.TABLE_NAME) = UPPER(?) + AND (c.IS_HIDE IS NULL OR c.IS_HIDE = FALSE) +ORDER BY c.COL_NO`, []any{schema, table}) + if err != nil { + if isXuguMetadataAccessError(err) { + return s.columnsFromSelect(schema, table, primaryKeys) + } + return nil, err + } + defer rows.Close() + var result []columnInfo + for rows.Next() { + var item columnInfo + var notNull any + var scale *int + if err := rows.Scan( + &item.Name, + &item.DataType, + ¬Null, + &item.ColumnDefault, + &item.Comment, + &scale, + ); err != nil { + return nil, err + } + item.IsNullable = !truthy(notNull) + item.IsPrimaryKey = primaryKeys[strings.ToUpper(item.Name)] + item.NumericPrecision, item.NumericScale, item.CharacterMaximumLength = decodeXuguScale(item.DataType, scale) + result = append(result, item) + } + return emptyIfNil(result), rows.Err() +} + +func (s *server) columnsFromSelect(schema, table string, primaryKeys map[string]bool) ([]columnInfo, error) { + rows, err := s.queryRows( + "SELECT * FROM "+quoteIdentifier(schema)+"."+quoteIdentifier(table)+" WHERE 1 = 0", + nil, + ) + if err != nil { + return nil, err + } + defer rows.Close() + types, err := rows.ColumnTypes() + if err != nil { + return nil, err + } + result := make([]columnInfo, 0, len(types)) + for _, columnType := range types { + item := columnInfo{ + Name: columnType.Name(), + DataType: columnType.DatabaseTypeName(), + IsPrimaryKey: primaryKeys[strings.ToUpper(columnType.Name())], + } + if nullable, ok := columnType.Nullable(); ok { + item.IsNullable = nullable + } else { + item.IsNullable = true + } + if length, ok := columnType.Length(); ok { + value := int(length) + item.CharacterMaximumLength = &value + } + result = append(result, item) + } + return emptyIfNil(result), nil +} + +func (s *server) primaryKeyColumns(schema, table string) (map[string]bool, error) { + rows, err := s.queryRows(xuguPrimaryKeyColumnsSQL, []any{schema, table}) + if err != nil { + if isXuguMetadataAccessError(err) { + return map[string]bool{}, nil + } + return nil, err + } + defer rows.Close() + result := map[string]bool{} + for rows.Next() { + var define string + if err := rows.Scan(&define); err != nil { + return nil, err + } + for _, column := range parseQuotedIdentifiers(define) { + result[strings.ToUpper(column)] = true + } + } + return result, rows.Err() +} + +func (s *server) listIndexes(schema, table string) ([]indexInfo, error) { + schema, err := s.normalizeSchema(schema) + if err != nil { + return nil, err + } + table = strings.ToUpper(strings.TrimSpace(table)) + rows, err := s.queryRows(` +SELECT i.INDEX_NAME, i.KEYS, i.IS_UNIQUE, i.IS_PRIMARY, i.INDEX_TYPE, i.FILTER +FROM SYS_INDEXES i +JOIN SYS_TABLES t ON t.DB_ID = i.DB_ID AND t.TABLE_ID = i.TABLE_ID +JOIN SYS_SCHEMAS s ON s.DB_ID = t.DB_ID AND s.SCHEMA_ID = t.SCHEMA_ID +WHERE UPPER(s.SCHEMA_NAME) = UPPER(?) + AND UPPER(t.TABLE_NAME) = UPPER(?) +ORDER BY i.INDEX_NAME`, []any{schema, table}) + if err != nil { + if isXuguMetadataAccessError(err) { + return []indexInfo{}, nil + } + return nil, err + } + defer rows.Close() + + var result []indexInfo + for rows.Next() { + var item indexInfo + var keys string + var unique, primary any + var indexType any + if err := rows.Scan(&item.Name, &keys, &unique, &primary, &indexType, &item.Filter); err != nil { + return nil, err + } + item.Columns = parseIndexKeys(keys) + item.IsUnique = truthy(unique) + item.IsPrimary = truthy(primary) + item.IndexType = stringPtr(indexTypeName(indexType)) + item.IncludedColumns = []string{} + result = append(result, item) + } + return emptyIfNil(result), rows.Err() +} + +func (s *server) listForeignKeys(schema, table string) ([]foreignKeyInfo, error) { + schema, err := s.normalizeSchema(schema) + if err != nil { + return nil, err + } + table = strings.ToUpper(strings.TrimSpace(table)) + rows, err := s.queryRows(` +SELECT c.CONS_NAME, c.DEFINE, rt.TABLE_NAME +FROM SYS_CONSTRAINTS c +JOIN SYS_TABLES t ON t.DB_ID = c.DB_ID AND t.TABLE_ID = c.TABLE_ID +JOIN SYS_TABLES rt ON rt.DB_ID = c.DB_ID AND rt.TABLE_ID = c.REF_TABLE_ID +JOIN SYS_SCHEMAS s ON s.DB_ID = t.DB_ID AND s.SCHEMA_ID = t.SCHEMA_ID +WHERE UPPER(s.SCHEMA_NAME) = UPPER(?) + AND UPPER(t.TABLE_NAME) = UPPER(?) + AND c.CONS_TYPE = 'F' +ORDER BY c.CONS_NAME`, []any{schema, table}) + if err != nil { + if isXuguMetadataAccessError(err) { + return []foreignKeyInfo{}, nil + } + return nil, err + } + defer rows.Close() + var result []foreignKeyInfo + for rows.Next() { + var name, define, refTable string + if err := rows.Scan(&name, &define, &refTable); err != nil { + return nil, err + } + local, ref := parseForeignKeyColumns(define) + for i, column := range local { + item := foreignKeyInfo{Name: name, Column: column, RefTable: refTable} + if i < len(ref) { + item.RefColumn = ref[i] + } + result = append(result, item) + } + } + return emptyIfNil(result), rows.Err() +} + +func (s *server) listTriggers(schema, table string) ([]triggerInfo, error) { + schema, err := s.normalizeSchema(schema) + if err != nil { + return nil, err + } + table = strings.ToUpper(strings.TrimSpace(table)) + rows, err := s.queryRows(` +SELECT tr.TRIG_NAME, tr.TRIG_EVENT, tr.TRIG_TIME +FROM SYS_TRIGGERS tr +JOIN SYS_TABLES t ON t.DB_ID = tr.DB_ID AND t.TABLE_ID = tr.OBJ_ID +JOIN SYS_SCHEMAS s ON s.DB_ID = t.DB_ID AND s.SCHEMA_ID = t.SCHEMA_ID +WHERE UPPER(s.SCHEMA_NAME) = UPPER(?) + AND UPPER(t.TABLE_NAME) = UPPER(?) +ORDER BY tr.TRIG_NAME`, []any{schema, table}) + if err != nil { + if isXuguMetadataAccessError(err) { + return []triggerInfo{}, nil + } + return nil, err + } + defer rows.Close() + var result []triggerInfo + for rows.Next() { + var item triggerInfo + var event, timing any + if err := rows.Scan(&item.Name, &event, &timing); err != nil { + return nil, err + } + item.Event = triggerEventName(event) + item.Timing = triggerTimingName(timing) + result = append(result, item) + } + return emptyIfNil(result), rows.Err() +} + +func (s *server) getObjectSource(schema, name, objectType string) (map[string]any, error) { + var err error + schema, err = s.normalizeSchema(schema) + if err != nil { + return nil, err + } + sourceSQL, args, err := objectSourceQuery(schema, name, objectType) + if err != nil { + return nil, err + } + rows, err := s.queryRows(sourceSQL, args) + if err != nil { + return nil, err + } + defer rows.Close() + var builder strings.Builder + for rows.Next() { + var line string + if err := rows.Scan(&line); err != nil { + return nil, err + } + builder.WriteString(line) + } + return map[string]any{"name": name, "object_type": objectType, "schema": schema, "source": builder.String()}, rows.Err() +} + +func (s *server) getTableDDL(schema, table string) (string, error) { + var err error + schema, err = s.normalizeSchema(schema) + if err != nil { + return "", err + } + var ddl string + rows, err := s.queryRows("SELECT TO_CHAR(DBMS_METADATA.GET_DDL('TABLE', ?, ?)) FROM DUAL", []any{strings.ToUpper(table), schema}) + if err == nil { + defer rows.Close() + if rows.Next() { + if scanErr := rows.Scan(&ddl); scanErr == nil && strings.TrimSpace(ddl) != "" { + return ddl, rows.Err() + } + } + } + ddl, err = s.buildTableDDL(schema, table) + if err != nil { + return "", err + } + return ddl, nil +} + +func (s *server) getExplainInfo(sqlText string) (string, error) { + if strings.TrimSpace(sqlText) == "" { + return "", errors.New("sql is required") + } + rows, err := s.queryRows("EXPLAIN "+trimStatementSQL(sqlText), nil) + if err != nil { + return "", err + } + defer rows.Close() + columns, err := rows.Columns() + if err != nil { + return "", err + } + var builder strings.Builder + for rows.Next() { + values, err := scanRow(rows, len(columns)) + if err != nil { + return "", err + } + builder.WriteString(joinValues(values, "\t")) + builder.WriteByte('\n') + } + return strings.TrimSpace(builder.String()), rows.Err() +} + +func (s *server) executeTransaction(params map[string]json.RawMessage) (queryResult, error) { + var payload struct { + Statements []string `json:"statements"` + Schema string `json:"schema"` + } + if err := decodeParams(params, &payload); err != nil { + return queryResult{}, err + } + db, err := s.requireDB() + if err != nil { + return queryResult{}, err + } + tx, err := db.Begin() + if err != nil { + return queryResult{}, err + } + if strings.TrimSpace(payload.Schema) != "" { + if _, err := tx.Exec("SET SCHEMA " + quoteIdentifier(payload.Schema)); err != nil { + tx.Rollback() + return queryResult{}, err + } + } + var affected int64 + start := time.Now() + for _, statement := range payload.Statements { + statement = trimStatementSQL(statement) + if statement == "" { + continue + } + result, err := tx.Exec(statement) + if err != nil { + tx.Rollback() + return queryResult{}, err + } + count, _ := result.RowsAffected() + affected += count + } + if err := tx.Commit(); err != nil { + return queryResult{}, err + } + return queryResult{ + Columns: []string{}, + ColumnTypes: []string{}, + Rows: [][]any{}, + AffectedRows: affected, + ExecutionTimeMS: time.Since(start).Milliseconds(), + }, nil +} + +func (s *server) executeQueryPage(opts queryOptions, pageSize int) (queryPageResult, error) { + start := time.Now() + if err := s.useDatabase(opts.Database); err != nil { + return queryPageResult{}, err + } + if strings.TrimSpace(opts.Schema) != "" { + if err := s.setSchema(opts.Schema); err != nil { + return queryPageResult{}, err + } + } + sqlText := trimStatementSQL(opts.SQL) + if !isQuerySQL(sqlText) { + result, err := s.executeQuery(opts) + return queryPageResult{ + Columns: result.Columns, + ColumnTypes: result.ColumnTypes, + Rows: result.Rows, + AffectedRows: result.AffectedRows, + ExecutionTimeMS: result.ExecutionTimeMS, + Truncated: result.Truncated, + SessionID: nil, + HasMore: false, + }, err + } + rows, err := s.queryRows(sqlText, nil) + if err != nil { + return queryPageResult{}, err + } + columns, err := rows.Columns() + if err != nil { + rows.Close() + return queryPageResult{}, err + } + columnTypes := columnTypeNames(rows) + maxRows := opts.MaxRows + if maxRows <= 0 { + maxRows = defaultMaxRows + } + session := &querySession{rows: rows, columns: columns, columnTypes: columnTypes, remaining: maxRows} + result, err := readQuerySessionPage(session, pageSize) + result.ExecutionTimeMS = time.Since(start).Milliseconds() + if err != nil { + rows.Close() + return queryPageResult{}, err + } + if result.HasMore { + sessionID := s.storeQuerySession(session) + result.SessionID = &sessionID + } else { + rows.Close() + } + return result, nil +} + +func (s *server) fetchQueryPage(sessionID string, pageSize int) (queryPageResult, error) { + session := s.sessions[sessionID] + if session == nil { + return queryPageResult{Columns: []string{}, ColumnTypes: []string{}, Rows: [][]any{}, SessionID: nil, HasMore: false}, nil + } + result, err := readQuerySessionPage(session, pageSize) + if err != nil { + s.closeQuerySession(sessionID) + return queryPageResult{}, err + } + if result.HasMore { + result.SessionID = &sessionID + } else { + s.closeQuerySession(sessionID) + } + return result, nil +} + +func (s *server) storeQuerySession(session *querySession) string { + s.nextSessionID++ + sessionID := fmt.Sprintf("xugu-%d", s.nextSessionID) + s.sessions[sessionID] = session + return sessionID +} + +func (s *server) closeQuerySession(sessionID string) bool { + session := s.sessions[sessionID] + if session == nil { + return false + } + session.rows.Close() + delete(s.sessions, sessionID) + return true +} + +func (s *server) closeAllQuerySessions() { + for sessionID := range s.sessions { + s.closeQuerySession(sessionID) + } +} + +func readQuerySessionPage(session *querySession, pageSize int) (queryPageResult, error) { + if pageSize <= 0 { + pageSize = defaultMaxRows + } + result := queryPageResult{Columns: session.columns, ColumnTypes: session.columnTypes, Rows: [][]any{}, SessionID: nil, HasMore: false} + for len(result.Rows) < pageSize && session.remaining > 0 { + if session.pending != nil { + result.Rows = append(result.Rows, session.pending) + session.pending = nil + session.remaining-- + continue + } + if !session.rows.Next() { + return result, session.rows.Err() + } + row, err := scanRow(session.rows, len(session.columns)) + if err != nil { + return queryPageResult{}, err + } + result.Rows = append(result.Rows, row) + session.remaining-- + } + if session.remaining <= 0 { + result.Truncated = true + return result, nil + } + if session.rows.Next() { + row, err := scanRow(session.rows, len(session.columns)) + if err != nil { + return queryPageResult{}, err + } + session.pending = row + result.HasMore = true + return result, nil + } + return result, session.rows.Err() +} + +func (s *server) executeQuery(opts queryOptions) (queryResult, error) { + start := time.Now() + if err := s.useDatabase(opts.Database); err != nil { + return queryResult{}, err + } + if strings.TrimSpace(opts.Schema) != "" { + if err := s.setSchema(opts.Schema); err != nil { + return queryResult{}, err + } + } + sqlText := trimStatementSQL(opts.SQL) + maxRows := opts.MaxRows + if maxRows <= 0 { + maxRows = defaultMaxRows + } + if isQuerySQL(sqlText) { + result, err := s.executeSelect(sqlText, maxRows) + result.ExecutionTimeMS = time.Since(start).Milliseconds() + return result, err + } + db, err := s.requireDB() + if err != nil { + return queryResult{}, err + } + execResult, err := db.Exec(sqlText) + if err != nil { + return queryResult{}, err + } + affected, _ := execResult.RowsAffected() + return queryResult{Columns: []string{}, ColumnTypes: []string{}, Rows: [][]any{}, AffectedRows: affected, ExecutionTimeMS: time.Since(start).Milliseconds()}, nil +} + +func (s *server) executeSelect(sqlText string, maxRows int) (queryResult, error) { + rows, err := s.queryRows(sqlText, nil) + if err != nil { + return queryResult{}, err + } + defer rows.Close() + columns, err := rows.Columns() + if err != nil { + return queryResult{}, err + } + result := queryResult{Columns: columns, ColumnTypes: columnTypeNames(rows), Rows: [][]any{}} + for rows.Next() { + if len(result.Rows) >= maxRows { + result.Truncated = true + break + } + values, err := scanRow(rows, len(columns)) + if err != nil { + return queryResult{}, err + } + result.Rows = append(result.Rows, values) + } + return result, rows.Err() +} + +func scanRow(rows *sql.Rows, columnCount int) ([]any, error) { + values := make([]any, columnCount) + scanTargets := make([]any, columnCount) + for i := range values { + scanTargets[i] = &values[i] + } + if err := rows.Scan(scanTargets...); err != nil { + return nil, err + } + for i, value := range values { + values[i] = normalizeValue(value) + } + return values, nil +} + +func columnTypeNames(rows *sql.Rows) []string { + types, err := rows.ColumnTypes() + if err != nil { + return []string{} + } + result := make([]string, 0, len(types)) + for _, columnType := range types { + result = append(result, columnType.DatabaseTypeName()) + } + return result +} + +func (s *server) setSchema(schema string) error { + db, err := s.requireDB() + if err != nil { + return err + } + _, err = db.Exec("SET SCHEMA " + quoteIdentifier(schema)) + return err +} + +func (s *server) queryRows(sqlText string, args []any) (*sql.Rows, error) { + db, err := s.requireDB() + if err != nil { + return nil, err + } + if len(args) == 0 { + return db.Query(sqlText) + } + return db.Query(sqlText, args...) +} + +func objectSourceQuery(schema, name, objectType string) (string, []any, error) { + objectType = strings.ToUpper(strings.TrimSpace(objectType)) + name = strings.ToUpper(strings.TrimSpace(name)) + switch objectType { + case "VIEW": + return ` +SELECT TO_CHAR(v.DEFINE) +FROM SYS_VIEWS v +JOIN SYS_SCHEMAS s ON s.DB_ID = v.DB_ID AND s.SCHEMA_ID = v.SCHEMA_ID +WHERE UPPER(s.SCHEMA_NAME) = UPPER(?) AND UPPER(v.VIEW_NAME) = UPPER(?)`, []any{schema, name}, nil + case "TRIGGER": + return ` +SELECT TO_CHAR(t.DEFINE) +FROM SYS_TRIGGERS t +JOIN SYS_SCHEMAS s ON s.DB_ID = t.DB_ID AND s.SCHEMA_ID = t.SCHEMA_ID +WHERE UPPER(s.SCHEMA_NAME) = UPPER(?) AND UPPER(t.TRIG_NAME) = UPPER(?)`, []any{schema, name}, nil + case "PROCEDURE", "FUNCTION": + return ` +SELECT TO_CHAR(p.DEFINE) +FROM SYS_PROCEDURES p +JOIN SYS_SCHEMAS s ON s.DB_ID = p.DB_ID AND s.SCHEMA_ID = p.SCHEMA_ID +WHERE UPPER(s.SCHEMA_NAME) = UPPER(?) AND UPPER(p.PROC_NAME) = UPPER(?)`, []any{schema, name}, nil + case "PACKAGE", "PACKAGE BODY": + return ` +SELECT COALESCE(TO_CHAR(k.SPEC), '') || COALESCE(TO_CHAR(k.BODY), '') +FROM SYS_PACKAGES k +JOIN SYS_SCHEMAS s ON s.DB_ID = k.DB_ID AND s.SCHEMA_ID = k.SCHEMA_ID +WHERE UPPER(s.SCHEMA_NAME) = UPPER(?) AND UPPER(k.PACK_NAME) = UPPER(?)`, []any{schema, name}, nil + default: + return "", nil, fmt.Errorf("object source is not supported for %s", objectType) + } +} + +func (s *server) buildTableDDL(schema, table string) (string, error) { + columns, err := s.getColumns(schema, table) + if err != nil { + return "", err + } + if len(columns) == 0 { + return "", fmt.Errorf("table not found: %s.%s", schema, table) + } + var builder strings.Builder + builder.WriteString("CREATE TABLE ") + builder.WriteString(quoteIdentifier(schema)) + builder.WriteByte('.') + builder.WriteString(quoteIdentifier(table)) + builder.WriteString(" (\n") + for i, column := range columns { + if i > 0 { + builder.WriteString(",\n") + } + builder.WriteString(" ") + builder.WriteString(quoteIdentifier(column.Name)) + builder.WriteByte(' ') + builder.WriteString(columnTypeDDL(column)) + if column.ColumnDefault != nil && strings.TrimSpace(*column.ColumnDefault) != "" { + builder.WriteString(" DEFAULT ") + builder.WriteString(strings.TrimSpace(*column.ColumnDefault)) + } + if !column.IsNullable { + builder.WriteString(" NOT NULL") + } + } + primary := make([]string, 0) + for _, column := range columns { + if column.IsPrimaryKey { + primary = append(primary, quoteIdentifier(column.Name)) + } + } + if len(primary) > 0 { + builder.WriteString(",\n PRIMARY KEY (") + builder.WriteString(strings.Join(primary, ", ")) + builder.WriteByte(')') + } + builder.WriteString("\n)") + return builder.String(), nil +} + +func columnTypeDDL(column columnInfo) string { + dataType := strings.ToUpper(strings.TrimSpace(column.DataType)) + if column.CharacterMaximumLength != nil { + return fmt.Sprintf("%s(%d)", dataType, *column.CharacterMaximumLength) + } + if column.NumericPrecision != nil && column.NumericScale != nil { + return fmt.Sprintf("%s(%d,%d)", dataType, *column.NumericPrecision, *column.NumericScale) + } + return dataType +} + +func decodeXuguScale(dataType string, scale *int) (*int, *int, *int) { + if scale == nil || *scale < 0 { + return nil, nil, nil + } + upper := strings.ToUpper(dataType) + if strings.Contains(upper, "CHAR") || strings.Contains(upper, "BINARY") { + length := *scale + return nil, nil, &length + } + if strings.Contains(upper, "NUM") || strings.Contains(upper, "DECIMAL") { + precision := *scale / 65536 + numericScale := *scale % 65536 + return &precision, &numericScale, nil + } + return nil, nil, nil +} + +var quotedIdentifierRegexp = regexp.MustCompile(`"([^"]+)"`) + +func parseQuotedIdentifiers(value string) []string { + matches := quotedIdentifierRegexp.FindAllStringSubmatch(value, -1) + result := make([]string, 0, len(matches)) + for _, match := range matches { + if len(match) == 2 { + result = append(result, match[1]) + } + } + return result +} + +func parseIndexKeys(value string) []string { + quoted := parseQuotedIdentifiers(value) + if len(quoted) > 0 { + return quoted + } + parts := strings.Split(value, ",") + result := make([]string, 0, len(parts)) + for _, part := range parts { + part = strings.Trim(strings.TrimSpace(part), `"`) + if part != "" { + result = append(result, part) + } + } + return result +} + +func parseForeignKeyColumns(define string) ([]string, []string) { + groups := regexp.MustCompile(`\(([^()]*)\)`).FindAllStringSubmatch(define, -1) + if len(groups) < 2 { + columns := parseQuotedIdentifiers(define) + if len(columns)%2 == 0 { + mid := len(columns) / 2 + return columns[:mid], columns[mid:] + } + return columns, nil + } + return parseQuotedIdentifiers(groups[0][1]), parseQuotedIdentifiers(groups[1][1]) +} + +func truthy(value any) bool { + switch v := normalizeValue(value).(type) { + case bool: + return v + case int64: + return v != 0 + case float64: + return v != 0 + case string: + upper := strings.ToUpper(strings.TrimSpace(v)) + return upper == "T" || upper == "TRUE" || upper == "1" || upper == "Y" || upper == "YES" + default: + return false + } +} + +func stringPtr(value string) *string { + if strings.TrimSpace(value) == "" { + return nil + } + return &value +} + +func indexTypeName(value any) string { + switch fmt.Sprint(normalizeValue(value)) { + case "0": + return "BTREE" + case "1": + return "RTREE" + case "2": + return "FULLTEXT" + case "3": + return "BITMAP" + default: + return fmt.Sprint(normalizeValue(value)) + } +} + +func triggerEventName(value any) string { + switch fmt.Sprint(normalizeValue(value)) { + case "1": + return "INSERT" + case "2": + return "UPDATE" + case "3": + return "INSERT OR UPDATE" + case "4": + return "DELETE" + case "5": + return "INSERT OR DELETE" + case "6": + return "UPDATE OR DELETE" + case "7": + return "INSERT OR UPDATE OR DELETE" + case "8": + return "LOGON" + default: + return fmt.Sprint(normalizeValue(value)) + } +} + +func triggerTimingName(value any) string { + switch fmt.Sprint(normalizeValue(value)) { + case "1": + return "BEFORE" + case "2": + return "INSTEAD" + case "4": + return "AFTER" + default: + return fmt.Sprint(normalizeValue(value)) + } +} + +func joinValues(values []any, sep string) string { + parts := make([]string, len(values)) + for i, value := range values { + if value == nil { + parts[i] = "" + } else { + parts[i] = fmt.Sprint(value) + } + } + return strings.Join(parts, sep) +} + +func decodeParams(params map[string]json.RawMessage, target any) error { + if params == nil { + params = map[string]json.RawMessage{} + } + data, err := json.Marshal(params) + if err != nil { + return err + } + return json.Unmarshal(data, target) +} + +func stringParam(params map[string]json.RawMessage, key string) string { + if params == nil || len(params[key]) == 0 { + return "" + } + var value string + _ = json.Unmarshal(params[key], &value) + return value +} + +func intParam(params map[string]json.RawMessage, key string) int { + if params == nil || len(params[key]) == 0 { + return 0 + } + var value int + _ = json.Unmarshal(params[key], &value) + return value +} + +func errorResponse(id json.RawMessage, err error) response { + return response{JSONRPC: "2.0", ID: id, Error: &rpcError{Code: -1, Message: err.Error()}} +} + +func trimStatementSQL(sqlText string) string { + return strings.TrimRight(strings.TrimSpace(sqlText), "; \t\r\n") +} + +func isQuerySQL(sqlText string) bool { + lower := strings.ToLower(strings.TrimSpace(sqlText)) + return strings.HasPrefix(lower, "select") || strings.HasPrefix(lower, "with") +} + +func quoteIdentifier(value string) string { + return `"` + strings.ReplaceAll(value, `"`, `""`) + `"` +} + +func normalizeValue(value any) any { + switch v := value.(type) { + case nil: + return nil + case []byte: + return string(v) + case time.Time: + return v.Format(time.RFC3339Nano) + case int: + return int64(v) + case int8: + return int64(v) + case int16: + return int64(v) + case int32: + return int64(v) + case int64: + return v + case uint: + return uint64(v) + case uint8: + return uint64(v) + case uint16: + return uint64(v) + case uint32: + return uint64(v) + case uint64: + return v + case float32: + return float64(v) + case float64, bool, string: + return v + case fmt.Stringer: + return v.String() + default: + return fmt.Sprint(v) + } +} + +func emptyIfNil[T any](values []T) []T { + if values == nil { + return []T{} + } + return values +} diff --git a/agents/drivers/xugu/main_test.go b/agents/drivers/xugu/main_test.go new file mode 100644 index 0000000000..8b4346742c --- /dev/null +++ b/agents/drivers/xugu/main_test.go @@ -0,0 +1,370 @@ +package main + +import ( + "encoding/json" + "errors" + "os" + "strings" + "testing" +) + +func TestHandshakeResponse(t *testing.T) { + s := newServer() + resp, shutdown := s.handleLine(`{"jsonrpc":"2.0","id":7,"method":"handshake","params":{"appVersion":"dev"}}`) + if shutdown { + t.Fatal("handshake should not shut down the server") + } + if resp.Error != nil { + t.Fatalf("unexpected error: %v", resp.Error) + } + data, err := json.Marshal(resp.Result) + if err != nil { + t.Fatal(err) + } + var result struct { + ProtocolVersion int `json:"protocolVersion"` + AgentProtocolVersion int `json:"agentProtocolVersion"` + Capabilities []string `json:"capabilities"` + } + if err := json.Unmarshal(data, &result); err != nil { + t.Fatal(err) + } + if result.ProtocolVersion != 1 || result.AgentProtocolVersion != 1 { + t.Fatalf("unexpected protocol versions: %+v", result) + } + contract := protocolContract(t) + if result.ProtocolVersion != contract.ProtocolVersion || result.AgentProtocolVersion != contract.ProtocolVersion { + t.Fatalf("handshake protocol versions do not match contract: result=%+v contract=%+v", result, contract) + } + for _, capability := range result.Capabilities { + if !contains(contract.AllCapabilities, capability) { + t.Fatalf("handshake returned capability %q outside protocol contract %v", capability, contract.AllCapabilities) + } + } + if !contains(result.Capabilities, "query") || !contains(result.Capabilities, "metadata") { + t.Fatalf("expected query and metadata capabilities, got %v", result.Capabilities) + } +} + +func TestCloseMissingQuerySessionReturnsFalse(t *testing.T) { + s := newServer() + resp, shutdown := s.handleLine(`{"jsonrpc":"2.0","id":8,"method":"close_query_session","params":{"sessionId":"missing"}}`) + if shutdown { + t.Fatal("close_query_session should not shut down the server") + } + if resp.Error != nil { + t.Fatalf("unexpected error: %v", resp.Error) + } + if resp.Result != false { + t.Fatalf("expected false result, got %#v", resp.Result) + } +} + +func TestEmptyResultSlicesMarshalAsArrays(t *testing.T) { + data, err := json.Marshal(queryResult{}) + if err != nil { + t.Fatal(err) + } + text := string(data) + if strings.Contains(text, `"columns":null`) || strings.Contains(text, `"column_types":null`) || strings.Contains(text, `"rows":null`) { + t.Fatalf("query result should marshal nil slices as arrays: %s", text) + } + + data, err = json.Marshal(indexInfo{}) + if err != nil { + t.Fatal(err) + } + text = string(data) + if strings.Contains(text, `"columns":null`) || strings.Contains(text, `"included_columns":null`) { + t.Fatalf("index info should marshal nil slices as arrays: %s", text) + } +} + +func TestGetTableDDLResultMarshalsAsString(t *testing.T) { + data, err := json.Marshal("CREATE TABLE SYSDBA.ORDERS (ID INT)") + if err != nil { + t.Fatal(err) + } + var ddl string + if err := json.Unmarshal(data, &ddl); err != nil { + t.Fatalf("get_table_ddl result must deserialize as a string: %v", err) + } +} + +func TestBuildDSNUsesConnectionStringWhenProvided(t *testing.T) { + dsn := buildDSN(connectParams{ConnectionString: "IP=db.example.com;DB=SYSTEM;User=SYSDBA;PWD=secret;Port=5138"}) + + if dsn != "IP=db.example.com;DB=SYSTEM;User=SYSDBA;PWD=secret;Port=5138" { + t.Fatalf("unexpected dsn: %s", dsn) + } +} + +func protocolContract(t *testing.T) struct { + ProtocolVersion int `json:"protocolVersion"` + AllCapabilities []string `json:"allCapabilities"` +} { + t.Helper() + data, err := os.ReadFile("../../common/src/main/resources/agent-protocol-v1.json") + if err != nil { + t.Fatal(err) + } + var contract struct { + ProtocolVersion int `json:"protocolVersion"` + AllCapabilities []string `json:"allCapabilities"` + } + if err := json.Unmarshal(data, &contract); err != nil { + t.Fatal(err) + } + return contract +} + +func TestBuildDSNUsesConnectionFields(t *testing.T) { + dsn := buildDSN(connectParams{ + Host: "db.example.com", + Port: 15138, + Database: "demo", + Username: "sysdba", + Password: "secret", + }) + + for _, part := range []string{"IP=db.example.com", "DB=demo", "User=sysdba", "PWD=secret", "Port=15138"} { + if !strings.Contains(dsn, part) { + t.Fatalf("dsn should contain %s, got: %s", part, dsn) + } + } +} + +func TestBuildDSNUsesDefaultPort(t *testing.T) { + dsn := buildDSN(connectParams{ + Host: "db.example.com", + Database: "demo", + Username: "sysdba", + Password: "secret", + }) + + if !strings.Contains(dsn, "Port=5138") { + t.Fatalf("dsn should default to Xugu port, got: %s", dsn) + } +} + +func TestBuildDSNParsesJdbcURL(t *testing.T) { + dsn := buildDSN(connectParams{ + Username: "sysdba", + Password: "secret", + ConnectionString: "jdbc:xugu://db.example.com:15138/demo", + }) + + for _, part := range []string{"IP=db.example.com", "DB=demo", "User=sysdba", "PWD=secret", "Port=15138"} { + if !strings.Contains(dsn, part) { + t.Fatalf("dsn should contain %s, got: %s", part, dsn) + } + } +} + +func TestBuildDSNParsesDBXURL(t *testing.T) { + dsn := buildDSN(connectParams{ + ConnectionString: "xugu://sysdba:secret@db.example.com:15138/demo", + }) + + for _, part := range []string{"IP=db.example.com", "DB=demo", "User=sysdba", "PWD=secret", "Port=15138"} { + if !strings.Contains(dsn, part) { + t.Fatalf("dsn should contain %s, got: %s", part, dsn) + } + } +} + +func TestBuildDSNAppendsURLParams(t *testing.T) { + dsn := buildDSN(connectParams{ + Host: "db.example.com", + Database: "demo", + Username: "sysdba", + Password: "secret", + URLParams: "AUTO_COMMIT=on;CHAR_SET=UTF8", + }) + + for _, part := range []string{"AUTO_COMMIT=on", "CHAR_SET=UTF8"} { + if !strings.Contains(dsn, part) { + t.Fatalf("dsn should contain %s, got: %s", part, dsn) + } + } +} + +func TestBuildDSNDefaultsToUTF8(t *testing.T) { + dsn := buildDSN(connectParams{ + Host: "db.example.com", + Database: "demo", + Username: "sysdba", + Password: "secret", + }) + + if !strings.Contains(dsn, "CHAR_SET=UTF8") { + t.Fatalf("dsn should default to UTF8, got: %s", dsn) + } +} + +func TestBuildDSNRespectsExplicitCharset(t *testing.T) { + dsn := buildDSN(connectParams{ + Host: "db.example.com", + Database: "demo", + Username: "sysdba", + Password: "secret", + URLParams: "CHAR_SET=GBK", + }) + + if strings.Contains(dsn, "CHAR_SET=UTF8") || !strings.Contains(dsn, "CHAR_SET=GBK") { + t.Fatalf("dsn should respect explicit charset, got: %s", dsn) + } +} + +func TestListDatabasesSQLUsesXuguDictionary(t *testing.T) { + sqlText := strings.ToUpper(xuguListDatabasesSQL) + + if !strings.Contains(sqlText, "ALL_DATABASES") || strings.Contains(sqlText, "SYS_DATABASES") { + t.Fatalf("database listing should query low-privilege ALL_DATABASES, got: %s", xuguListDatabasesSQL) + } +} + +func TestFallbackDatabasesFromParams(t *testing.T) { + cases := []struct { + name string + params connectParams + want string + }{ + { + name: "database field", + params: connectParams{ + Database: "LOWPRIV", + }, + want: "LOWPRIV", + }, + { + name: "dbx url", + params: connectParams{ + ConnectionString: "xugu://user:secret@db.example.com:5138/demo", + }, + want: "demo", + }, + { + name: "jdbc url", + params: connectParams{ + ConnectionString: "jdbc:xugu://db.example.com:5138/reporting", + }, + want: "reporting", + }, + { + name: "native dsn", + params: connectParams{ + ConnectionString: "IP=db.example.com;DB=SYSTEM;User=SYSDBA;PWD=secret;Port=5138", + }, + want: "SYSTEM", + }, + } + + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + got := fallbackDatabasesFromParams(tc.params) + if len(got) != 1 || got[0].Name != tc.want { + t.Fatalf("unexpected fallback databases: got=%v want=%s", got, tc.want) + } + }) + } +} + +func TestUseDatabaseSkipsConfiguredDatabase(t *testing.T) { + s := newServer() + s.params = connectParams{Database: "SYSTEM"} + + if err := s.useDatabase("system"); err != nil { + t.Fatalf("expected configured database USE to be skipped, got: %v", err) + } +} + +func TestConfiguredDatabaseName(t *testing.T) { + cases := []struct { + params connectParams + want string + }{ + {params: connectParams{Database: "SYSTEM"}, want: "SYSTEM"}, + {params: connectParams{ConnectionString: "xugu://user:secret@db.example.com:5138/demo"}, want: "demo"}, + {params: connectParams{ConnectionString: "jdbc:xugu://db.example.com:5138/reporting"}, want: "reporting"}, + {params: connectParams{ConnectionString: "IP=db.example.com;DB=SYSTEM;User=SYSDBA;PWD=secret"}, want: "SYSTEM"}, + } + + for _, tc := range cases { + if got := configuredDatabaseName(tc.params); got != tc.want { + t.Fatalf("configuredDatabaseName(%+v) = %q, want %q", tc.params, got, tc.want) + } + } +} + +func TestSchemaListingSQLUsesLowPrivilegeDictionary(t *testing.T) { + sqlText := strings.ToUpper(xuguListSchemasSQL) + + if !strings.Contains(sqlText, "ALL_SCHEMAS") || strings.Contains(sqlText, "SYS_SCHEMAS") { + t.Fatalf("schema listing should query low-privilege ALL_SCHEMAS, got: %s", xuguListSchemasSQL) + } +} + +func TestPrimaryKeySQLUsesLowPrivilegeDictionary(t *testing.T) { + sqlText := strings.ToUpper(xuguPrimaryKeyColumnsSQL) + + for _, want := range []string{"ALL_CONSTRAINTS", "ALL_TABLES", "ALL_SCHEMAS"} { + if !strings.Contains(sqlText, want) { + t.Fatalf("primary key listing should query %s, got: %s", want, xuguPrimaryKeyColumnsSQL) + } + } + for _, forbidden := range []string{"SYS_CONSTRAINTS", "SYS_TABLES", "SYS_SCHEMAS"} { + if strings.Contains(sqlText, forbidden) { + t.Fatalf("primary key listing should not query %s, got: %s", forbidden, xuguPrimaryKeyColumnsSQL) + } + } +} + +func TestXuguMetadataAccessErrorDetection(t *testing.T) { + if !isXuguMetadataAccessError(errors.New("[E18012] 权限不够")) { + t.Fatal("expected E18012 permission error to be treated as metadata access error") + } + if isXuguMetadataAccessError(errors.New("network timeout")) { + t.Fatal("network errors should not trigger database-list fallback") + } +} + +func TestParseForeignKeyColumns(t *testing.T) { + local, ref := parseForeignKeyColumns(`("C1","C2")("ID1","ID2")`) + + if strings.Join(local, ",") != "C1,C2" || strings.Join(ref, ",") != "ID1,ID2" { + t.Fatalf("unexpected foreign key columns: local=%v ref=%v", local, ref) + } +} + +func TestDecodeXuguScale(t *testing.T) { + numericScale := 32*65536 + 6 + precision, scale, length := decodeXuguScale("NUMERIC", &numericScale) + if precision == nil || *precision != 32 || scale == nil || *scale != 6 || length != nil { + t.Fatalf("unexpected numeric scale decode: precision=%v scale=%v length=%v", precision, scale, length) + } + + charScale := 128 + precision, scale, length = decodeXuguScale("VARCHAR", &charScale) + if precision != nil || scale != nil || length == nil || *length != 128 { + t.Fatalf("unexpected char scale decode: precision=%v scale=%v length=%v", precision, scale, length) + } +} + +func TestNormalizeValuePreservesDriverNumericTypes(t *testing.T) { + if value := normalizeValue(int32(7)); value != int64(7) { + t.Fatalf("expected int32 to normalize to int64, got %#v", value) + } + if value := normalizeValue(float32(1.25)); value != float64(float32(1.25)) { + t.Fatalf("expected float32 to normalize to float64, got %#v", value) + } +} + +func contains(values []string, target string) bool { + for _, value := range values { + if value == target { + return true + } + } + return false +} diff --git a/agents/drivers/yashandb/build.gradle b/agents/drivers/yashandb/build.gradle new file mode 100644 index 0000000000..5a8041288e --- /dev/null +++ b/agents/drivers/yashandb/build.gradle @@ -0,0 +1,9 @@ +dependencies { + implementation 'com.yashandb:yashandb-jdbc:1.9.27' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': '崖山 YashanDB', 'Main-Class': 'com.dbx.agent.yashandb.YashandbAgent') + } +} diff --git a/agents/drivers/yashandb/src/main/java/com/dbx/agent/yashandb/YashandbAgent.java b/agents/drivers/yashandb/src/main/java/com/dbx/agent/yashandb/YashandbAgent.java new file mode 100644 index 0000000000..cf11cc080e --- /dev/null +++ b/agents/drivers/yashandb/src/main/java/com/dbx/agent/yashandb/YashandbAgent.java @@ -0,0 +1,22 @@ +package com.dbx.agent.yashandb; + +import com.dbx.agent.ConfiguredJdbcAgent; +import com.dbx.agent.JdbcAgentProfile; +import com.dbx.agent.JsonRpcServer; + +public final class YashandbAgent extends ConfiguredJdbcAgent { + public static final JdbcAgentProfile YASHANDB_PROFILE = new JdbcAgentProfile( + "com.yashandb.jdbc.Driver", + "jdbc:yasdb://{host}:{port}/{database}", + 1688, + true + ); + + public YashandbAgent() { + super(YASHANDB_PROFILE); + } + + public static void main(String[] args) { + new JsonRpcServer(new YashandbAgent()).run(); + } +} diff --git a/agents/drivers/yashandb/src/test/java/com/dbx/agent/yashandb/YashandbAgentTest.java b/agents/drivers/yashandb/src/test/java/com/dbx/agent/yashandb/YashandbAgentTest.java new file mode 100644 index 0000000000..0ae5c64091 --- /dev/null +++ b/agents/drivers/yashandb/src/test/java/com/dbx/agent/yashandb/YashandbAgentTest.java @@ -0,0 +1,30 @@ +package com.dbx.agent.yashandb; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.JdbcAgentProfile; +import com.dbx.agent.test.JdbcFakeExecutionBehaviorTest; +import java.util.Collections; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +class YashandbAgentTest extends JdbcFakeExecutionBehaviorTest { + @Override + protected DatabaseAgent createAgent() { + return new YashandbAgent(); + } + + @Override + protected String resultSetSql() { + return "SELECT 1 FROM DUAL"; + } + + @Test + void declaresYashandbJdbcProfile() { + JdbcAgentProfile profile = YashandbAgent.YASHANDB_PROFILE; + + Assertions.assertEquals("com.yashandb.jdbc.Driver", profile.getDriverClass()); + Assertions.assertEquals("jdbc:yasdb://{host}:{port}/{database}", profile.getUrlTemplate()); + Assertions.assertTrue(profile.getSkipExecutionContext()); + Assertions.assertEquals(Collections.emptySet(), profile.getExcludedSchemas()); + } +} diff --git a/agents/drivers/zookeeper/build.gradle b/agents/drivers/zookeeper/build.gradle new file mode 100644 index 0000000000..f679c11a84 --- /dev/null +++ b/agents/drivers/zookeeper/build.gradle @@ -0,0 +1,13 @@ +dependencies { + implementation 'com.google.code.gson:gson:2.12.1' + implementation 'org.apache.curator:curator-framework:5.9.0' + runtimeOnly 'org.slf4j:slf4j-simple:1.7.36' + testImplementation 'org.apache.curator:curator-test:5.9.0' +} + +tasks.named('shadowJar') { + mergeServiceFiles() + manifest { + attributes('Agent-Label': 'Apache ZooKeeper', 'Main-Class': 'com.dbx.agent.zookeeper.ZooKeeperAgent') + } +} diff --git a/agents/drivers/zookeeper/src/main/java/com/dbx/agent/zookeeper/ZooKeeperAgent.java b/agents/drivers/zookeeper/src/main/java/com/dbx/agent/zookeeper/ZooKeeperAgent.java new file mode 100644 index 0000000000..45e7534a14 --- /dev/null +++ b/agents/drivers/zookeeper/src/main/java/com/dbx/agent/zookeeper/ZooKeeperAgent.java @@ -0,0 +1,549 @@ +package com.dbx.agent.zookeeper; + +import com.dbx.agent.AgentProtocol; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.nio.ByteBuffer; +import java.nio.charset.CharacterCodingException; +import java.nio.charset.CharsetDecoder; +import java.nio.charset.CodingErrorAction; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Base64; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.TimeUnit; +import org.apache.curator.framework.CuratorFramework; +import org.apache.curator.framework.CuratorFrameworkFactory; +import org.apache.curator.retry.ExponentialBackoffRetry; +import org.apache.zookeeper.KeeperException; +import org.apache.zookeeper.data.Stat; + +public final class ZooKeeperAgent { + private static final Gson GSON = new GsonBuilder().serializeNulls().create(); + private static final int DEFAULT_LIMIT = 100; + private static final int DEFAULT_SESSION_TIMEOUT_MS = 30000; + private static final int DEFAULT_CONNECTION_TIMEOUT_MS = 15000; + private static final int DEFAULT_BASE_SLEEP_TIME_MS = 1000; + private static final int DEFAULT_MAX_RETRIES = 3; + private static final List CAPABILITIES = Collections.unmodifiableList(Arrays.asList( + AgentProtocol.CAPABILITY_CONNECT, + AgentProtocol.CAPABILITY_TEST_CONNECTION, + AgentProtocol.CAPABILITY_KV + )); + private static CuratorFramework client; + + private ZooKeeperAgent() { + } + + private static Object handshakeResult() { + return new HandshakeResult(AgentProtocol.PROTOCOL_VERSION, AgentProtocol.PROTOCOL_VERSION, CAPABILITIES); + } + + private static Object connect(JsonObject params) throws Exception { + JsonObject connection = connectionObject(params); + CuratorFramework nextClient = buildClient(connection); + try { + startAndVerify(nextClient, connection); + closeClient(); + client = nextClient; + return Collections.singletonMap("ok", true); + } catch (Exception e) { + nextClient.close(); + throw e; + } + } + + private static Object testConnection(JsonObject params) throws Exception { + JsonObject connection = connectionObject(params); + CuratorFramework probe = buildClient(connection); + try { + startAndVerify(probe, connection); + return Collections.singletonMap("ok", true); + } finally { + probe.close(); + } + } + + static CuratorFramework buildClient(JsonObject connection) { + if (hasTlsOptions(connection)) { + throw new IllegalArgumentException("ZooKeeper TLS is not supported"); + } + + int baseSleepTimeMs = intOrDefault(connection, "base_sleep_time_ms", DEFAULT_BASE_SLEEP_TIME_MS); + int maxRetries = intOrDefault(connection, "max_retries", DEFAULT_MAX_RETRIES); + CuratorFrameworkFactory.Builder builder = CuratorFrameworkFactory.builder() + .connectString(connectString(connection)) + .sessionTimeoutMs(intOrDefault(connection, "session_timeout_ms", DEFAULT_SESSION_TIMEOUT_MS)) + .connectionTimeoutMs(intOrDefault(connection, "connection_timeout_ms", DEFAULT_CONNECTION_TIMEOUT_MS)) + .retryPolicy(new ExponentialBackoffRetry(baseSleepTimeMs, maxRetries)); + + String namespace = trimSlashes(stringOrEmpty(connection, "namespace")); + if (!namespace.isBlank()) { + builder.namespace(namespace); + } + + String username = stringOrEmpty(connection, "username"); + String password = stringOrEmpty(connection, "password"); + if (!username.isBlank()) { + builder.authorization("digest", (username + ":" + password).getBytes(StandardCharsets.UTF_8)); + } + + return builder.build(); + } + + static String connectString(JsonObject connection) { + String configured = firstNonBlank( + stringOrNull(connection, "zookeeper_connect_string"), + stringOrNull(connection, "connect_string"), + stringOrNull(connection, "connection_string") + ); + if (configured != null) { + return configured; + } + return stringOrDefault(connection, "host", "127.0.0.1") + ":" + + intOrDefault(connection, "port", 2181); + } + + private static void startAndVerify(CuratorFramework active, JsonObject connection) throws Exception { + active.start(); + int timeoutMs = intOrDefault(connection, "connection_timeout_ms", DEFAULT_CONNECTION_TIMEOUT_MS); + if (!active.blockUntilConnected(timeoutMs, TimeUnit.MILLISECONDS)) { + throw new IllegalStateException("Connection timed out"); + } + if (active.checkExists().forPath("/") == null) { + throw new IllegalStateException("Root znode is not readable"); + } + } + + private static Object listPrefix(JsonObject params) throws Exception { + CuratorFramework active = requireClient(); + String root = normalizePath(stringOrDefault(params, "prefix", "/")); + boolean recursive = boolOrDefault(params, "recursive", true); + int limit = Math.max(1, intOrDefault(params, "limit", DEFAULT_LIMIT)); + Cursor cursor = null; + String continuation = stringOrNull(params, "continuation"); + if (continuation != null && !continuation.isBlank()) { + cursor = decodeCursor(continuation); + if (!root.equals(cursor.root) || recursive != cursor.recursive) { + throw new IllegalArgumentException("Continuation does not match request"); + } + } + + Map result = new LinkedHashMap<>(); + List> keys = new ArrayList<>(); + Stat rootStat = active.checkExists().forPath(root); + if (rootStat == null) { + result.put("keys", keys); + result.put("continuation", null); + return result; + } + + List paths = recursive ? listRecursive(active, root) : listDirectChildren(active, root); + paths.removeIf(path -> shouldHideFromRootListing(root, path)); + Collections.sort(paths); + int offset = cursor == null ? 0 : Math.max(0, cursor.offset); + int end = Math.min(paths.size(), offset + limit); + for (int index = offset; index < end; index++) { + Stat stat = active.checkExists().forPath(paths.get(index)); + if (stat == null) { + continue; + } + Map row = new LinkedHashMap<>(); + row.put("key", paths.get(index)); + row.putAll(statMetadata(stat)); + keys.add(row); + } + + result.put("keys", keys); + result.put("continuation", end < paths.size() ? encodeCursor(new Cursor(root, recursive, end)) : null); + return result; + } + + private static Object get(JsonObject params) throws Exception { + CuratorFramework active = requireClient(); + String path = normalizePath(stringOrDefault(params, "key", "")); + Map result = new LinkedHashMap<>(); + Stat exists = active.checkExists().forPath(path); + if (exists == null) { + result.put("found", false); + result.put("key", path); + result.put("value", null); + result.put("metadata", null); + return result; + } + + Stat stat = new Stat(); + byte[] bytes = active.getData().storingStatIn(stat).forPath(path); + result.put("found", true); + result.put("key", path); + result.put("value", valueObject(bytes)); + result.put("metadata", statMetadata(stat)); + return result; + } + + private static Object put(JsonObject params) throws Exception { + CuratorFramework active = requireClient(); + String path = normalizePath(stringOrDefault(params, "key", "")); + requireMutablePath(path, "modified"); + byte[] bytes = parseValue(params.getAsJsonObject("value")); + + Stat stat = active.checkExists().forPath(path); + if (stat == null) { + active.create().creatingParentsIfNeeded().forPath(path, bytes); + stat = active.checkExists().forPath(path); + } else { + stat = active.setData().forPath(path, bytes); + } + + Map result = new LinkedHashMap<>(); + result.put("version", stat.getVersion()); + result.put("mtime", stat.getMtime()); + return result; + } + + private static Object delete(JsonObject params) throws Exception { + CuratorFramework active = requireClient(); + String path = normalizePath(stringOrDefault(params, "key", "")); + requireMutablePath(path, "deleted"); + boolean recursive = boolOrDefault(params, "recursive", false); + int deleted; + try { + if (active.checkExists().forPath(path) == null) { + deleted = 0; + } else if (recursive) { + deleted = countSubtree(active, path); + active.delete().deletingChildrenIfNeeded().forPath(path); + } else { + active.delete().forPath(path); + deleted = 1; + } + } catch (KeeperException.NoNodeException e) { + deleted = 0; + } + return Collections.singletonMap("deleted", deleted); + } + + private static Object dispatch(String method, JsonObject params) throws Exception { + return switch (method) { + case AgentProtocol.METHOD_HANDSHAKE -> handshakeResult(); + case AgentProtocol.METHOD_CONNECT -> connect(params); + case AgentProtocol.METHOD_TEST_CONNECTION -> testConnection(params); + case AgentProtocol.KV_METHOD_LIST_PREFIX -> listPrefix(params); + case AgentProtocol.KV_METHOD_GET -> get(params); + case AgentProtocol.KV_METHOD_PUT -> put(params); + case AgentProtocol.KV_METHOD_DELETE -> delete(params); + case AgentProtocol.METHOD_DISCONNECT -> { + closeClient(); + yield Collections.singletonMap("ok", true); + } + case AgentProtocol.METHOD_SHUTDOWN -> { + closeClient(); + System.exit(0); + yield Collections.singletonMap("ok", true); + } + default -> throw new IllegalArgumentException("Unknown method: " + method); + }; + } + + static String handleRequest(String line) { + JsonObject req = JsonParser.parseString(line).getAsJsonObject(); + JsonElement id = req.get("id"); + String method = req.get("method").getAsString(); + JsonObject params = req.has("params") && req.get("params").isJsonObject() + ? req.getAsJsonObject("params") + : new JsonObject(); + + JsonObject response = new JsonObject(); + response.addProperty("jsonrpc", "2.0"); + response.add("id", id); + + try { + Object result = dispatch(method, params); + response.add("result", GSON.toJsonTree(result)); + } catch (Exception e) { + JsonObject error = new JsonObject(); + error.addProperty("code", -1); + error.addProperty("message", e.getMessage() == null ? "Unknown error" : e.getMessage()); + response.add("error", error); + } + + return GSON.toJson(response); + } + + private static JsonObject connectionObject(JsonObject params) { + JsonElement connection = params.get("connection"); + return connection != null && connection.isJsonObject() ? connection.getAsJsonObject() : params; + } + + private static CuratorFramework requireClient() { + if (client == null) { + throw new IllegalStateException("Not connected"); + } + return client; + } + + private static void closeClient() { + if (client != null) { + client.close(); + client = null; + } + } + + static String normalizePath(String path) { + String normalized = path == null ? "" : path; + if (normalized.isEmpty() || "/".equals(normalized)) { + return "/"; + } + if (!normalized.startsWith("/")) { + normalized = "/" + normalized; + } + while (normalized.length() > 1 && normalized.endsWith("/")) { + normalized = normalized.substring(0, normalized.length() - 1); + } + return normalized; + } + + private static String childPath(String parent, String child) { + return "/".equals(parent) ? "/" + child : parent + "/" + child; + } + + private static void requireMutablePath(String path, String action) { + if ("/".equals(path)) { + throw new IllegalArgumentException("Root znode cannot be " + action); + } + } + + private static Map statMetadata(Stat stat) { + Map metadata = new LinkedHashMap<>(); + long czxid = stat.getCzxid(); + long mzxid = stat.getMzxid(); + int dataLength = stat.getDataLength(); + metadata.put("czxid", czxid); + metadata.put("mzxid", mzxid); + metadata.put("ctime", stat.getCtime()); + metadata.put("mtime", stat.getMtime()); + metadata.put("version", stat.getVersion()); + metadata.put("cversion", stat.getCversion()); + metadata.put("aversion", stat.getAversion()); + metadata.put("ephemeralOwner", stat.getEphemeralOwner()); + metadata.put("dataLength", dataLength); + metadata.put("numChildren", stat.getNumChildren()); + metadata.put("createRevision", czxid); + metadata.put("modRevision", mzxid); + metadata.put("valueSize", dataLength); + return metadata; + } + + private static Map valueObject(byte[] bytes) { + Map value = new LinkedHashMap<>(); + String utf8 = strictUtf8(bytes); + if (utf8 != null) { + value.put("encoding", "utf8"); + value.put("data", utf8); + } else { + value.put("encoding", "base64"); + value.put("data", Base64.getEncoder().encodeToString(bytes)); + } + return value; + } + + private static byte[] parseValue(JsonObject value) { + if (value == null) { + return new byte[0]; + } + String encoding = stringOrDefault(value, "encoding", "utf8"); + String data = stringOrDefault(value, "data", ""); + if ("base64".equals(encoding)) { + return Base64.getDecoder().decode(data); + } + if (!"utf8".equals(encoding)) { + throw new IllegalArgumentException("Unsupported value encoding: " + encoding); + } + return data.getBytes(StandardCharsets.UTF_8); + } + + private static String strictUtf8(byte[] bytes) { + CharsetDecoder decoder = StandardCharsets.UTF_8.newDecoder() + .onMalformedInput(CodingErrorAction.REPORT) + .onUnmappableCharacter(CodingErrorAction.REPORT); + try { + return decoder.decode(ByteBuffer.wrap(bytes)).toString(); + } catch (CharacterCodingException e) { + return null; + } + } + + private static String encodeCursor(Cursor cursor) { + JsonObject object = new JsonObject(); + object.addProperty("root", cursor.root); + object.addProperty("recursive", cursor.recursive); + object.addProperty("offset", cursor.offset); + return Base64.getEncoder().encodeToString(GSON.toJson(object).getBytes(StandardCharsets.UTF_8)); + } + + private static Cursor decodeCursor(String continuation) { + String json = new String(Base64.getDecoder().decode(continuation), StandardCharsets.UTF_8); + JsonObject object = JsonParser.parseString(json).getAsJsonObject(); + return new Cursor( + object.get("root").getAsString(), + object.get("recursive").getAsBoolean(), + object.get("offset").getAsInt() + ); + } + + private static List listDirectChildren(CuratorFramework active, String root) throws Exception { + List paths = new ArrayList<>(); + List children = new ArrayList<>(active.getChildren().forPath(root)); + Collections.sort(children); + for (String child : children) { + paths.add(childPath(root, child)); + } + return paths; + } + + private static List listRecursive(CuratorFramework active, String root) throws Exception { + List result = new ArrayList<>(); + collectRecursive(active, root, result); + return result; + } + + private static void collectRecursive(CuratorFramework active, String path, List result) throws Exception { + List children; + try { + children = new ArrayList<>(active.getChildren().forPath(path)); + } catch (KeeperException.NoNodeException e) { + return; + } + Collections.sort(children); + for (String child : children) { + String childPath = childPath(path, child); + result.add(childPath); + collectRecursive(active, childPath, result); + } + } + + private static int countSubtree(CuratorFramework active, String path) throws Exception { + try { + if (active.checkExists().forPath(path) == null) { + return 0; + } + int count = 1; + for (String child : active.getChildren().forPath(path)) { + count += countSubtree(active, childPath(path, child)); + } + return count; + } catch (KeeperException.NoNodeException e) { + return 0; + } + } + + private static boolean shouldHideFromRootListing(String root, String path) { + return "/".equals(root) && ("/zookeeper".equals(path) || path.startsWith("/zookeeper/")); + } + + private static boolean hasTlsOptions(JsonObject connection) { + return boolOrDefault(connection, "ssl", false) + || firstNonBlank( + stringOrNull(connection, "ca_cert_path"), + stringOrNull(connection, "client_cert_path"), + stringOrNull(connection, "client_key_path"), + stringOrNull(connection, "cert_path"), + stringOrNull(connection, "key_path") + ) != null; + } + + private static String trimSlashes(String value) { + String trimmed = value.trim(); + while (trimmed.startsWith("/")) { + trimmed = trimmed.substring(1); + } + while (trimmed.endsWith("/")) { + trimmed = trimmed.substring(0, trimmed.length() - 1); + } + return trimmed; + } + + private static String stringOrNull(JsonObject object, String key) { + JsonElement element = object.get(key); + return element == null || element.isJsonNull() ? null : element.getAsString(); + } + + private static String stringOrEmpty(JsonObject object, String key) { + return stringOrDefault(object, key, ""); + } + + private static String stringOrDefault(JsonObject object, String key, String fallback) { + String value = stringOrNull(object, key); + return value == null ? fallback : value; + } + + private static int intOrDefault(JsonObject object, String key, int fallback) { + JsonElement element = object.get(key); + return element == null || element.isJsonNull() ? fallback : element.getAsInt(); + } + + private static boolean boolOrDefault(JsonObject object, String key, boolean fallback) { + JsonElement element = object.get(key); + return element == null || element.isJsonNull() ? fallback : element.getAsBoolean(); + } + + private static String firstNonBlank(String... values) { + for (String value : values) { + if (value != null && !value.isBlank()) { + return value; + } + } + return null; + } + + public static void main(String[] args) throws Exception { + // Entry point for the standalone DBX agent process. + System.setProperty("org.slf4j.simpleLogger.logFile", "System.err"); + System.out.println("{\"ready\":true}"); + System.out.flush(); + + BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); + while (true) { + String line = reader.readLine(); + if (line == null) { + break; + } + + System.out.println(handleRequest(line)); + System.out.flush(); + } + } + + private static final class Cursor { + private final String root; + private final boolean recursive; + private final int offset; + + private Cursor(String root, boolean recursive, int offset) { + this.root = root; + this.recursive = recursive; + this.offset = offset; + } + } + + private static final class HandshakeResult { + private final int protocolVersion; + private final int agentProtocolVersion; + private final List capabilities; + + private HandshakeResult(int protocolVersion, int agentProtocolVersion, List capabilities) { + this.protocolVersion = protocolVersion; + this.agentProtocolVersion = agentProtocolVersion; + this.capabilities = capabilities; + } + } +} diff --git a/agents/drivers/zookeeper/src/test/java/com/dbx/agent/zookeeper/ZooKeeperAgentTest.java b/agents/drivers/zookeeper/src/test/java/com/dbx/agent/zookeeper/ZooKeeperAgentTest.java new file mode 100644 index 0000000000..d14aac9110 --- /dev/null +++ b/agents/drivers/zookeeper/src/test/java/com/dbx/agent/zookeeper/ZooKeeperAgentTest.java @@ -0,0 +1,396 @@ +package com.dbx.agent.zookeeper; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import java.util.ArrayList; +import java.util.List; +import org.apache.curator.test.TestingServer; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +final class ZooKeeperAgentTest { + @AfterEach + void disconnect() { + ZooKeeperAgent.handleRequest("{\"jsonrpc\":\"2.0\",\"id\":999,\"method\":\"disconnect\",\"params\":{}}"); + } + + @Test + void handshakeAdvertisesKvCapability() { + String response = ZooKeeperAgent.handleRequest( + "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"handshake\",\"params\":{}}" + ); + + JsonObject result = JsonParser.parseString(response).getAsJsonObject().getAsJsonObject("result"); + + Assertions.assertEquals(1, result.get("protocolVersion").getAsInt()); + Assertions.assertTrue(result.getAsJsonArray("capabilities").contains(JsonParser.parseString("\"kv\""))); + Assertions.assertTrue(result.getAsJsonArray("capabilities").contains(JsonParser.parseString("\"connect\""))); + Assertions.assertTrue(result.getAsJsonArray("capabilities").contains(JsonParser.parseString("\"test_connection\""))); + } + + @Test + void kvMethodDispatchReturnsJsonRpcErrorWhenDisconnected() { + String response = ZooKeeperAgent.handleRequest( + "{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"kv_get\",\"params\":{\"key\":\"/app/name\"}}" + ); + + JsonObject error = JsonParser.parseString(response).getAsJsonObject().getAsJsonObject("error"); + + Assertions.assertEquals(-1, error.get("code").getAsInt()); + Assertions.assertEquals("Not connected", error.get("message").getAsString()); + } + + @Test + void unknownMethodReturnsJsonRpcError() { + String response = ZooKeeperAgent.handleRequest( + "{\"jsonrpc\":\"2.0\",\"id\":3,\"method\":\"missing_method\",\"params\":{}}" + ); + + JsonObject error = JsonParser.parseString(response).getAsJsonObject().getAsJsonObject("error"); + + Assertions.assertEquals(-1, error.get("code").getAsInt()); + Assertions.assertEquals("Unknown method: missing_method", error.get("message").getAsString()); + } + + @Test + void connectStringUsesConfiguredValuesAndHostPortFallback() { + Assertions.assertEquals( + "zk-1:2181,zk-2:2181", + ZooKeeperAgent.connectString( + JsonParser.parseString("{\"connect_string\":\"zk-1:2181,zk-2:2181\"}").getAsJsonObject() + ) + ); + Assertions.assertEquals( + "zk-main:2181", + ZooKeeperAgent.connectString( + JsonParser.parseString("{\"zookeeper_connect_string\":\"zk-main:2181\"}").getAsJsonObject() + ) + ); + Assertions.assertEquals( + "127.0.0.1:2181", + ZooKeeperAgent.connectString(JsonParser.parseString("{}").getAsJsonObject()) + ); + Assertions.assertEquals( + "zk.local:2281", + ZooKeeperAgent.connectString(JsonParser.parseString("{\"host\":\"zk.local\",\"port\":2281}").getAsJsonObject()) + ); + } + + @Test + void buildClientRejectsTlsOptionsUntilTlsIsSupported() { + JsonObject connection = JsonParser.parseString( + "{\"ssl\":true,\"ca_cert_path\":\"ca.pem\",\"client_cert_path\":\"client.pem\",\"client_key_path\":\"client.key\"}" + ).getAsJsonObject(); + + IllegalArgumentException error = Assertions.assertThrows( + IllegalArgumentException.class, + () -> ZooKeeperAgent.buildClient(connection) + ); + + Assertions.assertEquals("ZooKeeper TLS is not supported", error.getMessage()); + } + + @Test + void normalizePathStandardizesPublicPaths() { + Assertions.assertEquals("/", ZooKeeperAgent.normalizePath("")); + Assertions.assertEquals("/", ZooKeeperAgent.normalizePath("/")); + Assertions.assertEquals("/app", ZooKeeperAgent.normalizePath("app")); + Assertions.assertEquals("/app", ZooKeeperAgent.normalizePath("/app/")); + Assertions.assertEquals("/app/name", ZooKeeperAgent.normalizePath("/app/name")); + } + + @Test + void connectAndTestConnectionWorkAgainstTestingServer() throws Exception { + try (TestingServer server = new TestingServer()) { + JsonObject connect = result(request( + 1, + "connect", + "{\"connection\":{\"connect_string\":\"" + server.getConnectString() + "\"}}" + )); + Assertions.assertTrue(connect.get("ok").getAsBoolean()); + + JsonObject test = result(request( + 2, + "test_connection", + "{\"connection\":{\"connect_string\":\"" + server.getConnectString() + "\"}}" + )); + Assertions.assertTrue(test.get("ok").getAsBoolean()); + } + } + + @Test + void testConnectionDoesNotReplaceActiveClient() throws Exception { + try (TestingServer active = new TestingServer(); TestingServer probe = new TestingServer()) { + result(request(1, "connect", "{\"connection\":{\"connect_string\":\"" + active.getConnectString() + "\"}}")); + result(request( + 2, + "kv_put", + "{\"key\":\"/active\",\"value\":{\"encoding\":\"utf8\",\"data\":\"still-here\"}}" + )); + + result(request(3, "test_connection", "{\"connection\":{\"connect_string\":\"" + probe.getConnectString() + "\"}}")); + + JsonObject get = result(request(4, "kv_get", "{\"key\":\"/active\"}")); + Assertions.assertTrue(get.get("found").getAsBoolean()); + Assertions.assertEquals("still-here", get.getAsJsonObject("value").get("data").getAsString()); + } + } + + @Test + void kvPutCreatesMissingParentsAndGetReadsUtf8Value() throws Exception { + try (TestingServer server = new TestingServer()) { + connect(server); + + JsonObject put = result(request( + 2, + "kv_put", + "{\"key\":\"/app/name\",\"value\":{\"encoding\":\"utf8\",\"data\":\"dbx\"}}" + )); + Assertions.assertTrue(put.has("version")); + + JsonObject get = result(request(3, "kv_get", "{\"key\":\"/app/name\"}")); + + Assertions.assertTrue(get.get("found").getAsBoolean()); + Assertions.assertEquals("utf8", get.getAsJsonObject("value").get("encoding").getAsString()); + Assertions.assertEquals("dbx", get.getAsJsonObject("value").get("data").getAsString()); + JsonObject metadata = get.getAsJsonObject("metadata"); + Assertions.assertEquals(0, metadata.get("numChildren").getAsInt()); + Assertions.assertEquals(metadata.get("czxid").getAsLong(), metadata.get("createRevision").getAsLong()); + Assertions.assertEquals(metadata.get("mzxid").getAsLong(), metadata.get("modRevision").getAsLong()); + Assertions.assertEquals(metadata.get("dataLength").getAsInt(), metadata.get("valueSize").getAsInt()); + } + } + + @Test + void kvPutUpdatesExistingZnode() throws Exception { + try (TestingServer server = new TestingServer()) { + connect(server); + + result(request(2, "kv_put", "{\"key\":\"/app/name\",\"value\":{\"encoding\":\"utf8\",\"data\":\"dbx\"}}")); + result(request( + 3, + "kv_put", + "{\"key\":\"/app/name\",\"value\":{\"encoding\":\"utf8\",\"data\":\"dbx-updated\"}}" + )); + + JsonObject value = result(request(4, "kv_get", "{\"key\":\"/app/name\"}")).getAsJsonObject("value"); + Assertions.assertEquals("dbx-updated", value.get("data").getAsString()); + } + } + + @Test + void kvGetReturnsBase64ForBinaryData() throws Exception { + try (TestingServer server = new TestingServer()) { + connect(server); + + result(request(2, "kv_put", "{\"key\":\"/bin\",\"value\":{\"encoding\":\"base64\",\"data\":\"/wAB\"}}")); + + JsonObject value = result(request(3, "kv_get", "{\"key\":\"/bin\"}")).getAsJsonObject("value"); + Assertions.assertEquals("base64", value.get("encoding").getAsString()); + Assertions.assertEquals("/wAB", value.get("data").getAsString()); + } + } + + @Test + void kvPutRejectsRootZnode() throws Exception { + try (TestingServer server = new TestingServer()) { + connect(server); + + JsonObject error = error(request( + 2, + "kv_put", + "{\"key\":\"/\",\"value\":{\"encoding\":\"utf8\",\"data\":\"dbx\"}}" + )); + + Assertions.assertEquals("Root znode cannot be modified", error.get("message").getAsString()); + } + } + + @Test + void kvDeleteReturnsZeroForMissingZnode() throws Exception { + try (TestingServer server = new TestingServer()) { + connect(server); + + JsonObject delete = result(request(4, "kv_delete", "{\"key\":\"/missing\"}")); + + Assertions.assertEquals(0, delete.get("deleted").getAsInt()); + } + } + + @Test + void kvDeleteRemovesLeafZnode() throws Exception { + try (TestingServer server = new TestingServer()) { + connect(server); + result(request(2, "kv_put", "{\"key\":\"/leaf\",\"value\":{\"encoding\":\"utf8\",\"data\":\"dbx\"}}")); + + JsonObject delete = result(request(3, "kv_delete", "{\"key\":\"/leaf\"}")); + JsonObject get = result(request(4, "kv_get", "{\"key\":\"/leaf\"}")); + + Assertions.assertEquals(1, delete.get("deleted").getAsInt()); + Assertions.assertFalse(get.get("found").getAsBoolean()); + } + } + + @Test + void kvDeleteRejectsNonRecursiveDeleteOfNonEmptyZnode() throws Exception { + try (TestingServer server = new TestingServer()) { + connect(server); + result(request(2, "kv_put", "{\"key\":\"/app/name\",\"value\":{\"encoding\":\"utf8\",\"data\":\"dbx\"}}")); + + JsonObject error = error(request(3, "kv_delete", "{\"key\":\"/app\"}")); + + Assertions.assertTrue(error.get("message").getAsString().contains("not empty")); + } + } + + @Test + void kvDeleteRecursiveDeletesFullSubtreeAndCountsZnodes() throws Exception { + try (TestingServer server = new TestingServer()) { + connect(server); + result(request(2, "kv_put", "{\"key\":\"/app/name\",\"value\":{\"encoding\":\"utf8\",\"data\":\"dbx\"}}")); + result(request(3, "kv_put", "{\"key\":\"/app/config\",\"value\":{\"encoding\":\"utf8\",\"data\":\"cfg\"}}")); + + JsonObject delete = result(request(4, "kv_delete", "{\"key\":\"/app\",\"recursive\":true}")); + JsonObject get = result(request(5, "kv_get", "{\"key\":\"/app/name\"}")); + + Assertions.assertEquals(3, delete.get("deleted").getAsInt()); + Assertions.assertFalse(get.get("found").getAsBoolean()); + } + } + + @Test + void kvDeleteRejectsRootZnode() throws Exception { + try (TestingServer server = new TestingServer()) { + connect(server); + + JsonObject error = error(request(2, "kv_delete", "{\"key\":\"/\",\"recursive\":true}")); + + Assertions.assertEquals("Root znode cannot be deleted", error.get("message").getAsString()); + } + } + + @Test + void listPrefixListsDirectChildrenOfRootWhenRecursiveIsFalse() throws Exception { + try (TestingServer server = new TestingServer()) { + connect(server); + result(request(2, "kv_put", "{\"key\":\"/app/name\",\"value\":{\"encoding\":\"utf8\",\"data\":\"dbx\"}}")); + result(request(3, "kv_put", "{\"key\":\"/config\",\"value\":{\"encoding\":\"utf8\",\"data\":\"cfg\"}}")); + + JsonObject list = result(request(5, "kv_list_prefix", "{\"prefix\":\"/\",\"recursive\":false}")); + + Assertions.assertEquals(List.of("/app", "/config"), listedKeys(list)); + Assertions.assertTrue(list.get("continuation").isJsonNull()); + } + } + + @Test + void listPrefixDefaultsToRecursiveForDbxKvBrowser() throws Exception { + try (TestingServer server = new TestingServer()) { + connect(server); + result(request(2, "kv_put", "{\"key\":\"/app/name\",\"value\":{\"encoding\":\"utf8\",\"data\":\"dbx\"}}")); + result(request(3, "kv_put", "{\"key\":\"/config\",\"value\":{\"encoding\":\"utf8\",\"data\":\"cfg\"}}")); + + JsonObject list = result(request(5, "kv_list_prefix", "{\"prefix\":\"/\"}")); + + Assertions.assertEquals(List.of("/app", "/app/name", "/config"), listedKeys(list)); + Assertions.assertTrue(list.get("continuation").isJsonNull()); + } + } + + @Test + void listPrefixListsRecursiveDescendantsOfRoot() throws Exception { + try (TestingServer server = new TestingServer()) { + connect(server); + result(request(2, "kv_put", "{\"key\":\"/app/name\",\"value\":{\"encoding\":\"utf8\",\"data\":\"dbx\"}}")); + result(request(3, "kv_put", "{\"key\":\"/config\",\"value\":{\"encoding\":\"utf8\",\"data\":\"cfg\"}}")); + + JsonObject list = result(request(6, "kv_list_prefix", "{\"prefix\":\"/\",\"recursive\":true}")); + + Assertions.assertEquals(List.of("/app", "/app/name", "/config"), listedKeys(list)); + } + } + + @Test + void listPrefixReturnsEmptyResultForMissingPrefix() throws Exception { + try (TestingServer server = new TestingServer()) { + connect(server); + + JsonObject list = result(request(7, "kv_list_prefix", "{\"prefix\":\"/missing\"}")); + + Assertions.assertEquals(List.of(), listedKeys(list)); + Assertions.assertTrue(list.get("continuation").isJsonNull()); + } + } + + @Test + void listPrefixPaginatesBySortedPath() throws Exception { + try (TestingServer server = new TestingServer()) { + connect(server); + result(request(2, "kv_put", "{\"key\":\"/c\",\"value\":{\"encoding\":\"utf8\",\"data\":\"c\"}}")); + result(request(3, "kv_put", "{\"key\":\"/a\",\"value\":{\"encoding\":\"utf8\",\"data\":\"a\"}}")); + result(request(4, "kv_put", "{\"key\":\"/b\",\"value\":{\"encoding\":\"utf8\",\"data\":\"b\"}}")); + + JsonObject first = result(request(5, "kv_list_prefix", "{\"prefix\":\"/\",\"limit\":2}")); + String continuation = first.get("continuation").getAsString(); + JsonObject second = result(request( + 6, + "kv_list_prefix", + "{\"prefix\":\"/\",\"limit\":2,\"continuation\":\"" + continuation + "\"}" + )); + + Assertions.assertEquals(List.of("/a", "/b"), listedKeys(first)); + Assertions.assertFalse(continuation.isBlank()); + Assertions.assertEquals(List.of("/c"), listedKeys(second)); + Assertions.assertTrue(second.get("continuation").isJsonNull()); + } + } + + @Test + void listPrefixRejectsContinuationForDifferentRequest() throws Exception { + try (TestingServer server = new TestingServer()) { + connect(server); + result(request(2, "kv_put", "{\"key\":\"/app/a\",\"value\":{\"encoding\":\"utf8\",\"data\":\"a\"}}")); + result(request(3, "kv_put", "{\"key\":\"/app/b\",\"value\":{\"encoding\":\"utf8\",\"data\":\"b\"}}")); + + JsonObject first = result(request(4, "kv_list_prefix", "{\"prefix\":\"/app\",\"limit\":1}")); + String continuation = first.get("continuation").getAsString(); + JsonObject error = error(request( + 5, + "kv_list_prefix", + "{\"prefix\":\"/\",\"limit\":1,\"continuation\":\"" + continuation + "\"}" + )); + + Assertions.assertEquals("Continuation does not match request", error.get("message").getAsString()); + } + } + + private static JsonObject connect(TestingServer server) { + return result(request(1, "connect", "{\"connection\":{\"connect_string\":\"" + server.getConnectString() + "\"}}")); + } + + private static String request(int id, String method, String params) { + return ZooKeeperAgent.handleRequest( + "{\"jsonrpc\":\"2.0\",\"id\":" + id + ",\"method\":\"" + method + "\",\"params\":" + params + "}" + ); + } + + private static JsonObject result(String response) { + return JsonParser.parseString(response).getAsJsonObject().getAsJsonObject("result"); + } + + private static JsonObject error(String response) { + return JsonParser.parseString(response).getAsJsonObject().getAsJsonObject("error"); + } + + private static List listedKeys(JsonObject listResult) { + List keys = new ArrayList<>(); + JsonArray rows = listResult.getAsJsonArray("keys"); + for (JsonElement row : rows) { + keys.add(row.getAsJsonObject().get("key").getAsString()); + } + return keys; + } +} diff --git a/agents/gradle/wrapper/gradle-wrapper.jar b/agents/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..b1b8ef56b44f16b14dc800fa8103a6d89abb526f GIT binary patch literal 48462 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 R2np~f1o-$>Q}y+){|A@R9n$~+ literal 0 HcmV?d00001 diff --git a/agents/gradle/wrapper/gradle-wrapper.properties b/agents/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000000..b52fb7e713 --- /dev/null +++ b/agents/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,9 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.0-bin.zip +networkTimeout=10000 +retries=0 +retryBackOffMs=500 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/agents/gradlew b/agents/gradlew new file mode 100755 index 0000000000..b9bb139f79 --- /dev/null +++ b/agents/gradlew @@ -0,0 +1,248 @@ +#!/bin/sh + +# +# Copyright © 2015 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/3d91ce3b8caaf77ad09f381f43615b715b53f72c/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/agents/gradlew.bat b/agents/gradlew.bat new file mode 100644 index 0000000000..aa5f10b069 --- /dev/null +++ b/agents/gradlew.bat @@ -0,0 +1,82 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables, and ensure extensions are enabled +setlocal EnableExtensions + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +"%COMSPEC%" /c exit 1 + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +"%COMSPEC%" /c exit 1 + +:execute +@rem Setup the command line + + + +@rem Execute Gradle +@rem endlocal doesn't take effect until after the line is parsed and variables are expanded +@rem which allows us to clear the local environment before executing the java command +endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel + +:exitWithErrorLevel +@rem Use "%COMSPEC%" /c exit to allow operators to work properly in scripts +"%COMSPEC%" /c exit %ERRORLEVEL% diff --git a/agents/opengauss/build.gradle b/agents/opengauss/build.gradle new file mode 100644 index 0000000000..b8b3af713b --- /dev/null +++ b/agents/opengauss/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'org.opengauss:opengauss-jdbc:7.0.0-RC3-og' +} + +tasks.named('shadowJar') { + manifest { + attributes('Agent-Label': 'openGauss', 'Main-Class': 'com.dbx.agent.opengauss.OpenGaussAgent') + } +} diff --git a/agents/opengauss/src/main/java/com/dbx/agent/opengauss/OpenGaussAgent.java b/agents/opengauss/src/main/java/com/dbx/agent/opengauss/OpenGaussAgent.java new file mode 100644 index 0000000000..985b964c3c --- /dev/null +++ b/agents/opengauss/src/main/java/com/dbx/agent/opengauss/OpenGaussAgent.java @@ -0,0 +1,20 @@ +package com.dbx.agent.opengauss; + +import com.dbx.agent.JsonRpcServer; +import com.dbx.agent.PostgresLikeAgent; +import com.dbx.agent.PostgresLikeAgentProfile; + +public final class OpenGaussAgent extends PostgresLikeAgent { + public static final PostgresLikeAgentProfile OPENGAUSS_PROFILE = new PostgresLikeAgentProfile( + "org.opengauss.Driver", + "jdbc:opengauss://{host}:{port}/{database}" + ); + + public OpenGaussAgent() { + super(OPENGAUSS_PROFILE); + } + + public static void main(String[] args) { + new JsonRpcServer(new OpenGaussAgent()).run(); + } +} diff --git a/agents/opengauss/src/test/java/com/dbx/agent/opengauss/OpenGaussAgentTest.java b/agents/opengauss/src/test/java/com/dbx/agent/opengauss/OpenGaussAgentTest.java new file mode 100644 index 0000000000..8b8452d873 --- /dev/null +++ b/agents/opengauss/src/test/java/com/dbx/agent/opengauss/OpenGaussAgentTest.java @@ -0,0 +1,21 @@ +package com.dbx.agent.opengauss; + +import com.dbx.agent.ConnectParams; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class OpenGaussAgentTest { + @Test + void buildsOpenGaussUrl() { + ConnectParams params = new ConnectParams(); + params.setHost("db.example.com"); + params.setPort(15432); + params.setDatabase("postgres"); + + assertEquals( + "jdbc:opengauss://db.example.com:15432/postgres", + OpenGaussAgent.OPENGAUSS_PROFILE.buildUrl(params) + ); + } +} diff --git a/agents/scripts/build_offline_zip.sh b/agents/scripts/build_offline_zip.sh new file mode 100755 index 0000000000..90393240dc --- /dev/null +++ b/agents/scripts/build_offline_zip.sh @@ -0,0 +1,64 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Build offline ZIP bundles for each platform. +# Usage: ./scripts/build_offline_zip.sh +# The release-dir must contain agent-registry.json, dbx-agent-*.jar, and dbx-jre-*.tar.gz + +RELEASE_DIR="$(cd "${1:?Usage: build_offline_zip.sh }" && pwd)" + +if [ ! -f "$RELEASE_DIR/agent-registry.json" ]; then + echo "ERROR: agent-registry.json not found in $RELEASE_DIR" + exit 1 +fi + +PLATFORMS=( + "macos-aarch64" + "macos-x64" + "linux-x64" + "linux-aarch64" + "windows-x64" + "windows-aarch64" +) + +STAGING=$(mktemp -d) +trap 'rm -rf "$STAGING"' EXIT + +for platform in "${PLATFORMS[@]}"; do + WORK="$STAGING/$platform" + mkdir -p "$WORK/jre" "$WORK/drivers" + + cp "$RELEASE_DIR/agent-registry.json" "$WORK/" + + # Copy all JRE archives for this platform + JRE_COUNT=0 + for jre_file in "$RELEASE_DIR"/dbx-jre-*-"$platform".tar.gz; do + [ -f "$jre_file" ] || continue + cp "$jre_file" "$WORK/jre/" + JRE_COUNT=$((JRE_COUNT + 1)) + done + + if [ "$JRE_COUNT" -eq 0 ]; then + echo "SKIP $platform (no JRE found)" + rm -rf "$WORK" + continue + fi + + # Copy all driver JARs (platform-independent) + for jar_file in "$RELEASE_DIR"/dbx-agent-*.jar; do + [ -f "$jar_file" ] || continue + cp "$jar_file" "$WORK/drivers/" + done + + for native_file in "$RELEASE_DIR"/dbx-agent-*-"$platform" "$RELEASE_DIR"/dbx-agent-*-"$platform".exe; do + [ -f "$native_file" ] || continue + cp "$native_file" "$WORK/drivers/" + done + + ZIP_NAME="dbx-agents-offline-${platform}.zip" + (cd "$WORK" && zip -r "$RELEASE_DIR/$ZIP_NAME" agent-registry.json jre/ drivers/) + SIZE=$(du -h "$RELEASE_DIR/$ZIP_NAME" | cut -f1) + echo "Created $ZIP_NAME ($SIZE)" +done + +echo "Done." diff --git a/agents/scripts/release.sh b/agents/scripts/release.sh new file mode 100755 index 0000000000..5885068229 --- /dev/null +++ b/agents/scripts/release.sh @@ -0,0 +1,60 @@ +#!/usr/bin/env bash +set -euo pipefail + +# 自动打 tag 并推送触发发布 +# 用法: +# ./scripts/release.sh # 自动递增 patch 版本 +# ./scripts/release.sh minor # 递增 minor 版本 +# ./scripts/release.sh major # 递增 major 版本 +# ./scripts/release.sh agents-v0.3.0 # 手动指定版本号 + +BUMP="${1:-patch}" + +# 获取最新的 agents-v 开头的 tag +latest_tag=$(git tag --sort=-v:refname | grep '^agents-v' | head -1) + +if [ -z "$latest_tag" ]; then + echo "未找到任何 Agent 版本 tag,从 agents-v0.1.0 开始" + latest_tag="agents-v0.0.0" +fi + +echo "当前最新 tag: $latest_tag" + +# 去掉 agents-v 前缀 +version="${latest_tag#agents-v}" +IFS='.' read -r major minor patch <<< "$version" + +# 计算新版本号 +case "$BUMP" in + major) + new_tag="agents-v$((major + 1)).0.0" + ;; + minor) + new_tag="agents-v${major}.$((minor + 1)).0" + ;; + patch) + new_tag="agents-v${major}.${minor}.$((patch + 1))" + ;; + agents-v*) + new_tag="$BUMP" + ;; + *) + echo "错误: 未知的版本递增方式 '$BUMP',请使用 patch/minor/major 或 agents-vX.Y.Z" + exit 1 + ;; +esac + +echo "新版本: $new_tag" + +# 确认 +read -r -p "确认创建并推送 tag ${new_tag}? [y/N] " confirm +if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then + echo "已取消" + exit 0 +fi + +# 创建并推送 tag +git tag "$new_tag" +git push origin "$new_tag" + +echo "完成! tag $new_tag 已推送,CI 将自动触发发布流程。" diff --git a/agents/scripts/validate_agent_jars.py b/agents/scripts/validate_agent_jars.py new file mode 100644 index 0000000000..a51e3295ac --- /dev/null +++ b/agents/scripts/validate_agent_jars.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python3 +import sys +import zipfile +from email.parser import Parser +from pathlib import Path + + +def agent_modules(root: Path) -> list[str]: + return sorted( + path.parents[2].name + for path in list(root.glob("*/build/libs/dbx-agent-*.jar")) + + list(root.glob("drivers/*/build/libs/dbx-agent-*.jar")) + if path.is_file() + ) + + +def module_dir(root: Path, module: str) -> Path: + nested = root / "drivers" / module + if nested.exists(): + return nested + return root / module + + +def validate_agent_jars(root: Path) -> list[str]: + problems: list[str] = [] + for module in agent_modules(root): + jar = module_dir(root, module) / "build/libs" / f"dbx-agent-{module}.jar" + relative = jar.relative_to(root) + try: + with zipfile.ZipFile(jar) as archive: + manifest = read_manifest(archive) + main_class = manifest.get("Main-Class") + if not main_class: + problems.append(f"{relative}: missing Main-Class manifest attribute") + continue + class_entry = main_class.replace(".", "/") + ".class" + if class_entry not in archive.namelist(): + problems.append(f"{relative}: Main-Class class not found: {class_entry}") + if not manifest.get("Agent-Label"): + problems.append(f"{relative}: missing Agent-Label manifest attribute") + except zipfile.BadZipFile: + problems.append(f"{relative}: invalid jar") + return problems + + +def read_manifest(archive: zipfile.ZipFile) -> dict[str, str]: + try: + raw = archive.read("META-INF/MANIFEST.MF").decode("utf-8") + except KeyError: + return {} + return dict(Parser().parsestr(raw)) + + +def main() -> int: + root = Path.cwd() + problems = validate_agent_jars(root) + if problems: + print("Agent jar validation failed:") + for problem in problems: + print(f"- {problem}") + return 1 + + print("Agent jar validation passed") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/agents/scripts/validate_agents.py b/agents/scripts/validate_agents.py new file mode 100644 index 0000000000..8d2398dcd4 --- /dev/null +++ b/agents/scripts/validate_agents.py @@ -0,0 +1,298 @@ +#!/usr/bin/env python3 +import json +import re +import sys +from pathlib import Path +from typing import Optional + + +INFRA_MODULES = {"common", "test-support"} +SOURCE_GLOBS = ("*/src/main/**/*.java", "drivers/*/src/main/**/*.java") +KOTLIN_FILE_SUFFIXES = (".kt", ".kts") +KOTLIN_SCAN_EXCLUDED_PARTS = {".git", ".gradle", "build"} +DEFAULT_AGENT_JRE_KEY = "21" +LEGACY_ORACLE_JRE_KEY = "8" +NON_JDBC_AGENT_MODULES = {"mongodb", "etcd", "zookeeper"} +NATIVE_ONLY_AGENT_MODULES = {"xugu"} +JDBC_ARCHITECTURE_ALLOWLIST = { + "access": "custom Access metadata and URL behavior pending migration", + "dameng": "custom Dameng metadata and DDL pending migration", + "db2": "custom DB2 metadata pending migration", + "gaussdb": "custom GaussDB metadata pending migration", + "gbase8s": "custom GBase 8s metadata pending migration", + "goldendb": "custom GoldenDB metadata pending migration", + "informix": "custom Informix metadata pending migration", + "neo4j": "custom Neo4j transaction/query behavior pending migration", + "oracle": "custom Oracle metadata and connection properties pending migration", + "oracle-legacy": "custom Oracle legacy metadata and connection properties pending migration", + "oracle-10g": "custom Oracle 10g metadata and Java 8 runtime pending migration", + "sundb": "custom SunDB metadata pending migration", + "tdengine": "custom TDengine WebSocket JDBC behavior pending migration", +} +APPROVED_JDBC_BASES = { + "AbstractJdbcAgent", + "ConfiguredJdbcAgent", + "PostgresLikeAgent", +} + +FORBIDDEN_PATTERNS = [ + (re.compile(r"private\s+val\s+QUERY_PREFIXES"), "forbidden local SQL prefix classifier"), + (re.compile(r"private\s+const\s+val\s+MAX_ROWS"), "forbidden local result row cap"), + (re.compile(r"executeUpdate\s*\(\s*trimmedSql\s*\)"), "forbidden executeUpdate(trimmedSql) in query execution"), + (re.compile(r"truncated\s*=\s*rows\.size\s*>=\s*MAX_ROWS"), "forbidden inclusive truncation check"), + (re.compile(r"val\s+truncated\s*=\s*rs\.next\s*\(\s*\)"), "forbidden extra ResultSet next() truncation probe"), +] + +COPIED_JDBC_INFRASTRUCTURE_PATTERNS = [ + (re.compile(r"\bClass\.forName\s*\("), "copied driver loading"), + (re.compile(r"\bDriverManager\.getConnection\s*\("), "copied JDBC connection creation"), + (re.compile(r"public\s+void\s+disconnect\s*\("), "copied JDBC disconnect lifecycle"), + (re.compile(r"JdbcExecutor\.INSTANCE\.execute\s*\("), "copied JDBC query execution"), + (re.compile(r"private\s+Object\s+(?:getResultValue|resultValue|stringResultValue)\s*\("), "copied result value reader"), +] + + +def included_agent_modules(root: Path) -> set[str]: + settings = (root / "settings.gradle").read_text(encoding="utf-8") + include_args = "\n".join( + parenthesized or bare + for parenthesized, bare in re.findall( + r"\binclude\b\s*(?:\((.*?)\)|([^\n]+))", settings, flags=re.S + ) + ) + included = set(re.findall(r"""['"]([^'"]+)['"]""", include_args)) + for variable in ("infrastructureModules", "driverModules"): + match = re.search(rf"\bdef\s+{variable}\s*=\s*\[(.*?)\]", settings, flags=re.S) + if match: + included.update(re.findall(r"""['"]([^'"]+)['"]""", match.group(1))) + return included - INFRA_MODULES + + +def agent_modules(root: Path) -> set[str]: + native = {name for name in NATIVE_ONLY_AGENT_MODULES if module_dir(root, name).exists()} + return included_agent_modules(root) | native + + +def module_dir(root: Path, module: str) -> Path: + nested = root / "drivers" / module + if nested.exists(): + return nested + return root / module + + +def module_relative_path(root: Path, module: str, *parts: str) -> Path: + return module_dir(root, module).joinpath(*parts) + + +def validate_versions(root: Path) -> list[str]: + included = agent_modules(root) + versions = set(json.loads((root / "versions.json").read_text(encoding="utf-8"))) + return ( + [f"included module missing version: {name}" for name in sorted(included - versions)] + + [f"versions key not included: {name}" for name in sorted(versions - included)] + ) + + +def validate_source_patterns(root: Path) -> list[str]: + problems: list[str] = [] + sources = sorted(source for glob in SOURCE_GLOBS for source in root.glob(glob)) + for source in sources: + relative = source.relative_to(root) + text = source.read_text(encoding="utf-8") + for line_number, line in enumerate(text.splitlines(), start=1): + for pattern, message in FORBIDDEN_PATTERNS: + if pattern.search(line): + problems.append(f"{relative}:{line_number}: {message}") + return problems + + +def validate_no_kotlin_residue(root: Path) -> list[str]: + problems: list[str] = [] + for path in sorted(root.rglob("*")): + if not path.is_file(): + continue + relative = path.relative_to(root) + if any(part in KOTLIN_SCAN_EXCLUDED_PARTS for part in relative.parts): + continue + if path.suffix in KOTLIN_FILE_SUFFIXES: + problems.append(f"{relative}: forbidden Kotlin file") + return problems + + +def validate_manifest_fields(root: Path, modules: set[str]) -> list[str]: + problems: list[str] = [] + root_build_text = (root / "build.gradle").read_text(encoding="utf-8") if (root / "build.gradle").exists() else "" + archive_convention = re.search( + r"archiveBaseName\s*=\s*['\"]dbx-agent-\$\{project\.name\}['\"]", + root_build_text, + ) + for module in sorted(modules): + if module in NATIVE_ONLY_AGENT_MODULES: + continue + build_file = module_relative_path(root, module, "build.gradle") + relative = build_file.relative_to(root) + if not build_file.exists(): + problems.append(f"{module}: missing build.gradle") + continue + + text = build_file.read_text(encoding="utf-8") + expected_archive = f"archiveBaseName = 'dbx-agent-{module}'" + archive_pattern = re.compile( + rf"archiveBaseName\s*=\s*['\"]dbx-agent-{re.escape(module)}['\"]" + ) + if not archive_convention and not archive_pattern.search(text): + problems.append(f"{relative}: missing {expected_archive}") + attrs = manifest_attributes(text) + if "Agent-Label" not in attrs: + problems.append(f"{relative}: missing Agent-Label manifest attribute") + main_class = attrs.get("Main-Class") + if main_class is None: + problems.append(f"{relative}: missing Main-Class manifest attribute") + else: + main_source = module_relative_path( + root, + module, + "src/main/java", + str(Path(*main_class.split(".")).with_suffix(".java")), + ) + if not main_source.exists(): + problems.append(f"{relative}: Main-Class source not found: {main_source.relative_to(root)}") + return problems + + +def validate_jdbc_architecture(root: Path, modules: set[str]) -> list[str]: + problems: list[str] = [] + for module in sorted(modules - NON_JDBC_AGENT_MODULES - NATIVE_ONLY_AGENT_MODULES): + source = main_class_source(root, module) + if source is None or not source.exists(): + continue + text = source.read_text(encoding="utf-8") + base_match = re.search(r"\bextends\s+([A-Za-z0-9_]+)", text) + base = base_match.group(1) if base_match else "" + if module not in JDBC_ARCHITECTURE_ALLOWLIST and base not in APPROVED_JDBC_BASES: + problems.append( + f"{source.relative_to(root)}: JDBC agents must extend AbstractJdbcAgent, ConfiguredJdbcAgent, or PostgresLikeAgent" + ) + if module in JDBC_ARCHITECTURE_ALLOWLIST: + continue + for line_number, line in enumerate(text.splitlines(), start=1): + for pattern, message in COPIED_JDBC_INFRASTRUCTURE_PATTERNS: + if pattern.search(line): + problems.append(f"{source.relative_to(root)}:{line_number}: {message}; use shared JDBC foundation") + return problems + + +def validate_authoring_template(root: Path) -> list[str]: + template = root / "docs/examples/jdbc-agent-template/src/main/java/com/dbx/agent/template/TemplateAgent.java" + if not template.exists(): + return [] + text = template.read_text(encoding="utf-8") + problems: list[str] = [] + if "extends BaseDatabaseAgent" in text: + problems.append(f"{template.relative_to(root)}: template must use shared JDBC foundation") + for pattern, message in COPIED_JDBC_INFRASTRUCTURE_PATTERNS: + if pattern.search(text): + problems.append(f"{template.relative_to(root)}: template contains {message}") + return problems + + +def main_class_source(root: Path, module: str) -> Optional[Path]: + build_file = module_relative_path(root, module, "build.gradle") + if not build_file.exists(): + return None + attrs = manifest_attributes(build_file.read_text(encoding="utf-8")) + main_class = attrs.get("Main-Class") + if main_class is None: + return None + return module_relative_path(root, module, "src/main/java", str(Path(*main_class.split(".")).with_suffix(".java"))) + + +def validate_release_runtime_keys(root: Path) -> list[str]: + workflow_candidates = [ + root.parent / ".github/workflows/agents-release.yml", + root / ".github/workflows/agents-release.yml", + root / ".github/workflows/release.yml", + ] + workflow = next((candidate for candidate in workflow_candidates if candidate.exists()), workflow_candidates[-1]) + if not workflow.exists(): + return [] + text = workflow.read_text(encoding="utf-8") + problems: list[str] = [] + required_patterns = [ + ( + rf'jre-key:\s*"{DEFAULT_AGENT_JRE_KEY}"', + f"release workflow must build the default JRE with key {DEFAULT_AGENT_JRE_KEY}", + ), + ( + rf'java-version:\s*"{DEFAULT_AGENT_JRE_KEY}"', + f"release workflow must build the default JRE from Java {DEFAULT_AGENT_JRE_KEY}", + ), + ( + rf'oracle-10g\)\s*echo\s*"{LEGACY_ORACLE_JRE_KEY}"', + f"oracle-10g must keep JRE key {LEGACY_ORACLE_JRE_KEY}", + ), + ( + rf'\*\)\s*echo\s*"{DEFAULT_AGENT_JRE_KEY}"', + f"non-legacy agents must use JRE key {DEFAULT_AGENT_JRE_KEY}", + ), + ( + rf'"{DEFAULT_AGENT_JRE_KEY}":\s*\{{\s*"version":\s*"{DEFAULT_AGENT_JRE_KEY}\.', + f"registry must publish Java {DEFAULT_AGENT_JRE_KEY} under JRE key {DEFAULT_AGENT_JRE_KEY}", + ), + ( + r"legacy-placeholder\.jar", + "native-only registry entries must publish a legacy jar placeholder for older DBX clients", + ), + ] + for pattern, message in required_patterns: + if not re.search(pattern, text, flags=re.S): + problems.append(message) + forbidden_patterns = [ + (r'jre-key:\s*"17"', "release workflow must not build Java 21 under JRE key 17"), + (r'\*\)\s*echo\s*"17"', "non-legacy agents must not use JRE key 17"), + (r'"17":\s*\{\s*"version":\s*"21\.', "registry must not publish Java 21 under JRE key 17"), + ] + for pattern, message in forbidden_patterns: + if re.search(pattern, text, flags=re.S): + problems.append(message) + return problems + + +def manifest_attributes(build_text: str) -> dict[str, str]: + attrs: dict[str, str] = {} + for key, value in re.findall( + r"['\"]([^'\"]+)['\"]\s*:\s*['\"]([^'\"]+)['\"]", + build_text, + ): + attrs[key] = value + return attrs + + +def validate(root: Path) -> list[str]: + modules = agent_modules(root) + return ( + validate_versions(root) + + validate_source_patterns(root) + + validate_manifest_fields(root, modules) + + validate_jdbc_architecture(root, modules) + + validate_authoring_template(root) + + validate_release_runtime_keys(root) + + validate_no_kotlin_residue(root) + ) + + +def main() -> int: + root = Path.cwd() + problems = validate(root) + if problems: + print("Agent validation failed:") + for problem in problems: + print(f"- {problem}") + return 1 + + print("Agent validation passed") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/agents/scripts/validate_agents_test.py b/agents/scripts/validate_agents_test.py new file mode 100644 index 0000000000..8c6dedbb15 --- /dev/null +++ b/agents/scripts/validate_agents_test.py @@ -0,0 +1,437 @@ +import json +import tempfile +import textwrap +import unittest +import zipfile +from pathlib import Path + +import validate_agents +import validate_agent_jars + + +class ValidateAgentsTest(unittest.TestCase): + def test_versions_must_match_included_agent_modules(self): + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + (root / "settings.gradle").write_text( + "include 'common', 'test-support', 'h2', 'oracle'\n", + encoding="utf-8", + ) + (root / "versions.json").write_text( + json.dumps({"h2": "0.1.0", "mongodb": "0.1.0"}), + encoding="utf-8", + ) + + problems = validate_agents.validate_versions(root) + + self.assertEqual( + [ + "included module missing version: oracle", + "versions key not included: mongodb", + ], + problems, + ) + + def test_versions_support_driver_modules_variable(self): + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + (root / "settings.gradle").write_text( + "def infrastructureModules = ['common', 'test-support']\n" + "def driverModules = ['h2', 'oracle']\n" + "include(*(infrastructureModules + driverModules))\n", + encoding="utf-8", + ) + (root / "versions.json").write_text( + json.dumps({"h2": "0.1.0", "oracle": "0.1.0"}), + encoding="utf-8", + ) + + self.assertEqual([], validate_agents.validate_versions(root)) + + def test_source_scan_rejects_old_execute_query_patterns(self): + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + source = root / "h2/src/main/java/com/dbx/agent/h2/H2Agent.java" + source.parent.mkdir(parents=True) + source.write_text( + textwrap.dedent( + """ + private val QUERY_PREFIXES = listOf("SELECT") + fun executeQuery(sql: String) { + val trimmedSql = sql.trim() + stmt.executeUpdate(trimmedSql) + } + """ + ), + encoding="utf-8", + ) + + problems = validate_agents.validate_source_patterns(root) + + self.assertEqual( + [ + "h2/src/main/java/com/dbx/agent/h2/H2Agent.java:2: forbidden local SQL prefix classifier", + "h2/src/main/java/com/dbx/agent/h2/H2Agent.java:5: forbidden executeUpdate(trimmedSql) in query execution", + ], + problems, + ) + + def test_jdbc_architecture_requires_shared_base_for_new_agents(self): + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + module = root / "example" + source = module / "src/main/java/com/dbx/agent/example/ExampleAgent.java" + source.parent.mkdir(parents=True) + (module / "build.gradle").write_text( + textwrap.dedent( + """ + tasks.named('shadowJar') { + manifest { + attributes( + 'Agent-Label': 'Example', + 'Main-Class': 'com.dbx.agent.example.ExampleAgent' + ) + } + } + """ + ), + encoding="utf-8", + ) + source.write_text( + textwrap.dedent( + """ + package com.dbx.agent.example; + + import com.dbx.agent.BaseDatabaseAgent; + import java.sql.DriverManager; + + public final class ExampleAgent extends BaseDatabaseAgent { + public void connect() throws Exception { + Class.forName("example.Driver"); + DriverManager.getConnection("jdbc:example"); + } + } + """ + ), + encoding="utf-8", + ) + + problems = validate_agents.validate_jdbc_architecture(root, {"example"}) + + self.assertEqual( + [ + "example/src/main/java/com/dbx/agent/example/ExampleAgent.java: JDBC agents must extend AbstractJdbcAgent, ConfiguredJdbcAgent, or PostgresLikeAgent", + "example/src/main/java/com/dbx/agent/example/ExampleAgent.java:9: copied driver loading; use shared JDBC foundation", + "example/src/main/java/com/dbx/agent/example/ExampleAgent.java:10: copied JDBC connection creation; use shared JDBC foundation", + ], + problems, + ) + + def test_jdbc_architecture_allows_documented_migration_exceptions(self): + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + module = root / "oracle" + source = module / "src/main/java/com/dbx/agent/oracle/OracleAgent.java" + source.parent.mkdir(parents=True) + (module / "build.gradle").write_text( + textwrap.dedent( + """ + tasks.named('shadowJar') { + manifest { + attributes( + 'Agent-Label': 'Oracle', + 'Main-Class': 'com.dbx.agent.oracle.OracleAgent' + ) + } + } + """ + ), + encoding="utf-8", + ) + source.write_text( + "package com.dbx.agent.oracle; public final class OracleAgent extends BaseDatabaseAgent {}\n", + encoding="utf-8", + ) + + self.assertEqual([], validate_agents.validate_jdbc_architecture(root, {"oracle"})) + + def test_authoring_template_must_use_shared_foundation(self): + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + template = root / "docs/examples/jdbc-agent-template/src/main/java/com/dbx/agent/template/TemplateAgent.java" + template.parent.mkdir(parents=True) + template.write_text( + textwrap.dedent( + """ + package com.dbx.agent.template; + import com.dbx.agent.BaseDatabaseAgent; + import java.sql.DriverManager; + public final class TemplateAgent extends BaseDatabaseAgent { + void connect() throws Exception { + DriverManager.getConnection("jdbc:template"); + } + } + """ + ), + encoding="utf-8", + ) + + self.assertEqual( + [ + "docs/examples/jdbc-agent-template/src/main/java/com/dbx/agent/template/TemplateAgent.java: template must use shared JDBC foundation", + "docs/examples/jdbc-agent-template/src/main/java/com/dbx/agent/template/TemplateAgent.java: template contains copied JDBC connection creation", + ], + validate_agents.validate_authoring_template(root), + ) + + def test_manifest_validation_requires_registry_fields(self): + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + module = root / "h2" + module.mkdir() + (root / "build.gradle").write_text( + textwrap.dedent( + """ + configure(agentProjects) { + tasks.named('shadowJar') { + archiveBaseName = "dbx-agent-${project.name}" + } + } + """ + ), + encoding="utf-8", + ) + (module / "build.gradle").write_text( + textwrap.dedent( + """ + tasks.named('shadowJar') { + manifest { + attributes( + 'Agent-Label': 'H2' + ) + } + } + """ + ), + encoding="utf-8", + ) + + problems = validate_agents.validate_manifest_fields(root, {"h2"}) + + self.assertEqual( + ["h2/build.gradle: missing Main-Class manifest attribute"], + problems, + ) + + def test_manifest_validation_requires_main_class_source(self): + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + module = root / "h2" + module.mkdir() + (root / "build.gradle").write_text( + 'archiveBaseName = "dbx-agent-${project.name}"\n', + encoding="utf-8", + ) + (module / "build.gradle").write_text( + textwrap.dedent( + """ + tasks.named('shadowJar') { + manifest { + attributes( + 'Agent-Label': 'H2', + 'Main-Class': 'com.dbx.agent.h2.H2Agent' + ) + } + } + """ + ), + encoding="utf-8", + ) + + problems = validate_agents.validate_manifest_fields(root, {"h2"}) + + self.assertEqual( + ["h2/build.gradle: Main-Class source not found: h2/src/main/java/com/dbx/agent/h2/H2Agent.java"], + problems, + ) + + source = module / "src/main/java/com/dbx/agent/h2/H2Agent.java" + source.parent.mkdir(parents=True) + source.write_text("package com.dbx.agent.h2; public final class H2Agent {}", encoding="utf-8") + + self.assertEqual([], validate_agents.validate_manifest_fields(root, {"h2"})) + + def test_manifest_validation_supports_drivers_directory(self): + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + module = root / "drivers/h2" + source = module / "src/main/java/com/dbx/agent/h2/H2Agent.java" + source.parent.mkdir(parents=True) + source.write_text("package com.dbx.agent.h2; public final class H2Agent {}", encoding="utf-8") + (root / "build.gradle").write_text( + 'archiveBaseName = "dbx-agent-${project.name}"\n', + encoding="utf-8", + ) + (module / "build.gradle").write_text( + textwrap.dedent( + """ + tasks.named('shadowJar') { + manifest { + attributes( + 'Agent-Label': 'H2', + 'Main-Class': 'com.dbx.agent.h2.H2Agent' + ) + } + } + """ + ), + encoding="utf-8", + ) + + self.assertEqual([], validate_agents.validate_manifest_fields(root, {"h2"})) + + def test_kotlin_residue_scan_rejects_kt_and_kts_files_outside_build_dirs(self): + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + forbidden_source = root / "h2/src/main/kotlin/com/dbx/agent/h2/H2Agent.kt" + forbidden_build = root / "settings.gradle.kts" + ignored_build_output = root / "h2/build/tmp/Generated.kt" + ignored_gradle_cache = root / ".gradle/caches/init.gradle.kts" + for path in ( + forbidden_source, + forbidden_build, + ignored_build_output, + ignored_gradle_cache, + ): + path.parent.mkdir(parents=True, exist_ok=True) + path.write_text("", encoding="utf-8") + + problems = validate_agents.validate_no_kotlin_residue(root) + + self.assertEqual( + [ + "h2/src/main/kotlin/com/dbx/agent/h2/H2Agent.kt: forbidden Kotlin file", + "settings.gradle.kts: forbidden Kotlin file", + ], + problems, + ) + + def test_release_runtime_keys_match_java_21_default_and_oracle_8_exception(self): + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + workflow = root / ".github/workflows/release.yml" + workflow.parent.mkdir(parents=True) + workflow.write_text( + textwrap.dedent( + ''' + strategy: + matrix: + include: + - jre-key: "21" + java-version: "21" + detect_jre_key() { + case "$name" in + oracle-10g) echo "8" ;; + *) echo "21" ;; + esac + } + cat > release/agent-registry.json < release/agent-registry.json < + project(":${name}").projectDir = file("drivers/${name}") +} diff --git a/agents/test-support/build.gradle b/agents/test-support/build.gradle new file mode 100644 index 0000000000..0769fc7fd6 --- /dev/null +++ b/agents/test-support/build.gradle @@ -0,0 +1,4 @@ +dependencies { + api 'org.junit.jupiter:junit-jupiter-api:5.11.4' + implementation project(':common') +} diff --git a/agents/test-support/src/main/java/com/dbx/agent/test/JdbcAgentFake.java b/agents/test-support/src/main/java/com/dbx/agent/test/JdbcAgentFake.java new file mode 100644 index 0000000000..7665fea330 --- /dev/null +++ b/agents/test-support/src/main/java/com/dbx/agent/test/JdbcAgentFake.java @@ -0,0 +1,177 @@ +package com.dbx.agent.test; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.Statement; +import java.sql.Types; +import java.util.ArrayList; +import java.util.List; + +public final class JdbcAgentFake { + public static final JdbcAgentFake INSTANCE = new JdbcAgentFake(); + public static final List calls = new ArrayList(); + + private JdbcAgentFake() { + } + + public static Connection connection() { + calls.clear(); + Statement statement = statement(); + return proxy(Connection.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("createStatement".equals(name)) { + return statement; + } + if ("getAutoCommit".equals(name)) { + return true; + } + if ("setAutoCommit".equals(name) || "commit".equals(name) || "rollback".equals(name) || "close".equals(name)) { + return null; + } + if ("isClosed".equals(name)) { + return false; + } + return defaultValue(method.getReturnType()); + } + }); + } + + public List getCalls() { + return calls; + } + + private static Statement statement() { + ResultSet resultSet = resultSet(); + return proxy(Statement.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("execute".equals(name)) { + calls.add("execute"); + return true; + } + if ("executeQuery".equals(name)) { + calls.add("executeQuery"); + return resultSet; + } + if ("executeUpdate".equals(name)) { + calls.add("executeUpdate"); + return 0; + } + if ("getResultSet".equals(name)) { + return resultSet; + } + if ("getUpdateCount".equals(name)) { + return 0; + } + if ("setMaxRows".equals(name)) { + calls.add("setMaxRows:" + args[0]); + return null; + } + if ("setFetchSize".equals(name)) { + calls.add("setFetchSize:" + args[0]); + return null; + } + if ("close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private static ResultSet resultSet() { + final int[] index = {-1}; + ResultSetMetaData metadata = metadata(); + return proxy(ResultSet.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("next".equals(name)) { + index[0] += 1; + return index[0] == 0; + } + if ("getMetaData".equals(name)) { + return metadata; + } + if ("getObject".equals(name) || "getString".equals(name)) { + return "row-value"; + } + if ("wasNull".equals(name)) { + return false; + } + if ("close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private static ResultSetMetaData metadata() { + return proxy(ResultSetMetaData.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("getColumnCount".equals(name)) { + return 1; + } + if ("getColumnLabel".equals(name)) { + return "VALUE"; + } + if ("getColumnType".equals(name)) { + return Types.VARCHAR; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private static T proxy(Class type, final MethodHandler handler) { + InvocationHandler invocationHandler = new InvocationHandler() { + @Override + public Object invoke(Object proxy, Method method, Object[] args) { + return handler.handle(method, args); + } + }; + return type.cast(Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, invocationHandler)); + } + + private static Object defaultValue(Class type) { + if (Boolean.TYPE.equals(type)) { + return false; + } + if (Byte.TYPE.equals(type)) { + return (byte) 0; + } + if (Short.TYPE.equals(type)) { + return (short) 0; + } + if (Integer.TYPE.equals(type)) { + return 0; + } + if (Long.TYPE.equals(type)) { + return 0L; + } + if (Float.TYPE.equals(type)) { + return 0f; + } + if (Double.TYPE.equals(type)) { + return 0.0d; + } + if (Character.TYPE.equals(type)) { + return '\0'; + } + return null; + } + + private interface MethodHandler { + Object handle(Method method, Object[] args); + } +} diff --git a/agents/test-support/src/main/java/com/dbx/agent/test/JdbcConnectedAgentTest.java b/agents/test-support/src/main/java/com/dbx/agent/test/JdbcConnectedAgentTest.java new file mode 100644 index 0000000000..664e3cb71b --- /dev/null +++ b/agents/test-support/src/main/java/com/dbx/agent/test/JdbcConnectedAgentTest.java @@ -0,0 +1,18 @@ +package com.dbx.agent.test; + +import com.dbx.agent.DatabaseAgent; + +import java.util.function.Consumer; + +public abstract class JdbcConnectedAgentTest { + protected abstract DatabaseAgent createConnectedAgent(String databaseName); + + protected void withAgent(String databaseName, Consumer block) { + DatabaseAgent agent = createConnectedAgent(databaseName); + try { + block.accept(agent); + } finally { + agent.disconnect(); + } + } +} diff --git a/agents/test-support/src/main/java/com/dbx/agent/test/JdbcExecutionBehaviorTest.java b/agents/test-support/src/main/java/com/dbx/agent/test/JdbcExecutionBehaviorTest.java new file mode 100644 index 0000000000..c15d377dcc --- /dev/null +++ b/agents/test-support/src/main/java/com/dbx/agent/test/JdbcExecutionBehaviorTest.java @@ -0,0 +1,148 @@ +package com.dbx.agent.test; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.ExecuteQueryOptions; +import com.dbx.agent.JdbcExecutor; +import com.dbx.agent.QueryPageOptions; +import com.dbx.agent.QueryPageResult; +import com.dbx.agent.QueryResult; +import org.junit.jupiter.api.Test; + +import java.sql.Connection; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public abstract class JdbcExecutionBehaviorTest extends JdbcConnectedAgentTest { + protected abstract String resultSetSql(); + + protected abstract List expectedResultSetColumns(); + + protected abstract List> expectedResultSetRows(); + + protected abstract String rowsSql(int rowCount); + + @Test + void executesStatementsThatReturnResultSetsWithoutSelectPrefix() { + withAgent("dbx-agent-result-set", agent -> { + QueryResult result = agent.executeQuery(resultSetSql(), null, new ExecuteQueryOptions()); + + assertEquals(expectedResultSetColumns(), result.getColumns()); + assertEquals(expectedResultSetRows(), result.getRows()); + assertEquals(0, result.getAffected_rows()); + assertFalse(result.getTruncated()); + }); + } + + @Test + void doesNotMarkExactlyMaxRowsAsTruncated() { + withAgent("dbx-agent-limit", agent -> { + QueryResult result = agent.executeQuery(rowsSql(JdbcExecutor.DEFAULT_MAX_ROWS), null, new ExecuteQueryOptions()); + + assertEquals(JdbcExecutor.DEFAULT_MAX_ROWS, result.getRows().size()); + assertFalse(result.getTruncated()); + }); + } + + @Test + void marksResultsBeyondMaxRowsAsTruncated() { + withAgent("dbx-agent-truncated", agent -> { + QueryResult result = agent.executeQuery(rowsSql(JdbcExecutor.DEFAULT_MAX_ROWS + 1), null, new ExecuteQueryOptions()); + + assertEquals(JdbcExecutor.DEFAULT_MAX_ROWS, result.getRows().size()); + assertTrue(result.getTruncated()); + }); + } + + @Test + void fetchesSubsequentResultPagesFromTheSameJdbcSession() { + withAgent("dbx-agent-session-pages", agent -> { + QueryPageResult first = agent.executeQueryPage(rowsSql(5), null, new QueryPageOptions(2, 2, 10)); + + assertEquals(Arrays.asList(Collections.singletonList(1L), Collections.singletonList(2L)), first.getRows()); + assertTrue(first.getHas_more()); + assertFalse(first.getTruncated()); + String sessionId = first.getSession_id(); + assertNotNull(sessionId); + + QueryPageResult second = agent.fetchQueryPage(sessionId, 2); + + assertEquals(Arrays.asList(Collections.singletonList(3L), Collections.singletonList(4L)), second.getRows()); + assertTrue(second.getHas_more()); + assertFalse(second.getTruncated()); + + QueryPageResult third = agent.fetchQueryPage(sessionId, 2); + + assertEquals(Collections.singletonList(Collections.singletonList(5L)), third.getRows()); + assertFalse(third.getHas_more()); + assertFalse(third.getTruncated()); + }); + } + + @Test + void closesJdbcResultSessionsExplicitly() { + withAgent("dbx-agent-session-close", agent -> { + QueryPageResult first = agent.executeQueryPage(rowsSql(5), null, new QueryPageOptions(2, 2, 10)); + String sessionId = first.getSession_id(); + assertNotNull(sessionId); + + assertTrue(agent.closeQuerySession(sessionId)); + assertFalse(agent.closeQuerySession(sessionId)); + assertThrows(IllegalArgumentException.class, () -> agent.fetchQueryPage(sessionId, 2)); + }); + } + + @Test + void expiresIdleJdbcResultSessions() { + withAgent("dbx-agent-session-expiry", agent -> { + QueryPageResult first = agent.executeQueryPage(rowsSql(5), null, new QueryPageOptions(2, 2, 10)); + String sessionId = first.getSession_id(); + assertNotNull(sessionId); + + assertEquals(1, JdbcExecutor.INSTANCE.expireIdleQuerySessions(System.currentTimeMillis(), 0L)); + assertThrows(IllegalArgumentException.class, () -> agent.fetchQueryPage(sessionId, 2)); + }); + } + + @Test + void handlesTransactionControlStatementsConsistently() { + withAgent("dbx-agent-transaction", agent -> { + Connection connection = agent.getConnection(); + assertNotNull(connection); + + try { + QueryResult begin = agent.executeQuery("BEGIN", null, new ExecuteQueryOptions()); + assertFalse(connection.getAutoCommit()); + assertEquals(Collections.emptyList(), begin.getColumns()); + assertEquals(Collections.emptyList(), begin.getRows()); + assertEquals(0, begin.getAffected_rows()); + assertFalse(begin.getTruncated()); + + QueryResult commit = agent.executeQuery("COMMIT", null, new ExecuteQueryOptions()); + assertTrue(connection.getAutoCommit()); + assertEquals(Collections.emptyList(), commit.getColumns()); + assertEquals(Collections.emptyList(), commit.getRows()); + assertEquals(0, commit.getAffected_rows()); + assertFalse(commit.getTruncated()); + + agent.executeQuery("BEGIN", null, new ExecuteQueryOptions()); + assertFalse(connection.getAutoCommit()); + + QueryResult rollback = agent.executeQuery("ROLLBACK", null, new ExecuteQueryOptions()); + assertTrue(connection.getAutoCommit()); + assertEquals(Collections.emptyList(), rollback.getColumns()); + assertEquals(Collections.emptyList(), rollback.getRows()); + assertEquals(0, rollback.getAffected_rows()); + assertFalse(rollback.getTruncated()); + } catch (Exception e) { + throw new AssertionError(e); + } + }); + } +} diff --git a/agents/test-support/src/main/java/com/dbx/agent/test/JdbcFakeExecutionBehaviorTest.java b/agents/test-support/src/main/java/com/dbx/agent/test/JdbcFakeExecutionBehaviorTest.java new file mode 100644 index 0000000000..0f74d12cb1 --- /dev/null +++ b/agents/test-support/src/main/java/com/dbx/agent/test/JdbcFakeExecutionBehaviorTest.java @@ -0,0 +1,47 @@ +package com.dbx.agent.test; + +import com.dbx.agent.DatabaseAgent; +import com.dbx.agent.ExecuteQueryOptions; +import com.dbx.agent.QueryResult; +import org.junit.jupiter.api.Test; + +import java.util.Collections; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public abstract class JdbcFakeExecutionBehaviorTest { + protected abstract DatabaseAgent createAgent(); + + protected abstract String resultSetSql(); + + @Test + void executesNonSelectStatementsThatReturnResultSets() { + DatabaseAgent agent = createAgent(); + TestSupport.setPrivateConnection(agent, JdbcAgentFake.connection()); + + QueryResult result = agent.executeQuery(resultSetSql(), null, new ExecuteQueryOptions()); + + assertEquals(Collections.singletonList("VALUE"), result.getColumns()); + assertEquals(Collections.singletonList(Collections.singletonList("row-value")), result.getRows()); + assertEquals(asList("setMaxRows:10001", "execute"), JdbcAgentFake.calls); + } + + @Test + void appliesExecutionRowAndFetchLimitsToJdbcStatements() { + DatabaseAgent agent = createAgent(); + TestSupport.setPrivateConnection(agent, JdbcAgentFake.connection()); + + QueryResult result = agent.executeQuery(resultSetSql(), null, new ExecuteQueryOptions(1, 25)); + + assertEquals(Collections.singletonList(Collections.singletonList("row-value")), result.getRows()); + assertEquals(asList("setMaxRows:2", "setFetchSize:25", "execute"), JdbcAgentFake.calls); + } + + private static java.util.List asList(String first, String second) { + return java.util.Arrays.asList(first, second); + } + + private static java.util.List asList(String first, String second, String third) { + return java.util.Arrays.asList(first, second, third); + } +} diff --git a/agents/test-support/src/main/java/com/dbx/agent/test/JdbcMetadataBehaviorTest.java b/agents/test-support/src/main/java/com/dbx/agent/test/JdbcMetadataBehaviorTest.java new file mode 100644 index 0000000000..9ef0b26669 --- /dev/null +++ b/agents/test-support/src/main/java/com/dbx/agent/test/JdbcMetadataBehaviorTest.java @@ -0,0 +1,67 @@ +package com.dbx.agent.test; + +import com.dbx.agent.ColumnInfo; +import com.dbx.agent.TableInfo; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public abstract class JdbcMetadataBehaviorTest extends JdbcConnectedAgentTest { + protected abstract List metadataFixtureSql(); + + protected abstract String metadataSchema(); + + protected abstract List expectedTablesInOrder(); + + protected abstract String metadataColumnsTable(); + + protected abstract List expectedColumnsInOrder(); + + @Test + void returnsMetadataInStableOrder() { + withAgent("dbx-agent-metadata", agent -> { + for (String sql : metadataFixtureSql()) { + agent.executeQuery(sql, metadataSchema(), new com.dbx.agent.ExecuteQueryOptions()); + } + + List expectedTables = expectedTablesInOrder(); + List tableNames = new ArrayList(); + for (TableInfo table : agent.listTables(metadataSchema())) { + if (expectedTables.contains(table.getName())) { + tableNames.add(table.getName()); + } + } + assertEquals(expectedTables, tableNames); + + List expectedColumns = expectedColumnsInOrder(); + List columnNames = new ArrayList(); + for (ColumnInfo column : agent.getColumns(metadataSchema(), metadataColumnsTable())) { + if (expectedColumns.contains(column.getName())) { + columnNames.add(column.getName()); + } + } + assertEquals(expectedColumns, columnNames); + }); + } + + @Test + void buildsTableDdlFromMetadata() { + withAgent("dbx-agent-ddl", agent -> { + for (String sql : metadataFixtureSql()) { + agent.executeQuery(sql, metadataSchema(), new com.dbx.agent.ExecuteQueryOptions()); + } + + String ddl = agent.getTableDdl(metadataSchema(), metadataColumnsTable()); + + for (String column : expectedColumnsInOrder()) { + assertTrue(ddl.contains("\"" + column + "\""), "DDL should include column " + column + ": " + ddl); + } + assertTrue(ddl.contains("CREATE TABLE"), "DDL should include CREATE TABLE: " + ddl); + assertTrue(ddl.contains(metadataColumnsTable()), "DDL should include table name: " + ddl); + }); + } +} diff --git a/agents/test-support/src/main/java/com/dbx/agent/test/JdbcMetadataSqlFake.java b/agents/test-support/src/main/java/com/dbx/agent/test/JdbcMetadataSqlFake.java new file mode 100644 index 0000000000..872a4c53e7 --- /dev/null +++ b/agents/test-support/src/main/java/com/dbx/agent/test/JdbcMetadataSqlFake.java @@ -0,0 +1,172 @@ +package com.dbx.agent.test; + +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; + +public final class JdbcMetadataSqlFake { + public static final JdbcMetadataSqlFake INSTANCE = new JdbcMetadataSqlFake(); + public static final List statements = new ArrayList(); + + private JdbcMetadataSqlFake() { + } + + public static Connection connection() { + statements.clear(); + return proxy(Connection.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("createStatement".equals(name)) { + return statement(); + } + if ("prepareStatement".equals(name)) { + statements.add((String) args[0]); + return preparedStatement(); + } + if ("getAutoCommit".equals(name)) { + return true; + } + if ("setAutoCommit".equals(name) || "commit".equals(name) || "rollback".equals(name) || "close".equals(name)) { + return null; + } + if ("isClosed".equals(name)) { + return false; + } + return defaultValue(method.getReturnType()); + } + }); + } + + public List getStatements() { + return statements; + } + + private static Statement statement() { + ResultSet resultSet = emptyResultSet(); + return proxy(Statement.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("execute".equals(name) || "executeQuery".equals(name)) { + statements.add((String) args[0]); + return "execute".equals(name) ? false : resultSet; + } + if ("getResultSet".equals(name)) { + return resultSet; + } + if ("getUpdateCount".equals(name)) { + return 0; + } + if ("setMaxRows".equals(name) || "close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private static PreparedStatement preparedStatement() { + ResultSet resultSet = emptyResultSet(); + return proxy(PreparedStatement.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("execute".equals(name) || "executeQuery".equals(name)) { + return "execute".equals(name) ? false : resultSet; + } + if ("getResultSet".equals(name)) { + return resultSet; + } + if ("getUpdateCount".equals(name)) { + return 0; + } + if ("setString".equals(name)) { + statements.add("param:" + args[0] + "=" + args[1]); + return null; + } + if ("setMaxRows".equals(name) || "close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private static ResultSet emptyResultSet() { + ResultSetMetaData metadata = proxy(ResultSetMetaData.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + if ("getColumnCount".equals(method.getName())) { + return 0; + } + return defaultValue(method.getReturnType()); + } + }); + return proxy(ResultSet.class, new MethodHandler() { + @Override + public Object handle(Method method, Object[] args) { + String name = method.getName(); + if ("next".equals(name)) { + return false; + } + if ("getMetaData".equals(name)) { + return metadata; + } + if ("close".equals(name)) { + return null; + } + return defaultValue(method.getReturnType()); + } + }); + } + + private static T proxy(Class type, final MethodHandler handler) { + InvocationHandler invocationHandler = new InvocationHandler() { + @Override + public Object invoke(Object proxy, Method method, Object[] args) { + return handler.handle(method, args); + } + }; + return type.cast(Proxy.newProxyInstance(type.getClassLoader(), new Class[]{type}, invocationHandler)); + } + + private static Object defaultValue(Class type) { + if (Boolean.TYPE.equals(type)) { + return false; + } + if (Byte.TYPE.equals(type)) { + return (byte) 0; + } + if (Short.TYPE.equals(type)) { + return (short) 0; + } + if (Integer.TYPE.equals(type)) { + return 0; + } + if (Long.TYPE.equals(type)) { + return 0L; + } + if (Float.TYPE.equals(type)) { + return 0f; + } + if (Double.TYPE.equals(type)) { + return 0.0d; + } + if (Character.TYPE.equals(type)) { + return '\0'; + } + return null; + } + + private interface MethodHandler { + Object handle(Method method, Object[] args); + } +} diff --git a/agents/test-support/src/main/java/com/dbx/agent/test/TestSupport.java b/agents/test-support/src/main/java/com/dbx/agent/test/TestSupport.java new file mode 100644 index 0000000000..aaddefa504 --- /dev/null +++ b/agents/test-support/src/main/java/com/dbx/agent/test/TestSupport.java @@ -0,0 +1,31 @@ +package com.dbx.agent.test; + +import java.lang.reflect.Field; +import java.sql.Connection; + +public final class TestSupport { + private TestSupport() { + } + + public static void setPrivateConnection(Object target, Connection connection) { + Field field = findConnectionField(target.getClass()); + field.setAccessible(true); + try { + field.set(target, connection); + } catch (IllegalAccessException e) { + throw new IllegalStateException("Unable to set connection", e); + } + } + + private static Field findConnectionField(Class type) { + Class current = type; + while (current != null) { + try { + return current.getDeclaredField("connection"); + } catch (NoSuchFieldException ignored) { + current = current.getSuperclass(); + } + } + throw new IllegalStateException(new NoSuchFieldException("connection")); + } +} diff --git a/agents/versions.json b/agents/versions.json new file mode 100644 index 0000000000..0f7aa57453 --- /dev/null +++ b/agents/versions.json @@ -0,0 +1,41 @@ +{ + "access": "0.1.19", + "bigquery": "0.1.23", + "cassandra": "0.1.22", + "dameng": "0.1.25", + "databend": "0.1.10", + "databricks": "0.1.17", + "db2": "0.1.22", + "exasol": "0.1.17", + "firebird": "0.1.17", + "gaussdb": "0.1.23", + "gbase8a": "0.1.17", + "gbase8s": "0.1.11", + "goldendb": "0.1.22", + "h2": "0.1.22", + "hive": "0.1.22", + "informix": "0.1.23", + "kingbase": "0.1.22", + "kylin": "0.1.22", + "neo4j": "0.1.22", + "oceanbase-oracle": "0.1.17", + "oracle": "0.1.26", + "oracle-legacy": "0.1.13", + "oracle-10g": "0.1.25", + "snowflake": "0.1.22", + "saphana": "0.1.17", + "sundb": "0.1.22", + "teradata": "0.1.17", + "tdengine": "0.1.20", + "trino": "0.1.22", + "vastbase": "0.1.22", + "vertica": "0.1.17", + "mongodb": "0.1.21", + "highgo": "0.1.20", + "yashandb": "0.1.18", + "xugu": "0.1.13", + "iris": "0.1.13", + "iotdb": "0.1.10", + "etcd": "0.1.10", + "zookeeper": "0.1.0" +} diff --git a/crates/dbx-core/src/agent_service.rs b/crates/dbx-core/src/agent_service.rs index 6c9de673f3..95764adaea 100644 --- a/crates/dbx-core/src/agent_service.rs +++ b/crates/dbx-core/src/agent_service.rs @@ -128,7 +128,7 @@ fn replace_old_jre_dir(am: &AgentManager, path: &Path) -> Result } } -const REGISTRY_PATH: &str = "https://github.com/t8y2/dbx-agents/releases/latest/download/agent-registry.json"; +const REGISTRY_PATH: &str = "https://github.com/t8y2/dbx/releases/download/agents-latest/agent-registry.json"; const REGISTRY_R2_PATH: &str = "agents/agent-registry.json"; static REGISTRY_CACHE: std::sync::LazyLock>> = @@ -255,6 +255,9 @@ pub fn jre_needs_install(am: &AgentManager, registry: &AgentRegistry, jre_key: & pub fn local_agent_jar_candidates(db_type: &str) -> Vec { let jar_name = format!("dbx-agent-{db_type}.jar"); + let monorepo_driver = + PathBuf::from("agents").join("drivers").join(db_type).join("build").join("libs").join(&jar_name); + let monorepo_legacy = PathBuf::from("agents").join(db_type).join("build").join("libs").join(&jar_name); let relative_driver = PathBuf::from("..").join("dbx-agents").join("drivers").join(db_type).join("build").join("libs").join(&jar_name); let nested_driver = @@ -262,7 +265,7 @@ pub fn local_agent_jar_candidates(db_type: &str) -> Vec { let relative_legacy = PathBuf::from("..").join("dbx-agents").join(db_type).join("build").join("libs").join(&jar_name); let nested_legacy = PathBuf::from("dbx-agents").join(db_type).join("build").join("libs").join(&jar_name); - vec![relative_driver, nested_driver, relative_legacy, nested_legacy] + vec![monorepo_driver, monorepo_legacy, relative_driver, nested_driver, relative_legacy, nested_legacy] } pub fn find_local_agent_jar(db_type: &str) -> Option { diff --git a/crates/dbx-core/tests/agent_service.rs b/crates/dbx-core/tests/agent_service.rs index 5aff015287..a1f6f2d8e0 100644 --- a/crates/dbx-core/tests/agent_service.rs +++ b/crates/dbx-core/tests/agent_service.rs @@ -228,9 +228,10 @@ fn jre_needs_install_when_managed_runtime_version_differs() { } #[test] -fn local_agent_jar_candidates_include_sibling_build_output() { +fn local_agent_jar_candidates_include_monorepo_and_legacy_build_output() { let candidates = local_agent_jar_candidates("tdengine"); + assert!(candidates.iter().any(|path| path.ends_with("agents/drivers/tdengine/build/libs/dbx-agent-tdengine.jar"))); assert!(candidates.iter().any(|path| path.ends_with("dbx-agents/tdengine/build/libs/dbx-agent-tdengine.jar"))); } @@ -244,6 +245,10 @@ fn github_agent_asset_urls_map_to_r2_paths_by_category() { github_url_to_r2_path("https://github.com/t8y2/dbx-agents/releases/download/v1/dbx-agent-h2.jar", "driver"), "agents/drivers/dbx-agent-h2.jar" ); + assert_eq!( + github_url_to_r2_path("https://github.com/t8y2/dbx/releases/download/agents-v0.3.0/dbx-agent-h2.jar", "driver"), + "agents/drivers/dbx-agent-h2.jar" + ); } fn test_path(name: &str) -> std::path::PathBuf { diff --git a/docs/lib/agentRegistry.ts b/docs/lib/agentRegistry.ts index 0d11e26f27..ceb205d6db 100644 --- a/docs/lib/agentRegistry.ts +++ b/docs/lib/agentRegistry.ts @@ -34,7 +34,7 @@ export interface AgentRegistry { } const AGENT_REGISTRY_R2_URL = "https://dl.dbxio.com/agents/agent-registry.json"; -const AGENT_REGISTRY_GITHUB_URL = "https://github.com/t8y2/dbx-agents/releases/latest/download/agent-registry.json"; +const AGENT_REGISTRY_GITHUB_URL = "https://github.com/t8y2/dbx/releases/download/agents-latest/agent-registry.json"; export async function fetchAgentRegistry(): Promise { const urls = [AGENT_REGISTRY_R2_URL, AGENT_REGISTRY_GITHUB_URL];

G=lVIfc!w_T{N++{=fzwp*C54wPmy&f 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 z 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

mX8#BYxx%+bJs=*EblMPvHA>uIzfSQ!P2mo| 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�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

Mh9XvLaq2m3k<$1!=|9b_(9WR`MGc+P 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 z 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

tMIW;M9 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 C`gh|6m3NT1Q0CPL~e7F2DK!zR6lQGzWX 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ⅆf5P~SUIx_if%NiiRL>3udPYZw3Fm2J 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

)VaS8BQIU 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≪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Π8xHceLn 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%0DiuBZhIL1BDB;Ky z>r*=HGeHaknnQ;PZ=sR>HO7P`JNf?Ga6{df{!!nbZP zsQdIyzZnnclO>fM%is;O--2DSlQLzkj6@<7@0%orChYaAuC20=5s~!6DTK?+eY=4h zMhlH1M&`j^w9FHoA|K4Z$Y?tmr|aW#v-#9$aY;^`FOIoIi}Sht!7BbhAVsePWVsW$}Fm)N@^W`(N)9WO1DTE`bX z1@)Rv+UWP42q!iZeSrPD|K>2fX@)`>2TcBv?7{eKO;{y)%2yOkJkUyrbV3|R57n>M zEloF*L*qreCe&DEanp=l|P)NAtwhS{Y!f@kp z>%02rcb>Y+KHY(eX0ykJBpCI%st4YF9x^r9v6iceg9Fd=D^Bz>ZH>bGwL{zEC4n3sF7^U4z>m$z| zt0ZS7dat|g;xf}L9>#0zl7Ky{{x=-PNP=wWvDXcylC!gm{Hvt$;d$ZdBcdpBbfBk& z_s+NFv6yOqiY%US-~Biddh}rox6pROOxM;d$&dFs!2@NMNS(~z;{;i#b3;dW+A+&S zdtqL0y`$(|YUp*6(?~mT9${-@d8dXNV?n(%TUxN)DF{A1D>r*zfCAXMKGia#gbqlZ zi<_HjeE~Dny2V_~304JB*S6Ef3)H%nmKL~vMoXY12Z={0?~e`Yf1|KC)mhhg{Naw$ zh1yCI9e6Hxnn44iF19Zw{Nt?^Mfh$soxkxg-6$p%9D9a|he;3pq}PRs6(3bN!?$)R zhI~v}ZIZ|v3sa3QVSSQq*>jsOU5^M7$VaI8FOt-^bIp-DNpBuEU`6Jf-WP=N3|H5j zj0%TuojJh+uLgnRPVzq;c4dxxG2Ob#iXXLok?cN=)zu@zK7a8^er|&4HsReyjjTGL zA%LutBl)LN#u*~IkRD>WxX{0vh=n^2I{RNpeeZte9|yS@rn=bh+53Nc5d9xc0=MXiYSvRSV>>A(6?GtUjA|DXj6Z^I#N z7kBLG^s8YOkoe-Pk*~A(N1jk6(T-d3X-iRx?#M743i{ z0}geJ=)fuwS?GSwBE5O%;CS^vX`B035EeBig9~tc5dfPIbc|jnZ{*U;oK8Y?w)66t zs+wp@_V5SDhW;m5`oUVtQYAaYEHde+E2>$&*GT3ve*B|M?QkAvk zB5NkxF(CbgX&hPM9rLV4`a8clrr7s&nfl*N!sWJZ3)vyvRp*JPZ?&XYn+5paMUGB= z>*|4t9tOrwzHz2Q$RS7Fgw~ssah?Ed+PNi6BWJGc6m?;-NYk=1QbJ)V&hQVGZtWFn zQ)(wyX7&!3_m&?rydD1n*&*8%1vpOFzS@T5(4j_6a&r*LKf1@E;rEF>rxe89p;q#7 zY-ZV|yIk+AtPSZe5!)m_#-rGC|5WW*m-E3R&FAodXxbUgIk5=)q^rh)wNG7_Q@rEY zJLbw8DnF3^E*Ngvc|*w#nOrvaJfG_%gB~CGMK6zd$2q?O7aaOl?@-DmgJh&#r+dS_ z|B@Z@Uv&f{yZq%HzuGBwvDvW6M*0h{@AZNjM{8druC+u^mxUi2Nex%ORvz{o#~2pf z9#I1F`6Cei5|g#Rw%seaMjh;XmmJjIAo=#_m6mT9jd`2cF1+kc)hNkO!?;6qb}w>h zqrUFHex)4bY^Ki8^~GPzn1}hsL|$0N<``2E_aF)p)Im#R0zcSJf%-yF1UJ|gt9o7o zly&)o$~5do6H*)3l1oU#Ys`o#D;*OPXMz>2dThQ-sjmer!1-&k5Uqrd5pmU~JURR@p< zk*wd3_Fi(n3QkWrD{7zM?{@0JD`0LhX+GP6cG&ZK0Wo`Zx@s(I$~j)!-rrN-Rrf-J z!-;%^m-2V05=mPC=eGOAt7c7pRm7pCYTp(Xe&^*=np%?cBx%nqiZAln&I`Ytcmx(Y z&EvT!t=I*&In8Uj_+3slVj6&CN_Xx>`ewLo>uccm9s)Zg{pkvPFt4D09k+^(^yW^K zpAWU5pTDng*%sEoUpy^s6$LiuXucu-kbEu{yZ?>#V)V0w+yjOdqXo{I=F^k$4pMEy z+KyzVen!AvT3_N}Z=HO`=eN+npwzp4{Q8IMCfE{(VN9X%XQ)K^AAj?3tXX^h2r3J5 zkFV|csTZ1V;aCr{(_Y4%lF`0>r{iwPos!;7CSxz&m>WaFAGk(B&1a|PFoob6M<`~z zIDSaV(eBs%BeYPfF6}1lKVbC?Pk0P!-pLNi+bOc_=2sG}H|0OkyE<78T_(=0Hbavs1uOp?tmeL&2za7r`ggjG5`aG;lG zP4~~oJBOFQQGw{(?m5H1Rk}ek-ypWxe;8e1P{JpAFdr$Ncc_t5%Vs6*zs2a&xOaNq zc?WHHp4fT*vED;^4t-@-A}}rY9dRy_M17tzSt)qQGcn?|qg_|Kmk(Ffi5UnQo&7f$ zw7l+u^ql`nqZIf;=r4G1vK49)%Aribt~9yZMDI z`V^qU@JA>YV`mdvvoho#2GvLkoYf%dPF;^VJp@HRbBL*OT(eTVtPLX9e|GUxsp80= zT#WGe^Q7yaL!Hq*tMomHM64J^1e)K!I!WxnEOSR0zFErF#I*Vg2<$uGdwz#-!M^zZse zHzP$+^=Uzt^HY-RO9F52^;cd|#f!Roxu5EeX`_Di3ze@qb8MSo1oU8d;w*NdC`58a zM~D1B#@;$8jwkvTT|7Y01PHLWI{^YL?wSC>-6c3I?j9T#hp;#Vm!QE35Lny-1h>V4 zyR(n)@4l+{UcLLrt(xjN)u;RPIXykyGcD)yCx^Opu3(Zf*i18nb{!2c+5O(@?auSB z%;I7qwey~N1eDhwsEHh7^APmRb;er4m()Rhm`S}qf zyUqJWl&Zr+UCIHHoJVa5Jg(rav8Ef&st`hqXq8U~SB?{YqS(?vB-c2Z`6{K_FM~8f zOy>MPc`?lgqX(@~Q}+Hj6*wE;$HP7PG}TU9YR{Z6EpsjRK~a`DNoQ9VR|5Vh{wO#m z5zdee@5r4X z;H6aouV2uTFQjBWtoiTX2@vq;np#yQE2>~xDli#;E)?K8sOt{XsGbi~E6D0@V0XX^ zae(B(P0*!Fc|KbWY6fQ34PhKiWC_lm+3)}HitjPNcB)-yslQK;NWKe=x)4p)Ft8Tr}_=isMl&IP8go>IY>Sog#17vv!E z)g41Ao#jmw^{8(7A0N%L^FSq3Y#?AW-?YAVIxMDh2iTC^898J}D1W>q zadp+`=-UcBCaXKBHpABE<|ls_lV2}gdOL9lAo_eE3>9k{kTFj!Ey4*uN95|z+fw1^ZWX)cT~ zo$V)b8^z5!fKz4A&PC+=y^?dr7);qHfnKkzur_un?XG6eYB+xA4k-6pG%@Z|jX(5x z&%kkf#4?DDxLcbH{UCq?+IF@_<58|&QX6gEXrl1uDoEpI>TLjh6usFY%-B6tiK%pM zyKm3`O4NF0QP2Hz%xvafcg}bCWGa(vm&^0iMxI=ke&;l8{#(U6JB>eW2U^N6d(gbI z{`{o?TCvHYjQiT?Gx{Id7%`Lo5a%-7dzVyyDR%vc_Mro5tmLAE_Kc&kDb(bL5u^E4 zFzY+!(;UYSr0GQh=~>OsN(O(E631&((n@>^6)(C!9f#%?{OaR79lgB$YqJWDtCKlvAK(9z|iEY;t>XZzLU*tF@mRG1zI zD~k*&h!6jkEh^`r*p^j4cEYY|pL%v91b!lwoO|1%(w{v|Z54MJT@2AHmh;v4C%u#6 ztH_9xjA|8s+5uq?^`{cqH!q3xX$vpKIK7m}rR<*x8&YQz4G*t!Csoa6_ZFXi&EhPd z1(?`K-TiU8oO~`q>21p}!jVfWV)Sb!O(g!jF~0PD?tssting9@sCc%>(fW3dWm8(s z#lTP^upN{WB5Kka^)G@x1;# z)t!mb(@Ra28$Mj|oKl<9bKbiPJrU9D(%sWb!`$4#nF}9ZBvmf>zN|=RW@*OhHP`k; z#+f^cD&qG;5GbfCv{dK(l68D-_VJD^_j#$e=+-Fp%Adn|SI8LQo4eX`um;-@IJ>mY zUG1GQ@abH-y*Pp%Q#|^-iFDqv6;N$)d2TtsK8EibiL4CFv=51D`*HLo{(44C;ND!W zw<96}5%Yd&;@txWo#S~gj#Hh_&s)6jmP7&~OHa-(MRU6*4uX1S@O1 zY4Y^v(u-0o3sFC?A~f8}AE z1>)^YNP7#Vmi7tyGv(s$?!U@SfbTQsChT}ycnhUxBsL5Znds>6qZ*4PiK}kzk9Vwc zKKkewI}79_ z3gTC#@!&GqMX$DxtmQh%N0@nxtmQWOnlN)8c??+%C-|Dpj&ZVb0XNez$xcAoO>onY ztjul5hcb8vrOX(YPmo%|Zke6q9fNZ^G5C}gRM(BdIn91+j;l{7NbO=;Q3mkDcRn>G z)ct37il0E7j54Aw89dwnBOlw0L>qh1E)8WQ#ea`jJ3LGq7Lo>hD?5v#MxLP*m#?;o z+X%B!EXfgQi9si<+4+e3k2*w!xYrNk3pkS;hAPba$y?MF1BT$_@k~-qqdX88Z z6NQ0{M_J9$TaJt&$HhF0-UfnS*l?EjX?^C)K4%xVx0N_%m$bL~w3TKmmNnkA9nJ(8 zx-X&JjD%pQhu}G-Q*Ks?I_y8tl~)6t6Ty2H#Fwrlmzd+LDfFkQv7Mzp*%Po38>7A} zAciQFwp1EoL@Yqj#jb^ittT6K>^}epbPltz@tr|Wa`buUIe=5|~_+-FjITmv8d-xfZ zt{TK}qh%c}VI5r5I^QS6TZcFN$aFXc zeMo;r7B13=qrfKIe~6AC%>i7x-)^J-b#Q2(E9b^w9rZAq2RTl#9YakOJpz^H^N)Nn z+L7wWbCTxR;bYzax?QhqjbGrXP_W2? z(Fk4g62&bmd9KT^Px9In)RlaLuPmDuk!q0E7wIR@`{A6C=WXUspxEnzp>n$!F^50= zcP>?~sDQ+e$WI3FBK{G1;l@PF;la>Z+~EU?rv|9RonYki8UHR5eSoN+e$F1gAZDiU z!tXnl1T|H(g4`X#fBU$nuisVh8uc^)*B63)60p5%P(-+x^SZUV@(sGUnN2KplDT%$ zI9*wdzNzo?=#=27oIDeya;>qNn0cHH|52L!T?tjvDb;Kn(Ar;9DT(h;|8c3R)-|Vf zAQV}CP%t6zv(2Ljr33Tc-|e1^d2JKmj5fMtnAsxSBMfj$!Tz~`wIzPk=Lfi_IPWqAjCS@oFmCw)Yl;ya2NJ6&um{dYJm7jH;4u;VHVNhNU2xt{ z^al-$ThhAwR_xmdlt;o~lh$Ap;TO1yJ#W+PX4l8@kN~{8Vr*^8r8_E$b=97U3C@ac z!51Kf3xNz3#4!K?SkL1e?FO!|0Unts$`tC{S^P;D%b5Af@O5zh0ki;i`?Q+w7%;$| zo7p{uDJ3TB*M{$U1GI>4i<+tC|(xltXqYihKVC-RcQSi)d`S@?JZOE5xlrSYInRzR%1l5 z?gUs~`Q1;6>!J!!QJLqqis{=h2CHTLi_2)jDH1f!sK@KM_Ar&@ubW2FMsm?7`~q?x zcE`}g=^<6jZ!%@&rC4VN%+ZIWGkm^w3vNKt%|^ZFSO=Cexk;*wdnP;G*$s<`SBzNV)3tBXBU$GE`n zdENR>e+Q5a_zP`z0Pr2U{E<>f5-)4~u2r^D#qKppH@QIMbeV>0@Y%GIV}(N99G4rn z$CJb*4do+X(j7?{DkmJWJ9{iQFF4r*I08%0uUI>htESOA*82;=N9Zg3nTc2tN$9M3 z3Pq`^C8B8)CHuo9>P6>ijhc7*F>Gs!2dO6|DQS7d7pZwA_Ni;d25D<0N5gs3DZ?hy z*)qwibTOA`G}9+CXvL zr$ai2B#XZSU#rqge@supC1jLOCI+KNLt=-pz@oNv*@|%@AGMQq6+%1Yg@#BhKiq}6 ze~zyzvVyw^MFAz5l8g3?;a~KX=VoN#f{RKj#h741(XUV?Rl3rt5m?rxKA3n#X}kz8 z`C=a%E_Kh}8WpI>S<(%`sZgm=!vUu)#u^skGR;>!K(c3_U>yGl!P#xl<(e9r>^~MT z>nn$PtQ8*?UrP}*+H1+)ra%^djcPYr)ZH1g7crm^s2UDu$e`fb7(V(k7OkS zmwhaZO`pxj=z!YU?qEoGkrXa^WCE8y@;y)TB)QY{%k=-=`LXNIDxHb#TC#If5bVa6 z=1!4HDR62qDetNr?iE0MC%u;USS^qg=7gDy8&IOf5=#kRHk1Th9fegkEEq8k1&;;|+nIDIQLb)pvOh2mK zZLZ&~#CLx5vZ0z9IGbBL4d(N^4c5sq!XOBzc-koJvZ2*e`}|tAFUdP#KZX?n5KvkVvV!n8FG&} z?j;EP#U1C;qvs;q-XP+mQ|J83CxIDG1b^E&0#$Sr!7kd1AQqiQFo-T91Vs6{@+kA> zBXc1F$+@X5S6^84zoTDVKE zR$iWWAST()1B-P?Svv=qOUUERE`=;~e2YGRa^@$VT#B>0^rVv%AeEmU8z6O$bw%r( z`5C|JxU78gKDS^gUSRKOK;V*Qi|XDbkS2h=n<_vg=yd>Vkm|jAAWi^(5KRDQcSIM& zc{<}fv7{EBCuuS!p52xH5-*C-zqfv7yw`pvzW00}z+fzFBFM_DXrw@0IdsWV041G#&w_ zX}}gsqtu#sEmD$8;cX2;~A7}FGAt4YmTOv;jHVejw0MyEViU)MkVtNzvgXDKYPGCQ=kY~@$t>WOi4{ zNy~)2RX(5`ZhMuMEbvE1Sxje*^G-IPR8vQsnd7rKJH2~k$%Qd1Im`!;n|O-;A0+SGL40*$Domgpn%Q<jUnV@$0efAy6{O;#4JHyw7695UA-c5}pGe7H8HP1PGu50d$lS?ta8;x9=m-=; z_=2**dz&1?W<~d&Y>_wkEP%S=4z|108+vJEx>Ak6=7*9_(|?WJMZ2 zHR+qJs;h=?=&++v$mj+tZkY;~CY$Dl8HPELWtl0v-Tzz_=s3+$r zxnUmssQqyCJ5yQH;J#zq(JV{+|0Lr?^5~ z;p=^hX4NzMm3B}XdS$oro7wK-&ObrL0Uydr32bu*iqSu%5r6sCs5w(&1!1E^(u0tP zlG{ePcm^FuX##K-+++ZRZ^>Zvm^cfR78~)m?aAop)&J5kj^piaw_b zD>kVcsi$hG6TJ5PA=4CW`Nc|I?SSKI>Rv(E_NgR#QNk9_5yGcM&OU2bR4nB9lh1^l z=BPG46*t(O(&RIm2>jBE9w-YnC}JJXvYHz{-Qu-Fw+> zp{&MF=CNn{Upa>3w?}t+%a7P@Hu8-l#aWs@7%$n(Gq&F;KjpJzY!qL(X$`SWxM}`o zF5Q-E0c)^I-|2!coX|?pLVC8k0XpE zX(XboSFV}t^#$9q{MJ67$qKFl@xP?}Hb<~+M;?AYRaM$X(`8U|iDh3YUuISAai;tf zFdm82g@fVU7;kSCHhh$6&g%u6mYwd)T%xB7Vktx0Mgs;i?6BXSrC=lZHOQ89;OlN* zw)qS(T8+pibCo%)FxyJL?5FD-vBRlw_LCWIIc@e}^P+?2(wAhnr}_PWchQ#|0UrW$ z#USA#FlEYK_bqW{{^tfiAF(?9S~SrPF=+qAdKGn81G6R7 zFZKlZnqPtAS?LmS*=bqCOtlC)x|}sWX_d$8xQ>sDRE$UT(YC_MvWqq9T#jDldCjGK zAG2xWXTB@NLpZ0bl{gmJ>xMo|3pqBscWATaRE#BY&h01)*j-IqS4;Xz7*KZ>a3qWU zAy!_q!+?Dh*5#bTO~Uvx0#DL!5Ye(vDzzWkUeK2@u8`d(($DTti5-!*J35cnml88M zNUcSJk~eysGahl@xgNc`^Egtt<2_=&6Fz!(r+TCtVK>Nvwso+N5vEbH-5AZUe0T27 zBGVUaK)tJ&VW9aqY`Ooj(zt*}vn`={QoCH@PFJXxl?_6bfpFZ|8LA!Go!JI_fKR}; zY*E2?=VRwZ?r7>X2e*Xl@-8 z_*4=iwztf;@fLAGpV~g(#nps*de}CcQ+`r=lb(y0wq%O|_qUCeV=@}cfhsN|%!~LH zeO9KM$!9vbkM7=b#W6g!e2{uXMtUBRdTf$<%m*MmXaY0vyFUgan(>2j@VgTMhya@B z0;xwVq-S}l$G+s-El?NMZQn91uY|f%5#AR8vsi(dU?wHz%VPhVqZ5f$y1Zr!M$ z!n!9$$%hiD$CU6}0;IrJe1v7e;}Y8W30J?k?B5`bNra@-qejGSCE9IY_-!fXoe9%= zP%%Ej-RwagbCHUzUtBsWs0t8Nh>!S4^L&QGVQ8XJelm}inxUjoFJQRWxOKG<8pYEqIo7l zengXcj19ll!9FFyK4t0D{dsG2ASb5q_f9!HevSHz2)*UAI?b~q@?#x7f@foNjXv{^ zfaV$9?7;x_s0H&3(bRWa8Gf6AeRe{)?uB($i+_#i`?xE8Lbz$dVhHNOuL4G5pVcm! zJr+g06!L&*%0~=hp4Aeto~Sy(Q^JQIoC{6^iI^vBdj|xt&Jg(Pc?|vC{Ly*69Uqrr zyO>$sDt~@fVUl$#{Jp)R9U6&19x`F<@0N@*VeRRbiV7;i?`{Dg$Y`EF^*-MaT_S{N zp2vExF)$aq6{CV;@q@|$2!5L9YQ<-bWltZ6mh(f;Xb-lD)^Z2pwiorwKb{tYOCiHY zg?jWSM{-^AWl>(Q(B5lNM?FM@{-x)k0jKqZi?H{vv1^9gh0uy{_MZ@YcFn~VhY%}W_(2xX~9|Nmj>MVZk5 z$EkgFhUT~GkbsZSq6uvMuZ(WS{*(U^U5kB&fpsdI)ctV{pY;S^p#DV>jVO`jcpxEd zHv`;1HQ3GdFQWO&f;yws%W(eoTH_u!AS2J`PL6iYHWp;dMDyJj8eXT8T2|Daw%ds- zCW5NUwTwP?h1B{{DK{XKok-&0y`s&LI+C(NfNm*YTy>IMebcnJXE9$i1>;dKZpQaI zy5dfn>QLW?zwgyK44geo(~Fh+=*0sjgf8lo&x@t0Y*EGc*Hf+)bKNsjME1EOyHv#i zPVTmH1Bw_iEnXLWG$crrC@|u^jh!h;pG2qa-yjRhq}MQ2(wXXx@LEHY)f(t~F9$WB z5(6I(f?}Q1OS{~zftmTEx6vKLiAsmoc?mrz!dKp&65GAA!yn{-`nKXuO<ZTM~J3(s(Ha5C* zHEf@E)rwOKAr=y2;3^i2J(Zjww zBt1G*{>fP3h&Q`Y6mGyUB@^TPWTC3WyWlqMaE<&0X0J}?r>Ng!oUXr6IgO=YarkNf z)pde9@Ig%|sgo(Ee>G#=oJu*PUbQ6tkk^*?L27ZlD>c{BMA`X=bFu2*mg$>AzkROj zqS3z-V8|2ejaBzZ*n-KqOP;0e3@3MegJiZ?Q=?^wriyq`p7hH?nTg3H*I7@FNT~e~ z-#*tw5wc^ml&w5UEo@> zhB-tO1$$4uJ0f}PN7I@g1x13Ni^86IhMt(|br@-NUc-?=uqS%@d3l+dx3IKr>YE0L zVMLT62y&1Tw#=mnz7T9BgdzppHEwAXMAmy)&dgIW{gV($40 z0{j-Xuoga=;F`IevO0F?k}pD-NwNK_sz|OIJBxzO+>;#w%m`Z$-^*L3Q($P})$Ko7 zfiohvDpJCqhcn}Xu##MkEHf!Bt zU(vh;{};U60nC||q~RUn07N`aeX2o%eeiWpFOWh8 zazp_zip-*huaI^|0x#u|Wg3uBHWxh!L6SW(c#IN`CD9LnLK^}>Y+3t)IXy>Q+nwF6*AnPJPp#j=V< zOdR&3blEo4Rj#!u8G!8()12k?R+U9`>wL(9vdpM45`FFHFNX-oG7&9!9?%-JOD&+F zaBN4=dJw#Pr8o51qi%Bh-TqIY2)ldiIb*&*cGUSCkaG~9ra>SovlB(ZX?W_UKnmOv z4Rb^S8@MswaTmC*(DT$R1uw7U!X38SQXuUdw8zIN;3YQ~fftiF30g5imZd?K0#bYG zLCoNCDl~B7QJHde!duQ06Tn8^a(EtUud0vdQf@$z$dHvc_5^b4u84NW6mJ0ICTha42M% ziWYo=(uxP(yXmKIP3;=NO5XC5Rdr5}Za<+y+E&d!$@Be&m3>c7&`{54evM6iS5g|d z2=^q8Z#QHnyKxR)ZUGGhkkGWM6SPtVFDK?MFTg#Ck`Fj&Z?GW`A23>1!s`#%l2@oC zjwgTxe~+b((W8Gp$eRbUMA9rtD>#(}L-PQjZ(+;1z2gZ)?sK&$pq;6Op^gTPa5!TW zY#RyG7q)B+UDiwrfs}$#HeM$B8Kb-LnMsr-gQy36+gj98HDn9f(UL*eeSZREnzd^P z|LO;UAQy{x53x&&0TG2&#L@NQ5OPT0swS2!Xo+CkK{>U_=`$|!u(U*~v|CiY67#T7 z5_2TV5CNzW{H^Zfs<0~&9c&@;=ZnyZUlXJqjrMo|r4=*z32 zP@^Z~gj|*-HhwID2zXMu3!H`OVWCI%77Cgw307mOmINcH>*@CUaxc$=T)W3yZ zP>Vj_t~D|!(XpYpU6YM|o`Lq|t@LroE_V}bZS5VWWc=qq0lE0guUz4p18LuqS^fa{ zFR`V~E@rFn=l&I1>fIlX>A;vfDOr$FF*61LRO`rVlRS$(l=IR_y!}rU!_bFULo3X* z^Qdr<=CNeEWoCM>*eFA`{}G#PKuzEBqBz4#74f^lINm0=o5*nD!aJJBfD0Ui$$knl z$sDs& zdwJr5mA$;%XM-pq!r~aM(&5W@vT#mhFv%`831RXGNmBc3m?Ny<>qs~}Mh0F302?n^ z?m=34WwIQ zg}R01fClkGe(o+?=Xap(EYAVmoLV9GD!3kjoc%9;{nWZK%GTJv*T@N85lMZHBaGe* zq`s5D{ap3dhkBSk3FDj_;@96-5Uo%7N^2=uepW0*$Xl~|r(3wgpm*T5 z{47sm`4Qtbib0}s8$z+X2hsRv5CP>IMTGKABMSLe5p8@!h?vG$gqCd#q6snow{uYb zvk?-o+s(#?us-`#cQxr$y$4_7je<8R>Ms}_bxkN6tI}_h7`!rCH0&sUO$oKn_yn>^ zrPTCRVRAiK#J}YnB@0Eu?Fb@XP=8Jd=r0d>NcVRH5)gF){`Dy*P`~T((VSKrt%8p0 zq_uW-$CHJ`GChl+89KYC6{DjQvBEiwm@~`gIUC@NSP>K2*4n!9#nV9P>GQy?h?7Apl)Fw3`KZXRPysbSR+ zUbI?^+OI_lb@48XJcG+yhJz}U+9}hodO*Z*Q5QJ-Rs6#&fuU*A?j%vlcyS}IN565t%`he;>CU2J zr#Ejz8)ty|pthHDxN^Qx38ES=db^+b%;IAJ?!m*|QD|TCecdMVU6uZ1UhVKa>oq9r zH7O%xLkyz#>JCH-#*wn-g=_Ly7E3st25aVpiXR8|2Q8%gcU300c%(Sk^Er=v+w$+) zl|qZn6w48rTaFRFLOo6`Pp0vD1y{-26H}b}kU}DZb|MGUcs(@)IYYkd#IvN7N+y}d zV4{ZGenm~DNkQdVz&L*`Rb>f#8$Rl_ONGEQXOjMo4L3^!mUo>r0)}z=M^i0fbgz8U zY08HnddOKvD0)#4{UJ!}E1v`!+aZV#vdqk)x{(3Wz!n8SR~KmpMjoWNQPuL{rzMB^2d1E!Y%mD+S58W$FW62Vx|$J=3g(NObE z%~!i9RO77h*8p5%tvYQw8-S}A@wgM!cqMEf2UzvPv|3WddGnAYVUU-f69YTrOWEbS z{$%Vqd+%YT1Lx4l@GXI&AGm`#gzKkq1HM2nrT?1iqcxur#O;-!NYUpQsB}Mw5!g+N z!|qgwD|P&m3f-Uoh{@BIq;qv_vhWL%S;- zH_jiUqA57n8ezn33{VX>1iwke_Y@C2>0s**>NWzy2*Dl7pP0eoQ{@I-#Qaa4;}iDbio2nC$LF&VSI48rnX^l z`A%)a1=c3CX>*~xUO#jbe0cArB5^Dd3Z3BgQc*h|B^-CiTLzg@xPunAKgMSjd{Bh8 z!tNrkT1Vc$Y5BYbEg!S6_T{n3b;-Ss8YkHy!Wa%AN?T5mD{Y6wmYX?Rmy_ zg{y0;9@Dosya(x7SLj|4IdAVsj)MsYDYUW0aVl6$kd^9}Y8MOEclxDL1y>cWWtvtI z{AI)i_5D=iD*kt>6(0RUtU=7h{|pfI&pCgq(~q5++>0J@}0SGYUMxG~%%B-*JTL=6oSgXTeI-UymdM=C2^(vO>M z_;2@tqM`olK-uvL*bvirOYfP1gge$?tuRemkc0|RuGXqzxxb+xCEM4k85{Kl?b{(% zz_{Y(U-ZCwtSC4AlJ9=(1ocgQ?_G&;x_D?;WK;k)Q)P?NzA-K$bEsNg>5dy^{y;%V zxak?@mY}O0c4-106PoJQIyTL8A58K0j9^73WK}^hUR0=ZE^9_m7zeZ!oDvPC1`iOF zwz}whyGY?OQ3%^Jxog|QElq8XipTBPfVB}4vpHJiAaUeUQSd+NUHMIS!i4$ZJUbO5 zAi6WU3MKew?(eaF7W{+>bt>UF*~J#=T5yQ*Irh))@duI5%iTC7_#KMs&- zy(x3C_H{A#0M}B0J&|@@;Vzg_M*TiYf|Rr7qaSdY$U$j6S&7hVSULST?S}Vgc&0st z3NHBiWHU_xO{V4bT3#&5Z`{Qk@IuZf%65(ILlsKnznW?`PkQ{jKOXz5y2k&-`N>nc z`=|FEhXNn-5n6&ol#!;}F6U?XB4k4L0^mBHaLP}=R@tBdlu$#azeZ=&ZfroyE*aeP z(8-qR_a{*<9d=*gpuvvgcRBCzb1Y!{AycH%Qy>;#A`dWRT*cjY6La|Qx7L)9wEzFGc%pnSr$rXLq=}=I}TST$Af7xpD7J zn3c)bc`K8UzWuOPx1h1*p}jb$GPl=pBc-ize=fKKK z?%wbnPLC!fW_#F;rXxE`fxNoA^PBM_N+>pT54U$OE_81>7HS?h&Kxry(0g|^dtQFM zE|JKa&8t%`;XhPDNz8xXtf^hzM(4mEB@h>3)?l_7q#rpZ7cJLbw;(uGM$Vs2Pxh(T zdPat>L}i$9<-J{cnK12?MD!1C!X_onc7;EjpIMT=C`H>5Mt@H)n@jpaaaY@xq~2M# zJQ|mtwVV2n#p&Qz-2(gfE>5k;ULhuHYaBj5Yis8~MGve4(uJ(n_YFRy4rf(%`h}(R zfexS!8S%_7O)&`W74G!BXM@%$<>t9XZu6biutkzx2Tr~V6ddF+WA)u#zE^P17P#oA zD)Fq{-=qB4T1O^<$vCK%C}|9?@&+~sW(_$@LTipz?bX*#Y=e#-E(R1U+Dt7TAxmwO zj@xb3A}zBEjvlTCcTSZ(jvgKcE6dtmEwg=&SMCNRt<_R3vm=g1ht0n2)nZNuge|l4 zj#sfQ>6P~=TP=^nqlJ=34O=Y_i%d>8V^f_TCKu{V@`)^WIws{G1JWu=A}f7`D#-Ti zHNSUh=Tz3}P+a1$nk1@sUVi##91#1h*ja=3^4-F4z&}z^Nsc+ZvJbw6tTQPu+bMk_ za|>Co_&hXKb;S20agt>x&5gw2_(uGYt>syrsU;J>(zoa~wgJu^#GkmA zyQ(`+rgP3TT^+PVbIw;^F|J5DPodp&EX;d(m^?Kfm$v*fe@aN$JGy5L*zsF)^ewQj&RW$vt^q;Q$A=_3S_@Sb| zyKgjv^*Mr^#jb4pJ%&PiQ3r0at9g9~@ksN-$bsqIEa|xrJvEL`r=jsPR(kWEsS3o@XqZ&#>DG_li*;?4Y?SN->5U zpV}u@T)UFF3GZQr5QCxQ0Or3Ycm*0F$zY-%TA4p3rE2pJK~_s+=MRah)ZVbLig2t7 z+u0$c zf&3CD)U{}9x?94g4Q$xfkn2a~gP%P7`efN}+^gGb+-uzGc6*JA5;?QCInH9zux{fM zCL7^uve}?km#X3mwpTCfTF1)W-^WAu-p6J5@d4p#(o`7VT9x9Ym3Pucc2&3s(`!<4 z*x3_f5d5x)+5#Xz|CUrFslymdu+BT$?8<>&3*aTl!XLTimOz?=W z)HwwoB*!voOx{3LM#stt;zMLf+xoWEo4#k*vH7|#)qVaZ{91G)LXGF`9PLoR@GtG* z)9=Pp4Ihf6I*gR3blEGu7isKny!^O^(O_6kQ2gTdl=foG?%qIhN_`BL)kIHM zjIAn7hu=OhYZ@-*vZ!9$l9joA(F`{SQDmH#_#a_~jZx{E)kTgRpxXjRGU9HpwFk<+ z_h5j$lyDT57|Zb z8Beyd6lS{V>3Rc+y-XbnC9KoH;%!v_h|jsfqeoJ+o`(L5T$4L7{y{|8q;O)l)rVxI zeed+j+~#Pslgdo>?t0Q^qR=x8;R|IPW_hiC{OR7cBL-6DLcD<}_0qj0EcI%hF`*ug zl?l27JlWHumL{6MoWNbl&+yu?Q`7&5OMuzL4a*!1HH|X=@vBaX%(a?v;GSmf4j5*c zCT!BviGB08`ib37-NNs*(FTNp_dbD8=YrymH^uvcGs4YyuTg<|ApUl{=hVSgv9YnQ ziLfn{P!(UVKEgd%WW+M3*rw>>kf}jp=f{fI+|=60DFDUeC-XMO>D<%-#UrJ($7|)A z9G2|epXv2}j7^%QOl2j&#%hax8d^!V-W)N>KN^t+?1vuiQ4yMvef(QR%T$38G{&LK z>-<{zfvDG4Tk^F3@|gw1ru2rba@y>XpWg=KBFCNI5vKe`%A4}eiV{cdb);Pu<7}7k z|G3yfYslCu8-?`dY@bq&JZgvGZ@!${7;qh-y!=j%Y6XrIgOidgW>}J4Gh@UtiT~%z z4b6gq?r%rKL8JOLQydS=Q{Dv=vvn`{Y1E;K`zF=0Dd$^VyqH4O8TZzhew&0nrn$O6 zWoJH}ZoSIxYN8^}3y0bNHyrPOqsKC>|F!cg0Du@D0ATw6cbYP0?q=p@ZdRYH+|B-@ z>EHja-ZMuhz+H2e0I||Sb#c8dxoIAZrcWsG*FPx=GHohLh+MNHO(=%-H$7t|!_usQ z+;i=#O!XpbllC9|rdQ3=>2{Mb9DI6&YDwy!f9O}1G+$M2Zrnx=Ht+t?@D-F2zHua^ z)+0**F`bO(WC?ri2)OO8iuzh3+yI<|k(B0^RCVtB>VhjUOBQBk}XI1OvZUC zI%*QkLxLHYw271VV7-j)6?@5B@vKhMF1%feKO6};H(WCu^vOt$5^|HHdOp| zej6ntM2WmA|I!Zmy}GIRsVXhj#U*|-GJ#hNN5a9|q_I7SBx~L@8(RAQLw*S}5q2g| z7IS8SlW2~y!4#fXahvs(=P>n~c*cX6oHumx(_e=5eQsJ__97N@EN}Zcatb-y{;1|u ze*H6-MyrruRw6>}Yz7xw{oKFr%zl_cA`x7y^sG=ZzO>yQ)J!2YEDnccygZ~q*+CF z)dFEC32v5g^@A~v+(jGYV?TS~ZiOE$e)y}w7)2fBY~o2BfBY?b<$~TyrcFkGG`QH5 zHf^la9>@LbpCKm=?>i@6S|Gb4cYFF0kB7x{oR=13HX36>aL&TmwHT*dSDS`uFUUvt z1y6yLZ>idaeV9xif|A&;@4az%C4x_RLMrfPC@M{`7E115T*N}uNaI&k^kE?REWeeW zT_aT(xUnz|u=y!O7S~UB$bzkJLDQQe6c|$K&fY&O)D?$Cf$dU~P`l1b5nE?q>c8`D zVRyj(pU$?{?0i*Owf(5Uw3t&bZC&KXrwdF!k4G}maAOLVL%PfTy}`h* zPeKjKgGeHM@GBgo-UgxEK1n3m?|lMquTQ;SO(@4kzUrQGeb;T(pAkN$prB&Bjyh~e zkg(@Xz;*T~j&aGoBd!SQA&wx~^G53?U#8Zmu2cW~ec$HVfoFk2@2GR~G3Ek_p)Bl#jz1%xuZv?eSvBTMH zGAUT%2Q3aW?T?`Y^&p|u49+KR&8TS{HrbbF0=yVZCf5YV1)p`)di&t;+l77s~B3<6#D-QEba!oCS(LzO|X|bP0oz2Cgqu5Gk|0=YLL8_DS-x)YxSkIOGdc95G~kNDh8+ z67gDoKsb5ChQZGBeEpQ9YQu8~M0RPrBZ~&JX2Pj8G^h*3%W|;79Emc(jCRjwAdAh` zs$$|kD6Ho+YJ;;2;5UsD>+!ZeOUS8$zh1nv)bsGCUmz;&mf+7i%i63*>)X`TAF|9B zi&v_ivRy-pdt*ZPHsR~&`27xc>T7#%!lCc|{}*H5*qmv!Hk*lUb7I?`cw*bOZQHhO zXW~in#I|iGPpnB!-a6;~u+OJmb^n38YSrrQYjyV(fOPOLaPm`+3|1%5SSwbPzS#Vk zHg1Tt*-XBjj1&xObG2F88ez=g_G;vxh}{fB<&}62SQ0xMvvNiBlv!JjZFBlaovHR2 zUcw7TDw}CT++YsHwF>-*!bl=_q_mb>m8Q-xfX-a$a5VbE=Swf8F2+wMEF9k3I7ArB zgT`UYWK2m<&6o&(cyu$Ph0!g&8%dToo;GpB{`B>u)9v_hvw;Hj$b*E~ zf%roQZZ)Na(dL|IarJ$%C{AK~#1Wstq&bsC(HrD?NpBshwXUQAst76%y+t)i4Kk9r zjMEytnhL^~D_K%P64v;QSxv~+QLqW3Ez&!>hx=caXuW$r3ce$cSdP00g`I}t^Ca|_3OEKlWwELT`IH- zPZw->)hT7n(z40O0_~*p2ZQ|rlt1@cl4WpG<@aIw<8roXsyw58jEyYmza@|^U378) z0{5nnA&dgHE7v@aHeRaZx`oVj{8*X_4`A3OcZ z@q7e^CqVubhxjzXVa~8{9!|I%YlzHCQ%77v45fzzbH2JLOAn267OyCB8=c@GZB@oT zI{Zu*h~2~JbqeN~A%I@L00TtyB@-x(ACi0%%_*80v?QFF6-1BytUP^SB+nL5?tZ9D zlK4_HoA*xv<*7uUqb^O6+b{%^PRI)FCM28f#&Mq3Oy)flk3 zN0(}hdD&fJq-qQ)`E5jnzR)Ps@C?#xOes;i0GZvxTOA@;v7_;B**&*YoBHpk7gvA? z0yj}CcozmtZ?a8aOyx1`!EQ6q{VkqT7X3zL-ILXanyCw8+w1;cVE-xf4({>O;t@bV zoN)g;&cgD4IZLTJoR7*<=2!mvXpi$r4j&{ayZ|=YFH~rlir-MR=kW3O88Utqc&;Q9HW?XUoCJGN;fgPq*-1AQ@jga5KN=#zYH$G-!S?(PEu!6Q9Yl%bv)a#ygp%bm=^t>EZJqz%(rl8f7x!cB3DX}{aa@vI1k4-Wk0eb z^)tDw_jhDJ*8BW5EJplsUt$Blj50a_aj6|{>XVj@@42pR7d&HJA_bP&J%GBnHQ@HS z8z)ZeGlMx*Vt3{5`~~|HYⅆq=+NrvXR55E;3$HvQ~a^7Mqnb_x-Kat~ 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