use of io.crate.testing.DummyRelation in project crate by crate.
the class FieldProviderTest method testSimpleFieldResolver.
@Test
public void testSimpleFieldResolver() throws Exception {
// select name from doc.t
AnalyzedRelation relation = new DummyRelation("name");
FieldProvider<Field> resolver = new NameFieldProvider(relation);
Field field = resolver.resolveField(new QualifiedName(Arrays.asList("name")), Operation.READ);
assertThat(field.relation(), equalTo(relation));
}
use of io.crate.testing.DummyRelation in project crate by crate.
the class FieldProviderTest method testRelationOutputFromSingleColumnName.
@Test
public void testRelationOutputFromSingleColumnName() throws Exception {
// select name from t
AnalyzedRelation relation = new DummyRelation("name");
FieldProvider<Field> resolver = new FullQualifedNameFieldProvider(ImmutableMap.of(newQN("doc.t"), relation));
Field field = resolver.resolveField(newQN("name"), Operation.READ);
assertThat(field.relation(), equalTo(relation));
assertThat(field.path().outputName(), is("name"));
}
use of io.crate.testing.DummyRelation in project crate by crate.
the class FieldProviderTest method testRelationFromTwoTables.
@Test
public void testRelationFromTwoTables() throws Exception {
// select name from doc.t, custom.t
FieldProvider<Field> resolver = new FullQualifedNameFieldProvider(ImmutableMap.<QualifiedName, AnalyzedRelation>of(new QualifiedName(Arrays.asList("custom", "t")), new DummyRelation("address"), new QualifiedName(Arrays.asList("doc", "t")), new DummyRelation("name")));
resolver.resolveField(new QualifiedName(Arrays.asList("t", "name")), Operation.READ);
}
use of io.crate.testing.DummyRelation in project crate by crate.
the class FieldProviderTest method testColumnSchemaResolver.
@Test
public void testColumnSchemaResolver() throws Exception {
AnalyzedRelation barT = new DummyRelation("\"Name\"");
FieldProvider<Field> resolver = new FullQualifedNameFieldProvider(ImmutableMap.of(newQN("\"Bar\""), barT));
Field field = resolver.resolveField(newQN("\"Foo\".\"Bar\".\"Name\""), Operation.READ);
assertThat(field.relation(), equalTo(barT));
}
use of io.crate.testing.DummyRelation in project crate by crate.
the class FieldProviderTest method testRelationFromTwoTablesWithSameNameDifferentSchemaIsAmbiguous.
@Test
public void testRelationFromTwoTablesWithSameNameDifferentSchemaIsAmbiguous() throws Exception {
// select t.name from custom.t.name, doc.t.name
expectedException.expect(AmbiguousColumnException.class);
expectedException.expectMessage("Column \"name\" is ambiguous");
FieldProvider<Field> resolver = new FullQualifedNameFieldProvider(ImmutableMap.<QualifiedName, AnalyzedRelation>of(new QualifiedName(Arrays.asList("custom", "t")), new DummyRelation("name"), new QualifiedName(Arrays.asList("doc", "t")), new DummyRelation("name")));
resolver.resolveField(new QualifiedName(Arrays.asList("t", "name")), Operation.READ);
}
Aggregations