All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.cassandraunit.utils.CqlOperations Maven / Gradle / Ivy

package org.cassandraunit.utils;

import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.cql.SimpleStatement;
import com.datastax.oss.driver.api.core.session.Session;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.function.Consumer;

public class CqlOperations {

    private static final Logger log = LoggerFactory.getLogger(CqlOperations.class);

    public static Consumer execute(CqlSession session) {
        return query -> {
            log.debug("executing : {}", query);
            session.execute(query);
        };
    }

    public static Consumer use(CqlSession session) {
        return keyspace -> session.execute("USE " + keyspace);
    }

    public static Consumer truncateTable(CqlSession session) {
        return fullyQualifiedTable -> session.execute("truncate table " + fullyQualifiedTable);
    }

    public static Consumer dropKeyspace(CqlSession session) {
        return keyspace -> execute(session).accept("DROP KEYSPACE IF EXISTS " + keyspace);
    }

    public static Consumer createKeyspace(CqlSession session) {
        return keyspace -> execute(session).accept("CREATE KEYSPACE IF NOT EXISTS " + keyspace + " WITH replication={'class' : 'SimpleStrategy', 'replication_factor':1} AND durable_writes = false");
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy