@Override public boolean storesUpperCaseQuotedIdentifiers() throws SQLException { return metaData.storesUpperCaseIdentifiers(); }
@Override public boolean storesUpperCaseIdentifiers() throws SQLException { return metaData.storesUpperCaseIdentifiers(); }
@Override public List<SchemaTableName> getTableNames(@Nullable String schema) { try (Connection connection = connectionFactory.openConnection()) { DatabaseMetaData metadata = connection.getMetaData(); if (metadata.storesUpperCaseIdentifiers() && (schema != null)) { schema = schema.toUpperCase(ENGLISH); } try (ResultSet resultSet = getTables(connection, schema, null)) { ImmutableList.Builder<SchemaTableName> list = ImmutableList.builder(); while (resultSet.next()) { list.add(getSchemaTableName(resultSet)); } return list.build(); } } catch (SQLException e) { throw new PrestoException(JDBC_ERROR, e); } }
setStoresUpperCaseIdentifiers(databaseMetaData.storesUpperCaseIdentifiers());
@Override public void initializeWithMetaData(DatabaseMetaData databaseMetaData) throws SQLException { try { setSupportsCatalogsInProcedureCalls(databaseMetaData.supportsCatalogsInProcedureCalls()); } catch (SQLException ex) { logger.debug("Error retrieving 'DatabaseMetaData.supportsCatalogsInProcedureCalls' - " + ex.getMessage()); } try { setSupportsSchemasInProcedureCalls(databaseMetaData.supportsSchemasInProcedureCalls()); } catch (SQLException ex) { logger.debug("Error retrieving 'DatabaseMetaData.supportsSchemasInProcedureCalls' - " + ex.getMessage()); } try { setStoresUpperCaseIdentifiers(databaseMetaData.storesUpperCaseIdentifiers()); } catch (SQLException ex) { logger.debug("Error retrieving 'DatabaseMetaData.storesUpperCaseIdentifiers' - " + ex.getMessage()); } try { setStoresLowerCaseIdentifiers(databaseMetaData.storesLowerCaseIdentifiers()); } catch (SQLException ex) { logger.debug("Error retrieving 'DatabaseMetaData.storesLowerCaseIdentifiers' - " + ex.getMessage()); } }
setStoresUpperCaseIdentifiers(databaseMetaData.storesUpperCaseIdentifiers());
String jdbcSchemaName = schemaTableName.getSchemaName(); String jdbcTableName = schemaTableName.getTableName(); if (metadata.storesUpperCaseIdentifiers()) { jdbcSchemaName = jdbcSchemaName.toUpperCase(ENGLISH); jdbcTableName = jdbcTableName.toUpperCase(ENGLISH);
boolean uppercase = connection.getMetaData().storesUpperCaseIdentifiers(); if (uppercase) { schema = schema.toUpperCase(ENGLISH);
if (databaseMetaData.storesUpperCaseIdentifiers()) { metaData.setCatalog(catalogName.toUpperCase()); metaData.setSchemaPattern(schemaName.toUpperCase());
metaData.storesUpperCaseIdentifiers(), metaData.storesMixedCaseIdentifiers() ); if ( metaData.storesUpperCaseIdentifiers() ) { this.unquotedCaseStrategy = IdentifierCaseStrategy.UPPER;
/** * 根据{@linkplain DatabaseMetaData}获取正确的表名 * * <pre> * metaData中的storesUpperCaseIdentifiers,storesUpperCaseQuotedIdentifiers,storesLowerCaseIdentifiers, * storesLowerCaseQuotedIdentifiers,storesMixedCaseIdentifiers,storesMixedCaseQuotedIdentifiers * </pre> */ private static String getIdentifierName(String name, DatabaseMetaData metaData) throws SQLException { if (metaData.storesMixedCaseIdentifiers()) { return name; // 保留原始名 } else if (metaData.storesUpperCaseIdentifiers()) { return StringUtils.upperCase(name); } else if (metaData.storesLowerCaseIdentifiers()) { return StringUtils.lowerCase(name); } else { return name; } }
@Override public boolean storesUpperCaseQuotedIdentifiers() throws SQLException { return metaData.storesUpperCaseIdentifiers(); }
@Override public boolean storesUpperCaseIdentifiers() throws SQLException { return metaData.storesUpperCaseIdentifiers(); }
private void initializeAddInvoiceWithMetaData(boolean isFunction) throws SQLException { ResultSet proceduresResultSet = mock(ResultSet.class); ResultSet procedureColumnsResultSet = mock(ResultSet.class); given(databaseMetaData.getDatabaseProductName()).willReturn("Oracle"); given(databaseMetaData.getUserName()).willReturn("ME"); given(databaseMetaData.storesUpperCaseIdentifiers()).willReturn(true); given(databaseMetaData.getProcedures("", "ME", "ADD_INVOICE")).willReturn(proceduresResultSet); given(databaseMetaData.getProcedureColumns("", "ME", "ADD_INVOICE", null)).willReturn(procedureColumnsResultSet); given(proceduresResultSet.next()).willReturn(true, false); given(proceduresResultSet.getString("PROCEDURE_NAME")).willReturn("add_invoice"); given(procedureColumnsResultSet.next()).willReturn(true, true, true, false); given(procedureColumnsResultSet.getInt("DATA_TYPE")).willReturn(4); if (isFunction) { given(procedureColumnsResultSet.getString("COLUMN_NAME")).willReturn(null,"amount", "custid"); given(procedureColumnsResultSet.getInt("COLUMN_TYPE")).willReturn(5, 1, 1); given(connection.prepareCall("{? = call ADD_INVOICE(?, ?)}")).willReturn(callableStatement); given(callableStatement.getObject(1)).willReturn(4L); } else { given(procedureColumnsResultSet.getString("COLUMN_NAME")).willReturn("amount", "custid", "newid"); given(procedureColumnsResultSet.getInt("COLUMN_TYPE")).willReturn(1, 1, 4); given(connection.prepareCall("{call ADD_INVOICE(?, ?, ?)}")).willReturn(callableStatement); given(callableStatement.getObject(3)).willReturn(4L); } given(callableStatement.getUpdateCount()).willReturn(-1); }
public String normalizeName(String name, DatabaseMetaData databaseMetaData) throws SQLException { if (databaseMetaData.storesLowerCaseIdentifiers()) { return StringUtil.toLowerCase(name); } if (databaseMetaData.storesUpperCaseIdentifiers()) { return StringUtil.toUpperCase(name); } return name; }
usesLocalFilePerTable = databaseMetaData.usesLocalFilePerTable(); supportsMixedCaseIdentifiers = databaseMetaData.supportsMixedCaseIdentifiers(); storesUpperCaseIdentifiers = databaseMetaData.storesUpperCaseIdentifiers(); storesLowerCaseIdentifiers = databaseMetaData.storesLowerCaseIdentifiers(); storesMixedCaseIdentifiers = databaseMetaData.storesMixedCaseIdentifiers();
@Override public boolean storesUpperCaseIdentifiers() throws SQLException { try { return databaseMetaData.storesUpperCaseIdentifiers(); } catch (final SQLException e) { handleException(e); return false; } }
public DatabaseAdaptor (DatabaseMetaData dbMeta) throws SQLException { _dbName = dbMeta.getDatabaseProductName().toLowerCase(Locale.ENGLISH); LOG.debug ("Using database {}",_dbName); _isLower = dbMeta.storesLowerCaseIdentifiers(); _isUpper = dbMeta.storesUpperCaseIdentifiers(); }
public DatabaseAdaptor (DatabaseMetaData dbMeta) throws SQLException { _dbName = dbMeta.getDatabaseProductName().toLowerCase(Locale.ENGLISH); LOG.debug ("Using database {}",_dbName); _isLower = dbMeta.storesLowerCaseIdentifiers(); _isUpper = dbMeta.storesUpperCaseIdentifiers(); }
public DatabaseAdaptor (DatabaseMetaData dbMeta) throws SQLException { _dbName = dbMeta.getDatabaseProductName().toLowerCase(Locale.ENGLISH); LOG.debug ("Using database {}",_dbName); _isLower = dbMeta.storesLowerCaseIdentifiers(); _isUpper = dbMeta.storesUpperCaseIdentifiers(); }