feat(desktop): add database info and SQL statement markers

This commit is contained in:
shen authored and GitHub committed 2026-07-15 18:35:34 +08:00
1 parent 83f7604a11
commit 3748d83cde
60 files changed
+2403 -134

No files matched your search

@@ -10,6 +10,7 @@ import com.dbx.agent.TableInfo;
import com.dbx.agent.test.JdbcExecutionBehaviorTest;
import com.dbx.agent.test.JdbcMetadataBehaviorTest;
import java.util.List;
import java.util.Map;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
@@ -41,6 +42,35 @@ class H2AgentMigrationTest {
Assertions.assertEquals("jdbc:h2:tcp://127.0.0.1:9092/test", H2Agent.buildUrl(params));
}
@Test
@SuppressWarnings("unchecked")
void exposesDatabaseMetadataForTestAndConnectedConnection() {
ConnectParams params = new ConnectParams("", 0, "mem:dbx-agent-info;DB_CLOSE_DELAY=-1", "sa", "", "", "", false);
H2Agent agent = new H2Agent();
Map<String, Object> result = agent.testConnectionWithInfo(params);
Assertions.assertEquals(true, result.get("ok"));
Map<String, String> testedInfo = (Map<String, String>) result.get("databaseInfo");
assertH2DatabaseInfo(testedInfo);
agent.connect(params);
try {
assertH2DatabaseInfo(agent.getDatabaseInfo());
} finally {
agent.disconnect();
}
}
private static void assertH2DatabaseInfo(Map<String, String> info) {
Assertions.assertEquals("H2", info.get("productName"));
Assertions.assertFalse(info.get("productVersion").isEmpty());
Assertions.assertFalse(info.get("driverName").isEmpty());
Assertions.assertFalse(info.get("driverVersion").isEmpty());
Assertions.assertFalse(info.get("jdbcVersion").isEmpty());
Assertions.assertEquals("upper", info.get("unquotedIdentifierCase"));
Assertions.assertFalse(info.containsKey("quotedIdentifierCase"));
}
}
class H2ExecutionBehaviorTest extends JdbcExecutionBehaviorTest {