diff --git a/pom.xml b/pom.xml index 0904ea5..66b8948 100644 --- a/pom.xml +++ b/pom.xml @@ -15,7 +15,7 @@ 1.9.5 9.4.2 5.9.0 - 1.0.198 + 1.0.203 diff --git a/src/main/data-generator/lucene-query.yaml b/src/main/data-generator/lucene-query.yaml index 669152c..83e4c3c 100644 --- a/src/main/data-generator/lucene-query.yaml +++ b/src/main/data-generator/lucene-query.yaml @@ -2,360 +2,359 @@ currentVersion: "0.0.0" interfacesData: Query: [] -# versions must have only numbers, lowercase letters, dots, dashes. Maximum: 99.999.9999 +superTypesData: + Query: [ + BoxedQuery, TermQuery, IntTermQuery, IntNDTermQuery, LongTermQuery, LongNDTermQuery, FloatTermQuery, + FloatNDTermQuery, DoubleTermQuery, DoubleNDTermQuery, + PhraseQuery, WildcardQuery, SynonymQuery, FuzzyQuery, MatchAllDocsQuery, MatchNoDocsQuery, + BooleanQuery, SortedNumericDocValuesFieldSlowRangeQuery, SortedDocFieldExistsQuery, + ConstantScoreQuery, BoostQuery, IntPointRangeQuery, IntNDPointRangeQuery, LongPointRangeQuery, + FloatPointRangeQuery, DoublePointRangeQuery, LongNDPointRangeQuery, FloatNDPointRangeQuery, + DoubleNDPointRangeQuery, IntPointExactQuery, IntNDPointExactQuery, LongPointExactQuery, FloatPointExactQuery, + FloatPointExactQuery, DoublePointExactQuery, LongNDPointExactQuery, FloatNDPointExactQuery, + DoubleNDPointExactQuery, IntPointSetQuery, LongPointSetQuery, FloatPointSetQuery, DoublePointSetQuery, + StandardQuery, FieldExistsQuery + ] + Occur: [OccurMust, OccurMustNot, OccurShould, OccurFilter] + Sort: [NoSort, NumericSort, ScoreSort, DocSort, RandomSort] + NumberFormat: [NumberFormatDecimal] + PointType: [PointTypeInt, PointTypeLong, PointTypeFloat, PointTypeDouble] +customTypesData: {} +baseTypesData: + + # Basic data + # ========== + + # Wrapper for type Query + BoxedQuery: + data: + query: Query + # A term consists in a field that is exactly equal to the value string + Term: + data: + field: String + value: String + # A Term with a position relative to the start of the query. Used internally in some specific queries + TermPosition: + data: + term: Term + position: int + # A Term with a specified boost. Used internally in some specific queries + TermAndBoost: + data: + term: Term + boost: float + # Occur options used for boolean queries + OccurMust: + data: { } + OccurMustNot: + data: { } + OccurShould: + data: { } + OccurFilter: + data: { } + + # Special queries + # =============== + + # Raw lucene string query, parsable by lucene StandardQueryParser + StandardQuery: + data: + query: String + # Should be at least one field! + defaultFields: String[] + pointsConfig: PointConfig[] + termFields: String[] + PointConfig: + data: + field: String + data: PointConfigData + PointConfigData: + data: + numberFormat: NumberFormat + type: PointType + NumberFormatDecimal: { data: { } } + PointTypeInt: { data: { } } + PointTypeLong: { data: { } } + PointTypeFloat: { data: { } } + PointTypeDouble: { data: { } } + + # Text queries + # ============ + + # Query that matches a term. + TermQuery: + data: + term: Term + # Query that matches a term. + LongTermQuery: + data: + field: String + value: long + LongNDTermQuery: + data: + field: String + value: long[] + # Query that matches a term. + IntTermQuery: + data: + field: String + value: int + # Query that matches a term. + IntNDTermQuery: + data: + field: String + value: int[] + # Query that matches a term. + FloatTermQuery: + data: + field: String + value: float + # Query that matches a term. + FloatNDTermQuery: + data: + field: String + value: float[] + # Query that matches a term. + DoubleTermQuery: + data: + field: String + value: double + # Query that matches a term. + DoubleNDTermQuery: + data: + field: String + value: double[] + # Query that matches the existence of a field. + FieldExistsQuery: + data: + field: String + # Query that matches a phrase. + PhraseQuery: + data: + # A phrase is a collection of positioned terms, with absolute positions, + # counted as characters from the beginning of the phrase. + phrase: TermPosition[] + slop: int + # Advanced query that matches text allowing asterisks in the query + WildcardQuery: + data: + field: String + pattern: String # Example: "*ing" + # Advanced query that matches different exact values (synonyms) + SynonymQuery: + data: + field: String + parts: TermAndBoost[] # Each term has a boost. The preferred synonym has the highest boost value. + # Advanced query. todo: document it + FuzzyQuery: + data: + term: Term + maxEdits: int + prefixLength: int + maxExpansions: int + transpositions: boolean + + + # Combination queries + # =================== + + # Query that matches everything + MatchAllDocsQuery: + data: {} + # Query that matches nothing + MatchNoDocsQuery: + data: {} + # Query that matches if the document satisfies all the required parts + BooleanQuery: + data: + # Each part can be: + # - "MUST" + # - "MUST_NOT" + # - "SHOULD" + # - "FILTER" (advanced, ignore this) + # "SHOULD" is like "MUST" but it's not necessary. + parts: BooleanQueryPart[] + minShouldMatch: int # If set, it specifies how many "SHOULD" parts must be matched. 0 if not set + # Part of a boolean query + BooleanQueryPart: + data: + query: Query + occur: Occur + + + # Number queries + # ============== + + # Advanced query that matches only a range of a sorted field, from "min" to "max". + SortedNumericDocValuesFieldSlowRangeQuery: + data: + field: String + min: long + max: long + # Query that matches if the sorted field exist in the document + SortedDocFieldExistsQuery: + data: + field: String + + + # Score modifying queries + # ============ + + # Query that fixes the score of a query to 1 + ConstantScoreQuery: + data: + query: Query + # Query that boosts the query score + BoostQuery: + data: + query: Query + scoreBoost: float + + + # Sorted fields queries + # ===================== + + # Query that matches an int point field, from "min", to "max" + IntPointRangeQuery: + data: + field: String + min: int + max: int + # Query that matches an int point field, from "min", to "max" + IntNDPointRangeQuery: + data: + field: String + min: int[] + max: int[] + # Query that matches a long point field, from "min", to "max" + LongPointRangeQuery: + data: + field: String + min: long + max: long + # Query that matches a float point field, from "min", to "max" + FloatPointRangeQuery: + data: + field: String + min: float + max: float + # Query that matches a double point field, from "min", to "max" + DoublePointRangeQuery: + data: + field: String + min: double + max: double + # Query that matches a long point field, from "min", to "max" + LongNDPointRangeQuery: + data: + field: String + min: long[] + max: long[] + # Query that matches a float point field, from "min", to "max" + FloatNDPointRangeQuery: + data: + field: String + min: float[] + max: float[] + # Query that matches a double point field, from "min", to "max" + DoubleNDPointRangeQuery: + data: + field: String + min: double[] + max: double[] + # Query that matches an int point field + IntPointExactQuery: + data: + field: String + value: int + # Query that matches an int point field + IntNDPointExactQuery: + data: + field: String + value: int[] + # Query that matches a long point field + LongPointExactQuery: + data: + field: String + value: long + # Query that matches a float point field + FloatPointExactQuery: + data: + field: String + value: float + # Query that matches a double point field + DoublePointExactQuery: + data: + field: String + value: double + # Query that matches a long point field + LongNDPointExactQuery: + data: + field: String + value: long[] + # Query that matches a float point field + FloatNDPointExactQuery: + data: + field: String + value: float[] + # Query that matches a double point field + DoubleNDPointExactQuery: + data: + field: String + value: double[] + # Query that matches a set of int point field + IntPointSetQuery: + data: + field: String + values: int[] + # Query that matches a set of long point field + LongPointSetQuery: + data: + field: String + values: long[] + # Query that matches a set of float point field + FloatPointSetQuery: + data: + field: String + values: float[] + # Query that matches a set of double point field + DoublePointSetQuery: + data: + field: String + values: double[] + + + # Extra data used for parameters and the client + # ============================================= + + # Query parameters + QueryParams: + data: + query: Query + offset: long + limit: long + sort: Sort + computePreciseHitsCount: boolean + timeoutMilliseconds: long + NoSort: + data: { } + NumericSort: + data: + field: String + reverse: boolean + RandomSort: + data: { } + ScoreSort: + data: { } + DocSort: + data: { } + TotalHitsCount: + stringRepresenter: "it.cavallium.dbengine.lucene.LuceneUtils.toHumanReadableString" + data: + value: long + exact: boolean versions: 0.0.0: details: changelog: "First version" - superTypes: - Query: [ - BoxedQuery, TermQuery, IntTermQuery, IntNDTermQuery, LongTermQuery, LongNDTermQuery, FloatTermQuery, - FloatNDTermQuery, DoubleTermQuery, DoubleNDTermQuery, - PhraseQuery, WildcardQuery, SynonymQuery, FuzzyQuery, MatchAllDocsQuery, MatchNoDocsQuery, - BooleanQuery, SortedNumericDocValuesFieldSlowRangeQuery, SortedDocFieldExistsQuery, - ConstantScoreQuery, BoostQuery, IntPointRangeQuery, IntNDPointRangeQuery, LongPointRangeQuery, - FloatPointRangeQuery, DoublePointRangeQuery, LongNDPointRangeQuery, FloatNDPointRangeQuery, - DoubleNDPointRangeQuery, IntPointExactQuery, IntNDPointExactQuery, LongPointExactQuery, FloatPointExactQuery, - FloatPointExactQuery, DoublePointExactQuery, LongNDPointExactQuery, FloatNDPointExactQuery, - DoubleNDPointExactQuery, IntPointSetQuery, LongPointSetQuery, FloatPointSetQuery, DoublePointSetQuery, - StandardQuery, FieldExistsQuery - ] - Occur: [OccurMust, OccurMustNot, OccurShould, OccurFilter] - Sort: [NoSort, NumericSort, ScoreSort, DocSort, RandomSort] - NumberFormat: [NumberFormatDecimal] - PointType: [PointTypeInt, PointTypeLong, PointTypeFloat, PointTypeDouble] - customTypes: {} - classes: - - # Basic data - # ========== - - # Wrapper for type Query - BoxedQuery: - data: - query: Query - # A term consists in a field that is exactly equal to the value string - Term: - data: - field: String - value: String - # A Term with a position relative to the start of the query. Used internally in some specific queries - TermPosition: - data: - term: Term - position: int - # A Term with a specified boost. Used internally in some specific queries - TermAndBoost: - data: - term: Term - boost: float - # Occur options used for boolean queries - OccurMust: - data: { } - OccurMustNot: - data: { } - OccurShould: - data: { } - OccurFilter: - data: { } - - # Special queries - # =============== - - # Raw lucene string query, parsable by lucene StandardQueryParser - StandardQuery: - data: - query: String - # Should be at least one field! - defaultFields: String[] - pointsConfig: PointConfig[] - termFields: String[] - PointConfig: - data: - field: String - data: PointConfigData - PointConfigData: - data: - numberFormat: NumberFormat - type: PointType - NumberFormatDecimal: { data: { } } - PointTypeInt: { data: { } } - PointTypeLong: { data: { } } - PointTypeFloat: { data: { } } - PointTypeDouble: { data: { } } - - # Text queries - # ============ - - # Query that matches a term. - TermQuery: - data: - term: Term - # Query that matches a term. - LongTermQuery: - data: - field: String - value: long - LongNDTermQuery: - data: - field: String - value: long[] - # Query that matches a term. - IntTermQuery: - data: - field: String - value: int - # Query that matches a term. - IntNDTermQuery: - data: - field: String - value: int[] - # Query that matches a term. - FloatTermQuery: - data: - field: String - value: float - # Query that matches a term. - FloatNDTermQuery: - data: - field: String - value: float[] - # Query that matches a term. - DoubleTermQuery: - data: - field: String - value: double - # Query that matches a term. - DoubleNDTermQuery: - data: - field: String - value: double[] - # Query that matches the existence of a field. - FieldExistsQuery: - data: - field: String - # Query that matches a phrase. - PhraseQuery: - data: - # A phrase is a collection of positioned terms, with absolute positions, - # counted as characters from the beginning of the phrase. - phrase: TermPosition[] - slop: int - # Advanced query that matches text allowing asterisks in the query - WildcardQuery: - data: - field: String - pattern: String # Example: "*ing" - # Advanced query that matches different exact values (synonyms) - SynonymQuery: - data: - field: String - parts: TermAndBoost[] # Each term has a boost. The preferred synonym has the highest boost value. - # Advanced query. todo: document it - FuzzyQuery: - data: - term: Term - maxEdits: int - prefixLength: int - maxExpansions: int - transpositions: boolean - - - # Combination queries - # =================== - - # Query that matches everything - MatchAllDocsQuery: - data: {} - # Query that matches nothing - MatchNoDocsQuery: - data: {} - # Query that matches if the document satisfies all the required parts - BooleanQuery: - data: - # Each part can be: - # - "MUST" - # - "MUST_NOT" - # - "SHOULD" - # - "FILTER" (advanced, ignore this) - # "SHOULD" is like "MUST" but it's not necessary. - parts: BooleanQueryPart[] - minShouldMatch: int # If set, it specifies how many "SHOULD" parts must be matched. 0 if not set - # Part of a boolean query - BooleanQueryPart: - data: - query: Query - occur: Occur - - - # Number queries - # ============== - - # Advanced query that matches only a range of a sorted field, from "min" to "max". - SortedNumericDocValuesFieldSlowRangeQuery: - data: - field: String - min: long - max: long - # Query that matches if the sorted field exist in the document - SortedDocFieldExistsQuery: - data: - field: String - - - # Score modifying queries - # ============ - - # Query that fixes the score of a query to 1 - ConstantScoreQuery: - data: - query: Query - # Query that boosts the query score - BoostQuery: - data: - query: Query - scoreBoost: float - - - # Sorted fields queries - # ===================== - - # Query that matches an int point field, from "min", to "max" - IntPointRangeQuery: - data: - field: String - min: int - max: int - # Query that matches an int point field, from "min", to "max" - IntNDPointRangeQuery: - data: - field: String - min: int[] - max: int[] - # Query that matches a long point field, from "min", to "max" - LongPointRangeQuery: - data: - field: String - min: long - max: long - # Query that matches a float point field, from "min", to "max" - FloatPointRangeQuery: - data: - field: String - min: float - max: float - # Query that matches a double point field, from "min", to "max" - DoublePointRangeQuery: - data: - field: String - min: double - max: double - # Query that matches a long point field, from "min", to "max" - LongNDPointRangeQuery: - data: - field: String - min: long[] - max: long[] - # Query that matches a float point field, from "min", to "max" - FloatNDPointRangeQuery: - data: - field: String - min: float[] - max: float[] - # Query that matches a double point field, from "min", to "max" - DoubleNDPointRangeQuery: - data: - field: String - min: double[] - max: double[] - # Query that matches an int point field - IntPointExactQuery: - data: - field: String - value: int - # Query that matches an int point field - IntNDPointExactQuery: - data: - field: String - value: int[] - # Query that matches a long point field - LongPointExactQuery: - data: - field: String - value: long - # Query that matches a float point field - FloatPointExactQuery: - data: - field: String - value: float - # Query that matches a double point field - DoublePointExactQuery: - data: - field: String - value: double - # Query that matches a long point field - LongNDPointExactQuery: - data: - field: String - value: long[] - # Query that matches a float point field - FloatNDPointExactQuery: - data: - field: String - value: float[] - # Query that matches a double point field - DoubleNDPointExactQuery: - data: - field: String - value: double[] - # Query that matches a set of int point field - IntPointSetQuery: - data: - field: String - values: int[] - # Query that matches a set of long point field - LongPointSetQuery: - data: - field: String - values: long[] - # Query that matches a set of float point field - FloatPointSetQuery: - data: - field: String - values: float[] - # Query that matches a set of double point field - DoublePointSetQuery: - data: - field: String - values: double[] - - - # Extra data used for parameters and the client - # ============================================= - - # Query parameters - QueryParams: - data: - query: Query - offset: long - limit: long - sort: Sort - computePreciseHitsCount: boolean - timeoutMilliseconds: long - NoSort: - data: { } - NumericSort: - data: - field: String - reverse: boolean - RandomSort: - data: { } - ScoreSort: - data: { } - DocSort: - data: { } - TotalHitsCount: - stringRepresenter: "it.cavallium.dbengine.lucene.LuceneUtils.toHumanReadableString" - data: - value: long - exact: boolean diff --git a/src/main/data-generator/quic-rpc.yaml b/src/main/data-generator/quic-rpc.yaml index a5efb15..f863853 100644 --- a/src/main/data-generator/quic-rpc.yaml +++ b/src/main/data-generator/quic-rpc.yaml @@ -27,353 +27,352 @@ interfacesData: minBlobSize: -long blobFileSize: -long blobCompressionType: -Compression -# versions must have only numbers, lowercase letters, dots, dashes. Maximum: 99.999.9999 +superTypesData: + RPCEvent: [ + Empty, + Binary, + BinaryOptional, + SingletonUpdateOldData, + GeneratedEntityId, + GetDatabase, + GetLuceneIndex, + Disconnect, + GetSingleton, + SingletonGet, + SingletonSet, + SingletonUpdateInit, + SingletonUpdateEnd, + RPCCrash, + CloseDatabase, + CloseLuceneIndex + ] + ServerBoundRequest: [ + GetDatabase, + GetLuceneIndex, + Disconnect, + GetSingleton, + SingletonGet, + SingletonSet, + SingletonUpdateInit, + CloseDatabase, + CloseLuceneIndex + ] + ClientBoundResponse: [ + Empty, + GeneratedEntityId, + Binary, + BinaryOptional, + RPCCrash + ] + ClientBoundRequest: [ + SingletonUpdateOldData + ] + ServerBoundResponse: [ + Empty, + SingletonUpdateEnd + ] + LuceneDirectoryOptions: [ + ByteBuffersDirectory, + MemoryMappedFSDirectory, + NIOFSDirectory, + RAFFSDirectory, + DirectIOFSDirectory, + RocksDBStandaloneDirectory, + RocksDBSharedDirectory, + NRTCachingDirectory + ] + StandardFSDirectoryOptions: [ + MemoryMappedFSDirectory, + NIOFSDirectory, + RAFFSDirectory + ] + PathDirectoryOptions: [ + MemoryMappedFSDirectory, + NIOFSDirectory, + RAFFSDirectory, + RocksDBStandaloneDirectory, + StandardFSDirectoryOptions + ] + Filter: [ + NoFilter, + BloomFilter + ] + ColumnOptions: [ + DefaultColumnOptions, + NamedColumnOptions + ] +customTypesData: + Path: + javaClass: java.nio.file.Path + serializer: it.cavallium.dbengine.database.remote.PathSerializer + Compression: + javaClass: it.cavallium.dbengine.client.Compression + serializer: it.cavallium.dbengine.database.remote.CompressionSerializer + TextFieldsAnalyzer: + javaClass: it.cavallium.dbengine.lucene.analyzer.TextFieldsAnalyzer + serializer: it.cavallium.dbengine.database.remote.TextFieldsAnalyzerSerializer + TextFieldsSimilarity: + javaClass: it.cavallium.dbengine.lucene.analyzer.TextFieldsSimilarity + serializer: it.cavallium.dbengine.database.remote.TextFieldsSimilaritySerializer + Duration: + javaClass: java.time.Duration + serializer: it.cavallium.dbengine.database.remote.DurationSerializer + RocksDB: + javaClass: org.rocksdb.RocksDB + serializer: it.cavallium.dbengine.database.remote.RocksDBSerializer + ColumnFamilyHandle: + javaClass: org.rocksdb.ColumnFamilyHandle + serializer: it.cavallium.dbengine.database.remote.ColumnFamilyHandleSerializer + LuceneHacks: + javaClass: it.cavallium.dbengine.lucene.LuceneHacks + serializer: it.cavallium.dbengine.database.remote.LuceneHacksSerializer + UpdateReturnMode: + javaClass: it.cavallium.dbengine.database.UpdateReturnMode + serializer: it.cavallium.dbengine.database.remote.UpdateReturnModeSerializer + LLSnapshot: + javaClass: it.cavallium.dbengine.database.LLSnapshot + serializer: it.cavallium.dbengine.database.remote.LLSnapshotSerializer + + Bytes: + javaClass: it.unimi.dsi.fastutil.bytes.ByteList + serializer: it.cavallium.dbengine.database.remote.ByteListSerializer + StringMap: + javaClass: java.util.Map + serializer: it.cavallium.dbengine.database.remote.StringMapSerializer + String2FieldAnalyzerMap: + javaClass: java.util.Map + serializer: it.cavallium.dbengine.database.remote.String2FieldAnalyzerMapSerializer + String2FieldSimilarityMap: + javaClass: java.util.Map + serializer: it.cavallium.dbengine.database.remote.String2FieldSimilarityMapSerializer + String2ColumnFamilyHandleMap: + javaClass: java.util.Map + serializer: it.cavallium.dbengine.database.remote.String2ColumnFamilyHandleMapSerializer +baseTypesData: + BoxedRPCEvent: + data: + val: RPCEvent + + # Server-bound requests + + GetDatabase: + data: + name: String + columns: Column[] + databaseOptions: DatabaseOptions + GetLuceneIndex: + data: + clusterName: String + structure: LuceneIndexStructure + indicizerAnalyzers: IndicizerAnalyzers + indicizerSimilarities: IndicizerSimilarities + luceneOptions: LuceneOptions + Disconnect: { data: { } } + GetSingleton: + data: + databaseId: long + singletonListColumnName: byte[] + name: byte[] + defaultValue: -Bytes + SingletonGet: + data: + singletonId: long + snapshot: -LLSnapshot + SingletonSet: + data: + singletonId: long + value: -Bytes + SingletonUpdateInit: + data: + singletonId: long + updateReturnMode: UpdateReturnMode + SingletonUpdateEnd: + data: + exist: boolean + value: byte[] + CloseDatabase: + data: + databaseId: long + CloseLuceneIndex: + data: + luceneIndexId: long + + # Client-bound responses + + GeneratedEntityId: + data: + id: long + RPCCrash: + data: + code: int + message: -String + + # Client-bound requests + + SingletonUpdateOldData: + data: + exist: boolean + oldValue: byte[] + + # Server-bound responses + + + # Data + + LuceneIndexStructure: + data: + totalShards: int + activeShards: int[] + SingleIndex: + data: + name: String + ClusteredShardIndex: + data: + clusterName: String + shard: int + BinaryOptional: + data: + val: -Binary + Binary: + data: + val: byte[] + Empty: { data: { } } + Column: + data: + name: String + DatabaseOptions: + data: + volumes: DatabaseVolume[] + extraFlags: StringMap + absoluteConsistency: boolean + lowMemory: boolean + useDirectIO: boolean + allowMemoryMapping: boolean + allowNettyDirect: boolean + optimistic: boolean + maxOpenFiles: -int + blockCache: -long + compressedBlockCache: -long + persistentCaches: PersistentCache[] + writeBufferManager: -long + spinning: boolean + defaultColumnOptions: DefaultColumnOptions + columnOptions: NamedColumnOptions[] + logPath: -String + walPath: -String + # Remember to update ColumnOptions common getters + DefaultColumnOptions: + data: + levels: DatabaseLevel[] + memtableMemoryBudgetBytes: -long + cacheIndexAndFilterBlocks: -boolean + partitionFilters: -boolean + filter: -Filter + blockSize: -int + persistentCacheId: -String + writeBufferSize: -long + blobFiles: boolean + minBlobSize: -long + blobFileSize: -long + blobCompressionType: -Compression + # Remember to update ColumnOptions common getters + NamedColumnOptions: + data: + columnName: String + levels: DatabaseLevel[] + memtableMemoryBudgetBytes: -long + cacheIndexAndFilterBlocks: -boolean + partitionFilters: -boolean + filter: -Filter + blockSize: -int + persistentCacheId: -String + writeBufferSize: -long + blobFiles: boolean + minBlobSize: -long + blobFileSize: -long + blobCompressionType: -Compression + NoFilter: + data: {} + BloomFilter: + data: + bitsPerKey: int + optimizeForHits: -boolean + PersistentCache: + data: + id: String + path: String + size: long + optimizeForNvm: boolean + DatabaseVolume: + data: + volumePath: Path + targetSizeBytes: long + DatabaseLevel: + data: + maxDictBytes: int + compression: Compression + IndicizerAnalyzers: + data: + defaultAnalyzer: TextFieldsAnalyzer + fieldAnalyzer: String2FieldAnalyzerMap + IndicizerSimilarities: + data: + defaultSimilarity: TextFieldsSimilarity + fieldSimilarity: String2FieldSimilarityMap + LuceneOptions: + data: + extraFlags: StringMap + queryRefreshDebounceTime: Duration + commitDebounceTime: Duration + lowMemory: boolean + directoryOptions: LuceneDirectoryOptions + indexWriterReaderPooling: -boolean + indexWriterRAMBufferSizeMB: -double + indexWriterMaxBufferedDocs: -int + applyAllDeletes: -boolean + writeAllDeletes: -boolean + allowNonVolatileCollection: boolean + maxInMemoryResultEntries: int + mergePolicy: TieredMergePolicy + TieredMergePolicy: + data: + forceMergeDeletesPctAllowed: -double + deletesPctAllowed: -double + maxMergeAtOnce: -int + maxMergedSegmentBytes: -long + floorSegmentBytes: -long + segmentsPerTier: -double + maxCFSSegmentSizeBytes: -long + noCFSRatio: -double + ByteBuffersDirectory: { data: { } } + MemoryMappedFSDirectory: + data: + managedPath: Path + NIOFSDirectory: + data: + managedPath: Path + RAFFSDirectory: + data: + managedPath: Path + DirectIOFSDirectory: + data: + delegate: StandardFSDirectoryOptions + mergeBufferSize: -int + minBytesDirect: -long + RocksDBStandaloneDirectory: + data: + managedPath: Path + blockSize: int + RocksDBSharedDirectory: + data: + managedPath: Path + blockSize: int + NRTCachingDirectory: + data: + delegate: LuceneDirectoryOptions + maxMergeSizeBytes: long + maxCachedBytes: long versions: 0.0.0: details: changelog: "First version" - superTypes: - RPCEvent: [ - Empty, - Binary, - BinaryOptional, - SingletonUpdateOldData, - GeneratedEntityId, - GetDatabase, - GetLuceneIndex, - Disconnect, - GetSingleton, - SingletonGet, - SingletonSet, - SingletonUpdateInit, - SingletonUpdateEnd, - RPCCrash, - CloseDatabase, - CloseLuceneIndex - ] - ServerBoundRequest: [ - GetDatabase, - GetLuceneIndex, - Disconnect, - GetSingleton, - SingletonGet, - SingletonSet, - SingletonUpdateInit, - CloseDatabase, - CloseLuceneIndex - ] - ClientBoundResponse: [ - Empty, - GeneratedEntityId, - Binary, - BinaryOptional, - RPCCrash - ] - ClientBoundRequest: [ - SingletonUpdateOldData - ] - ServerBoundResponse: [ - Empty, - SingletonUpdateEnd - ] - LuceneDirectoryOptions: [ - ByteBuffersDirectory, - MemoryMappedFSDirectory, - NIOFSDirectory, - RAFFSDirectory, - DirectIOFSDirectory, - RocksDBStandaloneDirectory, - RocksDBSharedDirectory, - NRTCachingDirectory - ] - StandardFSDirectoryOptions: [ - MemoryMappedFSDirectory, - NIOFSDirectory, - RAFFSDirectory - ] - PathDirectoryOptions: [ - MemoryMappedFSDirectory, - NIOFSDirectory, - RAFFSDirectory, - RocksDBStandaloneDirectory, - StandardFSDirectoryOptions - ] - Filter: [ - NoFilter, - BloomFilter - ] - ColumnOptions: [ - DefaultColumnOptions, - NamedColumnOptions - ] - customTypes: - Path: - javaClass: java.nio.file.Path - serializer: it.cavallium.dbengine.database.remote.PathSerializer - Compression: - javaClass: it.cavallium.dbengine.client.Compression - serializer: it.cavallium.dbengine.database.remote.CompressionSerializer - TextFieldsAnalyzer: - javaClass: it.cavallium.dbengine.lucene.analyzer.TextFieldsAnalyzer - serializer: it.cavallium.dbengine.database.remote.TextFieldsAnalyzerSerializer - TextFieldsSimilarity: - javaClass: it.cavallium.dbengine.lucene.analyzer.TextFieldsSimilarity - serializer: it.cavallium.dbengine.database.remote.TextFieldsSimilaritySerializer - Duration: - javaClass: java.time.Duration - serializer: it.cavallium.dbengine.database.remote.DurationSerializer - RocksDB: - javaClass: org.rocksdb.RocksDB - serializer: it.cavallium.dbengine.database.remote.RocksDBSerializer - ColumnFamilyHandle: - javaClass: org.rocksdb.ColumnFamilyHandle - serializer: it.cavallium.dbengine.database.remote.ColumnFamilyHandleSerializer - LuceneHacks: - javaClass: it.cavallium.dbengine.lucene.LuceneHacks - serializer: it.cavallium.dbengine.database.remote.LuceneHacksSerializer - UpdateReturnMode: - javaClass: it.cavallium.dbengine.database.UpdateReturnMode - serializer: it.cavallium.dbengine.database.remote.UpdateReturnModeSerializer - LLSnapshot: - javaClass: it.cavallium.dbengine.database.LLSnapshot - serializer: it.cavallium.dbengine.database.remote.LLSnapshotSerializer - - Bytes: - javaClass: it.unimi.dsi.fastutil.bytes.ByteList - serializer: it.cavallium.dbengine.database.remote.ByteListSerializer - StringMap: - javaClass: java.util.Map - serializer: it.cavallium.dbengine.database.remote.StringMapSerializer - String2FieldAnalyzerMap: - javaClass: java.util.Map - serializer: it.cavallium.dbengine.database.remote.String2FieldAnalyzerMapSerializer - String2FieldSimilarityMap: - javaClass: java.util.Map - serializer: it.cavallium.dbengine.database.remote.String2FieldSimilarityMapSerializer - String2ColumnFamilyHandleMap: - javaClass: java.util.Map - serializer: it.cavallium.dbengine.database.remote.String2ColumnFamilyHandleMapSerializer - classes: - BoxedRPCEvent: - data: - val: RPCEvent - - # Server-bound requests - - GetDatabase: - data: - name: String - columns: Column[] - databaseOptions: DatabaseOptions - GetLuceneIndex: - data: - clusterName: String - structure: LuceneIndexStructure - indicizerAnalyzers: IndicizerAnalyzers - indicizerSimilarities: IndicizerSimilarities - luceneOptions: LuceneOptions - Disconnect: { data: { } } - GetSingleton: - data: - databaseId: long - singletonListColumnName: byte[] - name: byte[] - defaultValue: -Bytes - SingletonGet: - data: - singletonId: long - snapshot: -LLSnapshot - SingletonSet: - data: - singletonId: long - value: -Bytes - SingletonUpdateInit: - data: - singletonId: long - updateReturnMode: UpdateReturnMode - SingletonUpdateEnd: - data: - exist: boolean - value: byte[] - CloseDatabase: - data: - databaseId: long - CloseLuceneIndex: - data: - luceneIndexId: long - - # Client-bound responses - - GeneratedEntityId: - data: - id: long - RPCCrash: - data: - code: int - message: -String - - # Client-bound requests - - SingletonUpdateOldData: - data: - exist: boolean - oldValue: byte[] - - # Server-bound responses - - - # Data - - LuceneIndexStructure: - data: - totalShards: int - activeShards: int[] - SingleIndex: - data: - name: String - ClusteredShardIndex: - data: - clusterName: String - shard: int - BinaryOptional: - data: - val: -Binary - Binary: - data: - val: byte[] - Empty: { data: { } } - Column: - data: - name: String - DatabaseOptions: - data: - volumes: DatabaseVolume[] - extraFlags: StringMap - absoluteConsistency: boolean - lowMemory: boolean - useDirectIO: boolean - allowMemoryMapping: boolean - allowNettyDirect: boolean - optimistic: boolean - maxOpenFiles: -int - blockCache: -long - compressedBlockCache: -long - persistentCaches: PersistentCache[] - writeBufferManager: -long - spinning: boolean - defaultColumnOptions: DefaultColumnOptions - columnOptions: NamedColumnOptions[] - logPath: -String - walPath: -String - # Remember to update ColumnOptions common getters - DefaultColumnOptions: - data: - levels: DatabaseLevel[] - memtableMemoryBudgetBytes: -long - cacheIndexAndFilterBlocks: -boolean - partitionFilters: -boolean - filter: -Filter - blockSize: -int - persistentCacheId: -String - writeBufferSize: -long - blobFiles: boolean - minBlobSize: -long - blobFileSize: -long - blobCompressionType: -Compression - # Remember to update ColumnOptions common getters - NamedColumnOptions: - data: - columnName: String - levels: DatabaseLevel[] - memtableMemoryBudgetBytes: -long - cacheIndexAndFilterBlocks: -boolean - partitionFilters: -boolean - filter: -Filter - blockSize: -int - persistentCacheId: -String - writeBufferSize: -long - blobFiles: boolean - minBlobSize: -long - blobFileSize: -long - blobCompressionType: -Compression - NoFilter: - data: {} - BloomFilter: - data: - bitsPerKey: int - optimizeForHits: -boolean - PersistentCache: - data: - id: String - path: String - size: long - optimizeForNvm: boolean - DatabaseVolume: - data: - volumePath: Path - targetSizeBytes: long - DatabaseLevel: - data: - maxDictBytes: int - compression: Compression - IndicizerAnalyzers: - data: - defaultAnalyzer: TextFieldsAnalyzer - fieldAnalyzer: String2FieldAnalyzerMap - IndicizerSimilarities: - data: - defaultSimilarity: TextFieldsSimilarity - fieldSimilarity: String2FieldSimilarityMap - LuceneOptions: - data: - extraFlags: StringMap - queryRefreshDebounceTime: Duration - commitDebounceTime: Duration - lowMemory: boolean - directoryOptions: LuceneDirectoryOptions - indexWriterReaderPooling: -boolean - indexWriterRAMBufferSizeMB: -double - indexWriterMaxBufferedDocs: -int - applyAllDeletes: -boolean - writeAllDeletes: -boolean - allowNonVolatileCollection: boolean - maxInMemoryResultEntries: int - mergePolicy: TieredMergePolicy - TieredMergePolicy: - data: - forceMergeDeletesPctAllowed: -double - deletesPctAllowed: -double - maxMergeAtOnce: -int - maxMergedSegmentBytes: -long - floorSegmentBytes: -long - segmentsPerTier: -double - maxCFSSegmentSizeBytes: -long - noCFSRatio: -double - ByteBuffersDirectory: { data: { } } - MemoryMappedFSDirectory: - data: - managedPath: Path - NIOFSDirectory: - data: - managedPath: Path - RAFFSDirectory: - data: - managedPath: Path - DirectIOFSDirectory: - data: - delegate: StandardFSDirectoryOptions - mergeBufferSize: -int - minBytesDirect: -long - RocksDBStandaloneDirectory: - data: - managedPath: Path - blockSize: int - RocksDBSharedDirectory: - data: - managedPath: Path - blockSize: int - NRTCachingDirectory: - data: - delegate: LuceneDirectoryOptions - maxMergeSizeBytes: long - maxCachedBytes: long