// SHOW DATABASES
 static int showDatabases(String stmt, int offset) {
   if (stmt.length() > offset + "ases".length()) {
     char c1 = stmt.charAt(++offset);
     char c2 = stmt.charAt(++offset);
     char c3 = stmt.charAt(++offset);
     char c4 = stmt.charAt(++offset);
     if ((c1 == 'A' || c1 == 'a')
         && (c2 == 'S' || c2 == 's')
         && (c3 == 'E' || c3 == 'e')
         && (c4 == 'S' || c4 == 's')
         && (stmt.length() == ++offset || ParseUtil.isEOF(stmt.charAt(offset)))) {
       return DATABASES;
     }
   }
   return OTHER;
 }
 // SHOW MyCat_STATUS
 static int showMyCatStatus(String stmt, int offset) {
   if (stmt.length() > offset + "tatus".length()) {
     char c1 = stmt.charAt(++offset);
     char c2 = stmt.charAt(++offset);
     char c3 = stmt.charAt(++offset);
     char c4 = stmt.charAt(++offset);
     char c5 = stmt.charAt(++offset);
     if ((c1 == 't' || c1 == 'T')
         && (c2 == 'a' || c2 == 'A')
         && (c3 == 't' || c3 == 'T')
         && (c4 == 'u' || c4 == 'U')
         && (c5 == 's' || c5 == 'S')
         && (stmt.length() == ++offset || ParseUtil.isEOF(stmt.charAt(offset)))) {
       return MYCAT_STATUS;
     }
   }
   return OTHER;
 }
 // SHOW DATASOURCES
 static int showDataSources(String stmt, int offset) {
   if (stmt.length() > offset + "ources".length()) {
     char c1 = stmt.charAt(++offset);
     char c2 = stmt.charAt(++offset);
     char c3 = stmt.charAt(++offset);
     char c4 = stmt.charAt(++offset);
     char c5 = stmt.charAt(++offset);
     char c6 = stmt.charAt(++offset);
     if ((c1 == 'O' || c1 == 'o')
         && (c2 == 'U' || c2 == 'u')
         && (c3 == 'R' || c3 == 'r')
         && (c4 == 'C' || c4 == 'c')
         && (c5 == 'E' || c5 == 'e')
         && (c6 == 'S' || c6 == 's')
         && (stmt.length() == ++offset || ParseUtil.isEOF(stmt.charAt(offset)))) {
       return DATASOURCES;
     }
   }
   return OTHER;
 }
 // SHOW MyCat_CLUSTER
 static int showMyCatCluster(String stmt, int offset) {
   if (stmt.length() > offset + "luster".length()) {
     char c1 = stmt.charAt(++offset);
     char c2 = stmt.charAt(++offset);
     char c3 = stmt.charAt(++offset);
     char c4 = stmt.charAt(++offset);
     char c5 = stmt.charAt(++offset);
     char c6 = stmt.charAt(++offset);
     if ((c1 == 'L' || c1 == 'l')
         && (c2 == 'U' || c2 == 'u')
         && (c3 == 'S' || c3 == 's')
         && (c4 == 'T' || c4 == 't')
         && (c5 == 'E' || c5 == 'e')
         && (c6 == 'R' || c6 == 'r')
         && (stmt.length() == ++offset || ParseUtil.isEOF(stmt.charAt(offset)))) {
       return MYCAT_CLUSTER;
     }
   }
   return OTHER;
 }