List of usage examples for org.apache.lucene.util BytesRef BytesRef
public BytesRef(CharSequence text)
From source file:io.crate.executor.transport.TransportExecutorUpsertTest.java
License:Apache License
@Test public void testUpdateOnDuplicateWithSymbolBasedUpsertByIdTask() throws Exception { setup.setUpCharacters();/* w w w. ja v a 2 s . c o m*/ /* insert into characters (id, name, female) values (1, 'Zaphod Beeblebrox', false) on duplicate key update set name = 'Zaphod Beeblebrox'; */ Object[] missingAssignments = new Object[] { 1, new BytesRef("Zaphod Beeblebrox"), true }; Planner.Context ctx = newPlannerContext(); SymbolBasedUpsertByIdNode updateNode = new SymbolBasedUpsertByIdNode(ctx.nextExecutionPhaseId(), false, false, new String[] { femaleRef.ident().columnIdent().fqn() }, new Reference[] { idRef, nameRef, femaleRef }); updateNode.add("characters", "1", "1", new Symbol[] { Literal.newLiteral(true) }, null, missingAssignments); Plan plan = new IterablePlan(ctx.jobId(), updateNode); Job job = executor.newJob(plan); assertThat(job.tasks().get(0), instanceOf(SymbolBasedUpsertByIdTask.class)); List<? extends ListenableFuture<TaskResult>> result = executor.execute(job); TaskResult taskResult = result.get(0).get(); Bucket rows = taskResult.rows(); assertThat(rows, contains(isRow(1L))); // verify update ImmutableList<Symbol> outputs = ImmutableList.<Symbol>of(idRef, nameRef, femaleRef); ESGetNode getNode = newGetNode("characters", outputs, "1", ctx.nextExecutionPhaseId()); plan = new IterablePlan(UUID.randomUUID(), getNode); job = executor.newJob(plan); result = executor.execute(job); Bucket objects = result.get(0).get().rows(); assertThat(objects, contains(isRow(1, "Arthur", true))); }
From source file:io.crate.executor.transport.TransportShardUpsertActionTest.java
License:Apache License
@Test public void testProcessGeneratedColumnsWithSubscript() throws Exception { Map<String, Object> updatedColumns = MapBuilder.<String, Object>newMapBuilder() .put("user.name", new BytesRef("zoo")).map(); transportShardUpsertAction.processGeneratedColumns(generatedColumnTableInfo, updatedColumns, Collections.<String, Object>emptyMap(), true); assertThat(updatedColumns.size(), is(2)); assertThat((BytesRef) updatedColumns.get("name"), is(new BytesRef("zoobar"))); }
From source file:io.crate.executor.transport.TransportShardUpsertActionTest.java
License:Apache License
@Test public void testProcessGeneratedColumnsWithSubscriptParentUpdated() throws Exception { Map<String, Object> updatedColumns = MapBuilder.<String, Object>newMapBuilder() .put("user", MapBuilder.<String, Object>newMapBuilder().put("name", new BytesRef("zoo")).map()) .map();/* www.ja va 2 s . c o m*/ transportShardUpsertAction.processGeneratedColumns(generatedColumnTableInfo, updatedColumns, Collections.<String, Object>emptyMap(), true); assertThat(updatedColumns.size(), is(2)); assertThat((BytesRef) updatedColumns.get("name"), is(new BytesRef("zoobar"))); }
From source file:io.crate.executor.transport.TransportShardUpsertActionTest.java
License:Apache License
@Test public void testProcessGeneratedColumnsWithSubscriptParentUpdatedValueMissing() throws Exception { Map<String, Object> updatedColumns = MapBuilder.<String, Object>newMapBuilder() .put("user", MapBuilder.<String, Object>newMapBuilder().put("age", 35).map()).map(); transportShardUpsertAction.processGeneratedColumns(generatedColumnTableInfo, updatedColumns, Collections.<String, Object>emptyMap(), true); assertThat(updatedColumns.size(), is(2)); assertThat((BytesRef) updatedColumns.get("name"), is(new BytesRef("bar"))); }
From source file:io.crate.expression.operator.any.AnyLikeOperatorTest.java
License:Apache License
private static Symbol normalizeSymbol(String pattern, String... expressions) { Literal patternLiteral = Literal.of(pattern); Object[] value = new Object[expressions.length]; for (int i = 0; i < expressions.length; i++) { value[i] = expressions[i] == null ? null : new BytesRef(expressions[i]); }/*from w w w . j ava 2 s . c om*/ Literal valuesLiteral = Literal.of(new ArrayType(DataTypes.STRING), value); AnyLikeOperator impl = (AnyLikeOperator) new AnyLikeOperator.AnyLikeResolver() .getForTypes(Arrays.asList(patternLiteral.valueType(), valuesLiteral.valueType())); Function function = new Function(impl.info(), Arrays.<Symbol>asList(patternLiteral, valuesLiteral)); return impl.normalizeSymbol(function, new TransactionContext(SessionContext.create())); }
From source file:io.crate.expression.operator.any.AnyLikeOperatorTest.java
License:Apache License
private Boolean anyLike(String pattern, String... expressions) { Literal patternLiteral = Literal.of(pattern); Object[] value = new Object[expressions.length]; for (int i = 0; i < expressions.length; i++) { value[i] = expressions[i] == null ? null : new BytesRef(expressions[i]); }//from ww w.j a va 2s .c o m Literal valuesLiteral = Literal.of(new ArrayType(DataTypes.STRING), value); AnyLikeOperator impl = (AnyLikeOperator) new AnyLikeOperator.AnyLikeResolver() .getForTypes(Arrays.asList(DataTypes.STRING, valuesLiteral.valueType())); return impl.evaluate(patternLiteral, valuesLiteral); }
From source file:io.crate.expression.operator.any.AnyLikeOperatorTest.java
License:Apache License
@Test public void testNegateLike() throws Exception { Literal patternLiteral = Literal.of("A"); Literal valuesLiteral = Literal.of(new ArrayType(DataTypes.STRING), new Object[] { new BytesRef("A"), new BytesRef("B") }); FunctionImplementation impl = new AnyLikeOperator.AnyLikeResolver() .getForTypes(Arrays.asList(DataTypes.STRING, valuesLiteral.valueType())); Function anyLikeFunction = new Function(impl.info(), Arrays.<Symbol>asList(patternLiteral, valuesLiteral)); Input<Boolean> normalized = (Input<Boolean>) impl.normalizeSymbol(anyLikeFunction, new TransactionContext(SessionContext.create())); assertThat(normalized.value(), is(true)); assertThat(new NotPredicate().evaluate(normalized), is(false)); }
From source file:io.crate.expression.operator.any.AnyNotLikeOperatorTest.java
License:Apache License
private static Symbol normalizeSymbol(String pattern, String... expressions) { Literal patternLiteral = Literal.of(pattern); Object[] value = new Object[expressions.length]; for (int i = 0; i < expressions.length; i++) { value[i] = expressions[i] == null ? null : new BytesRef(expressions[i]); }/*from ww w .j a v a 2s.co m*/ Literal valuesLiteral = Literal.of(new ArrayType(DataTypes.STRING), value); AnyNotLikeOperator impl = (AnyNotLikeOperator) new AnyNotLikeOperator.AnyNotLikeResolver() .getForTypes(Arrays.asList(patternLiteral.valueType(), valuesLiteral.valueType())); Function function = new Function(impl.info(), Arrays.<Symbol>asList(patternLiteral, valuesLiteral)); return impl.normalizeSymbol(function, new TransactionContext(SessionContext.create())); }
From source file:io.crate.expression.operator.any.AnyNotLikeOperatorTest.java
License:Apache License
private Boolean anyNotLike(String pattern, String... expressions) { Literal patternLiteral = Literal.of(pattern); Object[] value = new Object[expressions.length]; for (int i = 0; i < expressions.length; i++) { value[i] = expressions[i] == null ? null : new BytesRef(expressions[i]); }// w w w .j a va 2 s . c o m Literal valuesLiteral = Literal.of(new ArrayType(DataTypes.STRING), value); AnyNotLikeOperator impl = (AnyNotLikeOperator) new AnyNotLikeOperator.AnyNotLikeResolver() .getForTypes(Arrays.asList(DataTypes.STRING, valuesLiteral.valueType())); return impl.evaluate(patternLiteral, valuesLiteral); }
From source file:io.crate.expression.operator.any.AnyNotLikeOperatorTest.java
License:Apache License
@Test public void testNegateNotLike() throws Exception { Literal patternLiteral = Literal.of("A"); Literal valuesLiteral = Literal.of(new ArrayType(DataTypes.STRING), new Object[] { new BytesRef("A"), new BytesRef("B") }); FunctionImplementation impl = new AnyNotLikeOperator.AnyNotLikeResolver() .getForTypes(Arrays.asList(DataTypes.STRING, valuesLiteral.valueType())); Function anyNotLikeFunction = new Function(impl.info(), Arrays.<Symbol>asList(patternLiteral, valuesLiteral)); Input<Boolean> normalized = (Input<Boolean>) impl.normalizeSymbol(anyNotLikeFunction, new TransactionContext(SessionContext.create())); assertThat(normalized.value(), is(true)); assertThat(new NotPredicate().evaluate(normalized), is(false)); }