code: public static boolean getCatalogIndexExpressions(Index index, StmtTableScan tableScan,
              List<AbstractExpression> indexedExprs, List<ColumnRef> indexedColRefs) {
          String exprsjson = index.getExpressionsjson();
          if (exprsjson.isEmpty()) {
              CatalogUtil.getSortedCatalogItems(index.getColumns(), "index", indexedColRefs);
          } else {
              try {
                  AbstractExpression.fromJSONArrayString(exprsjson, tableScan, indexedExprs);
              } catch (JSONException e) {
                  e.printStackTrace();
                  assert(false);
              }
          }
          return exprsjson.isEmpty();
      }
docs: /*
  Given an index return its expressions or list of indexed columns
  
  @param index  Catalog Index
  @param tableScan table
  @param indexedExprs   index expressions. This list remains empty if the index is just on simple columns.
  @param indexedColRefs indexed columns. This list remains empty if indexedExprs is in use.
  @return true if this is a column based index