private String convertPattern(String pattern, boolean datanucleusFormat) {
    String wStr;
    if (datanucleusFormat) {
      wStr = "*";
    } else {
      wStr = ".*";
    }
    pattern = replaceAll(pattern, "([^\\\\])%", "$1" + wStr);
    pattern = replaceAll(pattern, "\\\\%", "%");
    pattern = replaceAll(pattern, "^%", wStr);
    pattern = replaceAll(pattern, "([^\\\\])_", "$1.");
    pattern = replaceAll(pattern, "\\\\_", "_");
    pattern = replaceAll(pattern, "^_", ".");
    return pattern;
  }
Convert a pattern containing JDBC catalog search wildcards into
Java regex patterns.

@param pattern input which may contain '%' or '_' wildcard characters, or
these characters escaped using {@link #getSearchStringEscape()}.
@return replace %/_ with regex search characters, also handle escaped
characters.

The datanucleus module expects the wildchar as '*'. The columns search on the
other hand is done locally inside the hive code and that requires the regex wildchar
format '.*'  This is driven by the datanucleusFormat flag.
service/src/java/org/apache/hive/service/cli/operation/MetadataOperation.java