@Override public SearchArgument createSarg(byte[] expr) { return ConvertAstToSearchArg.create(expr); } }
@Override public SearchArgument call() { return create(sargString); } })
@Override public SearchArgument createSarg(byte[] expr) { return ConvertAstToSearchArg.create(expr); } }
public static SearchArgument create(String kryo) { return create(Base64.decodeBase64(kryo)); }
private static SearchArgument getSearchArgumentFromString(Configuration conf, String sargString) { try { return isSargsCacheEnabled(conf)? getSargsCache(conf).get(sargString, () -> create(sargString)) : create(sargString); } catch (ExecutionException exception) { throw new RuntimeException(exception); } }
@Override public SearchArgument call() { return create(conf, SerializationUtilities.deserializeExpression(sargString)); } })
public static SearchArgument create(String kryo) { return create(Base64.decodeBase64(kryo)); }
private static SearchArgument getSearchArgumentFromExpression(Configuration conf, String sargString) { try { return isSargsCacheEnabled(conf)? getSargsCache(conf).get(sargString, () -> create(conf, SerializationUtilities.deserializeExpression(sargString))) : create(conf, SerializationUtilities.deserializeExpression(sargString)); } catch (ExecutionException exception) { throw new RuntimeException(exception); } }
private static SearchArgument getSearchArgumentFromString(Configuration conf, final String sargString) { try { return isSargsCacheEnabled(conf)? getSargsCache(conf).get(sargString, new Callable<SearchArgument>() { @Override public SearchArgument call() { return create(sargString); } }) : create(sargString); } catch (ExecutionException exception) { throw new RuntimeException(exception); } }
private static SearchArgument getSearchArgumentFromExpression(final Configuration conf, final String sargString) { try { return isSargsCacheEnabled(conf)? getSargsCache(conf).get(sargString, new Callable<SearchArgument>() { @Override public SearchArgument call() { return create(conf, SerializationUtilities.deserializeExpression(sargString)); } }) : create(conf, SerializationUtilities.deserializeExpression(sargString)); } catch (ExecutionException exception) { throw new RuntimeException(exception); } }
@Test public void testTimestampSerialization() throws Exception { // There is a kryo which after serialize/deserialize, // Timestamp becomes Date. We get around this issue in // SearchArgumentImpl.getLiteral. Once kryo fixed the issue // We can simplify SearchArgumentImpl.getLiteral Timestamp now = new Timestamp(new java.util.Date().getTime()); SearchArgument sarg = SearchArgumentFactory.newBuilder() .startAnd() .lessThan("x", PredicateLeaf.Type.TIMESTAMP, now) .end() .build(); String serializedSarg = TestInputOutputFormat.toKryo(sarg); SearchArgument sarg2 = ConvertAstToSearchArg.create(serializedSarg); Field literalField = PredicateLeafImpl.class.getDeclaredField("literal"); literalField.setAccessible(true); assertTrue(literalField.get(sarg2.getLeaves().get(0)) instanceof java.util.Date); Timestamp ts = (Timestamp)sarg2.getLeaves().get(0).getLiteral(); assertEquals(ts, now); }
SearchArgument sarg = ConvertAstToSearchArg.create(ctxt.pctx.getConf(), filter); if (sarg == null) { return;
(SearchArgumentImpl) ConvertAstToSearchArg.create(conf, getFuncDesc(exprStr)); List<PredicateLeaf> leaves = sarg.getLeaves(); assertEquals(0, leaves.size());
SearchArgument sarg = ConvertAstToSearchArg.create(ctxt.pctx.getConf(), filter); if (sarg == null) { return;
(SearchArgumentImpl) ConvertAstToSearchArg.create(conf, getFuncDesc(exprStr)); List<PredicateLeaf> leaves = sarg.getLeaves(); assertEquals(0, leaves.size());
(SearchArgumentImpl) ConvertAstToSearchArg.create(conf, getFuncDesc(exprStr)); List<PredicateLeaf> leaves = sarg.getLeaves(); assertEquals(1, leaves.size());
(SearchArgumentImpl) ConvertAstToSearchArg.create(conf, getFuncDesc(exprStr)); List<PredicateLeaf> leaves = sarg.getLeaves(); assertEquals(1, leaves.size());
(SearchArgumentImpl) ConvertAstToSearchArg.create(conf, getFuncDesc(exprStr)); List<PredicateLeaf> leaves = sarg.getLeaves(); assertEquals(3, leaves.size());
(SearchArgumentImpl) ConvertAstToSearchArg.create(conf, getFuncDesc(exprStr)); List<PredicateLeaf> leaves = sarg.getLeaves(); assertEquals(3, leaves.size());
(SearchArgumentImpl) ConvertAstToSearchArg.create(conf, getFuncDesc(exprStr)); List<PredicateLeaf> leaves = sarg.getLeaves(); assertEquals(4, leaves.size());