2020-12-07 22:15:18 +01:00
|
|
|
package it.cavallium.dbengine.database;
|
|
|
|
|
2021-05-03 21:41:51 +02:00
|
|
|
import io.netty.buffer.ByteBufAllocator;
|
2021-05-28 16:04:59 +02:00
|
|
|
import it.cavallium.dbengine.client.IndicizerAnalyzers;
|
|
|
|
import it.cavallium.dbengine.client.IndicizerSimilarities;
|
2021-02-04 22:42:57 +01:00
|
|
|
import it.cavallium.dbengine.lucene.analyzer.TextFieldsAnalyzer;
|
|
|
|
import it.cavallium.dbengine.lucene.analyzer.TextFieldsSimilarity;
|
2020-12-07 22:15:18 +01:00
|
|
|
import java.time.Duration;
|
|
|
|
import java.util.List;
|
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-05-03 21:41:51 +02:00
|
|
|
ByteBufAllocator getAllocator();
|
|
|
|
|
2021-01-31 12:43:28 +01:00
|
|
|
Mono<? extends LLDatabaseConnection> connect();
|
2020-12-07 22:15:18 +01:00
|
|
|
|
2021-04-30 19:15:04 +02:00
|
|
|
Mono<? extends LLKeyValueDatabase> getDatabase(String name, List<Column> columns, boolean lowMemory, boolean inMemory);
|
2020-12-07 22:15:18 +01:00
|
|
|
|
2021-01-31 12:43:28 +01:00
|
|
|
Mono<? extends LLLuceneIndex> getLuceneIndex(String name,
|
2020-12-07 22:15:18 +01:00
|
|
|
int instancesCount,
|
2021-05-28 16:04:59 +02:00
|
|
|
IndicizerAnalyzers indicizerAnalyzers,
|
|
|
|
IndicizerSimilarities indicizerSimilarities,
|
2020-12-07 22:15:18 +01:00
|
|
|
Duration queryRefreshDebounceTime,
|
|
|
|
Duration commitDebounceTime,
|
2021-04-30 19:15:04 +02:00
|
|
|
boolean lowMemory,
|
|
|
|
boolean inMemory);
|
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
|
|
|
}
|