private String getDatabaseInfo(final Connection connection) throws SQLException { try { final DatabaseMetaData metaData = connection.getMetaData(); return metaData.getDatabaseProductName() + ' ' + metaData.getDatabaseProductVersion(); } finally { connection.close(); } }
String databaseProductName = databaseMetaData.getDatabaseProductName(); if (this.productsNotSupportingGeneratedKeysColumnNameArray.contains(databaseProductName)) { if (logger.isDebugEnabled()) { this.databaseVersion = databaseMetaData.getDatabaseProductVersion();
@Test public void testMetadata() throws Exception { try (Connection connection = createConnection()) { assertEquals(connection.getMetaData().getDatabaseProductVersion(), "testversion"); } }
private static void appendDataBaseVersion(StringBuilder result, Connection connection) throws SQLException { final DatabaseMetaData metaData = connection.getMetaData(); // Sécurité: pour l'instant on n'indique pas metaData.getUserName() result.append(metaData.getURL()).append('\n'); result.append(metaData.getDatabaseProductName()).append(", ") .append(metaData.getDatabaseProductVersion()).append('\n'); result.append("Driver JDBC:\n").append(metaData.getDriverName()).append(", ") .append(metaData.getDriverVersion()); }
@Test public void testInit() throws Exception { DataSource ds = mock(DataSource.class); Connection con = mock(Connection.class); DatabaseMetaData dmd = mock(DatabaseMetaData.class); when(dmd.getDatabaseProductVersion()).thenReturn("10.4.1.3"); when(con.getMetaData()).thenReturn(dmd); when(ds.getConnection()).thenReturn(con); pagingQueryProvider.init(ds); }
String version = meta.getDatabaseProductName() + " " + meta.getDatabaseProductVersion(); buff.append("setNode(").append(treeIndex) .append(", 0, 0, 'info', '")
private static Database loadDatabaseMetadata(DbSession dbSession) { try { DatabaseMetaData metadata = dbSession.getConnection().getMetaData(); return new Database(metadata.getDatabaseProductName(), metadata.getDatabaseProductVersion()); } catch (SQLException e) { throw new IllegalStateException("Fail to get DB metadata", e); } } }
@Test public void testInitWithRecentVersion() throws Exception { DataSource ds = mock(DataSource.class); Connection con = mock(Connection.class); DatabaseMetaData dmd = mock(DatabaseMetaData.class); when(dmd.getDatabaseProductVersion()).thenReturn("10.10.1.1"); when(con.getMetaData()).thenReturn(dmd); when(ds.getConnection()).thenReturn(con); pagingQueryProvider.init(ds); }
@Test public void testNoSuchTable() throws Exception { ResultSet resultSet = mock(ResultSet.class); given(resultSet.next()).willReturn(false); given(databaseMetaData.getDatabaseProductName()).willReturn("MyDB"); given(databaseMetaData.getDatabaseProductName()).willReturn("MyDB"); given(databaseMetaData.getDatabaseProductVersion()).willReturn("1.0"); given(databaseMetaData.getUserName()).willReturn("me"); given(databaseMetaData.storesLowerCaseIdentifiers()).willReturn(true); given(databaseMetaData.getTables(null, null, "x", null)).willReturn(resultSet); SimpleJdbcInsert insert = new SimpleJdbcInsert(dataSource).withTableName("x"); // Shouldn't succeed in inserting into table which doesn't exist thrown.expect(InvalidDataAccessApiUsageException.class); try { insert.execute(new HashMap<>()); } finally { verify(resultSet).close(); } }
DatabaseMetaData metaData = connection.getMetaData(); try (ResultSet resultSet = metaData.getTypeInfo()) { if (!resultSet.next()) { buf.append(metaData.getDatabaseProductName()); buf.append("-"); buf.append(metaData.getDatabaseProductVersion()); buf.append(")"); } catch (Throwable e) {
/** * @throws Exception If failed. */ @Test public void testVersions() throws Exception { try (Connection conn = DriverManager.getConnection(URL)) { assert conn.getMetaData().getDatabaseProductVersion().equals(IgniteVersionUtils.VER.toString()); assert conn.getMetaData().getDriverVersion().equals(IgniteVersionUtils.VER.toString()); } }
/** * Copy / paste from Database, but we can't use Database here... * * @param meta DatabaseMetaData * @return String */ private static String getDatabaseProduct(DatabaseMetaData meta) { try { return meta.getDatabaseProductName() + " - " + meta.getDatabaseProductVersion(); } catch (SQLException exc) { return ""; } }
DatabaseMetaData metaData = connection.getMetaData(); try (ResultSet resultSet = metaData.getTypeInfo()) { if (!resultSet.next()) { buf.append(metaData.getDatabaseProductName()); buf.append("-"); buf.append(metaData.getDatabaseProductVersion()); buf.append(")"); } catch (Throwable e) {
@Override public boolean isRecursiveQuerySupported(SqlSession session) { // Retrieve database version string from JDBC connection String versionString; try { Connection connection = session.getConnection(); DatabaseMetaData metaData = connection.getMetaData(); versionString = metaData.getDatabaseProductVersion(); } catch (SQLException e) { throw new PersistenceException("Cannot determine whether " + "MySQL / MariaDB supports recursive queries.", e); } try { // Parse MySQL / MariaDB version from version string MySQLVersion version = new MySQLVersion(versionString); logger.debug("Database recognized as {}.", version); // Recursive queries are supported for MariaDB 10.2.2+ and // MySQL 8.0.1+ return version.isAtLeast(MARIADB_SUPPORTS_CTE) || version.isAtLeast(MYSQL_SUPPORTS_CTE); } catch (IllegalArgumentException e) { logger.debug("Unrecognized MySQL / MariaDB version string: " + "\"{}\". Assuming database engine does not support " + "recursive queries.", session); return false; } }
public CachedDatabaseMetaData(final DatabaseMetaData databaseMetaData) throws SQLException { url = databaseMetaData.getURL(); userName = databaseMetaData.getUserName(); databaseProductName = databaseMetaData.getDatabaseProductName(); databaseProductVersion = databaseMetaData.getDatabaseProductVersion(); driverName = databaseMetaData.getDriverName(); driverVersion = databaseMetaData.getDriverVersion();
@Override public String getDbmsInfoString(Dbms dbms) throws SQLException { try (final Connection conn = connectionPool.getConnection(dbms)) { final DatabaseMetaData md = conn.getMetaData(); return md.getDatabaseProductName() + ", " + md.getDatabaseProductVersion() + ", " + md.getDriverName() + " " + md.getDriverVersion() + ", JDBC version " + md.getJDBCMajorVersion() + "." + md.getJDBCMinorVersion(); } }
@Test public void testInitWithUnsupportedVersion() throws Exception { DataSource ds = mock(DataSource.class); Connection con = mock(Connection.class); DatabaseMetaData dmd = mock(DatabaseMetaData.class); when(dmd.getDatabaseProductVersion()).thenReturn("10.2.9.9"); when(con.getMetaData()).thenReturn(dmd); when(ds.getConnection()).thenReturn(con); try { pagingQueryProvider.init(ds); fail(); } catch (InvalidDataAccessResourceUsageException e) { // expected } }
r.refOfIndex("databaseName").assign(metaData.getDatabaseProductName()); r.refOfIndex("databaseVersion").assign(metaData.getDatabaseProductVersion());
@Override public String getDbmsInfoString(Dbms dbms) throws SQLException { try (final Connection conn = getConnection(dbms)) { final DatabaseMetaData md = conn.getMetaData(); return md.getDatabaseProductName() + ", " + md.getDatabaseProductVersion() + ", " + md.getDriverName() + " " + md.getDriverVersion() + ", JDBC version " + md.getJDBCMajorVersion() + "." + md.getJDBCMinorVersion(); } }
private void assertDatabaseMetadata(String json) { try (DbSession dbSession = db.getDbClient().openSession(false)) { DatabaseMetaData metadata = dbSession.getConnection().getMetaData(); assertJson(json).isSimilarTo("{\n" + " \"database\": {\n" + " \"name\": \"H2\",\n" + " \"version\": \"" + metadata.getDatabaseProductVersion() + "\"\n" + " }\n" + "}"); } catch (SQLException e) { throw new RuntimeException(e); } }