@Override public boolean isDefinitelyWritable(final int column) throws SQLException { return resultSetMetaData.isDefinitelyWritable(column); }
@Override public boolean resultSetMetaData_isDefinitelyWritable(ResultSetMetaDataProxy metaData, int column) throws SQLException { if (this.pos < filterSize) { return nextFilter() .resultSetMetaData_isDefinitelyWritable(this, metaData, column); } return metaData.getResultSetMetaDataRaw() .isDefinitelyWritable(column); }
private Pair<List<List<String>>, List<SelectedColumnMeta>> createResponseFromResultSet(ResultSet resultSet) throws Exception { List<List<String>> results = Lists.newArrayList(); List<SelectedColumnMeta> columnMetas = Lists.newArrayList(); ResultSetMetaData metaData = resultSet.getMetaData(); int columnCount = metaData.getColumnCount(); // Fill in selected column meta for (int i = 1; i <= columnCount; ++i) { columnMetas.add(new SelectedColumnMeta(metaData.isAutoIncrement(i), metaData.isCaseSensitive(i), metaData.isSearchable(i), metaData.isCurrency(i), metaData.isNullable(i), metaData.isSigned(i), metaData.getColumnDisplaySize(i), metaData.getColumnLabel(i), metaData.getColumnName(i), metaData.getSchemaName(i), metaData.getCatalogName(i), metaData.getTableName(i), metaData.getPrecision(i), metaData.getScale(i), metaData.getColumnType(i), metaData.getColumnTypeName(i), metaData.isReadOnly(i), metaData.isWritable(i), metaData.isDefinitelyWritable(i))); } // fill in results while (resultSet.next()) { List<String> oneRow = Lists.newArrayListWithCapacity(columnCount); for (int i = 0; i < columnCount; i++) { oneRow.add((resultSet.getString(i + 1))); } results.add(oneRow); } return new Pair<>(results, columnMetas); }
@Test public void test_isDefinitelyWritable_nameThisNonSpecific() throws SQLException { assertThat( rowMetadata.isDefinitelyWritable( ordOptBOOLEAN ), equalTo( false ) ); }
m.isSigned(i), m.isWritable(i), m.isDefinitelyWritable(i));
boolean isEqualsTo(ResultSetMetaData metadata, int colNum) throws SQLException { return metadata.getCatalogName(colNum).equals(InfoSchemaConstants.IS_CATALOG_NAME) && metadata.getSchemaName(colNum).isEmpty() && metadata.getTableName(colNum).isEmpty() && metadata.getColumnName(colNum).equals(columnName) && metadata.getColumnLabel(colNum).equals(columnName) && metadata.getColumnType(colNum) == type && metadata.isNullable(colNum) == nullable && // There is an existing bug where query results doesn't contain the precision for VARCHAR field. //metadata.getPrecision(colNum) == precision && metadata.getScale(colNum) == scale && metadata.isSigned(colNum) == signed && metadata.getColumnDisplaySize(colNum) == displaySize && metadata.getColumnClassName(colNum).equals(className) && metadata.isSearchable(colNum) && metadata.isAutoIncrement(colNum) == false && metadata.isCaseSensitive(colNum) == false && metadata.isReadOnly(colNum) && metadata.isWritable(colNum) == false && metadata.isDefinitelyWritable(colNum) == false && metadata.isCurrency(colNum) == false; }
isDefinitelyWritable = resultSetMetaData.isDefinitelyWritable(columnIndex); } catch (SQLException e) {
meta.isDefinitelyWritable(i) ? S_ISTRUE : S_ISFALSE, m_ColAttrib_DEFINITELYWRITEABLE_TypeID, lastColHeaderIdx);
@Override public boolean resultSetMetaData_isDefinitelyWritable(ResultSetMetaDataProxy metaData, int column) throws SQLException { if (this.pos < filterSize) { return nextFilter() .resultSetMetaData_isDefinitelyWritable(this, metaData, column); } return metaData.getResultSetMetaDataRaw() .isDefinitelyWritable(column); }
@Override public Boolean call() throws SQLException { return resultMeta.isDefinitelyWritable(column); } });
@Override public boolean isDefinitelyWritable(int i) throws SQLException { return resultSetMetaData.isDefinitelyWritable(i); }
@Override public boolean isDefinitelyWritable(int column) throws SQLException { return resultSetMetaData.isDefinitelyWritable(column); }
@Override public boolean isDefinitelyWritable(int i) throws SQLException { return resultSetMetaData.isDefinitelyWritable(i); }
@Test public void testBasicResultSetMetaData() throws Exception { String query = "SELECT organization_id, a_string, b_string, a_integer i, a_date FROM atable WHERE organization_id='000000000000000' and substr(entity_id,1,3)=? and a_string = 'foo'"; Connection conn = DriverManager.getConnection(getUrl(), PropertiesUtil.deepCopy(TestUtil.TEST_PROPERTIES)); PreparedStatement statement = conn.prepareStatement(query); ResultSetMetaData md = statement.getMetaData(); assertEquals(5, md.getColumnCount()); assertEquals("organization_id".toUpperCase(),md.getColumnName(1)); assertEquals("a_string".toUpperCase(),md.getColumnName(2)); assertEquals("b_string".toUpperCase(),md.getColumnName(3)); assertEquals("i".toUpperCase(),md.getColumnName(4)); assertEquals("a_date".toUpperCase(),md.getColumnName(5)); assertEquals(String.class.getName(),md.getColumnClassName(1)); assertEquals(String.class.getName(),md.getColumnClassName(2)); assertEquals(String.class.getName(),md.getColumnClassName(3)); assertEquals(Integer.class.getName(),md.getColumnClassName(4)); assertEquals(Date.class.getName(),md.getColumnClassName(5)); assertEquals("atable".toUpperCase(),md.getTableName(1)); assertEquals(java.sql.Types.INTEGER,md.getColumnType(4)); assertEquals(true,md.isReadOnly(1)); assertEquals(false,md.isDefinitelyWritable(1)); assertEquals("i".toUpperCase(),md.getColumnLabel(4)); assertEquals("a_date".toUpperCase(),md.getColumnLabel(5)); assertEquals(ResultSetMetaData.columnNoNulls,md.isNullable(1)); assertEquals(ResultSetMetaData.columnNullable,md.isNullable(5)); } @Test
@Test public void testBasicResultSetMetaData() throws Exception { String query = "SELECT organization_id, a_string, b_string, a_integer i, a_date FROM atable WHERE organization_id='000000000000000' and substr(entity_id,1,3)=? and a_string = 'foo'"; Connection conn = DriverManager.getConnection(getUrl(), TestUtil.TEST_PROPERTIES); PreparedStatement statement = conn.prepareStatement(query); ResultSetMetaData md = statement.getMetaData(); assertEquals(5, md.getColumnCount()); assertEquals("organization_id".toUpperCase(),md.getColumnName(1)); assertEquals("a_string".toUpperCase(),md.getColumnName(2)); assertEquals("b_string".toUpperCase(),md.getColumnName(3)); assertEquals("i".toUpperCase(),md.getColumnName(4)); assertEquals("a_date".toUpperCase(),md.getColumnName(5)); assertEquals(String.class.getName(),md.getColumnClassName(1)); assertEquals(String.class.getName(),md.getColumnClassName(2)); assertEquals(String.class.getName(),md.getColumnClassName(3)); assertEquals(Integer.class.getName(),md.getColumnClassName(4)); assertEquals(Date.class.getName(),md.getColumnClassName(5)); assertEquals("atable".toUpperCase(),md.getTableName(1)); assertEquals(java.sql.Types.INTEGER,md.getColumnType(4)); assertEquals(true,md.isReadOnly(1)); assertEquals(false,md.isDefinitelyWritable(1)); assertEquals("i".toUpperCase(),md.getColumnLabel(4)); assertEquals("a_date".toUpperCase(),md.getColumnLabel(5)); assertEquals(ResultSetMetaData.columnNoNulls,md.isNullable(1)); assertEquals(ResultSetMetaData.columnNullable,md.isNullable(5)); } @Test
@Override public boolean isDefinitelyWritable(int i) throws SQLException { try(Resource res = resultSetHolder.getResource()) { return res.getResultSet().getMetaData().isDefinitelyWritable(i); } }
@Override public boolean isDefinitelyWritable(int i) throws SQLException { try(Resource res = resultSetHolder.getResource()) { return res.getResultSet().getMetaData().isDefinitelyWritable(i); } }
column.setCaseSensitive(resultsMetaData.isCaseSensitive(i)); column.setCurrency(resultsMetaData.isCurrency(i)); column.setDefinitelyWritable(resultsMetaData.isDefinitelyWritable(i)); column.setNullable(isNullable); column.setReadOnly(resultsMetaData.isReadOnly(i));
column.setCaseSensitive(resultsMetaData.isCaseSensitive(i)); column.setCurrency(resultsMetaData.isCurrency(i)); column.setDefinitelyWritable(resultsMetaData.isDefinitelyWritable(i)); column.setNullable(isNullable); column.setReadOnly(resultsMetaData.isReadOnly(i));
@Test public void test_isDefinitelyWritable_nameThisNonSpecific() throws SQLException { assertThat( rowMetadata.isDefinitelyWritable( ordOptBOOLEAN ), equalTo( false ) ); }