Search in sources :

Example 16 with SqlStatement

use of com.hazelcast.sql.SqlStatement in project hazelcast by hazelcast.

the class SqlIndexCastTest method checkIsNull.

private void checkIsNull(ExpressionType<?> typeFrom, QueryDataTypeFamily typeTo, boolean expectedIndexUsage) {
    String sql = "SELECT field1 FROM " + MAP_NAME + " WHERE CAST(field1 AS " + typeTo + ") IS NULL";
    checkIndexUsage(new SqlStatement(sql), typeFrom, expectedIndexUsage);
}
Also used : SqlStatement(com.hazelcast.sql.SqlStatement)

Example 17 with SqlStatement

use of com.hazelcast.sql.SqlStatement in project hazelcast by hazelcast.

the class SqlNoSerializationTest method check.

private void check(String sql, boolean expectedIndexUsage) {
    checkIndexUsage(new SqlStatement(sql), expectedIndexUsage);
    try (SqlResult res = instance().getSql().execute(sql)) {
        int count = 0;
        for (SqlRow row : res) {
            Object key = row.getObject(0);
            Object value = row.getObject(1);
            assertTrue(key instanceof Key);
            assertTrue(value instanceof Value);
            count++;
        }
        assertEquals(1, count);
    }
}
Also used : SqlRow(com.hazelcast.sql.SqlRow) SqlStatement(com.hazelcast.sql.SqlStatement) SqlResult(com.hazelcast.sql.SqlResult)

Example 18 with SqlStatement

use of com.hazelcast.sql.SqlStatement in project hazelcast by hazelcast.

the class SqlSecurityCallbackTest method check.

private void check(String sql, boolean useIndex) {
    // Execute twice to make sure that permission is checked when the plan is cached.
    for (int i = 0; i < 2; i++) {
        TestSqlSecurityContext securityContext = new TestSqlSecurityContext();
        try (SqlResult ignored = ((SqlServiceImpl) instance().getSql()).execute(new SqlStatement(sql), securityContext)) {
            // Check whether the index is used as expected.
            checkIndexUsage(sql, useIndex);
            // Check permissions.
            assertThat(securityContext.getPermissions()).contains(new MapPermission(mapName, ActionConstants.ACTION_READ));
        }
    }
}
Also used : SqlStatement(com.hazelcast.sql.SqlStatement) SqlResult(com.hazelcast.sql.SqlResult) SqlServiceImpl(com.hazelcast.sql.impl.SqlServiceImpl) MapPermission(com.hazelcast.security.permission.MapPermission)

Example 19 with SqlStatement

use of com.hazelcast.sql.SqlStatement in project hazelcast by hazelcast.

the class SqlErrorAbstractTest method checkParsingError.

protected void checkParsingError(boolean useClient) {
    instance1 = newHazelcastInstance(true);
    client = newClient();
    createMapping(instance1, MAP_NAME, long.class, long.class);
    IMap<Long, Long> map = instance1.getMap(MAP_NAME);
    map.put(1L, 1L);
    HazelcastInstance target = useClient ? client : instance1;
    HazelcastSqlException error = assertSqlException(target, new SqlStatement("SELECT bad_field FROM " + MAP_NAME));
    assertErrorCode(SqlErrorCode.PARSING, error);
}
Also used : SqlStatement(com.hazelcast.sql.SqlStatement) HazelcastInstance(com.hazelcast.core.HazelcastInstance) HazelcastSqlException(com.hazelcast.sql.HazelcastSqlException)

Example 20 with SqlStatement

use of com.hazelcast.sql.SqlStatement in project hazelcast by hazelcast.

the class SqlErrorClientTest method testParameterError_serialization.

@Test
public void testParameterError_serialization() {
    instance1 = newHazelcastInstance(true);
    client = newClient();
    SqlStatement query = new SqlStatement("SELECT * FROM map").addParameter(new BadParameter(true, false));
    HazelcastSqlException error = assertSqlException(client, query);
    assertErrorCode(SqlErrorCode.GENERIC, error);
    assertTrue(error.getMessage().contains("Failed to serialize query parameter"));
}
Also used : SqlStatement(com.hazelcast.sql.SqlStatement) HazelcastSqlException(com.hazelcast.sql.HazelcastSqlException) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test)

Aggregations

SqlStatement (com.hazelcast.sql.SqlStatement)29 SqlResult (com.hazelcast.sql.SqlResult)14 Test (org.junit.Test)11 HazelcastSqlException (com.hazelcast.sql.HazelcastSqlException)9 ParallelJVMTest (com.hazelcast.test.annotation.ParallelJVMTest)9 QuickTest (com.hazelcast.test.annotation.QuickTest)9 SqlRow (com.hazelcast.sql.SqlRow)8 ArrayList (java.util.ArrayList)6 Job (com.hazelcast.jet.Job)3 JobConfig (com.hazelcast.jet.config.JobConfig)3 SqlService (com.hazelcast.sql.SqlService)3 SqlServiceImpl (com.hazelcast.sql.impl.SqlServiceImpl)3 JetSqlRow (com.hazelcast.sql.impl.row.JetSqlRow)3 HazelcastException (com.hazelcast.core.HazelcastException)2 ArrayDeque (java.util.ArrayDeque)2 List (java.util.List)2 CompletableFuture (java.util.concurrent.CompletableFuture)2 TimeoutException (java.util.concurrent.TimeoutException)2 HazelcastInstance (com.hazelcast.core.HazelcastInstance)1 Data (com.hazelcast.internal.serialization.Data)1