private static boolean isSupported(RexNode node) {
    checkNodeIsCoposite(node);
    if (!LIKE.equals(node.getKind())) {
      return false;
    }

    long literalsCount = countOperands((RexCall) node, RexLiteral.class);
    long fieldsCount = countOperands((RexCall) node, RexInputRef.class);

    return literalsCount == 1 && fieldsCount == 1;
  }
@Test
  public void testIsSupported() {
    BeamRelNode beamRelNode = sqlEnv.parseQuery(query);
    assertThat(beamRelNode, instanceOf(BeamCalcRel.class));
    BigtableFilter filter =
        new BigtableFilter(((BeamCalcRel) beamRelNode).getProgram().split().right, BASIC_SCHEMA);

    assertThat(
        "Query: '" + query + "' is expected to be " + (isSupported ? "supported." : "unsupported."),
        filter.getNotSupported().isEmpty() == isSupported);
  }