2022-05-04 01:21:56 +02:00
|
|
|
package it.cavallium.dbengine.database;
|
|
|
|
|
|
|
|
import it.cavallium.dbengine.client.MemoryStats;
|
|
|
|
import it.cavallium.dbengine.rpc.current.data.Column;
|
2023-02-09 23:34:25 +01:00
|
|
|
import java.io.IOException;
|
2022-05-04 01:21:56 +02:00
|
|
|
import java.util.Map;
|
2023-02-09 23:34:25 +01:00
|
|
|
import java.util.stream.Stream;
|
2022-05-04 01:21:56 +02:00
|
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
|
|
|
|
public interface DatabaseProperties {
|
|
|
|
|
2023-02-09 23:34:25 +01:00
|
|
|
MemoryStats getMemoryStats();
|
2022-05-04 01:21:56 +02:00
|
|
|
|
2023-02-09 23:34:25 +01:00
|
|
|
String getRocksDBStats();
|
2022-05-04 01:21:56 +02:00
|
|
|
|
2023-02-09 23:34:25 +01:00
|
|
|
Map<String, String> getMapProperty(@Nullable Column column, RocksDBMapProperty property);
|
2022-05-04 01:21:56 +02:00
|
|
|
|
2023-02-09 23:34:25 +01:00
|
|
|
Stream<ColumnProperty<Map<String, String>>> getMapColumnProperties(RocksDBMapProperty property);
|
2022-05-04 01:21:56 +02:00
|
|
|
|
2023-02-09 23:34:25 +01:00
|
|
|
String getStringProperty(@Nullable Column column, RocksDBStringProperty property);
|
2022-05-04 01:21:56 +02:00
|
|
|
|
2023-02-09 23:34:25 +01:00
|
|
|
Stream<ColumnProperty<String>> getStringColumnProperties(RocksDBStringProperty property);
|
2022-05-04 01:21:56 +02:00
|
|
|
|
2023-02-09 23:34:25 +01:00
|
|
|
Long getLongProperty(@Nullable Column column, RocksDBLongProperty property);
|
2022-05-04 01:21:56 +02:00
|
|
|
|
2023-02-09 23:34:25 +01:00
|
|
|
Stream<ColumnProperty<Long>> getLongColumnProperties(RocksDBLongProperty property);
|
2022-05-04 01:21:56 +02:00
|
|
|
|
2023-02-09 23:34:25 +01:00
|
|
|
Long getAggregatedLongProperty(RocksDBLongProperty property);
|
2022-05-04 01:21:56 +02:00
|
|
|
|
2023-02-09 23:34:25 +01:00
|
|
|
Stream<TableWithProperties> getTableProperties();
|
2022-05-04 01:21:56 +02:00
|
|
|
}
|