| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- package org.es.jdbc.api;
- import java.sql.ResultSetMetaData;
- import java.sql.SQLException;
- import java.sql.Types;
- public class ElasticResultSetMetaData implements ResultSetMetaData {
- protected static final String JSON_DATA_COL_NAME = "__INDEX_DOCS__";
- @Override
- public int getColumnCount() throws SQLException {
- return 1;
- }
- @Override
- public boolean isAutoIncrement(int column) throws SQLException {
- return true;
- }
- @Override
- public boolean isCaseSensitive(int column) throws SQLException {
- return true;
- }
- @Override
- public boolean isSearchable(int column) throws SQLException {
- return false;
- }
- @Override
- public boolean isCurrency(int column) throws SQLException {
- return false;
- }
- @Override
- public int isNullable(int column) throws SQLException {
- return columnNoNulls;
- }
- @Override
- public boolean isSigned(int column) throws SQLException {
- return false;
- }
- @Override
- public int getColumnDisplaySize(int column) throws SQLException {
- return 0;
- }
- @Override
- public String getColumnLabel(int column) throws SQLException {
- return JSON_DATA_COL_NAME;
- }
- @Override
- public String getColumnName(int column) throws SQLException {
- return JSON_DATA_COL_NAME;
- }
- @Override
- public String getSchemaName(int column) throws SQLException {
- return null;
- }
- @Override
- public int getPrecision(int column) throws SQLException {
- return 0;
- }
- @Override
- public int getScale(int column) throws SQLException {
- return 0;
- }
- @Override
- public String getTableName(int column) throws SQLException {
- return null;
- }
- @Override
- public String getCatalogName(int column) throws SQLException {
- return null;
- }
- @Override
- public int getColumnType(int column) throws SQLException {
- return Types.VARCHAR;
- }
- @Override
- public String getColumnTypeName(int column) throws SQLException {
- return "String";
- }
- @Override
- public boolean isReadOnly(int column) throws SQLException {
- return true;
- }
- @Override
- public boolean isWritable(int column) throws SQLException {
- return false;
- }
- @Override
- public boolean isDefinitelyWritable(int column) throws SQLException {
- return false;
- }
- @Override
- public String getColumnClassName(int column) throws SQLException {
- return String.class.toString();
- }
- @Override
- @SuppressWarnings("unchecked")
- public final <T> T unwrap(final Class<T> iface) throws SQLException {
- if (isWrapperFor(iface)) {
- return (T) this;
- }
- throw new SQLException(String.format("[%s] cannot be unwrapped as [%s]", getClass().getName(), iface.getName()));
- }
- @Override
- public final boolean isWrapperFor(final Class<?> iface) throws SQLException {
- return iface.isInstance(this);
- }
- }
|