Merge remote-tracking branch 'jhorcicka/bug/dc-2199-schema-equals-column'
diff --git a/CHANGES.md b/CHANGES.md
index 3abb8f0..08715a0 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,9 @@
+### Apache MetaModel [WIP]
+
+ * [METAMODEL-1236] - Elasticsearch: not/empty and is/not null do not work for text based columns
+ * [METAMODEL-1235] - Elasticsearch: "String index out of range" when schema name and column name are equal
+ * [METAMODEL-1232] - Improve stability of Travis CI builds
+
 ### Apache MetaModel 5.3.3
 
  * [METAMODEL-1233] - Elasticsearch: "term" query is used for text search.
diff --git a/core/src/main/java/org/apache/metamodel/AbstractDataContext.java b/core/src/main/java/org/apache/metamodel/AbstractDataContext.java
index 87a3035..4a2984f 100644
--- a/core/src/main/java/org/apache/metamodel/AbstractDataContext.java
+++ b/core/src/main/java/org/apache/metamodel/AbstractDataContext.java
@@ -307,26 +307,24 @@
      *            in case of case-insensitive search)
      * @return
      */
-    private Column searchColumn(String schemaNameSearch, String columnNameOriginal, String columnNameSearch) {
-        if (columnNameSearch.startsWith(schemaNameSearch)) {
-            Schema schema = getSchemaByName(schemaNameSearch);
-            if (schema != null) {
+    private Column searchColumn(final String schemaNameSearch, final String columnNameOriginal,
+            final String columnNameSearch) {
+        final Schema schema = getSchemaByName(schemaNameSearch);
+        if (schema != null) {
+            if (columnNameSearch.equals(schemaNameSearch)) {
+                return getColumn(schema, columnNameSearch);
+            } else if (columnNameSearch.startsWith(schemaNameSearch)) {
                 String tableAndColumnPath = columnNameOriginal.substring(schemaNameSearch.length());
-
                 if (tableAndColumnPath.charAt(0) == '.') {
                     tableAndColumnPath = tableAndColumnPath.substring(1);
-
-                    Column column = getColumn(schema, tableAndColumnPath);
-                    if (column != null) {
-                        return column;
-                    }
+                    return getColumn(schema, tableAndColumnPath);
                 }
             }
         }
         return null;
     }
 
-    private final Column getColumn(final Schema schema, final String tableAndColumnPath) {
+    private Column getColumn(final Schema schema, final String tableAndColumnPath) {
         Table table = null;
         String columnPath = tableAndColumnPath;
         final List<String> tableNames = schema.getTableNames();