package com.datastax.oss.driver.internal.core.metadata.schema.queries;
import com.datastax.oss.driver.api.core.config.DriverExecutionProfile;
import com.datastax.oss.driver.api.core.metadata.Metadata;
import com.datastax.oss.driver.internal.core.channel.DriverChannel;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import net.jcip.annotations.ThreadSafe;
@ThreadSafe
public class Cassandra3SchemaQueries extends CassandraSchemaQueries {
public Cassandra3SchemaQueries(
DriverChannel channel,
CompletableFuture<Metadata> refreshFuture,
DriverExecutionProfile config,
String logPrefix) {
super(channel, true, refreshFuture, config, logPrefix);
}
@Override
protected String selectKeyspacesQuery() {
return "SELECT * FROM system_schema.keyspaces";
}
@Override
protected String selectTablesQuery() {
return "SELECT * FROM system_schema.tables";
}
@Override
protected Optional<String> selectViewsQuery() {
return Optional.of("SELECT * FROM system_schema.views");
}
@Override
protected Optional<String> selectIndexesQuery() {
return Optional.of("SELECT * FROM system_schema.indexes");
}
@Override
protected String selectColumnsQuery() {
return "SELECT * FROM system_schema.columns";
}
@Override
protected String selectTypesQuery() {
return "SELECT * FROM system_schema.types";
}
@Override
protected Optional<String> selectFunctionsQuery() {
return Optional.of("SELECT * FROM system_schema.functions");
}
@Override
protected Optional<String> selectAggregatesQuery() {
return Optional.of("SELECT * FROM system_schema.aggregates");
}
@Override
protected Optional<String> selectVirtualKeyspacesQuery() {
return Optional.empty();
}
@Override
protected Optional<String> selectVirtualTablesQuery() {
return Optional.empty();
}
@Override
protected Optional<String> selectVirtualColumnsQuery() {
return Optional.empty();
}
}