use of com.hazelcast.sql.SqlResult in project hazelcast by hazelcast.
the class SqlMappingTest method when_mappingIsDropped_then_itIsNotAvailable.
@Test
public void when_mappingIsDropped_then_itIsNotAvailable() {
// given
String name = randomName();
createMapping(name, Integer.class, Person.class);
// when
SqlResult dropResult = sqlService.execute("DROP MAPPING " + name);
// then
assertThat(dropResult.updateCount()).isEqualTo(0);
assertThatThrownBy(() -> sqlService.execute("SELECT * FROM public." + name)).isInstanceOf(HazelcastSqlException.class).hasMessageContaining("Object '" + name + "' not found within 'hazelcast.public'");
}
use of com.hazelcast.sql.SqlResult in project hazelcast by hazelcast.
the class PlanExecutor method execute.
SqlResult execute(ExplainStatementPlan plan) {
Stream<String> planRows;
SqlRowMetadata metadata = new SqlRowMetadata(singletonList(new SqlColumnMetadata("rel", VARCHAR, false)));
InternalSerializationService serializationService = Util.getSerializationService(hazelcastInstance);
planRows = Arrays.stream(plan.getRel().explain().split(LE));
return new SqlResultImpl(QueryId.create(hazelcastInstance.getLocalEndpoint().getUuid()), new StaticQueryResultProducerImpl(planRows.map(rel -> new JetSqlRow(serializationService, new Object[] { rel })).iterator()), metadata, false);
}
use of com.hazelcast.sql.SqlResult in project hazelcast by hazelcast.
the class SqlFilterProjectTest method test_queryMetadata.
@Test
public void test_queryMetadata() {
TestAllTypesSqlConnector.create(sqlService, "t");
SqlResult result = sqlService.execute("SELECT * FROM t");
assertThat(result.updateCount()).isEqualTo(-1);
assertThat(result.getRowMetadata().getColumnCount()).isEqualTo(15);
assertThat(result.getRowMetadata().getColumn(0).getName()).isEqualTo("string");
assertThat(result.getRowMetadata().getColumn(0).getType()).isEqualTo(SqlColumnType.VARCHAR);
assertThat(result.getRowMetadata().getColumn(1).getName()).isEqualTo("boolean");
assertThat(result.getRowMetadata().getColumn(1).getType()).isEqualTo(SqlColumnType.BOOLEAN);
assertThat(result.getRowMetadata().getColumn(2).getName()).isEqualTo("byte");
assertThat(result.getRowMetadata().getColumn(2).getType()).isEqualTo(SqlColumnType.TINYINT);
assertThat(result.getRowMetadata().getColumn(3).getName()).isEqualTo("short");
assertThat(result.getRowMetadata().getColumn(3).getType()).isEqualTo(SqlColumnType.SMALLINT);
assertThat(result.getRowMetadata().getColumn(4).getName()).isEqualTo("int");
assertThat(result.getRowMetadata().getColumn(4).getType()).isEqualTo(SqlColumnType.INTEGER);
assertThat(result.getRowMetadata().getColumn(5).getName()).isEqualTo("long");
assertThat(result.getRowMetadata().getColumn(5).getType()).isEqualTo(SqlColumnType.BIGINT);
assertThat(result.getRowMetadata().getColumn(6).getName()).isEqualTo("float");
assertThat(result.getRowMetadata().getColumn(6).getType()).isEqualTo(SqlColumnType.REAL);
assertThat(result.getRowMetadata().getColumn(7).getName()).isEqualTo("double");
assertThat(result.getRowMetadata().getColumn(7).getType()).isEqualTo(SqlColumnType.DOUBLE);
assertThat(result.getRowMetadata().getColumn(8).getName()).isEqualTo("decimal");
assertThat(result.getRowMetadata().getColumn(8).getType()).isEqualTo(SqlColumnType.DECIMAL);
assertThat(result.getRowMetadata().getColumn(9).getName()).isEqualTo("time");
assertThat(result.getRowMetadata().getColumn(9).getType()).isEqualTo(SqlColumnType.TIME);
assertThat(result.getRowMetadata().getColumn(10).getName()).isEqualTo("date");
assertThat(result.getRowMetadata().getColumn(10).getType()).isEqualTo(SqlColumnType.DATE);
assertThat(result.getRowMetadata().getColumn(11).getName()).isEqualTo("timestamp");
assertThat(result.getRowMetadata().getColumn(11).getType()).isEqualTo(SqlColumnType.TIMESTAMP);
assertThat(result.getRowMetadata().getColumn(12).getName()).isEqualTo("timestampTz");
assertThat(result.getRowMetadata().getColumn(12).getType()).isEqualTo(SqlColumnType.TIMESTAMP_WITH_TIME_ZONE);
assertThat(result.getRowMetadata().getColumn(13).getName()).isEqualTo("map");
assertThat(result.getRowMetadata().getColumn(13).getType()).isEqualTo(SqlColumnType.OBJECT);
assertThat(result.getRowMetadata().getColumn(14).getName()).isEqualTo("object");
assertThat(result.getRowMetadata().getColumn(14).getType()).isEqualTo(SqlColumnType.OBJECT);
}
use of com.hazelcast.sql.SqlResult in project hazelcast by hazelcast.
the class SqlFilterProjectTest method test_sinkMetadata.
@Test
public void test_sinkMetadata() {
createMapping("m", Integer.class, Integer.class);
SqlResult result = sqlService.execute("SINK INTO m(__key, this) VALUES (1, 1), (2, 2)");
assertThat(result.updateCount()).isEqualTo(0);
}
use of com.hazelcast.sql.SqlResult in project hazelcast by hazelcast.
the class SqlFilterProjectTest method test_dynamicParameterMetadata.
@Test
public void test_dynamicParameterMetadata() {
TestBatchSqlConnector.create(sqlService, "t", 1);
SqlResult result = sqlService.execute("SELECT CAST(? AS VARCHAR) FROM t", 1);
assertThat(result.getRowMetadata().getColumnCount()).isEqualTo(1);
assertThat(result.getRowMetadata().getColumn(0).getType()).isEqualTo(SqlColumnType.VARCHAR);
}
Aggregations