2020-12-07 22:15:18 +01:00
|
|
|
package it.cavallium.dbengine.database;
|
|
|
|
|
2021-10-30 11:13:46 +02:00
|
|
|
import io.micrometer.core.instrument.MeterRegistry;
|
2022-03-16 13:47:56 +01:00
|
|
|
import io.netty5.buffer.api.BufferAllocator;
|
2021-10-13 12:25:32 +02:00
|
|
|
import it.cavallium.dbengine.lucene.LuceneHacks;
|
2022-03-05 15:46:40 +01:00
|
|
|
import it.cavallium.dbengine.lucene.LuceneRocksDBManager;
|
2022-03-02 12:34:30 +01:00
|
|
|
import it.cavallium.dbengine.rpc.current.data.Column;
|
|
|
|
import it.cavallium.dbengine.rpc.current.data.DatabaseOptions;
|
2022-03-05 15:46:40 +01:00
|
|
|
import it.cavallium.dbengine.rpc.current.data.IndicizerAnalyzers;
|
|
|
|
import it.cavallium.dbengine.rpc.current.data.IndicizerSimilarities;
|
|
|
|
import it.cavallium.dbengine.rpc.current.data.LuceneIndexStructure;
|
|
|
|
import it.cavallium.dbengine.rpc.current.data.LuceneOptions;
|
2020-12-07 22:15:18 +01:00
|
|
|
import java.util.List;
|
2022-03-05 15:46:40 +01:00
|
|
|
import org.jetbrains.annotations.NotNull;
|
2021-10-13 00:23:56 +02:00
|
|
|
import org.jetbrains.annotations.Nullable;
|
2021-01-30 21:30:18 +01:00
|
|
|
import reactor.core.publisher.Mono;
|
2020-12-07 22:15:18 +01:00
|
|
|
|
2021-02-03 14:37:02 +01:00
|
|
|
@SuppressWarnings("UnusedReturnValue")
|
2020-12-07 22:15:18 +01:00
|
|
|
public interface LLDatabaseConnection {
|
|
|
|
|
2021-08-29 23:18:03 +02:00
|
|
|
BufferAllocator getAllocator();
|
2021-05-03 21:41:51 +02:00
|
|
|
|
2021-10-30 11:13:46 +02:00
|
|
|
MeterRegistry getMeterRegistry();
|
|
|
|
|
2021-01-31 12:43:28 +01:00
|
|
|
Mono<? extends LLDatabaseConnection> connect();
|
2020-12-07 22:15:18 +01:00
|
|
|
|
2021-06-19 16:26:54 +02:00
|
|
|
Mono<? extends LLKeyValueDatabase> getDatabase(String name,
|
|
|
|
List<Column> columns,
|
2021-06-27 15:40:56 +02:00
|
|
|
DatabaseOptions databaseOptions);
|
2020-12-07 22:15:18 +01:00
|
|
|
|
2022-03-05 15:46:40 +01:00
|
|
|
Mono<? extends LLLuceneIndex> getLuceneIndex(String clusterName,
|
|
|
|
LuceneIndexStructure indexStructure,
|
2021-05-28 16:04:59 +02:00
|
|
|
IndicizerAnalyzers indicizerAnalyzers,
|
|
|
|
IndicizerSimilarities indicizerSimilarities,
|
2021-10-13 00:23:56 +02:00
|
|
|
LuceneOptions luceneOptions,
|
|
|
|
@Nullable LuceneHacks luceneHacks);
|
2020-12-07 22:15:18 +01:00
|
|
|
|
2021-01-30 21:30:18 +01:00
|
|
|
Mono<Void> disconnect();
|
2020-12-07 22:15:18 +01:00
|
|
|
}
|