@Override
  public int getColumnType(int index) {
    String runtimeTypeName =
        provider.getStringValue(adjustColumn(index), ResultsMetadataConstants.DATA_TYPE);

    JcrType typeInfo = JcrType.typeInfo(runtimeTypeName);
    return typeInfo != null ? typeInfo.getJdbcType() : Types.VARCHAR;
  }
 @Override
 public String getTableName(int index) {
   String name = provider.getStringValue(adjustColumn(index), ResultsMetadataConstants.TABLE);
   if (name != null) {
     int dotIndex = name.indexOf('.');
     if (dotIndex != -1) {
       return name.substring(dotIndex + 1);
     }
   }
   return name;
 }
 @Override
 public String getSchemaName(int index) {
   String name = provider.getStringValue(adjustColumn(index), ResultsMetadataConstants.SCHEMA);
   if (name != null) {
     int dotIndex = name.indexOf('.');
     if (dotIndex != -1) {
       return name.substring(0, dotIndex);
     }
   }
   return null;
 }
 @Override
 public String getColumnName(int index) {
   return provider.getStringValue(adjustColumn(index), ResultsMetadataConstants.COLUMN);
 }
 @Override
 public String getColumnTypeName(int index) {
   return provider.getStringValue(adjustColumn(index), ResultsMetadataConstants.DATA_TYPE);
 }