Get desktop application:
View/edit binary Protocol Buffers messages
This service contains RPCs that could be called by gRPC clients on evitaDB. Main purpose of this service is to provide a way to create sessions and catalogs, and to update the catalog.
Procedure used to cancel queued or running task.
Request to get cancel task status by id
Identification of the task
Request to get cancel task status by id
true if the task was found and canceled
Procedure used to delete file contents
Request to list task statuses in paginated form.
Identification of the file
Response to a task statuses request.
true if the file was found and deleted
Procedure used to get file contents
Request to get single file by id
Identification of the file
Response to a task status request.
chunk of the file content
total size of the file
Procedure used to obtain catalog statistics.
Response to a server catalog statistics request.
Collection of catalog statistics for all catalogs
Procedure used to obtain server configuration.
Response to an evitaDB configuration request.
Current configuration of the server in YAML format with evaluated values.
Procedure used to get single file by its id available for fetching.
Request to list task statuses in paginated form.
Identification of the file
Response to a task statuses request.
File to fetch.
Procedure used to get detail of particular task status.
Request to get single task status by id
Identification of the task
Response to a task status request.
Task status if found
Procedure used to get multiple details of particular task statuses.
Request to get multiple task statuses.
set of task ids to be listed
Response to a multiple task statuses request.
Collection of task statuses.
Procedure used to get listing of files available for fetching.
Request to list files to fetch in paginated form.
Page number of the task statuses to be listed.
Number of task statuses per page.
Optional origin of the files (derived from taskType), passing non-null value in this argument filters the returned files to only those that are related to the specified origin
Response to a get files to fetch request.
The size of the page.
The number of the page.
Collection of files to fetch.
Total number of files to fetch.
List reserved keywords
Response that returns information about reserved keywords.
List of reserved keywords
Procedure used to get listing of task statuses.
Request to list task statuses in paginated form.
Page number of the task statuses to be listed.
Number of task statuses per page.
Optional taskType of the listed task, passing non-null value in this argument filters the returned status to only those that are related to the tasks of specified type
Optional set of simplified task states, passing list of enums in this argument filters the returned statuses to only those that match this simplified status
Response to a task statuses request.
The size of the page.
The number of the page.
Collection of task statuses.
Total number of task statuses.
Procedure used to restore a catalog from backup.
Request to restore a catalog.
Name of the catalog where the backup will be restored The name must not clash with any of existing catalogs
Binary contents of the backup file.
Procedure used to restore a catalog from backup.
Request to restore a catalog.
Name of the catalog where the backup will be restored The name must not clash with any of existing catalogs
The identification of the file on the server that should be restored
Procedure used to restore a catalog from backup (unary version for gRPC/web).
Request to restore a catalog.
Name of the catalog where the backup will be restored The name must not clash with any of existing catalogs
Binary contents of the backup file.
Identification of the task (for continuation purpose)
Total size of uploaded file in Bytes, when the size is reached, restore automatically starts
Response to a catalog restore request (unary variant). This is used for gRPC/web. We need to explicitly handle the fileId, because it gets repeatedly updated (appended) from the client.
returns the number of bytes read from the backup file
The identification of the file on the server that should be restored
the task that is used to restore the catalog and getting its progress
Procedure used to obtain server status.
Response to a server status request.
Version of evitaDB server taken from the MANIFEST.MF file
Date and time when the server was started
Duration of time since the server was started (seconds)
Unique identifier of the server instance
Number of corrupted catalogs
Number of catalogs that are active and has been successfully loaded, renamed to `catalogsActive`
Health problems
Overall readiness of the evitaDB server
Information about all available APIs
Flag indicating that the server is in read-only mode
Number of catalogs that are active and has been successfully loaded
Number of inactive catalogs
The version of the current evitaDB server engine state (change in engine state).
The date and time when the current engine version was introduced (last engine level change occurred).
This service contains RPCs that could be called by gRPC clients on evitaDB. Main purpose of this service is to provide a way to create sessions and catalogs, and to update the catalog.
Procedure used to activate a catalog.
Response to an activate catalog request.
Indicator whether the catalog was activated successfully.
Procedure used to activate a catalog with progress tracking.
Procedure used to update the catalog with a set of mutations.
Response to apply mutation on engine level.
(message has no fields)
Procedure used to update the catalog with a set of mutations which tracks the progress of the operation.
Procedure used to create read-only session which will return data in binary format. Part of the Private API.
Procedure used to create read-write session which will return data in binary format. Part of the Private API.
Procedure used to create read only sessions.
Procedure used to create read write sessions.
Procedure used to deactivate a catalog.
Response to a deactivate catalog request.
Indicator whether the catalog was deactivated successfully.
Procedure used to deactivate a catalog with progress tracking.
Procedure used to define a new catalog.
Request to define a new catalog.
Name of the catalog to be defined.
Response to a catalog definition request.
Indicator whether the catalog was defined successfully.
Procedure used to delete an existing catalog.
Request to delete a catalog.
Name of the catalog to be deleted.
Response to a catalog deletion request.
Indicator whether the catalog was deleted successfully.
Procedure used to duplicate a catalog.
Response to a duplicate catalog request.
Indicator whether the catalog was duplicated successfully.
Procedure used to duplicate a catalog with progress tracking.
Procedure used to get names of all existing catalogs.
Response to a catalog names request.
Names of all existing catalogs.
Procedure used to get state of the catalog by its name.
Request to a get catalog state request.
Name of the catalog to be checked for state.
Response to a get catalog state request.
State of the catalog.
Procedure used to initiate progress consumption for top-level engine mutations.
Request to get progress of the top-level engine mutations.
The name of the catalog for which the progress is requested. Might be empty if the progress is not related to any catalog and is related to the whole evitaDB instance.
Response to GrpcGetProgressRequest.
contains information whether the progress was found or not
The progress of the top-level engine mutation in percents.
Contains catalog name copied from the request (if the progress is related to a catalog)
Contains catalog version when operation finishes (only if the mutation relates to a catalog)
Contains catalog schema version when operation finishes (only if the mutation relates to a catalog)
Procedure used to check readiness of the API
Response to a server status request.
Always true when returned
Procedure used to make a catalog alive.
Response to a make catalog alive request.
Indicator whether the catalog was made alive successfully.
Procedure used to make a catalog alive with progress tracking.
Procedure used to make a catalog immutable.
Response to a make catalog immutable request.
Indicator whether the catalog was made immutable successfully.
Procedure used to make a catalog immutable with progress tracking.
Procedure used to make a catalog mutable.
Response to a make catalog mutable request.
Indicator whether the catalog was made mutable successfully.
Procedure used to make a catalog mutable with progress tracking.
Procedure used to register a system change capture.
Request to register a system change capture.
Starting point for the search (engine version)
Starting point for the search (index of the mutation within engine version - currently each engine level transaction contains only one mutation)
Requested content of the capture - i.e. whether client wants to receive only the simple notification about the change or whether he wants to receive the full content of the change
OR-ed criteria for the capture. When empty, defaults to ENGINE only on the system stream (NOTE: this differs from the catalog stream, which defaults to all areas including INFRASTRUCTURE). HOST on the system stream requires explicit opt-in.
Response to GrpcRegisterSystemChangeCapture request.
Identification of the registered capture
The list of mutations (CDC events) that match the criteria
The type of the response - when subscription is set-up, acknowledgement is sent Then with each capture event, the type is set to `change`
Optional heartbeat information, is non-null only if the response is a heartbeat or acknowledgement
Procedure used to rename an existing catalog.
Response to a catalog rename request.
Indicator whether the catalog was renamed successfully.
Procedure used to rename an existing catalog with progress tracking.
Procedure used to replace an existing catalog.
Response to a catalog replace request.
Indicator whether the catalog was replaced successfully.
Procedure used to replace an existing catalog with progress tracking.
Procedure used to terminate existing session.
Request to terminate a session.
UUID of the session to be terminated.
Response to a session termination request.
Indicator whether the session was terminated successfully.
This service contains RPCs that could be called by gRPC clients on evitaDB's catalog by usage of a before created session. By specifying its UUID and the name of a catalog to which it corresponds to it's possible to execute methods that in evitaDB's implementation a called on an instance of EvitaSessionContract. Main purpose of this service is to provide a way to manipulate with stored entity collections and their schemas. That includes their creating, updating and deleting. Same operations could be done with entities, which in addition could be fetched by specifying a complex queries.
Applies single mutation to the entity.
Procedure that archives an entity and returns it with required richness.
Request for deleting an entity that should return the archived entity with required richness.
Entity type of the entity to be archived.
Primary key of the entity to be archived.
The string part of the parametrised query require part.
The positional query parameters.
The named query parameters.
Response to ArchiveEntity request.
The archived entity. The used field is decided by the require block in the query.
The archived entity reference.
The archived entity.
Procedure used to backup an existing catalog.
Procedure used to backup an existing catalog, streaming progress updates.
Procedure that closes the session.
Response for Close request that commits or rollbacks the changes in the session.
Contains the requested commit behaviour
Name of the catalog to which the session relates.
Response for Close request that commits or rollbacks the changes in the session.
Contains next catalog version
Contains the version of the catalog schema that will be valid at the moment of closing the session. If session relates to a writable transaction, this schema version becomes valid at the moment the next catalog version (i.e. the one that is returned in the response) becomes visible.
Procedure that closes the session opening a stream that listens to transaction processing phases.
Request for CloseGrpcCloseWithProgress procedure that commits or rollbacks the changes in the session.
Name of the catalog to which the session relates.
Response for CloseGrpcCloseWithProgress request that commits or rollbacks the changes in the session.
Contains next catalog version
Contains the version of the catalog schema that will be valid at the moment of closing the session. If session relates to a writable transaction, this schema version becomes valid at the moment the next catalog version (i.e. the one that is returned in the response) becomes visible.
The successfully finished phase of the transaction.
Procedure that defines the schema of a new entity type and return it.
Request for defining the schema of a new entity type.
The schema of the new entity type.
Response to DefineEntitySchema request.
Newly created entity schema.
Procedure that deletes an entity collection.
Request for deleting an entity collection.
The entity type of the collection to be deleted.
Response to DeleteCollection request.
True, if the collection was deleted.
Procedure that deletes all entities that match the sent query and returns their bodies.
Request for deleting a collection of entities specified by a query.
The string part of the parametrised query.
The positional query parameters.
The named query parameters.
Response to DeleteEntities request that deletes all entities that match the sent query..
Count of deleted entities.
The deleted entity bodies.
Procedure that deletes an entity and returns it with required richness.
Response to DeleteEntity request.
The deleted entity. The used field is decided by the require block in the query.
The deleted entity reference.
The deleted entity.
Procedure that deletes an entity and its hierarchy and returns the root entity with required richness.
Response to DeleteEntity request when hierarchy has been specified in filter.
Count of deleted entities.
The deleted root entity reference.
The deleted root entity.
Deleted entity primary keys.
Procedure used to backup an existing catalog.
Procedure used to fully backup an existing catalog, streaming progress updates.
Procedure that returns the list of all entity types.
Request for acquiring the list of all entity types.
The list of all entity types.
Procedure that returns the current (the one on which the used session operates) catalog schema.
Request to GetCatalogSchema request.
True, if the schema should include name variants for it and all sub-schemas. This could considerably increase the size of the response.
Response to GetCatalogSchema request.
The current catalog schema.
The current catalog version (data version, incremented with each transaction commit). Zero for catalogs that are in the warming-up state.
The current catalog schema version.
Procedure that returns the current state of the catalog.
Response to GetCatalogState request.
The current state of the catalog.
Procedure that returns the version of the catalog at a specific moment in time.
Request to GrpcCatalogVersionAt request.
Chosen moment in time for which the version of the catalog should be returned.
Signalizes whether the returned version should be the closest one before the specified moment or the closest one after the specified moment
Response to GrpcCatalogVersionAt request.
The first version of the materialized version block visible in the specified time
The last version of the materialized version block visible in the specified time
Exact moment when this materialized version block was introduced to the catalog snapshot
Procedure that find entity by passed entity type and primary key and return it by specified richness by passed parametrised require query part.
Request for acquiring an entity.
The primary key of the entity.
The entity type of the entity.
The string part of the parametrised query require part.
The positional query parameters.
The named query parameters.
The set of scopes to search for the entity.
Response to GetEntity request.
The found entity.
Procedure that returns the size of an entity collection.
Request for acquiring the size of an entity collection.
The entity type of the collection - (count of entities stored).
Response to GetEntityCollectionSize request.
The size of the collection.
Procedure that returns the schema of a specific entity type.
Request for acquiring the schema of a specific entity type.
The entity type for which the schema is requested.
True, if the schema should include name variants for it and all sub-schemas. This could considerably increase the size of the response.
Response to GetEntitySchema request.
The schema of the requested entity type.
Procedure that returns stream of all past mutations in reversed order that match the request criteria.
Request to GetMutationsHistoryPage request.
Starting point for the search (catalog version)
Starting point for the search (index of the mutation within catalog version)
The criteria of the capture, allows to define constraints on the returned mutations
The scope of the returned data - either header of the mutation, or the whole mutation
Response to GetMutationsHistory request.
The list of mutations that match the criteria
Procedure that returns requested page of past mutations in reversed order that match the request criteria.
Request to GetMutationsHistoryPage request.
The page number starting with 1
The size of the page to return
Starting point for the search (catalog version)
Starting point for the search (index of the mutation within catalog version)
The time range within which the mutations should be found
The criteria of the capture, allows to define constraints on the returned mutations
The scope of the returned data - either header of the mutation, or the whole mutation
Response to GetMutationsHistoryPage request.
The list of mutations that match the criteria
Procedure that opens a transaction.
Request for opening a transaction.
The current version of the catalog the transaction is bound to.
The id of the opened transaction.
Procedure that returns details of a specific transactions that move catalog to specified versions.
Request to GetTransactionOverview request.
The catalog version for which the transaction overview should be returned
Response to GetTransactionOverview request.
The list of transaction overviews that match the requested catalog versions
Procedure that changes the state of the catalog to ALIVE and closes the session.
Response for GoLiveAndClose request that switches the catalog to ALIVE state and closes the session.
True, if the catalog was switched to ALIVE state.
Contains next catalog version
Contains the version of the catalog schema that will be valid at the moment of closing the session. If session relates to a writable transaction, this schema version becomes valid at the moment the next catalog version (i.e. the one that is returned in the response) becomes visible.
Procedure that changes the state of the catalog to ALIVE and closes the session opening a stream that listens to updates of go live procedure.
Contains next catalog version
Contains the version of the catalog schema that will be valid at the moment of closing the session. If session relates to a writable transaction, this schema version becomes valid at the moment the next catalog version (i.e. the one that is returned in the response) becomes visible.
The progress of the go live operation in percents.
Procedure that executes passed parametrised query and returns a data chunk with computed extra results.
Procedure that executes passed parametrised query and returns a list of entities.
Procedure that executes passed query with embedded variables and returns a list of entities. Do not use in your applications! This method is unsafe and should be used only for internal purposes.
Procedure that executes passed parametrised query and returns zero or one entity.
Procedure that executes passed query with embedded variables and returns zero or one entity. Do not use in your applications! This method is unsafe and should be used only for internal purposes.
Procedure that executes passed query with embedded variables and returns a data chunk with computed extra results. Do not use in your applications! This method is unsafe and should be used only for internal purposes.
Procedure that registers a change capture.
Request to RegisterChangeCatalogCapture request.
Starting point for the search (catalog version)
Starting point for the search (index of the mutation within catalog version)
The criteria of the capture, allows to define constraints on the returned mutations
The scope of the returned data - either header of the mutation, or the whole mutation
Response to RegisterChangeCatalogCapture request.
Identification of the registered capture
The list of mutations (CDC events) that match the criteria
The type of the response - when subscription is set-up, acknowledgement is sent Then with each capture event, the type is set to `change`
Optional heartbeat information, is non-null only if the response is a heartbeat or acknowledgement
Procedure that renames an entity collection.
Request for renaming an entity collection.
The entity type of the collection to be renamed.
The new name of the collection.
Response to RenameCollection request.
True, if the collection was renamed.
Procedure that replaces an entity collection.
Name of the entity collection that will be replaced and dropped (new name)
Name of the entity collection that will become the successor of the original collection (old name)
Response to ReplaceCollection request.
True, if the collection was replaced.
Procedure that restores an entity and returns it with required richness.
Request for deleting an entity that should return the restored entity with required richness.
Entity type of the entity to be restored.
Primary key of the entity to be restored.
The string part of the parametrised query require part.
The positional query parameters.
The named query parameters.
Response to RestoreEntity request.
The restored entity. The used field is decided by the require block in the query.
The restored entity reference.
The restored entity.
Procedure that updates the catalog schema and returns it.
Request for updating the catalog schema and its afterwards fetching.
Modified catalog schema.
Procedure that updates the schema of an existing entity type and returns it.
Request for updating the entity schema and its afterwards fetching.
Modified entity schema.
Procedure that updates the catalog schema and return its updated version.
Response to UpdateCatalogSchema request.
The new version of the catalog schema.
Procedure that updates the schema of an existing entity type and return its updated version.
Response to UpdateEntitySchema request.
The new version of the entity schema.
Procedure that upserts (inserts/updates) an entity and returns it with required richness.
Request for upserting an entity that should return an entity with required richness.
Either Upsert or Delete entity mutation.
The string part of the parametrised query require part.
The positional query parameters.
The named query parameters.
Response to UpsertEntity request. The used field is decided by the require block in the query.
The upserted entity.
The upserted entity reference.
The upserted entity.
The upserted entity reference with reassigned primary keys
Procedure that returns stream of all past traffic records that match the request criteria. Order of the returned records is from the newest sessions to the oldest, traffic records within the session are ordered from the newest to the oldest.
Request to GetTrafficHistory request.
The criteria of the traffic recording, allows to define constraints on the returned records
Response to GetTrafficHistory request.
The list of traffic records that match the criteria
Procedure that returns requested list of past traffic records with limited size that match the request criteria. Order of the returned records is from the oldest sessions to the newest, traffic records within the session are ordered from the oldest to the newest.
Procedure that returns requested list of past traffic records with limited size that match the request criteria. Order of the returned records is from the newest sessions to the oldest, traffic records within the session are ordered from the newest to the oldest.
Procedure returns a list of top unique label values ordered by cardinality of their values present in the traffic recording.
Response to GetTrafficRecordingLabelsValuesOrderedByCardinality request.
The limit of records to return
The name of the label to get the values for
Allows to filter the returned labels by the name prefix
Response to GetTrafficRecordingLabelsValuesOrderedByCardinality response.
The list of labels values that match the criteria
Procedure returns a list of top unique labels names ordered by cardinality of their values present in the traffic recording.
Response to GetTrafficRecordingLabelsNamesOrderedByCardinality request.
The limit of records to return
Allows to filter the returned labels by the name prefix
Response to GetTrafficRecordingLabelsNamesOrderedByCardinality response.
The list of labels names that match the criteria
Procedure that starts the traffic recording for the given criteria and settings
Request to StartTrafficRecording request.
The sampling rate of the traffic recording (100 means all records will be recorded, 1 means 1% of records will be recorded)
If true the recording will be exported to a file, otherwise only internal ring buffer will be made available for the time the traffic recording is running.
The duration of the recording in milliseconds, after this time the recording will be stopped automatically.
The size of the recording in bytes, after this size the recording will be stopped automatically.
The size of the chunk file in bytes. Individual files in the export file will be approximately this size.
Procedure that stops the traffic recording
Request to StopTrafficRecording request.
The ID of the task that started the recording
Structure that holds a map of values stored inside map of the complex object.
Used in:
The stored named fields with associated values.
Request to GetTrafficHistoryList request.
Used as request type in: GrpcEvitaTrafficRecordingService.GetTrafficRecordingHistoryList, GrpcEvitaTrafficRecordingService.GetTrafficRecordingHistoryListReversed
The limit of records to return
The criteria of the traffic recording, allows to define constraints on the returned records
Response to GetTrafficHistoryList request.
Used as response type in: GrpcEvitaTrafficRecordingService.GetTrafficRecordingHistoryList, GrpcEvitaTrafficRecordingService.GetTrafficRecordingHistoryListReversed
The list of traffic records that match the criteria
Response to StartTrafficRecording and request.
Used as response type in: GrpcEvitaTrafficRecordingService.StartTrafficRecording, GrpcEvitaTrafficRecordingService.StopTrafficRecording
The status of the recording task
Request to activate a catalog.
Used as request type in: EvitaService.ActivateCatalog, EvitaService.ActivateCatalogWithProgress
Name of the catalog to activate.
Mutation is responsible for adding one or more currencies to a `EntitySchema.currencies` in `EntitySchema`.
Used in:
Set of all currencies that could be used for prices in entities of this type.
Mutation is responsible for adding one or more modes to a `CatalogSchema.catalogEvolutionMode` in `CatalogSchema`.
Used in:
Set of allowed catalog evolution modes. These allow to specify how strict is evitaDB when unknown information is presented to her for the first time. When no evolution mode is set, each violation of the `CatalogSchema` is reported by an error. This behaviour can be changed by this evolution mode, however.
Mutation is responsible for adding one or more modes to a `EntitySchema.evolutionMode` in `EntitySchema`.
Used in:
Set of allowed evolution modes. These allow to specify how strict is evitaDB when unknown information is presented to her for the first time. When no evolution mode is set, each violation of the `EntitySchema` is reported by an error. This behaviour can be changed by this evolution mode, however.
Mutation is responsible for adding one or more locales to a `EntitySchema.locales` in `EntitySchema`.
Used in:
Set of all locales that could be used for localized `AttributeSchema` or `AssociatedDataSchema`.
Status of the external API
Used in:
True if the API is enabled
API readiness status
list of base url of the web API
list of specific endpoints of particular API currently only system API provides list of endpoints
Increments or decrements existing numeric value by specified delta (negative number produces decremental of existing number, positive one incrementation). Allows to specify the number range that is tolerated for the value after delta application has been finished to verify for example that number of items on stock doesn't go below zero.
Used in: ,
Unique name of the attribute. Case-sensitive. Distinguishes one associated data item from another within single entity instance.
Contains locale in case the attribute is locale specific.
Delta to change existing value by of this attribute (negative number produces decremental of existing number, positive one incrementation).
Integer delta to apply to existing value of this attribute.
Long delta to apply to existing value of this attribute.
BigDecimal delta to apply to existing value of this attribute.
Number range that is tolerated for the value after delta application has been finished to verify for example that number of items on stock doesn't go below zero.
Integer number range within which the value after delta application has to be.
Long number range within which the value after delta application has to be.
BigDecimal number range within which the value after delta application has to be.
Request to apply mutation on engine level.
Used as request type in: EvitaService.ApplyMutation, EvitaService.ApplyMutationWithProgress
Single engine level mutation to be applied.
Response to apply mutation on engine level.
Used as response type in: EvitaService.ActivateCatalogWithProgress, EvitaService.ApplyMutationWithProgress, EvitaService.DeactivateCatalogWithProgress, EvitaService.DuplicateCatalogWithProgress, EvitaService.MakeCatalogAliveWithProgress, EvitaService.MakeCatalogImmutableWithProgress, EvitaService.MakeCatalogMutableWithProgress, EvitaService.RenameCatalogWithProgress, EvitaService.ReplaceCatalogWithProgress
The progress of the go live operation in percents.
Contains catalog version when operation finishes (only if the mutation relates to a catalog)
Contains catalog schema version when operation finishes (only if the mutation relates to a catalog)
This is the definition object for associated data that is stored along with entity. Definition objects allow to describe the structure of the entity type so that in any time everyone can consult complete structure of the entity type. Associated data carry additional data entries that are never used for filtering / sorting but may be needed to be fetched along with entity in order to present data to the target consumer (i.e. user / API / bot). Associated data may be stored in slower storage and may contain wide range of data types - from small ones (i.e. numbers, strings, dates) up to large binary arrays representing entire files (i.e. pictures, documents).
Used in:
Contains unique name of the model. Case-sensitive. Distinguishes one model item from another within single entity instance.
Deprecation notice contains information about planned removal of this entity from the model / client API. This allows to plan and evolve the schema allowing clients to adapt early to planned breaking changes. If notice is `null`, this schema is considered not deprecated.
Data type of the associated data. Must be one of Evita-supported values. Internally the type is converted into Java-corresponding data type. The type may be scalar type or may represent complex object type (JSON).
Localized associated data has to be ALWAYS used in connection with specific `Locale`. In other words - it cannot be stored unless associated locale is also provided.
When associated data is nullable, its values may be missing in the entities. Otherwise, the system will enforce non-null checks upon upserting of the entity.
Contains associated data name converted to different naming conventions.
Attribute element is a part of the sortable compound. It defines the attribute name, the direction of the sorting and the behaviour of the null values. The attribute name refers to the existing attribute defined in the schema.
Used in: ,
Name of the existing attribute in the same schema.
Direction of the sorting.
Behaviour of the null values.
Enum specifies different modes for reference attributes inheritance in reflected schema.
Used in: , ,
* Inherit all attributes by default except those listed in the {@link #getAttributeInheritanceFilter()} array.
* Do not inherit any attributes by default except those listed in the {@link #getAttributeInheritanceFilter()} array.
Mutation of a single attribute.
Used in:
The mutation to apply.
Increments or decrements existing numeric value by specified delta (negative number produces decremental of existing number, positive one incrementation).
Upsert attribute mutation will either update existing attribute or create new one.
Remove attribute mutation will drop existing attribute - ie.generates new version of the attribute with tombstone on it.
This is the definition object for attributes that are stored along with entity. Definition objects allow to describe the structure of the entity type so that in any time everyone can consult complete structure of the entity type. Definition object is similar to Java reflection process where you can also at any moment see which fields and methods are available for the class. Entity attributes allows defining set of data that are fetched in bulk along with the entity body. Attributes may be indexed for fast filtering (`AttributeSchema.filterable`) or can be used to sort along (`AttributeSchema.sortable`). Attributes are not automatically indexed in order not to waste precious memory space for data that will never be used in search queries. Filtering in attributes is executed by using constraints like `and`, `not`, `attributeEquals`, `attributeContains` and many others. Sorting can be achieved with `attributeNatural` or others. Attributes are not recommended for bigger data as they are all loaded at once requested. Large data that are occasionally used store in `associatedData`.
Used in: ,
Contains unique name of the model. Case-sensitive. Distinguishes one model item from another within single entity instance.
When this attribute schema belongs to a catalog - it is global and can have globally unique attributes enforced across whole catalog.
Contains description of the model is optional but helps authors of the schema / client API to better explain the original purpose of the model to the consumers.
Deprecation notice contains information about planned removal of this entity from the model / client API. This allows to plan and evolve the schema allowing clients to adapt early to planned breaking changes. If notice is `null`, this schema is considered not deprecated.
When attribute is unique it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute among other entities in the same collection. As an example of unique attribute can be EAN - there is no sense in having two entities with same EAN, and it's better to have this ensured by the database engine. deprecated in favor of `uniqueInScopes`
When attribute is unique globally it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute in entire {@link CatalogContract}. {@link AttributeSchemaContract#getType() Type} of the unique attribute must implement {@link Comparable} interface. As an example of unique attribute can be URL - there is no sense in having two entities with same URL, and it's better to have this ensured by the database engine. deprecated in favor of `uniqueGloballyInScopes`
When attribute is filterable, it is possible to filter entities by this attribute. Do not mark attribute as filterable unless you know that you'll search entities by this attribute. Each filterable attribute occupies (memory/disk) space in the form of index. When attribute is filterable, extra result `attributeHistogram` can be requested for this attribute. deprecated in favor of `filterableInScopes`
When attribute is sortable, it is possible to sort entities by this attribute. Do not mark attribute as sortable unless you know that you'll sort entities along this attribute. Each sortable attribute occupies (memory/disk) space in the form of index. deprecated in favor of `sortableInScopes`
When attribute is localized, it has to be ALWAYS used in connection with specific `Locale`.
When attribute is nullable, its values may be missing in the entities. Otherwise, the system will enforce non-null checks upon upserting of the entity.
Representative flag marks the attribute as one of the most important attributes in the entity, or when used on reference level in the {@link ReferenceSchemaContract} it marks attributes distinguishing duplicated references to the same entity and is a key attribute for creating distinct indexes for such references. In overall, representative attributes should be used in developer tools along with the entity's primary key to describe the entity or reference to that entity. If the flag is used correctly, it can be very helpful to developers in quickly finding their way around the data. There should be very few representative attributes in the entity / reference type, and the ones with uniqueness significance are usually the best to choose.
Data type of the attribute. Must be one of Evita-supported values. Internally the scalar is converted into Java-corresponding data type.
Default value is used when the entity is created without this attribute specified. Default values allow to pass non-null checks even if no attributes of such name are specified.
Determines how many fractional places are important when entities are compared during filtering or sorting. It is significant to know that all values of this attribute will be converted to `Int`, so the attribute number must not ever exceed maximum limits of `Int` type when scaling the number by the power of ten using `indexedDecimalPlaces` as exponent.
Contains attribute name converted to different naming conventions.
Contains true if the attribute was inherited from the original object via reflected reference relation
When attribute is unique it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute among other entities in the same collection. As an example of unique attribute can be EAN - there is no sense in having two entities with same EAN, and it's better to have this ensured by the database engine.
When attribute is unique globally it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute in entire {@link CatalogContract}. {@link AttributeSchemaContract#getType() Type} of the unique attribute must implement {@link Comparable} interface. As an example of unique attribute can be URL - there is no sense in having two entities with same URL, and it's better to have this ensured by the database engine.
When attribute is filterable, it is possible to filter entities by this attribute. Do not mark attribute as filterable unless you know that you'll search entities by this attribute. Each filterable attribute occupies (memory/disk) space in the form of index. When attribute is filterable, extra result `attributeHistogram` can be requested for this attribute.
When attribute is sortable, it is possible to sort entities by this attribute. Do not mark attribute as sortable unless you know that you'll sort entities along this attribute. Each sortable attribute occupies (memory/disk) space in the form of index.
Mutation of an attribute schema.
Used in:
Type of the mutation.
Mutation is responsible for setting up a new `AttributeSchema` in the `EntitySchema`.
Mutation is responsible for modifying a default value of an existing `AttributeSchema` in the `EntitySchema`.
Mutation is responsible for modifying a deprecation notice of an existing `AttributeSchema` in the `EntitySchema`.
Mutation is responsible for modifying a description of an existing `AttributeSchema` in the `EntitySchema`.
Mutation is responsible for renaming an existing `AttributeSchema` in `EntitySchema` or `GlobalAttributeSchema` in `CatalogSchema`.
Mutation is responsible for modifying a type of an existing `AttributeSchema` in the `EntitySchema`.
Mutation is responsible for removing an existing `AttributeSchema` in the `EntitySchema` or `GlobalAttributeSchema`
Mutation is responsible for setting value `AttributeSchema.filterable` in `EntitySchema`.
Mutation is responsible for setting value `AttributeSchema.localized` in `EntitySchema`.
Mutation is responsible for setting value `AttributeSchema.nullable` in `EntitySchema`.
Mutation is responsible for setting value `AttributeSchema.representative` in `EntitySchema`.
Mutation is responsible for setting value `AttributeSchema.sortable` in `EntitySchema`.
Mutation is responsible for setting value `AttributeSchema.unique` in `EntitySchema`.
Mutation is responsible for introducing a `GlobalAttributeSchema` into an `EvitaSession`.
Defines the type of the attribute schema
Used in:
attribute schema is GlobalAttributeSchemaContract
attribute schema is EntityAttributeSchemaContract
attribute schema is AttributeSchemaContract
Represents constant or "special" value attribute can have (or has it implicitly, e.g. missing value is represented `null` that is not directly comparable).
Used in: ,
Represents missing value.
Represents existing (not-null) value.
Wrapper for representing an array of AttributeSpecialValue enums.
Used in:
Value that supports storing an AttributeSpecialValue array.
This enum represents the uniqueness type of an {@link AttributeSchema}. It is used to determine whether the attribute value must be unique among all the entity attributes of this type or whether it must be unique only among attributes of the same locale.
Used in: , , , , ,
The attribute is not unique (default).
The attribute value must be unique among all the entities of the same collection.
The localized attribute value must be unique among all values of the same {@link Locale} among all the entities using of the same collection.
Response to a catalog backup request.
Used as request type in: EvitaSessionService.BackupCatalog, EvitaSessionService.BackupCatalogWithProgress
The moment in time to which the catalog should be backed up. Might be null for current time.
True, if the WAL should be included in the backup. Use false if you want to restore catalog in exact state as it was at the pastMoment.
precise catalog version to create backup for, or null to create backup for the latest version, when set not null, the pastMoment parameter is ignored
Response to a catalog backup request.
Used as response type in: EvitaSessionService.BackupCatalog, EvitaSessionService.BackupCatalogWithProgress
the task that is used to backup the catalog and getting its progress
Representation of Java's BigDecimal class with arbitrary precision.
Used in: , , , , , , , ,
The string serialized value.
Wrapper for representing an array of BigDecimals.
Used in: ,
Value that supports storing a BigDecimal array.
Representation of BigDecimalNumberRange structures with optional from and to values.
Used in: , , ,
The lower bound of the range.
The upper bound of the range.
The number of decimal places to compare.
Wrapper for representing an array of BigDecimalNumberRanges.
Used in: ,
Value that supports storing a BigDecimalNumberRange array.
Response carries entities in a binary format and is part of the PRIVATE API that is used by Java driver. The client that receives the binary data must know how to deserialize them using Kryo deserializers which are internal to the evitaDB (and even if they had been public they could not have been used because Kryo is not ported to other platforms than Java). The response is triggered by BinaryForm query requirement.
Used in: , ,
Type of entity. Entity type is main sharding key - all data of entities with same type are stored in separated collections. Within the entity type entity is uniquely represented by primary key.
Unique Integer positive number representing the entity. Can be used for fast lookup for entity (entities). Primary key must be unique within the same entity type.
Contains version of this entity schema and gets increased with any entity type update. Allows to execute optimistic locking i.e. avoiding parallel modifications.
Serialized representation of the entity body.
Serialized representation of entity attributes.
Serialized representation of entity associated data.
Serialized representation of entity prices.
Serialized representation of entity references.
Wrapper for representing an array of booleans.
Used in: ,
Value that supports storing a boolean array.
Enum specifying the type of response that is sent to the subscriber.
Used in: ,
The response contains only the acknowledgement of the subscription.
The response contains the change event that was captured.
The response contains the heartbeat event.
In EvitaDB we define only one-way relationship from the perspective of the entity. We stick to the ERD modelling <a href="https://www.gleek.io/blog/crows-foot-notation.html">standards</a> here.
Used in: , , , , ,
No cardinality specified.
Relation may be missing completely, but if it exists - there is never more than single relation of this type.
There is always single relation of this type.
Relation may be missing completely, but there may be also one or more relations of this type.
There is always at least one relation of this type, but there may be also more than one.
There is always at least one relation of this type, but there may be also more than one. When there is more than one, they may refer the same target entity (and are distinguished by reference attributes)
There is always at least one relation of this type, but there may be also more than one. When there is more than one, they may refer the same target entity (and are distinguished by reference attributes)
Evolution mode allows to specify how strict is evitaDB when unknown information is presented to her for the first time. When no evolution mode is set, each violation of the EntitySchema is reported by an exception. However, this behaviour can be changed by this evolution mode.
Used in: , ,
When new entity is inserted and no collection of its entity type exists, it is silently created with empty schema and with all Evolution modes allowed.
Fires when a catalog's local reference settles into a non-transient state on this host.
Used in:
the name of the catalog whose reference settled
the non-transient state the catalog settled into
snapshot of the engine version at emit time (correlation only - does not advance)
Fires when a catalog is fully removed from the live view on this host.
Used in:
the name of the catalog that was removed
snapshot of the engine version at emit time (correlation only - does not advance)
Used in: ,
Contains unique name of the catalog. Case-sensitive. Distinguishes one catalog item from another within single entity instance.
Contains version of this catalog schema and gets increased with any entity type update. Allows to execute optimistic locking i.e. avoiding parallel modifications.
Contains description of the model is optional but helps authors of the schema / client API to better explain the original purpose of the model to the consumers.
set of evolution modes that allow to specify how strict is evitaDB when unknown information is presented to her for the first time. When no evolution mode is set, each violation of the catalog schema is reported by an exception. This behaviour can be changed by this evolution mode, however.
Contains index of generally (catalog-wide) shared `AttributeSchema` that could be used as attributes of any entity type that refers them. These attributes cannot be changed from within the entity schema. Entity schemas will not be able to define their own attribute of same name that would clash with the global one (they may only reference the attributes with the same name from the catalog schema). There may be entities that won't take advantage of certain global attributes (i.e. it's not guaranteed that all entity types in catalog have all global attributes). The "catalog-wide" unique attributes allows Evita to fetch entity of any (and up-front unknown) entity type by some unique attribute value - usually URL.
Contains catalog name converted to different naming conventions.
Fires when a catalog's schema version increases on this host (coalesced once per session/transaction). See HostSystemEvent.CatalogSchemaUpdated.
Used in:
the name of the catalog whose schema version increased
the new (current) catalog schema version on this host
snapshot of the engine version at emit time (correlation only - does not advance)
Indicates actual state in which Evita operates. See detailed information for each state.
Used in: , , , ,
Initial state of the Evita catalog. This state has several limitations but also advantages. This state requires single threaded access - this means only single thread can read/write data to the catalog in this state. No transactions are allowed in this state and there are no guarantees on consistency of the catalog if any of the WRITE operations fails. If any error is encountered while writing to the catalog in this state it is strongly recommended discarding entire catalog contents and starts filling it from the scratch. Writing to the catalog in this phase is much faster than with transactional access. Operations are executed in bulk, transactional logic is disabled and doesn't slow down the writing process. This phase is meant to quickly fill initial state of the catalog from the external primary data store. This state is also planned to be used when new replica is created and needs to quickly catch up with the master.
Standard "serving" state of the Evita catalog. All operations are executed transactionally and leave the date in consistent state even if any error occurs. Multiple readers and writers can work with the catalog simultaneously.
State signalizing that evitaDB engine was not able to consistently open and load this catalog from the file system.
State signalizing that evitaDB engine didn't load this catalog from the file system, but is present in the persistence storage. Catalog might be loaded into memory later on demand and start to process requests.
State signalizing that evitaDB engine is transitioning catalog from {@link #WARMING_UP} to {@link #ALIVE} state. Until the transition is fully completed, the catalog is not able to serve any requests.
State signalizing that evitaDB engine is loading catalog from the file system to the memory and performing initialization of the catalog. The catalog is not able to serve any requests until the initialization is fully completed.
State signalizing that evitaDB engine is deactivating the catalog. When the operation is completed, the catalog is moved to {@link #INACTIVE} state.
State signalizing that evitaDB engine is creating a new catalog. The catalog is not able to serve any requests until the creation is fully completed.
State signalizing that evitaDB engine is deleting the catalog. When the operation is completed, the catalog is removed from the file system and is no longer available.
State signalizing that a catalog previously registered with the engine no longer has an on-disk folder. The engine records this divergence via `MarkCatalogMissingMutation` so it can be diagnosed and later recovered via auto-discovery or operator action.
State signalizing that the catalog's on-disk storage protocol is older than the engine supports. Reads and writes are refused until the catalog has been upgraded via `UpgradeCatalogFormatMutation`.
State signalizing that the catalog is currently being upgraded from an older storage protocol to the one the engine supports. Transient state entered while an `UpgradeCatalogFormatMutation` is running; the completion phase returns the catalog to its prior operational state.
Unknown state of the catalog. Used when catalog is corrupted.
Aggregates basic data about the catalog and entity types stored in it.
Used in:
name of the catalog
name of the catalog
true if the catalog is corrupted (other data will be not available)
current state of the catalog, null for corrupted catalog
version of the catalog, -1 for corrupted catalog
total number of records in the catalog, -1 for corrupted catalog
total number of indexes in the catalog, -1 for corrupted catalog
total size of the catalog on disk in bytes
statistics for each entity collection in the catalog, empty array for corrupted catalog
true if the catalog is read-only, false otherwise
true if the catalog is unusable, false otherwise
The enum defines what catalog area is covered by the capture.
Used in: ,
Changes in the schema are captured.
Changes in the data are captured.
Infrastructural mutations that are neither schema nor data.
The container type describes internal evitaDB data structures.
Used in: ,
Catalog - similar to relational database schema.
Entity - similar to relational database table (or better - set of inter-related tables).
Attribute - similar to relational database column.
Reference - similar to an unstructured JSON document in relational database column.
Price - fixed structure data type, could be represented as row in a specialized table in relational database.
Reference - similar to a foreign key in relational database or a binding table in many-to-many relationship.
Enum to specify the depth of details sent in the CDC event.
Used in: , , ,
Only the header of the event is sent.
Entire mutation triggering the event is sent. In case of mutations with the large content (associated data update), the size of the event can be significant. Consider whether you need the entire mutation or just the header.
Record for the criteria of the capture request allowing to limit mutations to specific area of interest an its properties.
Used in: , ,
The area of capture - either schema or data (correlates with the site)
The specific requirements for the designated area
Criteria for schema capture
Criteria for data capture
Record describing the location and form of the CDC data event in the evitaDB that should be captured.
Used in:
the name of the intercepted entity type
the primary key of the intercepted entity
the intercepted type of operation
the name of the intercepted container type
the name of the container (e.g. attribute name, associated data name, reference name)
Enumeration of possible mutation types handled by evitaDB.
Used in: , , ,
Create or update operation - i.e. there was data with such identity before, and it was updated.
Remove operation - i.e. there was data with such identity before, and it was removed.
Delimiting operation signaling the beginning of a transaction.
Record describing the location and form of the CDC schema event in the evitaDB that should be captured.
Used in:
The name of intercepted entity
The intercepted type of operation
the name of the intercepted container type
the name of the container (e.g. attribute name, associated data name, reference name)
Record represents a catalog CDC event that is sent to the subscriber if it matches to the request he made.
Used in: , ,
the version of the catalog where the operation was performed
the index of the event within the enclosed transaction, index 0 is the transaction lead event
the area of the operation
the name of the entity type or its schema that was affected by the operation (if the operation is executed on catalog schema this field is null)
the primary key of the entity that was affected by the operation (null for schema operations)
the operation that was performed
optional body of the operation when it is requested by the GrpcContent
Represents the timestamp of the commit.
Record represents a system CDC event that is sent to the subscriber if it matches to the request he made.
Used in:
the version of the engine where the operation was performed
the index of the event within the enclosed transaction, index 0 is the transaction lead event
the operation that was performed
Body of the capture - exactly one of the two branches when present. Old clients that do not opt in to HOST never receive `hostEvent`; clients that decode an unknown oneof tag drop the body silently, which is acceptable.
Engine mutation body - durable, WAL-replicated event (ENGINE area).
Host event body (HOST area, opt-in only).
Represents the timestamp of the commit.
Criteria for filtering system CDC captures. OR-ed when multiple are provided. Default-shape divergence vs catalog stream: when criteria is empty, only ENGINE events are delivered - HOST requires explicit opt-in.
Used in:
The area of capture (system stream supports only ENGINE and HOST).
Enum describes possible classifier types used in reserved keywords listing
Used in:
* Identification of the server instance.
* Identification of the catalog.
* Identification of the entity type.
* Identification of the attribute.
* Identification of the associated data (rich content).
* Identification of the reference.
* Identification of the reference attribute.
Contains set of all possible close method behavior types when the session is committed/closed
Used in: , ,
Changes performed in the transaction are passed to evitaDB server, checked for conflicts and if no conflict is found the transaction is marked as completed and commit is finished. This behaviour is fastest, but does not guarantee that the changes are persisted on disk and durable. If the server crashes before the changes are written to disk, the changes are lost.
Changes performed in the transaction are passed to evitaDB server, checked for conflicts and if no conflict is found, they are written to Write Ahead Log (WAL) and transaction waits until the WAL is persisted on disk (fsynced). After that the transaction is marked as completed and commit is finished. This behaviour is slower than {@link #NO_WAIT} but guarantees that the changes are persisted on disk and durable. The server may decide to fsync changes from multiple transactions at once, so the transaction may wait longer than necessary. This behaviour still does not guarantee that the changes will be visible immediately after the commit - because they still need to be propagated to indexes in order new data can be found by queries. This behaviour is default.
Changes performed in the transaction are passed to evitaDB server, checked for conflicts and if no conflict is found, they are written to Write Ahead Log (WAL). Then the WAL is processed and all changes are propagated to indexes. After that the transaction is marked as completed and commit is finished. This behaviour is slowest but guarantees that the changes are persisted on disk and durable and that they are visible immediately after the commit is marked as completed.
Mutation is responsible for setting up a new `AssociatedDataSchema` in the `EntitySchema`. Mutation can be used for altering also the existing `AssociatedDataSchema` alone.
Used in:
Contains unique name of the model. Case-sensitive. Distinguishes one model item from another within single entity instance.
Contains description of the model is optional but helps authors of the schema / client API to better explain the original purpose of the model to the consumers.
Deprecation notice contains information about planned removal of this associated data from the model / client API. This allows to plan and evolve the schema allowing clients to adapt early to planned breaking changes.
Contains the data type of the entity. Must be one of supported types or may represent complex type - which is JSON object that can be automatically converted to the set of basic types.
Localized associated data has to be ALWAYS used in connection with specific `locale`. In other words - it cannot be stored unless associated locale is also provided.
When associated data is nullable, its values may be missing in the entities. Otherwise, the system will enforce non-null checks upon upserting of the entity.
Mutation is responsible for setting up a new `AttributeSchema` in the `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` alone.
Used in: ,
Name of the attribute the mutation is targeting.
Contains description of the model is optional but helps authors of the schema / client API to better explain the original purpose of the model to the consumers.
Deprecation notice contains information about planned removal of this attribute from the model / client API. This allows to plan and evolve the schema allowing clients to adapt early to planned breaking changes.
When attribute is unique it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute among other entities in the same collection. deprecated in favor of `uniqueInScopes`
When attribute is filterable, it is possible to filter entities by this attribute. Do not mark attribute as filterable unless you know that you'll search entities by this attribute. Each filterable attribute occupies (memory/disk) space in the form of index. deprecated in favor of `filterableInScopes`
When attribute is sortable, it is possible to sort entities by this attribute. Do not mark attribute as sortable unless you know that you'll sort entities along this attribute. Each sortable attribute occupies (memory/disk) space in the form of index. deprecated in favor of `sortableInScopes`
Localized attribute has to be ALWAYS used in connection with specific `locale`. In other words - it cannot be stored unless associated locale is also provided.
When attribute is nullable, its values may be missing in the entities. Otherwise, the system will enforce non-null checks upon upserting of the entity.
If an attribute is flagged as representative, it should be used in developer tools along with the entity's primary key to describe the entity or reference to that entity. The flag is completely optional and doesn't affect the core functionality of the database in any way. However, if it's used correctly, it can be very helpful to developers in quickly finding their way around the data. There should be very few representative attributes in the entity type, and the unique ones are usually the best to choose.
Type of the attribute. Must be one of supported data types or its array.
Determines how many fractional places are important when entities are compared during filtering or sorting. It is significant to know that all values of this attribute will be converted to `Integer`, so the attribute number must not ever exceed maximum limits of `Integer` type when scaling the number by the power of ten using `indexedDecimalPlaces` as exponent.
Default value is used when the entity is created without this attribute specified. Default values allow to pass non-null checks even if no attributes of such name are specified.
When attribute is unique it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute among other entities in the same collection.
When attribute is filterable, it is possible to filter entities by this attribute. Do not mark attribute as filterable unless you know that you'll search entities by this attribute. Each filterable attribute occupies (memory/disk) space in the form of index.
When attribute is sortable, it is possible to sort entities by this attribute. Do not mark attribute as sortable unless you know that you'll sort entities along this attribute. Each sortable attribute occupies (memory/disk) space in the form of index.
Mutation is responsible for setting up a new CatalogSchema.
Used in:
Name of newly created catalog schema.
Mutation is responsible for setting up a new `EntitySchema` - or more precisely the collection within catalog.
Used in: ,
Name of newly created entity schema.
Mutation is responsible for setting up a new `GlobalAttributeSchema` in the `CatalogSchema`. Mutation can be used for altering also the existing `GlobalAttributeSchema` alone.
Used in:
Name of the attribute the mutation is targeting.
Contains description of the model is optional but helps authors of the schema / client API to better explain the original purpose of the model to the consumers.
Deprecation notice contains information about planned removal of this attribute from the model / client API. This allows to plan and evolve the schema allowing clients to adapt early to planned breaking changes.
When attribute is unique it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute among other entities in the same collection. deprecated in favor of `uniqueInScopes`
When attribute is unique globally it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute in entire catalog. deprecated in favor of `uniqueGloballyInScopes`
When attribute is filterable, it is possible to filter entities by this attribute. Do not mark attribute as filterable unless you know that you'll search entities by this attribute. Each filterable attribute occupies (memory/disk) space in the form of index. deprecated in favor of `filterableInScopes`
When attribute is sortable, it is possible to sort entities by this attribute. Do not mark attribute as sortable unless you know that you'll sort entities along this attribute. Each sortable attribute occupies (memory/disk) space in the form of index. deprecated in favor of `sortableInScopes`
Localized attribute has to be ALWAYS used in connection with specific `locale`. In other words - it cannot be stored unless associated locale is also provided.
When attribute is nullable, its values may be missing in the entities. Otherwise, the system will enforce non-null checks upon upserting of the entity.
If an attribute is flagged as representative, it should be used in developer tools along with the entity's primary key to describe the entity or reference to that entity. The flag is completely optional and doesn't affect the core functionality of the database in any way. However, if it's used correctly, it can be very helpful to developers in quickly finding their way around the data. There should be very few representative attributes in the entity type, and the unique ones are usually the best to choose.
Type of the attribute. Must be one of supported data types or its array.
Determines how many fractional places are important when entities are compared during filtering or sorting. It is significant to know that all values of this attribute will be converted to `Integer`, so the attribute number must not ever exceed maximum limits of `Integer` type when scaling the number by the power of ten using `indexedDecimalPlaces` as exponent.
Default value is used when the entity is created without this attribute specified. Default values allow to pass non-null checks even if no attributes of such name are specified.
When attribute is unique it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute among other entities in the same collection.
When attribute is unique globally it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute in entire catalog.
When attribute is filterable, it is possible to filter entities by this attribute. Do not mark attribute as filterable unless you know that you'll search entities by this attribute. Each filterable attribute occupies (memory/disk) space in the form of index.
When attribute is sortable, it is possible to sort entities by this attribute. Do not mark attribute as sortable unless you know that you'll sort entities along this attribute. Each sortable attribute occupies (memory/disk) space in the form of index.
Mutation is responsible for setting up a new `ReferenceSchema` in the `EntitySchema`. Mutation can be used for altering also the existing `ReferenceSchema` alone.
Used in:
Name of the reference the mutation is targeting.
Contains description of the model is optional but helps authors of the schema / client API to better explain the original purpose of the model to the consumers.
Deprecation notice contains information about planned removal of this schema from the model / client API. This allows to plan and evolve the schema allowing clients to adapt early to planned breaking changes.
Cardinality describes the expected count of relations of this type. In evitaDB we define only one-way relationship from the perspective of the entity. We stick to the ERD modelling [standards](https://www.gleek.io/blog/crows-foot-notation.html) here. Cardinality affect the design of the client API (returning only single reference or collections) and also help us to protect the consistency of the data so that conforms to the creator mental model.
Reference to `EntitySchema.name` of the referenced entity. Might be also any `String` that identifies type some external resource not maintained by Evita.
Whether `referencedEntityType` refers to any existing `EntitySchema.name` that is maintained by Evita.
Reference to `EntitySchema.name` of the referenced group entity. Might be also any `String` that identifies type some external resource not maintained by Evita.
Whether `referencedGroupType` refers to any existing `EntitySchema.name` that is maintained by Evita.
Whether the index for this reference should be created and maintained allowing to filter by `referenceHaving` filtering constraints. Index is also required when reference is `faceted`. Do not mark reference as faceted unless you know that you'll need to filter/sort entities by this reference. Each indexed reference occupies (memory/disk) space in the form of index. When reference is not indexed, the entity cannot be looked up by reference attributes or relation existence itself, but the data is loaded alongside other references if requested. deprecated in favor of `indexedInScopes`
Whether the statistics data for this reference should be maintained and this allowing to get `referenceSummary` for this reference or use `facetInSet` filtering query. Do not mark reference as faceted unless you want it among `FacetStatistics`. Each faceted reference occupies (memory/disk) space in the form of index. Reference that was marked as faceted is called Facet. deprecated in favor of `facetedInScopes`
Whether the index for this reference should be created and maintained allowing to filter by `referenceHaving` filtering constraints. Index is also required when reference is `faceted`. Do not mark reference as faceted unless you know that you'll need to filter/sort entities by this reference. Each indexed reference occupies (memory/disk) space in the form of index. When reference is not indexed, the entity cannot be looked up by reference attributes or relation existence itself, but the data is loaded alongside other references if requested. deprecated in favor of `scopedIndexTypes`
Whether the statistics data for this reference should be maintained and this allowing to get `referenceSummary` for this reference or use `facetInSet` filtering query. Do not mark reference as faceted unless you want it among `FacetStatistics`. Each faceted reference occupies (memory/disk) space in the form of index. Reference that was marked as faceted is called Facet.
Scoped reference index types that define both the scope and the type of index for the reference. This replaces the deprecated `indexedInScopes` field with more granular control over indexing.
Scoped reference indexed components that specify which parts of a reference relationship (referenced entity, referenced group entity) are indexed per scope. When not specified, the default indexed components are determined automatically.
Per-scope expressions that narrow which entities participate in faceting.
Per-scope bucketed histogram configurations defining index name and value expression.
Per-scope expressions that narrow which entities participate in bucketed histogram computation.
Mutation is responsible for setting up a new `ReflectedReferenceSchema` in the `EntitySchema`. Mutation can be used for altering also the existing `ReflectedReferenceSchema` alone.
Used in:
Name of the reference the mutation is targeting.
Contains description of the model is optional but helps authors of the schema / client API to better explain the original purpose of the model to the consumers.
Deprecation notice contains information about planned removal of this schema from the model / client API. This allows to plan and evolve the schema allowing clients to adapt early to planned breaking changes.
Cardinality describes the expected count of relations of this type. In evitaDB we define only one-way relationship from the perspective of the entity. We stick to the ERD modelling [standards](https://www.gleek.io/blog/crows-foot-notation.html) here. Cardinality affect the design of the client API (returning only single reference or collections) and also help us to protect the consistency of the data so that conforms to the creator mental model.
Reference to `EntitySchema.name` of the referenced entity. Might be also any `String` that identifies type some external resource not maintained by Evita.
Name of the reflected reference of the target referencedEntityType(). The referenced entity must contain reference of such name and this reference must target the entity where the reflected reference is defined, and the target entity must be managed on both sides of the relation.
Whether the statistics data for this reference should be maintained and this allowing to get `referenceSummary` for this reference or use `facetInSet` filtering query. Do not mark reference as faceted unless you want it among `FacetStatistics`. Each faceted reference occupies (memory/disk) space in the form of index. Reference that was marked as faceted is called Facet.
Contains true if the attributes of the reflected reference are inherited from the target reference.
The array of attribute names that are inherited / excluded from inheritance based on the value of attributeInheritanceBehavior property.
when set to true, the value of `indexedInScope` field is ignored and the settings are inherited from the original reference.
Whether the index for this reference should be created and maintained allowing to filter by `referenceHaving` filtering constraints. Index is also required when reference is `faceted`. Do not mark reference as faceted unless you know that you'll need to filter/sort entities by this reference. Each indexed reference occupies (memory/disk) space in the form of index. When reference is not indexed, the entity cannot be looked up by reference attributes or relation existence itself, but the data is loaded alongside other references if requested. deprecated in favor of `scopedIndexTypes`
when set to true, the value of `facetedInScope` field is ignored and the settings are inherited from the original reference.
Whether the statistics data for this reference should be maintained and this allowing to get `referenceSummary` for this reference or use `facetInSet` filtering query. Do not mark reference as faceted unless you want it among `FacetStatistics`. Each faceted reference occupies (memory/disk) space in the form of index. Reference that was marked as faceted is called Facet.
Scoped reference index types that define both the scope and the type of index for the reference. This replaces the deprecated `indexedInScopes` field with more granular control over indexing. When `indexedInherited` is true, this field is ignored.
Scoped reference indexed components that specify which parts of a reference relationship (referenced entity, referenced group entity) are indexed per scope. When `indexedInherited` is true, this field is ignored.
Per-scope expressions that narrow which entities participate in faceting.
Per-scope bucketed histogram configurations defining index name and value expression.
Per-scope expressions that narrow which entities participate in bucketed histogram computation.
Mutation is responsible for setting up a new `SortableAttributeCompoundSchema` in the `EntitySchema`. Mutation can be used for altering also the existing `SortableAttributeCompoundSchema` alone.
Used in: ,
Name of the sortable attribute compound the mutation is targeting.
Contains description of the model is optional but helps authors of the schema / client API to better explain the original purpose of the model to the consumers.
Deprecation notice contains information about planned removal of this sortable attribute compound from the model / client API. This allows to plan and evolve the schema allowing clients to adapt early to planned breaking changes.
Defines list of individual elements forming this compound.
When attribute sortable compound is indexed, it is possible to sort entities by this calculated attribute compound. This property contains set of all scopes this attribute compound is indexed in.
Structure for representing Currency objects specified by currency code.
Used in: , , , , , , , ,
The currency code of the currency.
Wrapper for representing an array of Currencies.
Used in: ,
Value that supports storing a Currency array.
Structure that represents a data chunk of entities. Only one of the entity fields should be set in one response. That is decided by require block in a query, so as the pagination method used.
Used in:
Collection of entity references.
Collection of sealed entities.
Collection of binary entities.
Chunk of the data.
The paginated list.
The strip list.
The total number of records.
True, if this is the first page.
True, if this is the last page.
True, if there is a previous page.
True, if there is a next page.
True, if this is a single page.
True, if this is an empty page.
Structure that holds a complex object. It can be either a map or an array of values.
Used in: , ,
The stored value. May by only one of the following at the time.
Primitive value.
The array of values.
The map of values.
Structure that holds a array of values stored inside array of the complex object.
Used in:
The stored array of values.
Representation of DateTimeRange structures with optional from and to values.
Used in: , , , , ,
The lower bound of the range.
The upper bound of the range.
Wrapper for representing an array of DateTimeRanges.
Used in: ,
Value that supports storing a DateTimeRange array.
Request to deactivate a catalog.
Used as request type in: EvitaService.DeactivateCatalog, EvitaService.DeactivateCatalogWithProgress
Name of the catalog to deactivate.
Request for deleting an entity that should return the deleted entity with required richness.
Used as request type in: EvitaSessionService.DeleteEntity, EvitaSessionService.DeleteEntityAndItsHierarchy
Entity type of the entity to be deleted.
Primary key of the entity to be deleted.
The string part of the parametrised query require part.
The positional query parameters.
The named query parameters.
Mutation is responsible for removing one or more currencies from a `EntitySchema.currencies` in `EntitySchema`.
Used in:
Set of all currencies that can't be used for prices in entities of this type.
Mutation is responsible for removing one or more modes from a `CatalogSchema.evolutionMode` in `CatalogSchema`.
Used in:
Set of forbidden evolution modes. These allow to specify how strict is evitaDB when unknown information is presented to her for the first time. When no evolution mode is set, each violation of the `CatalogSchema` is reported by an error. This behaviour can be changed by this evolution mode, however.
Mutation is responsible for removing one or more modes from a `EntitySchema.evolutionMode` in `EntitySchema`.
Used in:
Set of forbidden evolution modes. These allow to specify how strict is evitaDB when unknown information is presented to her for the first time. When no evolution mode is set, each violation of the `EntitySchema` is reported by an error. This behaviour can be changed by this evolution mode, however.
Mutation is responsible for removing one or more locales from a `EntitySchema.locales` in `EntitySchema`.
Used in:
Set of all locales that can't be used for localized `AttributeSchema` or `AssociatedDataSchema`.
Mutation that duplicates a catalog with a new name, copying all contents from the source catalog.
Used in:
Name of the source catalog to duplicate.
Name of the new catalog to create with duplicated contents.
Request to duplicate a catalog.
Used as request type in: EvitaService.DuplicateCatalog, EvitaService.DuplicateCatalogWithProgress
Name of the source catalog to duplicate.
Name of the new catalog to create with duplicated contents.
The enumeration controls HierarchyOfReference behaviour whether the hierarchical nodes that are not referred by any of the queried entities should be part of the result hierarchy statistics tree.
Used in: ,
The hierarchy nodes that are not referred by any of the queried entities will be part of the result hierarchy
The hierarchy nodes that are not referred by any of the queried entities will be removed from the result hierarchy
Wrapper for representing an array of EmptyHierarchicalEntityBehaviour enums.
Used in:
Value that supports storing an EmptyHierarchicalEntityBehaviour array.
Information about a system endpoint of particular purpose derived from name
Used in:
logical name of the endpoint
absolute URL of the endpoint
This structure encapsulates all mutations that needs to be executed on entire evitaDB level and not locally to single catalog schema instance.
Used in: ,
The top level catalog schema mutation to be executed.
Mutation is responsible for setting up a new CatalogSchema.
Mutation is responsible for renaming an existing CatalogSchema.
Mutation is responsible for renaming an existing CatalogSchema.
Mutation that transitions a catalog to the "live" state, making it transactional.
Mutation is responsible for removing an existing CatalogSchema.
Mutation delimits one transaction from another.
Mutation that sets the mutability state of a catalog.
Mutation that duplicates a catalog with a new name, copying all contents from the source catalog.
Mutation that sets the active state of a catalog.
Mutation is responsible for restoring a CatalogSchema in INACTIVE state.
Mutation that records the fact a catalog's on-disk folder is no longer present.
Mutation that upgrades a catalog's on-disk storage protocol to the engine's current version.
Structure that holds changes in a specific entity collection within a transaction.
Used in:
The number of schema altering mutations.
The number of upsert entity mutations.
The number of entity removal mutations.
Aggregates basic data about the entity collection.
Used in:
name of the entity collection
total number of records in the entity collection
total number of indexes in the entity collection
total size of the entity collection on disk in bytes
Contains set of all possible expected states for the entity.
Used in:
Entity may or may not exist.
Entity must not exist.
Entity must exist.
Represents a mutation to be performed on the evitaDB that relates to an entity.
Used as request type in: EvitaSessionService.ApplyMutation
Used as field type in: , ,
The mutation to be performed.
Represents a terminal mutation that wraps a list of mutation that are to be performed on an entity.
Represents a terminal mutation when existing entity is removed in the evitaDB. The entity with all its internal data are deleted.
This type represents a reference to any Evita entity and that is returned by default for all queries that don't require loading additional data.
Used in: , , , , , , , , , , , ,
Type of entity. Entity type is main sharding key - all data of entities with same type are stored in separated collections. Within the entity type entity is uniquely represented by primary key.
Unique Integer positive number representing the entity. Can be used for fast lookup for entity (entities). Primary key must be unique within the same entity type.
value is deprecated, it was available only for entity references used in entity body, in other use-cases it was left as zero - which was a mistake in the design. in order to get the entity version you need to fetch the entity itself (with entity body).
Contains version of this reference and gets increased with any entity type update. Allows to execute optimistic locking i.e. avoiding parallel modifications.
Extended entity reference that maintains a mapping of reassigned primary keys for entity references. This type is used during entity mutations when references need to be tracked with their newly assigned internal primary keys after persistence. When references are first created, they are assigned temporary negative internal primary keys. Upon persistence to the database, these temporary keys are replaced with positive permanent internal primary keys assigned by the server. This message maintains the mapping between the original reference keys (with temporary internal PKs) and the reference keys with their newly assigned permanent internal PKs. This is particularly useful when: - Multiple references share the same business key but differ in properties - Client code needs to track which references were assigned which internal primary keys after persistence - References need to be looked up by their original temporary keys to find their permanent counterparts
Used in:
Type of entity. Entity type is main sharding key - all data of entities with same type are stored in separated collections. Within the entity type entity is uniquely represented by primary key.
Unique Integer positive number representing the entity. Can be used for fast lookup for entity (entities). Primary key must be unique within the same entity type.
Mapping from original reference keys (with temporary internal PK) to the new reference keys with permanent internal PK assigned by the server after persistence. The map key is the original reference key, and the value is the reassigned reference key.
Entity reference which contains information about parent entity.
Used in:
Type of entity. Entity type is main sharding key - all data of entities with same type are stored in separated collections. Within the entity type entity is uniquely represented by primary key.
Unique Integer positive number representing the entity. Can be used for fast lookup for entity (entities). Primary key must be unique within the same entity type.
Contains version of this entity and gets increased with any entity type update. Allows to execute optimistic locking i.e. avoiding parallel modifications. value is deprecated, it was never available in the first place - it was a mistake in the design. in order to get the entity version you need to fetch the entity itself (with entity body).
Recursive pointer to parent entity.
Represents a terminal mutation when existing entity is removed in the evitaDB. The entity is and all its internal data are deleted.
Used in:
The type of the entity to be removed.
The primary key of the entity to be removed.
This is the definition object for entity. Definition objects allow to describe the structure of the entity type so that in any time everyone can consult complete structure of the entity type. Based on our experience we've designed following data model for handling entities in evitaDB. Model is rather complex but was designed to limit amount of data fetched from database and minimize an amount of data that are indexed and subject to search. Minimal entity definition consists of: - entity type and - primary key (even this is optional and may be autogenerated by the database). Other entity data is purely optional and may not be used at all.
Used in: , ,
Contains unique name of the model. Case-sensitive. Distinguishes one model item from another within single entity instance.
Contains version of this entity schema and gets increased with any entity type update. Allows to execute optimistic locking i.e. avoiding parallel modifications.
Contains description of the model is optional but helps authors of the schema / client API to better explain the original purpose of the model to the consumers.
Deprecation notice contains information about planned removal of this entity from the model / client API. This allows to plan and evolve the schema allowing clients to adapt early to planned breaking changes. If notice is `null`, this schema is considered not deprecated.
Contains `true` when primary keys of entities of this type will not be provided by the external systems and Evita is responsible for generating unique primary keys for the entity on insertion. Generated key is guaranteed to be unique, but may not represent continuous ascending series. Generated key will be always greater than zero.
Contains `true` when entities of this type are organized in a tree like structure (hierarchy) where certain entities are subordinate of other entities. Entities may be organized in hierarchical fashion. That means that entity may refer to single parent entity and may be referred by multiple child entities. Hierarchy is always composed of entities of same type. Each entity must be part of at most single hierarchy (tree). Hierarchy can limit returned entities by using filtering constraints. It's also used for computation of extra data - such as `hierarchyParentsOfSelf`. It can also invert type of returned entities in case extra result `hierarchyOfSelf` is requested.
Contains `true` when entities of this type holds price information. Prices are specific to a very few entities, but because correct price computation is very complex in e-commerce systems and highly affects performance of the entities filtering and sorting, they deserve first class support in entity model. It is pretty common in B2B systems single product has assigned dozens of prices for the different customers. Specifying prices on entity allows usage of `priceValidIn`, `priceInCurrency` `priceBetween`, and `priceInPriceLists` filtering constraints and also `priceNatural`, ordering of the entities. Additional extra result `priceHistogram` and requirement `priceType` can be used in query as well.
Determines how many fractional places are important when entities are compared during filtering or sorting. It is important to know that all prices will be converted to `Int`, so any of the price values (either with or without tax) must not ever exceed maximum limits of `Int` type when scaling the number by the power of ten using `indexedPricePlaces` as exponent.
Contains set of all `Locale` that could be used for localized `AttributeSchema` or `AssociatedDataSchema`. Enables using `entityLocaleEquals` filtering constraint in query.
Contains set of all `Currency` that could be used for `prices` in entities of this type.
Contains index of all `AttributeSchema` that could be used as attributes of entity of this type. Entity (global) attributes allows defining set of data that are fetched in bulk along with the entity body. Attributes may be indexed for fast filtering (`AttributeSchema.filterable`) or can be used to sort along (`AttributeSchema.sortable`). Attributes are not automatically indexed in order not to waste precious memory space for data that will never be used in search queries. Filtering in attributes is executed by using constraints like `and`, `not`, `attributeEquals`, `attributeContains` and many others. Sorting can be achieved with `attributeNatural` or others. Attributes are not recommended for bigger data as they are all loaded at once requested. Large data that are occasionally used store in `associatedData`.
Contains index of all `AssociatedDataSchema` that could be used as associated data of entity of this type. Associated data carry additional data entries that are never used for filtering / sorting but may be needed to be fetched along with entity in order to present data to the target consumer (i.e. user / API / bot). Associated data may be stored in slower storage and may contain wide range of data types - from small ones (i.e. numbers, strings, dates) up to large binary arrays representing entire files (i.e. pictures, documents). The search query must contain specific associated data fields in order associated data are fetched along with the entity. Associated data are stored and fetched separately by their name.
Contains index of all `ReferenceSchema` that could be used as references of entity of this type. References refer to other entities (of same or different entity type). Allows entity filtering (but not sorting) of the entities by using `facetInSet` constraint and statistics computation when `facetStatistics` extra result is requested. Reference is uniquely represented by int positive number (max. (2^63)-1) and entity type and can be part of multiple reference groups, that are also represented by int and entity type. Reference id in one entity is unique and belongs to single reference group id. Among multiple entities reference may be part of different reference groups. Referenced entity type may represent type of another Evita entity or may refer to anything unknown to Evita that posses unique int key and is maintained by external systems (fe. tag assignment, group assignment, category assignment, stock assignment and so on). Not all these data needs to be present in Evita. References may carry additional key-value data linked to this entity relation (fe. item count present on certain stock). The search query must contain specific `referenceContent` requirement in order references are fetched along with the entity.
Evolution mode allows to specify how strict is evitaDB when unknown information is presented to her for the first time. When no evolution mode is set, each violation of the `EntitySchema` is reported by an exception. This behaviour can be changed by this evolution mode however.
Contains index of definitions of all sortable attribute compounds defined in this schema.
Contains entity type converted to different naming conventions.
Contains set of all scopes the entity is indexed in and can be used for filtering entities and computation of extra data. If the hierarchy information is not indexed, it is still available on the entity itself (i.e. entity can define its parent entity), but it is not possible to work with the hierarchy information in any other way (calculating parent chain, children, siblings, etc.).
Contains set of all scopes the price information is indexed in and can be used for filtering entities and computation of extra data. If the price information is not indexed, it is still available on the entity itself (i.e. entity can define its price), but it is not possible to work with the price information in any other way (calculating price histogram, filtering, sorting by price, etc.). Prices can be also set as non-indexed individually by setting {@link PriceContract#indexed()} to false.
Contains current version of the catalog schema this entity schema belongs to.
Contains all possible entity schema mutations.
Used in: , ,
The mutation to be executed.
Mutation is responsible for setting up a new `AssociatedDataSchema` in the `EntitySchema`. Mutation can be used for altering also the existing `AssociatedDataSchema` alone.
Mutation is responsible for setting value to a `AssociatedDataSchemaContract.deprecationNotice` in `EntitySchema`. Mutation can be used for altering also the existing `AssociatedDataSchema` alone.
Mutation is responsible for setting value to a `AssociatedDataSchema.description` in `EntitySchema`. Mutation can be used for altering also the existing `AssociatedDataSchema` alone.
Mutation is responsible for renaming an existing `AssociatedDataSchema` in `EntitySchema`. Mutation can be used for altering also the existing `AssociatedDataSchema` alone.
Mutation is responsible for setting value to a `AssociatedDataSchema.type` in `EntitySchema`. Mutation can be used for altering also the existing `AssociatedDataSchema` alone.
Mutation is responsible for removing an existing `AssociatedDataSchema` in the `EntitySchema`. Mutation can be used for altering also the existing `AssociatedDataSchema` alone.
Mutation is responsible for setting value to a `AssociatedDataSchema.localized` in `EntitySchema`. Mutation can be used for altering also the existing `AssociatedDataSchema` alone.
Mutation is responsible for setting value to a `AssociatedDataSchema.nullable` in `EntitySchema`. Mutation can be used for altering also the existing `AssociatedDataSchema` alone.
Mutation is responsible for setting up a new `AttributeSchema` in the `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.defaultValue` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.deprecationNotice` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.description` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for renaming an existing `AttributeSchema` in `EntitySchema` or `GlobalAttributeSchema` in `CatalogSchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.type` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for removing an existing `AttributeSchema` in the `EntitySchema` or `GlobalAttributeSchema` in the `CatalogSchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.filterable` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.localized` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.nullable` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.representative` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.sortable` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.unique` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for introducing a `GlobalAttributeSchema` into an `EvitaSession`.
Mutation is responsible for adding one or more currencies to a `EntitySchema.currencies` in `EntitySchema`.
Mutation is responsible for adding one or more modes to a `EntitySchema.evolutionMode` in `EntitySchema`.
Mutation is responsible for adding one or more locales to a `EntitySchema.locales` in `EntitySchema`.
Mutation is responsible for removing one or more currencies from a `EntitySchema.currencies` in `EntitySchema`.
Mutation is responsible for removing one or more modes from a `EntitySchema.evolutionMode` in `EntitySchema`.
Mutation is responsible for removing one or more locales to a `EntitySchema.locales` in `EntitySchema`.
Mutation is responsible for setting a `EntitySchema.deprecationNotice` in `EntitySchema`.
Mutation is responsible for setting a `EntitySchema.description` in `EntitySchema`.
Mutation is responsible for setting a `EntitySchema.withGeneratedPrimaryKey` in `EntitySchema`.
Mutation is responsible for setting a `EntitySchema.withHierarchy` in `EntitySchema`.
Mutation is responsible for setting a `EntitySchema.withPrice` in `EntitySchema`.
Mutation is responsible for renaming or replacing a `EntitySchema`.
Mutation is responsible for removing a `EntitySchema` - i.e. entity collection.
Mutation is responsible for setting up a new `EntitySchema` in the `CatalogSchema`.
Mutation is responsible for modifying existing `EntitySchema` in the `CatalogSchema`.
Mutation is responsible for setting up a new `ReferenceSchema` in the `EntitySchema`. Mutation can be used for altering also the existing `ReferenceSchema` alone.
Mutation is a holder for a single `AttributeSchema` that affect any of `ReferenceSchema.attributes` in the `EntitySchema`.
Mutation is responsible for setting value to a `ReferenceSchema.cardinality` in `EntitySchema`.
Mutation is responsible for setting value to a `ReferenceSchema.deprecationNotice` in `EntitySchema`.
Mutation is responsible for setting value to a `ReferenceSchema.description` in `EntitySchema`. Mutation can be used for altering also the existing `ReferenceSchema` alone.
Mutation is responsible for renaming an existing `ReferenceSchema` in `EntitySchema`. Mutation can be used for altering also the existing `ReferenceSchema` alone.
Mutation is responsible for setting value to a `ReferenceSchema.referencedGroupType` in `EntitySchema`.
Mutation is responsible for setting value to a `ReferenceSchema.referencedEntityType` in `EntitySchema`. Mutation can be used for altering also the existing `ReferenceSchema` alone.
Mutation is responsible for removing an existing `ReferenceSchema` in the `EntitySchema`. Mutation can be used for altering also the existing `ReferenceSchema` alone.
Mutation is responsible for setting value to a `ReferenceSchema.faceted` in `EntitySchema`. Mutation can be used for altering also the existing `ReferenceSchema` alone.
Mutation is responsible for setting value to a `ReferenceSchema.indexed` in `EntitySchema`. Mutation can be used for altering also the existing `ReferenceSchema` alone.
Mutation is responsible for setting up a new `ReflectedReferenceSchema` in the `EntitySchema`. Mutation can be used for altering also the existing `ReflectedReferenceSchema` alone.
Mutation is responsible for setting value to a `ReflectedReferenceSchema.attributesInherited` and `ReflectedReferenceSchema.attributesExcludedFromInheritance` in `ReferenceSchema`. Mutation can be used for altering also the existing `ReferenceSchemaContract` alone.
Mutation is a holder for a single `SortableAttributeCompoundSchema` that affect any of `ReferenceSchema.sortableAttributeCompound` in the `EntitySchema`.
Mutation is responsible for setting bucketed histogram configuration on a `ReferenceSchema` in `EntitySchema`. Mutation can be used for altering also the existing `ReferenceSchema` alone.
Mutation is responsible for setting up a new `SortableAttributeCompoundSchema` in the `EntitySchema`. Mutation can be used for altering also the existing `SortableAttributeCompoundSchema` alone.
Mutation is responsible for setting value to a `SortableAttributeCompoundSchema.deprecationNotice` in `EntitySchema` or `ReferenceSchema`.
Mutation is responsible for setting value to a `SortableAttributeCompoundSchema.description` in `EntitySchema` or `ReferenceSchema`.
Mutation is responsible for renaming an existing `SortableAttributeCompoundSchema` in `EntitySchema` or `ReferenceSchema`.
Mutation is responsible for removing an existing `SortableAttributeCompound` in the `EntitySchema` or `ReferenceSchema`.
Mutation is responsible for setting set of scopes for indexing value in a `SortableAttributeCompoundSchema` in `EntitySchema`.
Enum defines the possible scopes where the entities can reside.
Used in: , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
Entities that are currently active and reside in the live data set block.
Entities that are no longer active and reside in the archive block.
Wrapper for representing an array of Scope enums.
Used in:
Value that supports storing a Scope array.
Represents a terminal mutation that wraps a list of mutation that are to be performed on an entity.
Used in:
The type of the entity to be mutated.
The primary key of the entity to be mutated.
Controls behaviour of the upsert operation. - MUST_NOT_EXIST: use when you know you'll be inserting a new value - MUST_EXIST: use when you know you'll be updating an existing value - MAY_EXIST: use when you're not sure
List of all local mutations that modify internal data of the entity.
This enum contains all supported data types of AssociatedData.
(message has no fields)
Used in: , , ,
Represents string data type.
Represents byte data type.
Represents short data type.
Represents integer data type.
Represents long data type.
Represents boolean data type.
Represents character data type.
Represents BigDecimal data type.
Represents OffsetDateTime data type.
Represents LocalDateTime data type.
Represents LocalDate data type.
Represents LocalTime data type.
Represents DateTimeRange data type.
Represents BigDecimalNumberRange data type.
Represents LongNumberRange data type.
Represents IntegerNumberRange data type.
Represents ShortNumberRange data type.
Represents ByteNumberRange data type.
Represents Locale data type.
Represents Currency data type.
Represents UUID data type.
Represents ComplexDataObject data type.
Represents string array data type.
Represents byte array data type.
Represents short array data type.
Represents integer array data type.
Represents long array data type.
Represents boolean array data type.
Represents character array data type.
Represents BigDecimal array data type.
Represents OffsetDateTime array data type.
Represents LocalDateTime array data type.
Represents LocalDate array data type.
Represents LocalTime array data type.
Represents DateTimeRange array data type.
Represents BigDecimalNumberRange array data type.
Represents LongNumberRange array data type.
Represents IntegerNumberRange array data type.
Represents ShortNumberRange array data type.
Represents ByteNumberRange array data type.
Represents Locale array data type.
Represents Currency array data type.
Represents UUID array data type.
Structure that holds AssociatedData value. Might be one of the supported data types or a JSON string that will be internally converted into ComplexDataObject.
Used in: , ,
The stored value. May by only one of the following at the time.
Primitive value.
JSON string value, this old approach led to data type loss and is deprecated.
The array of values.
The type of the stored value.
Contains version of this value and gets increased with any entity type update. Allows to execute optimistic locking i.e. avoiding parallel modifications.
This enum contains all supported types in evitaDB query context.
Used in: , , , , ,
Represents string data type.
Represents byte data type.
Represents short data type.
Represents integer data type.
Represents long data type.
Represents boolean data type.
Represents character data type.
Represents BigDecimal data type.
Represents OffsetDateTime data type.
Represents LocalDateTime data type.
Represents LocalDate data type.
Represents LocalTime data type.
Represents DateTimeRange data type.
Represents BigDecimalNumberRange data type.
Represents LongNumberRange data type.
Represents IntegerNumberRange data type.
Represents ShortNumberRange data type.
Represents ByteNumberRange data type.
Represents Locale data type.
Represents Currency data type.
Represents UUID data type.
Represents Predecessor data type.
Represents ReferencedEntityPredecessor data type.
Represents string array data type.
Represents byte array data type.
Represents short array data type.
Represents integer array data type.
Represents long array data type.
Represents boolean array data type.
Represents character array data type.
Represents BigDecimal array data type.
Represents OffsetDateTime array data type.
Represents LocalDateTime array data type.
Represents LocalDate array data type.
Represents LocalTime array data type.
Represents DateTimeRange array data type.
Represents BigDecimalNumberRange array data type.
Represents LongNumberRange array data type.
Represents IntegerNumberRange array data type.
Represents ShortNumberRange array data type.
Represents ByteNumberRange array data type.
Represents Locale array data type.
Represents Currency array data type.
Represents UUID array data type.
Request to create a session inside of a catalog.
Used as request type in: EvitaService.CreateBinaryReadOnlySession, EvitaService.CreateBinaryReadWriteSession, EvitaService.CreateReadOnlySession, EvitaService.CreateReadWriteSession
The name of the catalog for which the session is to be created.
Commit behaviour
For testing purposes. Flag indicating that all changes by the session should be rollbacked after the session is closed.
Response to a session creation request.
Used as response type in: EvitaService.CreateBinaryReadOnlySession, EvitaService.CreateBinaryReadWriteSession, EvitaService.CreateReadOnlySession, EvitaService.CreateReadWriteSession
UUID of the created session.
Type of the created session.
Commit behaviour
State of the catalog after the session was created.
UUID of the catalog the session is bound to.
Structure that holds one of the supported data type values, its type and version of stored value.
Used in: , , , , , , , , , , ,
The stored value. May by only one of the following at the time.
String value.
Integer value.
Long value.
Boolean value.
BigDecimal value.
DateTimeRange value.
IntegerNumberRange value.
LongNumberRange value.
BigDecimalNumberRange value.
OffsetDateTime value.
Locale value.
Currency value.
UUID value.
Predecessor value.
Array of string values.
Array of integer values.
Array of long values.
Array of boolean values.
Array of BigDecimal values.
Array of DateTimeRange values.
Array of IntegerNumberRange values.
Array of LongNumberRange values.
Array of BigDecimalNumberRange values.
Array of OffsetDateTime values.
Array of Locale values.
Array of Currency values.
Array of UUID values.
The type of the stored value.
Contains version of this value and gets increased with any entity type update. Allows to execute optimistic locking i.e. avoiding parallel modifications. May be null if value is used within larger complex object.
Evolution mode allows to specify how strict is evitaDB when unknown information is presented to her for the first time. When no evolution mode is set, each violation of the EntitySchema is reported by an exception. However, this behaviour can be changed by this evolution mode.
Used in: , ,
When first entity is inserted in the collection - primary key generation will automatically adapt whether this first entity has the primary key already present or not. If it is present all other entities are expected to have also primary key provided from external systems, if not primary keys will be always automatically generated by Evita and may never be provided from outside.
When new attribute is encountered, it is silently added to a collection schema as non-filterable, non-sortable, non-unique attribute of the type that was used for the first value. Localizability of the attribute is determined by the fact whether the first value encountered was associated with any localization.
When new associated data is encountered, it is silently added to a collection schema. Localizability of the associated data is determined by the fact whether the first value encountered was associated with any localization.
When new reference type is encountered, it is silently added. It's linked to other evitaDB entity when the entity type of a reference or its group respectively matches by a type of a different entity reference any existing entity collection. Reference is not indexed, nor hierarchy indexed by default and this must be changed by updating the schema.
When entity has no prices and new price is encountered, it is silently added. That means that entity type starts supporting prices when first price has been added.
When new localization is encountered, it is silently added.
When new currency is encountered in prices, it is silently added.
When hierarchy placement for the entity is encountered, it is silently added.
When a new duplicate reference is added to the entity, evitaDB automatically updates the schema to allow such duplicities. By default, references are set up with cardinality ZERO_OR_MORE
This DTO contains extra results that are computed based on the query results.
Used in:
Returns computed histograms for specific attributes based on filter constraints. A histogram is an approximate representation of the distribution of numerical data. For detailed description please see [WikiPedia](https://en.wikipedia.org/wiki/Histogram). Histogram can be computed only for numeric based properties. It visualises which property values are more common in the returned data set and which are rare. Bucket count will never exceed requested bucket count specified in `requestedCount` but there may be less of them if there is no enough data for computation. Bucket thresholds are specified heuristically so that there are as few "empty buckets" as possible. - buckets are defined by their lower bounds (inclusive) - the upper bound is the lower bound of the next bucket
Returns computed histogram for prices satisfactory to filter constraints. A histogram is an approximate representation of the distribution of numerical data. For detailed description please see [WikiPedia](https://en.wikipedia.org/wiki/Histogram). Histogram can be computed only for numeric based properties. It visualises which property values are more common in the returned data set and which are rare. Bucket count will never exceed requested bucket count specified in `requestedCount` but there may be less of them if there is no enough data for computation. Bucket thresholds are specified heuristically so that there are as few "empty buckets" as possible. - buckets are defined by their lower bounds (inclusive) - the upper bound is the lower bound of the next bucket
Contains a collection of FacetGroupStatistics DTOs where each of them contains information about single facet group (if they belong in one) and statistics of the facets that relates to it. deprecated renamed to `referenceGroupStatistics`
Contains list of statistics for the single level (probably root or whatever is filtered by the query) of the queried hierarchy entity.
Index holds the statistics for particular references that target hierarchy entity types. Key is the identification of the reference name, value contains list of statistics for the single level (probably root or whatever is filtered by the query) of the hierarchy entity.
This DTO contains detailed information about query processing time and its decomposition to single operations.
Contains a collection of ReferenceGroupStatistics DTOs where each of them contains information about single reference group (if they belong in one) and statistics of the references that relates to it.
Enum defines various level of relationship for which the facet summary calculation rules are defined.
Used in:
Defines relation type between two facets in the same group and reference.
Defines relation type between two facets in the different groups or references.
This DTO contains information about single facet group and statistics of the facets that relates to it. TOBEDONE: remove when FacetSummary constraint is removed
Used in:
Contains name of the facet group.
Contains referenced entity reference representing this group.
Contains referenced entity representing this group.
Contains number of distinct entities in the response that possess any reference in this group.
Contains statistics of individual facets.
Enum defines all supported relation type that can be used in the facet summary impact calculation.
Used in:
Logical OR relation.
Logical AND relation.
Logical AND NOT relation.
Exclusive relations to other facets on the same level, when selected no other facet on that level can be selected.
This DTO contains information about single facet statistics of the entities that are present in the response.
Used in: ,
Contains referenced entity reference representing.
Contains referenced entity representing.
Contains TRUE if the facet was part of the query filtering constraints.
Contains number of distinct entities in the response that possess of this reference.
This field is not null only when this facet is not requested. Contains projected impact on the current response if this facet is also requested in filtering constraints.
Projected number of filtered entities if the query is altered by adding this facet to filtering constraint.
Selection has sense - TRUE if there is at least one entity still present in the result if the query is altered by adding this facet to filtering query. In case of OR relation between facets it's also true only if there is at least one entity present in the result when all other facets in the same group are removed and only this facet is requested.
This enum controls whether ReferenceSummary should contain only basic statistics about facets - e.g. count only, or whether the selection impact should be computed as well. Backward compatibility: `COUNTS` is kept at tag 0 (the proto3 default) and `IMPACT` at tag 1 so existing clients continue to deserialize unchanged. The newer `NONE` option is assigned a fresh tag; older clients that never request it are unaffected, and since this enum is used only as a request parameter (never as a server-emitted response), servers never push `NONE` to an unaware client.
Used in: ,
Only counts of facets will be computed.
Counts and selection impact for non-selected facets will be computed.
No per-facet statistics are computed. The engine returns facet options without counts or impact — the cheapest option, appropriate when the UI only needs to enumerate available facets without any numeric indicator. Proto3 enum values share a file-level namespace, so this value is prefixed (plain `NONE` is used by `GrpcPriceInnerRecordHandling` elsewhere in this file).
Wrapper for representing an array of FacetStatisticsDepth enums.
Used in:
Value that supports storing a FacetStatisticsDepth array.
identification of the file available for fetching
Used in: , ,
Identification of the file
File name
Detailed description of the file
Content type of the file
Size of the file in bytes
Date and time when the file was created
Origin of the file (usually the taskType)
Response to a catalog full backup request.
Used as response type in: EvitaSessionService.FullBackupCatalog, EvitaSessionService.FullBackupCatalogWithProgress
the task that is used to backup the catalog and getting its progress
This is the definition object for attributes that are stored along with catalog. Definition objects allow to describe the structure of the catalog so that in any time everyone can consult complete structure of the catalog. Definition object is similar to Java reflection process where you can also at any moment see which fields and methods are available for the class. Catalog attributes allows defining set of data that are fetched in bulk along with the catalog body. Attributes may be indexed for fast filtering or can be used to sort along. Attributes are not automatically indexed in order not to waste precious memory space for data that will never be used in search queries. Filtering in attributes is executed by using constraints like `and`, `or`, `not`. Sorting can be achieved with `attributeNatural` or others. Attributes are not recommended for bigger data as they are all loaded at once when requested.
Used in:
optional description of the attribute
optional deprecation notice
When attribute is unique it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute among other entities in the same collection. As an example of unique attribute can be EAN - there is no sense in having two entities with same EAN, and it's better to have this ensured by the database engine. deprecated in favor of `uniqueInScopes`
When attribute is filterable, it is possible to filter entities by this attribute. Do not mark attribute as filterable unless you know that you'll search entities by this attribute. Each filterable attribute occupies (memory/disk) space in the form of index. When attribute is filterable, extra result `attributeHistogram` can be requested for this attribute. deprecated in favor of `filterableInScopes`
When attribute is sortable, it is possible to sort entities by this attribute. Do not mark attribute as sortable unless you know that you'll sort entities along this attribute. Each sortable attribute occupies (memory/disk) space in the form of index.. deprecated in favor of `sortableInScopes`
When attribute is localized, it has to be ALWAYS used in connection with specific `Locale`.
When attribute is nullable, its values may be missing in the entities. Otherwise, the system will enforce non-null checks upon upserting of the entity.
If an attribute is flagged as representative, it should be used in developer tools along with the entity's primary key to describe the entity or reference to that entity. The flag is completely optional and doesn't affect the core functionality of the database in any way. However, if it's used correctly, it can be very helpful to developers in quickly finding their way around the data. There should be very few representative attributes in the entity type, and the unique ones are usually the best to choose.
Data type of the attribute. Must be one of Evita-supported values. Internally the scalar is converted into Java-corresponding data type.
Default value is used when the entity is created without this attribute specified. Default values allow to pass non-null checks even if no attributes of such name are specified.
Determines how many fractional places are important when entities are compared during filtering or sorting. It is significant to know that all values of this attribute will be converted to {@link java.lang.Integer}, so the attribute number must not ever exceed maximum limits of {@link java.lang.Integer} type when scaling the number by the power of ten using `indexedDecimalPlaces` as exponent.
When attribute is unique globally it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute in entire catalog. As an example of unique attribute can be URL - there is no sense in having two entities with same URL, and it's better to have this ensured by the database engine. deprecated in favor of `uniqueGloballyInScopes`
Contains attribute name converted to different naming conventions.
When attribute is unique it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute among other entities in the same collection. As an example of unique attribute can be EAN - there is no sense in having two entities with same EAN, and it's better to have this ensured by the database engine.
When attribute is filterable, it is possible to filter entities by this attribute. Do not mark attribute as filterable unless you know that you'll search entities by this attribute. Each filterable attribute occupies (memory/disk) space in the form of index. When attribute is filterable, extra result `attributeHistogram` can be requested for this attribute.
When attribute is sortable, it is possible to sort entities by this attribute. Do not mark attribute as sortable unless you know that you'll sort entities along this attribute. Each sortable attribute occupies (memory/disk) space in the form of index..
When attribute is unique globally it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute in entire catalog. As an example of unique attribute can be URL - there is no sense in having two entities with same URL, and it's better to have this ensured by the database engine.
This enum represents the uniqueness type of an {@link GlobalAttributeSchema}. It is used to determine whether the attribute value must be unique among all the entities using this {@link GlobalAttributeSchema} or whether it must be unique only among entities of the same locale.
Used in: , , , ,
The attribute is not unique (default).
The attribute value (either localized or non-localized) must be unique among all values among all the entities using this {@link GlobalAttributeSchema} in the entire catalog.
The localized attribute value must be unique among all values of the same {@link Locale} among all the entities using this {@link GlobalAttributeSchema} in the entire catalog.
This enum represents the possible health problems that can be signaled by the server.
Used in:
* Signalized when the consumed memory never goes below 85% of the maximum heap size and the GC tries to free old generation at least once (this situation usually leads to repeated attempts of expensive old generation GC and pressure on system CPUs).
* Signalized when the readiness probe signals that at least one external API, that is configured to be enabled doesn't respond to internal HTTP check call.
* Signalized when the input queues are full and the server is not able to process incoming requests. The problem is reported when there is ration of rejected tasks to accepted tasks >= 2. This flag is cleared when the rejection ratio decreases below the specified threshold, which signalizes that server is able to process incoming requests again.
* Signaled when there are occurrences of Java internal errors. These errors are usually caused by the server itself and are not related to the client's requests. Java errors signal fatal problems inside the JVM.
Heartbeat message sent to the subscriber to keep the connection alive.
Used in: ,
the index of the heartbeat event
the timestamp of the heartbeat event on the server
the last observed version by the subscriber in case of system subscription it is engine version in case of catalog subscription it is catalog version
milliseconds to the next heartbeat (derived from the server configuration)
Contains list of statistics for the single level (probably root or whatever is filtered by the query) of the queried hierarchy entity.
Used in:
Map holds the statistics represented by user-specified output name of requested hierarchy.
Histogram can be computed only for numeric based properties. It visualises which property values are more common in the returned data set and which are rare. Bucket count will never exceed requested bucket count but there may be less of them if there is no enough data for computation. Bucket thresholds are specified heuristically so tha there are as few "empty buckets" as possible. - buckets are defined by their lower bounds (inclusive) - the upper bound is the lower bound of the next bucket
Used in: ,
Returns left bound of the first bucket. It represents the smallest value encountered in the returned set.
Returns right bound of the last bucket of the histogram. Each bucket contains only left bound threshold, so this value is necessary so that first histogram buckets makes any sense. This value is exceptional in the sense that it represents the biggest value encountered in the returned set and represents inclusive right bound for the last bucket.
Returns count of all entities that are covered by this histogram. It's plain sum of occurrences of all buckets in the histogram.
Returns histogram buckets that represents a tuple of occurrence count and the minimal threshold of the bucket values.
Referenced entity whose value anchors the minimum bucket of the histogram. Populated only for reference-scope histograms when an entity fetch is requested for the associated reference.
Referenced entity whose value anchors the maximum bucket of the histogram. Populated only for reference-scope histograms when an entity fetch is requested for the associated reference.
Data object that carries out threshold in histogram (or bucket if you will) along with number of occurrences in it.
Used in:
Contains threshold (left bound - inclusive) of the bucket.
Contains number of entity occurrences in this bucket - e.g. number of entities that has monitored property value between previous bucket threshold (exclusive) and this bucket threshold (inclusive)
Contains true if the `bucket` is overlapping the attribute between filtering constraint
Relative frequency value used for visualization purposes. For standard histograms: percentage of total occurrences (0-100). For equalized histograms: normalized value density (0-100) accounting for both occurrences and bucket width, scaled so all buckets sum to 100. Higher values indicate denser data concentration in this bucket.
The enum specifies whether the HistogramBehavior should produce histogram with exactly requested bucket counts or optimized one, which may have less buckets than requested, but is more compact
Used in: ,
Histogram always contains the number of buckets you asked for. This is the default behaviour. Bucket boundaries are positioned at equal intervals across the value range.
Histogram will never contain more buckets than you asked for, but may contain less when the data is scarce and there would be big gaps (empty buckets) between buckets. This leads to more compact histograms, which provide better user experience. Bucket boundaries are positioned at equal intervals across the value range.
Histogram always contains the number of buckets you asked for. Bucket boundaries are positioned based on cumulative frequency distribution, so each bucket covers approximately equal portion of total records.
Histogram will never contain more buckets than you asked for, but may contain less when the data is scarce. Bucket boundaries are positioned based on cumulative frequency distribution, so each bucket covers approximately equal portion of total records.
Wrapper for representing an array of HistogramBehavior enums.
Used in:
Value that supports storing a HistogramBehavior array.
Host CDC event. Carried as the body of GrpcChangeSystemCapture when the subscriber explicitly opted in to HOST.
Used in:
Fires when a catalog's local reference settles into a non-transient state on this host.
Fires when a catalog is fully removed from the live view on this host.
Fires when a catalog's schema version increases on this host (coalesced).
Contains all possible infrastructure mutations in catalog.
Used in:
The mutation to be performed.
This transaction mutation delimits mutations of one transaction from another. It contains data that allow to recognize the scope of the transaction and verify its integrity.
This mutation allows to create a reference in the entity.
Used in:
Unique identifier of the reference.
Primary key of the referenced entity. Might be also any integer that uniquely identifies some external resource not maintained by Evita.
Contains information about reference cardinality. This value is usually NULL except the case when the reference is created for the first time and `EvolutionMode.ADDING_REFERENCES` is allowed.
Contains information about target entity type. This value is usually NULL except the case when the reference is created for the first time and `EvolutionMode.ADDING_REFERENCES` is allowed.
internal PK is assigned by evitaDB engine and is used to uniquely identify the reference among other references. It is used when multiple references share same business key - entityType and primaryKey - but differ by other properties (fe. reference group or attributes). When a reference is created for the first time, internal id is set to a unique negative number that is not used by the server side, which assigns positive unique numbers to the references on first reference persistence. This allows distinguishing references that are not yet persisted from those that are already persistent. When standalone key is used: - negative number: means that the reference is new and hasn't been yet persisted - zero: means we don't know the internal PK - positive number: means that the reference is persistent and has been already stored in the database
Wrapper for representing an array of integers.
Used in: ,
Value that supports storing an integer array.
Representation of IntegerNumberRange structures with optional from and to values.
Used in: , , ,
The lower bound of the range.
The upper bound of the range.
Wrapper for representing an array of IntegerNumberRanges.
Used in: ,
Value that supports storing an IntegerNumberRange array.
This DTO represents single hierarchical entity in the statistics tree. It contains identification of the entity, the cardinality of queried entities that refer to it and information about children level.
Used in:
Hierarchical entity reference at position in tree represented by this object.
Hierarchical entity at position in tree represented by this object.
Contains the number of queried entities that refer directly to this `entity` or to any of its children entities.
Contains number of hierarchical entities that are referring to this `entity` as its parent. The count will respect behaviour settings and will not count empty children in case `REMOVE_EMPTY` is used for computation.
Contains hierarchy info of the entities that are subordinate (children) of this `entity`.
Contains true if the `entity` was filtered by hierarchy within constraint
This DTO represents a wrapper for array of statistics for the single hierarchy level of inner entities.
Used in:
Array of statistics for the single hierarchy level of inner entities.
Contains all possible catalog schema mutations.
Used in: ,
The used local catalog mutation.
Mutation is responsible for setting value to a `CatalogSchema.description` in `CatalogSchema`.
Mutation is responsible for adding one or more modes to a `CatalogSchema.catalogEvolutionMode` in `CatalogSchema`.
Mutation is responsible for removing one or more modes from a `CatalogSchema.evolutionMode` in `CatalogSchema`.
Mutation is responsible for setting up a new `GlobalAttributeSchema` in the `CatalogSchema`. Mutation can be used for altering also the existing `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.defaultValue` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.defaultValue` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.description` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for renaming an existing `AttributeSchema` in `EntitySchema` or `GlobalAttributeSchema` in `CatalogSchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.type` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for removing an existing `AttributeSchema` in the `EntitySchema` or `GlobalAttributeSchema` in the `CatalogSchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.filterable` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.localized`in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or`GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.nullable` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.representative` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.sortable` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `AttributeSchema.unique` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Mutation is responsible for setting value to a `GlobalAttributeSchema.uniqueGlobally` in `EntitySchema`. Mutation can be used for altering also the existing `GlobalAttributeSchema` alone.
Mutation is responsible for setting up a new `EntitySchema` - or more precisely the collection within catalog.
Mutation is a holder for a set of `EntitySchemaMutation` that affect a single entity schema within the `CatalogSchema`.
Mutation is responsible for renaming an existing `EntitySchema`.
Mutation is responsible for removing an existing `EntitySchema` - or more precisely the entity collection instance itself.
Contains all possible local mutations to perform on entity.
Used in: ,
The mutation to be performed.
Increments or decrements existing numeric value by specified delta (negative number produces decremental of existing number, positive one incrementation). Allows to specify the number range that is tolerated for the value after delta application has been finished to verify for example that number of items on stock doesn't go below zero.
Upsert attribute mutation will either update existing attribute or create new one.
Remove attribute mutation will drop existing attribute - ie.generates new version of the attribute with tombstone on it.
Upsert associatedData mutation will either update existing associatedData or create new one.
Remove associated data mutation will drop existing associatedData - ie.generates new version of the associated data with tombstone on it.
This mutation allows to create / update `price` of the entity.
This mutation allows to remove existing `price` of the entity.
This mutation allows to set / remove `priceInnerRecordHandling` behaviour of the entity.
This mutation allows to set `parent` in the `entity`.
This mutation allows to remove `parent` from the `entity`.
This mutation allows to create a reference in the entity.
This mutation allows to remove a reference from the entity.
This mutation allows to create / update group of the reference.
This mutation allows to remove group in the reference.
This mutation allows to create / update / remove attribute of the reference.
This mutation allows to set scope of the entity to ARCHIVED or LIVE state.
Structure for representing Locale objects specified by language tag.
Used in: , , , , , , , , , , ,
The language tag of the locale.
Wrapper for representing an array of Locales.
Used in: ,
Value that supports storing a Locale array.
This structure is used as a wrapper around the associated data map for the purpose of separation the global associated data from the localized.
Used in:
The map, where the key is the name of the associated data and the value is the associated data value. The localization is held on the entity level - specific language tag is used as a key of the outer map on the SealedEntity level.
This structure is used as a wrapper around the attribute map for the purpose of separation the global attributes from the localized ones.
Used in: ,
The map, where the key is the name of the attribute and the value is its value. The localization is held on the entity or the reference level respectively - specific language tag is used as a key of the outer map on the SealedEntity level.
This structure is used as a wrapper around the attribute map for the purpose of separation the global attributes from the localized ones.
The map, where the key is the name of the attribute and the value is the its value.
Wrapper for representing an array of longs.
Used in: ,
Value that supports storing a long array.
Representation of LongNumberRange structures with optional from and to values.
Used in: , , ,
The lower bound of the range.
The upper bound of the range.
Wrapper for representing an array of LongNumberRanges.
Used in: ,
Value that supports storing a LongNumberRange array.
Mutation that transitions a catalog to the "live" state, making it transactional.
Used in:
Name of the catalog schema the mutation is targeting (will rename).
Request to make a catalog alive.
Used as request type in: EvitaService.MakeCatalogAlive, EvitaService.MakeCatalogAliveWithProgress
Name of the catalog to make alive.
Request to make a catalog immutable.
Used as request type in: EvitaService.MakeCatalogImmutable, EvitaService.MakeCatalogImmutableWithProgress
Name of the catalog to make immutable.
Request to make a catalog mutable.
Used as request type in: EvitaService.MakeCatalogMutable, EvitaService.MakeCatalogMutableWithProgress
Name of the catalog to make mutable.
This enumeration controls behavior of the {@link ReferenceContent} related to managed entities. If the target entity is not (yet) present in the database and {@link ManagedReferencesBehaviour#EXISTING} is set, the reference will not be returned as if it does not exist. If {@link ManagedReferencesBehaviour#ANY} is set (default behavior), the reference will be returned if defined regardless of its target entity existence.
Used in:
The reference to managed entity will always be returned regardless of the target entity existence.
The reference to managed entity will be returned only if the target entity exists in the database.
Mutation that records the fact a catalog's on-disk folder is no longer present, so the engine can move it to `MISSING` state in lock-step with the WAL rather than silently rewriting the bootstrap file on startup reconciliation.
Used in:
Name of the catalog whose on-disk folder is no longer present.
Mutation is responsible for setting value to a `AssociatedDataSchemaContract.deprecationNotice` in `EntitySchema`. Mutation can be used for altering also the existing `AssociatedDataSchema` alone.
Used in:
Contains unique name of the model. Case-sensitive. Distinguishes one model item from another within single entity instance.
Deprecation notice contains information about planned removal of this associated data from the model / client API. This allows to plan and evolve the schema allowing clients to adapt early to planned breaking changes.
Mutation is responsible for setting value to a `AssociatedDataSchema.description` in `EntitySchema`. Mutation can be used for altering also the existing `AssociatedDataSchema` alone.
Used in:
Contains unique name of the model. Case-sensitive. Distinguishes one model item from another within single entity instance.
Contains description of the model is optional but helps authors of the schema / client API to better explain the original purpose of the model to the consumers.
Mutation is responsible for renaming an existing `AssociatedDataSchema` in `EntitySchema`. Mutation can be used for altering also the existing `AssociatedDataSchema` alone.
Used in:
Contains unique name of the model. Case-sensitive. Distinguishes one model item from another within single entity instance.
Contains unique name of the model. Case-sensitive. Distinguishes one model item from another within single entity instance.
Mutation is responsible for setting value to a `AssociatedDataSchema.type` in `EntitySchema`. Mutation can be used for altering also the existing `AssociatedDataSchema` alone.
Used in:
Contains unique name of the model. Case-sensitive. Distinguishes one model item from another within single entity instance.
Contains the data type of the entity. Must be one of supported types or may represent complex type - which is JSON object that can be automatically converted to the set of basic types.
Mutation is responsible for setting value to a `AttributeSchema.defaultValue` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or GlobalAttributeSchema` alone.
Used in: , ,
Name of the attribute the mutation is targeting.
Default value is used when the entity is created without this attribute specified. Default values allow to pass non-null checks even if no attributes of such name are specified.
Mutation is responsible for setting value to a `AttributeSchema.deprecationNotice` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Used in: , ,
Name of the attribute the mutation is targeting.
Deprecation notice contains information about planned removal of this attribute from the model / client API. This allows to plan and evolve the schema allowing clients to adapt early to planned breaking changes.
Mutation is responsible for setting value to a `AttributeSchema.description` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Used in: , ,
Name of the attribute the mutation is targeting.
Contains description of the model is optional but helps authors of the schema / client API to better explain the original purpose of the model to the consumers.
Mutation is responsible for renaming an existing `AttributeSchema` in `EntitySchema` or `GlobalAttributeSchema` in `CatalogSchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Used in: , ,
Name of the attribute the mutation is targeting.
New name of the attribute the mutation is targeting.
Mutation is responsible for setting value to a `AttributeSchema.type` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Used in: , ,
Name of the attribute the mutation is targeting.
Type of the attribute. Must be one of supported data types or its array.
Determines how many fractional places are important when entities are compared during filtering or sorting.
Mutation is responsible for setting value to a `CatalogSchema.description` in `CatalogSchema`.
Used in:
Contains description of the model is optional but helps authors of the schema / client API to better explain the original purpose of the model to the consumers.
Mutation is responsible for altering an existing CatalogSchema.
Used in:
Name of the catalog schema the mutation is targeting (will rename).
Collection of schema mutations that should be applied on current version of the catalog schema.
Mutation is responsible for renaming an existing CatalogSchema.
Used in:
Name of the catalog schema the mutation is targeting (will rename).
The new name of the catalog schema.
Flag indicating whether to replace the existing catalog or just to rename it.
Mutation is responsible for setting a `EntitySchema.deprecationNotice` in `EntitySchema`.
Used in:
Deprecation notice contains information about planned removal of this entity schema from the model / client API. This allows to plan and evolve the schema allowing clients to adapt early to planned breaking changes.
Mutation is responsible for setting a `EntitySchema.description` in `EntitySchema`.
Used in:
Contains description of the model is optional but helps authors of the schema / client API to better explain the original purpose of the model to the consumers.
Mutation is a holder for a set of `EntitySchemaMutation` that affect a single entity schema within the `CatalogSchema`.
Used in: , ,
Entity type of entity schema that will be affected by passed mutations.
Collection of mutations that should be applied on current version of the schema.
Mutation is responsible for renaming an existing `EntitySchema`.
Used in: ,
Name of the entity schema the mutation is targeting.
New name of the entity schema the mutation is targeting.
Whether to overwrite entity collection with same name as the `newName` if found.
Mutation is a holder for a single `AttributeSchema` that affect any of `ReferenceSchema.attributes` in the `EntitySchema`.
Used in:
Name of the reference the mutation is targeting.
Nested attribute schema mutation that mutates reference attributes of targeted reference.
Mutation is responsible for setting value to a `ReferenceSchema.cardinality` in `EntitySchema`.
Used in:
Name of the reference the mutation is targeting.
Cardinality describes the expected count of relations of this type. In evitaDB we define only one-way relationship from the perspective of the entity. We stick to the ERD modelling [standards](https://www.gleek.io/blog/crows-foot-notation.html) here. Cardinality affect the design of the client API (returning only single reference or collections) and also help us to protect the consistency of the data so that conforms to the creator mental model.
Mutation is responsible for setting value to a `ReferenceSchema.deprecationNotice` in `EntitySchema`.
Used in:
Name of the reference the mutation is targeting.
Deprecation notice contains information about planned removal of this schema from the model / client API. This allows to plan and evolve the schema allowing clients to adapt early to planned breaking changes.
Mutation is responsible for setting value to a `ReferenceSchema.description` in `EntitySchema`. Mutation can be used for altering also the existing `ReferenceSchema` alone.
Used in:
Name of the reference the mutation is targeting.
Contains description of the model is optional but helps authors of the schema / client API to better explain the original purpose of the model to the consumers.
Mutation is responsible for renaming an existing `ReferenceSchema` in `EntitySchema`. Mutation can be used for altering also the existing `ReferenceSchema` alone.
Used in:
Name of the reference the mutation is targeting.
New name of the reference the mutation is targeting.
Mutation is responsible for setting value to a `ReferenceSchema.referencedGroupType`in `EntitySchema`.
Used in:
Name of the reference the mutation is targeting.
Reference to `EntitySchema.name` of the referenced group entity. Might be also any `String` that identifies type some external resource not maintained by Evita.
Whether `referencedGroupType` refers to any existing `EntitySchema.name` that is maintained by Evita.
Mutation is responsible for setting value to a `ReferenceSchema.referencedEntityType` in `EntitySchema`. Mutation can be used for altering also the existing `ReferenceSchema` alone.
Used in:
Name of the reference the mutation is targeting.
Reference to `EntitySchema.name` of the referenced entity. Might be also any `String` that identifies type some external resource not maintained by Evita.
Whether `referencedEntityType` refers to any existing `EntitySchema.name` that is maintained by Evita.
Mutation is a holder for a single `SortableAttributeCompoundSchema` that affect any of `ReferenceSchema.sortableAttributeCompound` in the `EntitySchema`.
Used in:
Name of the reference the mutation is targeting.
Nested sortable attribute compound schema mutation that mutates reference sortable attribute compounds of targeted reference.
Mutation is responsible for setting value to a `ReflectedReferenceSchema.attributesInherited` and `ReflectedReferenceSchema.attributesExcludedFromInheritance` in `ReferenceSchema`. Mutation can be used for altering also the existing `ReferenceSchemaContract` alone.
Used in:
Name of the reference the mutation is targeting.
Contains true if the attributes of the reflected reference are inherited from the target reference.
The array of attribute names that are inherited / excluded from inheritance based on the value of attributeInheritanceBehavior property.
Mutation is responsible for setting value to a `SortableAttributeCompoundSchema.deprecationNotice` in `EntitySchema` or `ReferenceSchema`.
Used in: ,
Name of the sortable attribute compound the mutation is targeting.
Deprecation notice contains information about planned removal of this sortable attribute compound from the model / client API. This allows to plan and evolve the schema allowing clients to adapt early to planned breaking changes.
Mutation is responsible for setting value to a `SortableAttributeCompoundSchema.description` in `EntitySchema` or `ReferenceSchema`.
Used in: ,
Name of the sortable attribute compound the mutation is targeting.
Contains description of the model is optional but helps authors of the schema / client API to better explain the original purpose of the model to the consumers.
Mutation is responsible for renaming an existing `SortableAttributeCompoundSchema` in `EntitySchema` or `ReferenceSchema`.
Used in: ,
Name of the sortable attribute compound the mutation is targeting.
New name of the sortable attribute compound the mutation is targeting.
Structure for representing a name in a particular naming convention.
Used in: , , , , , , ,
naming convention the name is in
the name in the particular naming convention
Contains set of all supported/used naming conventions in evitaDB APIs.
Used in:
Camel case: https://en.wikipedia.org/wiki/Camel_case
Pascal case: https://www.theserverside.com/definition/Pascal-case
Snake case: https://en.wikipedia.org/wiki/Snake_case
Capitalized snake case: https://en.wikipedia.org/wiki/Snake_case
Kebab case: https://en.wikipedia.org/wiki/Letter_case#Kebab_case
The OffsetAndLimit record represents pagination parameters including offset, limit, and the last page number.
Used in:
The starting point for fetching records.
The number of records to fetch from the starting point.
The current page number based on the current pagination settings.
The last page number based on the current pagination settings.
The total number of records available.
Structure for universal representation of DateTime objects with an offset.
Used in: , , , , , , , , , , , , , , , ,
The date and time of the object internally represented by unix timestamp.
The offset of the object in seconds. Templates for offset: Z - for UTC +h +hh +hh:mm -hh:mm +hhmm -hhmm +hh:mm:ss -hh:mm:ss +hhmmss -hhmms
Wrapper for representing an array of OffsetDateTimes.
Used in: ,
Value that supports storing an OffsetDateTime array.
Defines the behaviour of null values in an attribute element of the sortable attribute compound.
Used in:
Null values are sorted before non-null values.
Null values are sorted after non-null values.
Used in order constraints to specify ordering direction.
Used in: , ,
Ascending order.
Descending order.
Wrapper for representing an array of OrderDirection enums.
Used in:
Value that supports storing an OrderDirection array.
Structure that represents a pagination within a data chunk.
Used in:
The size of the page.
The number of the page.
The number of the last page.
Structure for representing Predecessor objects.
Used in:
true if predecessor is a head, false otherwise
Value that supports storing a Predecessor.
Prices are specific to a very few entities, but because correct price computation is very complex in e-commerce systems and highly affects performance of the entities filtering and sorting, they deserve first class support in entity model. It is pretty common in B2B systems single product has assigned dozens of prices for the different customers.
Used in:
Contains identification of the price in the external systems. This id is expected to be used for the synchronization of the price in relation with the primary source of the prices. This id is used to uniquely find a price within same price list and currency and is mandatory.
Contains identification of the price list in the external system. Each price must reference a price list. Price list identification may refer to another Evita entity or may contain any external price list identification (for example id or unique name of the price list in the external system). Single entity is expected to have single price for the price list unless there is validity specified. In other words there is no sense to have multiple concurrently valid prices for the same entity that have roots in the same price list.
Identification of the currency.
Some special products (such as master products, or product sets) may contain prices of all "subordinate" products so that the aggregating product can represent them in certain views on the product. In that case there is need to distinguish the projected prices of the subordinate product in the one that represents them. Inner record id must contain positive value.
Price without tax.
Price with tax.
Tax rate percentage (i.e. for 19% it'll be 19.00)
Date and time interval for which the price is valid (inclusive).
Controls whether price is subject to filtering / sorting logic, non-sellable prices will be fetched along with entity but won't be considered when evaluating search. These prices may be used for "informational" prices such as reference price (the crossed out price often found on e-commerce sites as "usual price") but are not considered as the "selling" price. RENAMED TO "indexed"
Contains version of this price and gets increased with any entity type update. Allows to execute optimistic locking i.e. avoiding parallel modifications.
Controls whether price is subject to filtering / sorting logic, non-sellable prices will be fetched along with entity but won't be considered when evaluating search. These prices may be used for "informational" prices such as reference price (the crossed out price often found on e-commerce sites as "usual price") but are not considered as the "selling" price.
Determines which prices will be fetched along with entity.
Used in: ,
No prices will be fetched.
Only prices respecting filter constraints in query will be fetched.
All prices will be fetched.
Wrapper for representing an array of PriceContentMode enums.
Used in:
Value that supports storing a PriceContentMode array.
This enum controls how prices that share same `inner entity id` will behave during filtering and sorting.
Used in: ,
No special strategy set. Inner record id is not taken into account at all.
Prices with same inner entity id will be sorted descending by priority value and first one (i.e. the one with the biggest priority) will be used (others won't be considered at all)
Prices with same inner entity id will be added up to a new computed aggregated price, prices must share same tax rate percentage, currency and price list id in order to be added up
Price handling mode that is used in cases when the information has not been fetched along with entity, and is therefore unknown (even if some strategy is associated with the entity in reality).
Client label attached to the query
Used in: , ,
The label name
The label value
Response for query request executed when searched for a list of entities. The used field is decided by the require block in the query.
Used as response type in: EvitaSessionService.QueryList, EvitaSessionService.QueryListUnsafe
Response for query request executed when searched for exactly one entity. The used field is decided by the require block in the query.
Used as response type in: EvitaSessionService.QueryOne, EvitaSessionService.QueryOneUnsafe
Entity reference of the found entity.
Sealed entity of the found entity.
Binary entity of the found entity.
Structure that supports storing all possible parameters that could be used within query.
Used in: , , , , , ,
The value of the parameter.
The string value.
The integer value.
The long value.
The boolean value.
The big decimal value.
The date time range value.
The integer number range value.
The long number range value.
The big decimal number range value.
The offset date time value.
The locale value.
The currency value.
The facet statistics depth enum value.
The query price mode enum value.
The price content mode enum value.
The attribute special value enum value.
The order direction enum value.
The empty hierarchical entity behaviour enum value.
The statistics base enum value.
The statistics type enum value.
The histogram behavior enum value.
The managed references behaviour
The expression
The scope enum value.
The facetRelationType enum value.
The facetGroupRelationLevel enum value.
The facet traversal mode enum value.
The string array value.
The integer array value.
The long array value.
The boolean array value.
The big decimal array value.
The date time range array value.
The integer number range array value.
The long number range array value.
The big decimal number range array value.
The offset date time array value.
The locale array value.
The currency array value.
The facet statistics depth array value.
The query price mode array value.
The price content mode array value.
The attribute special value array value.
The order direction array value.
The empty hierarchical entity behaviour array value.
The statistics base array value.
The statistics type array value.
The histogram behavior enum value.
The scope enum value.
Enum contains all query execution phases, that leads from request to response.
Used in:
Entire query execution time.
Entire planning phase of the query execution.
Planning phase of the inner query execution.
Determining which indexes should be used.
Creating formula for filtering entities.
Creating formula for nested query.
Creating alternative formula for filtering entities.
Creating formula for sorting result entities.
Creating alternative formula for sorting result entities.
Creating factories for requested extra results.
Creating factories for requested extra results based on alternative indexes.
Entire query execution phase.
Prefetching entities that should be examined instead of consulting indexes.
Computing entities that should be returned in output (filtering).
Computing entities within nested query that should be returned in output (filtering).
Sorting output entities and slicing requested page.
Fabricating requested extra results.
Fabricating requested single extra result.
Fetching rich data from the storage based on computed entity primary keys.
Fetching referenced entities and entity groups from the storage based on referenced primary keys information.
Fetching parent entities from the storage based on parent primary keys information.
Aggregate phase covering orchestration of all referenced entity loads (predicate setup, ID collection, dedup, recursive dispatch).
Determines which price will be used for filtering.
Used in: ,
Price computation operations will use actual price with tax added for filtering.
Price computation operations will use actual price without tax added for filtering.
Wrapper for representing an array of QueryPriceModeArray enums.
Used in:
Value that supports storing a QueryPriceMode array.
Request for specifying a query to be executed.
Used as request type in: EvitaSessionService.Query, EvitaSessionService.QueryList, EvitaSessionService.QueryOne
The string part of the parametrised query.
The positional query parameters.
The named query parameters.
Response to Query request.
Used as response type in: EvitaSessionService.Query, EvitaSessionService.QueryUnsafe
The fetched record page with entities.
The computed extra results.
This DTO contains detailed information about query processing time and its decomposition to single operations.
Used in:
Phase of the query processing.
Date and time of the start of this step in nanoseconds.
Internal steps of this telemetry step (operation decomposition).
Arguments of the processing phase.
Duration in nanoseconds.
Request for specifying a query to be executed.
Used as request type in: EvitaSessionService.QueryListUnsafe, EvitaSessionService.QueryOneUnsafe, EvitaSessionService.QueryUnsafe
The string part of the parametrised query.
Enum representing overall readiness state of the server API.
Used in:
* At least one API is not ready.
* All APIs are ready.
* At least one API that was ready is not ready anymore.
* Server is shutting down. None of the APIs are ready.
* Unknown state - cannot determine the state of the APIs (should not happen).
References may carry additional key-value data linked to this entity relation (fe. item count present on certain stock).
Used in:
Name of the reference
Contains version of this reference and gets increased with any entity type update. Allows to execute optimistic locking i.e. avoiding parallel modifications.
Returns entity reference of the referenced entity in case its fetching was requested via entityFetch constraint.
Returns body of the referenced entity in case its fetching was requested via entityFetch constraint.
Returns the referenced entity in case its fetching was requested via entityGroupFetch constraint.
Returns entity reference of the referenced entity in case its fetching was requested via entityGroupFetch constraint.
Returns body of the referenced entity in case its fetching was requested via entityGroupFetch constraint.
Contains global attributes.
Contains localized attributes.
Contains reference cardinality.
internal PK is assigned by evitaDB engine and is used to uniquely identify the reference among other references. It is used when multiple references share same business key - entityType and primaryKey - but differ by other properties (fe. reference group or attributes). When a reference is created for the first time, internal id is set to a unique negative number that is not used by the server side, which assigns positive unique numbers to the references on first reference persistence. This allows distinguishing references that are not yet persisted from those that are already persistent. When standalone key is used: - negative number: means that the reference is new and hasn't been yet persisted - zero: means we don't know the internal PK - positive number: means that the reference is persistent and has been already stored in the database
This mutation allows to create / update / remove attribute of the reference.
Used in:
Unique identifier of the reference.
Primary key of the referenced entity. Might be also any integer that uniquely identifies some external resource not maintained by Evita.
One attribute mutation to update / insert / delete single attribute of the reference.
internal PK is assigned by evitaDB engine and is used to uniquely identify the reference among other references. It is used when multiple references share same business key - entityType and primaryKey - but differ by other properties (fe. reference group or attributes). When a reference is created for the first time, internal id is set to a unique negative number that is not used by the server side, which assigns positive unique numbers to the references on first reference persistence. This allows distinguishing references that are not yet persisted from those that are already persistent. When standalone key is used: - negative number: means that the reference is new and hasn't been yet persisted - zero: means we don't know the internal PK - positive number: means that the reference is persistent and has been already stored in the database
This DTO contains information about single reference group and statistics of the references that relates to it.
Used in:
Contains name of the facet group.
Contains referenced entity reference representing this group.
Contains referenced entity representing this group.
Contains number of distinct entities in the response that possess any reference in this group.
Contains statistics of individual facets.
Contains named histogram statistics for this reference group. Each histogram index defined on the reference schema produces a separate histogram entry keyed by the histogram index name.
Enum represents the type of index that should be created and maintained for a reference.
Used in:
Reference has no index available.
Reference has only basic index available that is necessary for ReferenceHaving constraint interpretation.
Reference has basic index available and also partitioning indexes for the main entity type.
Enum represents the reference components that should be indexed for a reference.
Used in:
The referenced entity itself is indexed.
The referenced group entity is indexed.
Represents a pair of reference keys used for tracking reassigned internal primary keys. The 'original' key contains the temporary internal PK, while the 'reassigned' key contains the permanent internal PK assigned after persistence.
Used in:
Name of the reference (e.g., "category", "brand"). References the reference schema name that defines the type of relationship.
Primary key of the referenced entity. May be either an evitaDB entity primary key or an external resource identifier.
Original reference key with temporary internal primary key (negative number).
Reassigned reference key with permanent internal primary key (positive number) assigned by the server.
This is the definition object for reference that is stored along with entity. Definition objects allow to describe the structure of the entity type so that in any time everyone can consult complete structure of the entity type. The references refer to other entities (of same or different entity type). Allows entity filtering (but not sorting) of the entities by using `facet_{name}_inSet` query and statistics computation if when requested. Reference is uniquely represented by int positive number (max. (2^63)-1) and entity type and can be part of multiple reference groups, that are also represented by int and entity type. Reference id in one entity is unique and belongs to single reference group id. Among multiple entities reference may be part of different reference groups. Referenced entity type may represent type of another Evita entity or may refer to anything unknown to Evita that posses unique int key and is maintained by external systems (fe. tag assignment, group assignment, category assignment, stock assignment and so on). Not all these data needs to be present in Evita. References may carry additional key-value data linked to this entity relation (fe. item count present on certain stock).
Used in:
Contains unique name of the model. Case-sensitive. Distinguishes one model item from another within single entity instance.
Contains description of the model is optional but helps authors of the schema / client API to better explain the original purpose of the model to the consumers.
Deprecation notice contains information about planned removal of this entity from the model / client API. This allows to plan and evolve the schema allowing clients to adapt early to planned breaking changes. If notice is `null`, this schema is considered not deprecated.
Cardinality describes the expected count of relations of this type. In evitaDB we define only one-way relationship from the perspective of the entity. We stick to the ERD modelling [standards](https://www.gleek.io/blog/crows-foot-notation.html) here. Cardinality affect the design of the client API (returning only single reference or collections) and also help us to protect the consistency of the data so that conforms to the creator mental model.
Reference to `Entity.type` of the referenced entity. Might be also any `String` that identifies type some external resource not maintained by Evita.
Contains `true` if `entityType` refers to any existing entity that is maintained by Evita. DEPRECATED!!! use referencedEntityTypeManaged instead
Reference to `Entity.type` of the referenced entity. Might be also `String` that identifies type some external resource not maintained by Evita.
Contains `true` if `groupType` refers to any existing entity that is maintained by Evita. DEPRECATED!!! use referencedGroupTypeManaged instead
Contains `true` if the index for this reference should be created and maintained allowing to filter by `reference_{reference name}_having` filtering constraints. Index is also required when reference is `faceted`. Do not mark reference as faceted unless you know that you'll need to filter/sort entities by this reference. Each indexed reference occupies (memory/disk) space in the form of index. When reference is not indexed, the entity cannot be looked up by reference attributes or relation existence itself, but the data can be fetched. deprecated in favor of `indexedInScopes`
Contains `true` if the statistics data for this reference should be maintained and this allowing to get `facetStatistics` for this reference or use `facet_{reference name}_inSet` filtering constraint. Do not mark reference as faceted unless you want it among `facetStatistics`. Each faceted reference occupies (memory/disk) space in the form of index. Reference that was marked as faceted is called Facet. deprecated in favor of `facetedInScopes`
Attributes related to reference allows defining set of data that are fetched in bulk along with the entity body. Attributes may be indexed for fast filtering (`AttributeSchema.filterable`) or can be used to sort along (`AttributeSchema.filterable`). Attributes are not automatically indexed in order not to waste precious memory space for data that will never be used in search queries. Filtering in attributes is executed by using constraints like `and`, `not`, `attributeEquals`, `attributeContains` and many others. Sorting can be achieved with `attributeNatural` or others. Attributes are not recommended for bigger data as they are all loaded at once.
Contains index of definitions of all sortable attribute compounds defined in this schema.
Contains reference name converted to different naming conventions.
Contains referenced entity name converted to different naming conventions (only for non-managed entities).
Contains referenced group name converted to different naming conventions (only for non-managed entities).
Contains `true` if `entityType` refers to any existing entity that is maintained by Evita.
Contains `true` if `groupType` refers to any existing entity that is maintained by Evita.
Name of the reflected reference of the target referencedEntityType(). The referenced entity must contain reference of such name and this reference must target the entity where the reflected reference is defined, and the target entity must be managed on both sides of the relation.
Contains true if the description of the reflected reference is inherited from the target reference.
Contains true if the deprecated flag of the reflected reference is inherited from the target reference.
Contains true if the cardinality of the reflected reference is inherited from the target reference.
Contains true if the faceted property settings of the reflected reference is inherited from the target reference.
Contains true if the attributes of the reflected reference are inherited from the target reference.
The array of attribute names that are inherited / excluded from inheritance based on the value of attributeInheritanceBehavior property.
Contains true if the indexed property settings of the reflected reference is inherited from the target reference.
Contains `true` if the index for this reference should be created and maintained allowing to filter by `reference_{reference name}_having` filtering constraints. Index is also required when reference is `faceted`. Do not mark reference as faceted unless you know that you'll need to filter/sort entities by this reference. Each indexed reference occupies (memory/disk) space in the form of index. When reference is not indexed, the entity cannot be looked up by reference attributes or relation existence itself, but the data can be fetched. deprecated in favor of `scopedIndexTypes`
Contains `true` if the statistics data for this reference should be maintained and this allowing to get `facetStatistics` for this reference or use `facet_{reference name}_inSet` filtering constraint. Do not mark reference as faceted unless you want it among `facetStatistics`. Each faceted reference occupies (memory/disk) space in the form of index. Reference that was marked as faceted is called Facet.
Scoped reference index types that define both the scope and the type of index for the reference. This replaces the deprecated `indexedInScopes` field with more granular control over indexing.
Scoped reference indexed components that specify which parts of a reference relationship (referenced entity, referenced group entity) are indexed per scope.
Contains true if the indexed components property settings of the reflected reference is inherited from the target reference.
Per-scope expressions that narrow which entities participate in faceting.
Per-scope bucketed histogram configurations defining index name and value expression.
Per-scope expressions that narrow which entities participate in bucketed histogram computation.
Remove associated data mutation will drop existing associatedData - ie.generates new version of the associated data with tombstone on it.
Used in:
Unique name of the associatedData. Case-sensitive. Distinguishes one associated data item from another within single entity instance.
Contains locale in case the associatedData is locale specific.
Mutation is responsible for removing an existing `AssociatedDataSchema` in the `EntitySchema`. Mutation can be used for altering also the existing `AssociatedDataSchema` alone.
Used in:
Contains unique name of the model. Case-sensitive. Distinguishes one model item from another within single entity instance.
Remove attribute mutation will drop existing attribute - ie.generates new version of the attribute with tombstone on it.
Used in: ,
Unique name of the attribute. Case-sensitive. Distinguishes one associated data item from another within single entity instance.
Contains locale in case the attribute is locale specific.
Mutation is responsible for removing an existing `AttributeSchema` in the `EntitySchema` or `GlobalAttributeSchema` in the `CatalogSchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Used in: , ,
Name of the attribute the mutation is targeting.
Mutation is responsible for removing an existing CatalogSchema.
Used in:
Name of catalog schema to remove.
Mutation is responsible for removing an existing `EntitySchema`.
Used in: ,
Name of entity schema to remove.
This mutation allows to remove `parent` from the `entity`.
Used in:
(message has no fields)
Used in:
Contains identification of the price in the external systems. This id is expected to be used for the synchronization of the price in relation with the primary source of the prices. This id is used to uniquely find a price within same price list and currency and is mandatory.
Contains identification of the price list in the external system. Each price must reference a price list. Price list identification may refer to another Evita entity or may contain any external price list identification (for example id or unique name of the price list in the external system). Single entity is expected to have single price for the price list unless there is `validity` specified. In other words there is no sense to have multiple concurrently valid prices for the same entity that have roots in the same price list.
Identification of the currency. Three-letter form according to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).
This mutation allows to remove group in the reference.
Used in:
Unique identifier of the reference.
Primary key of the referenced entity. Might be also any integer that uniquely identifies some external resource not maintained by Evita.
internal PK is assigned by evitaDB engine and is used to uniquely identify the reference among other references. It is used when multiple references share same business key - entityType and primaryKey - but differ by other properties (fe. reference group or attributes). When a reference is created for the first time, internal id is set to a unique negative number that is not used by the server side, which assigns positive unique numbers to the references on first reference persistence. This allows distinguishing references that are not yet persisted from those that are already persistent. When standalone key is used: - negative number: means that the reference is new and hasn't been yet persisted - zero: means we don't know the internal PK - positive number: means that the reference is persistent and has been already stored in the database
This mutation allows to remove a reference from the entity.
Used in:
Unique identifier of the reference.
Primary key of the referenced entity. Might be also any integer that uniquely identifies some external resource not maintained by Evita.
internal PK is assigned by evitaDB engine and is used to uniquely identify the reference among other references. It is used when multiple references share same business key - entityType and primaryKey - but differ by other properties (fe. reference group or attributes). When a reference is created for the first time, internal id is set to a unique negative number that is not used by the server side, which assigns positive unique numbers to the references on first reference persistence. This allows distinguishing references that are not yet persisted from those that are already persistent. When standalone key is used: - negative number: means that the reference is new and hasn't been yet persisted - zero: means we don't know the internal PK - positive number: means that the reference is persistent and has been already stored in the database
Mutation is responsible for removing an existing `ReferenceSchema` in the `EntitySchema`. Mutation can be used for altering also the existing `ReferenceSchema` alone.
Used in:
Name of the reference the mutation is targeting.
Mutation is responsible for removing an existing `SortableAttributeCompound` in the `EntitySchema` or `ReferenceSchema`.
Used in: ,
Name of the sortable attribute compound the mutation is targeting.
Request to rename a catalog.
Used as request type in: EvitaService.RenameCatalog, EvitaService.RenameCatalogWithProgress
Name of the catalog to be renamed.
New name of the catalog.
Request to replace a catalog.
Used as request type in: EvitaService.ReplaceCatalog, EvitaService.ReplaceCatalogWithProgress
Name of the catalog that will become the successor of the original catalog (old name)
Name of the catalog that will be replaced and dropped (new name)
Single reserved keyword
Used in:
Type of the keyword
Reserved keyword
List of words that are part of the keyword
Response to a catalog restore request.
Used as response type in: EvitaManagementService.RestoreCatalog, EvitaManagementService.RestoreCatalogFromServerFile
returns the number of bytes read from the backup file
the task that is used to restore the catalog and getting its progress
Mutation is responsible for restoring a CatalogSchema in INACTIVE state.
Used in:
Name of catalog schema to restore.
uniqueness type associated with particular scope
Used in: , , , ,
scope of entities where uniqueness is enforced
type of uniqueness
Message representing a per-scope expression that narrows which entities participate in bucketed histogram computation.
Used in: , , ,
The scope in which the bucketed partially expression applies.
The expression that narrows which entities participate in bucketed histogram for this scope. When absent (not set), no partial bucketing filter is applied for this scope.
Message representing a per-scope expression that narrows which entities participate in faceting.
Used in: , , ,
The scope in which the faceted partially expression applies.
The expression that narrows which entities participate in faceting for this scope. When absent (not set), no partial faceting filter is applied for this scope.
uniqueness type associated with particular scope
Used in: , , ,
scope of entities where uniqueness is enforced
type of uniqueness
Message representing a per-scope bucketed histogram configuration that defines the index name and optional value expression computing the bucket value for each referenced entity.
Used in: , , ,
The scope in which the bucketed histogram configuration applies.
The name identifying the histogram index.
Server-generated variants of nameOfTheIndex in different naming conventions. Populated only on schema output; ignored when present on mutation input.
The expression computing the histogram bucket value for each referenced entity. When absent (not set), no value expression is defined for this scope.
Partition selector. Among references already eligible per the reference- or scope-level bucketedPartially gate, this expression decides whether the referenced entity is assigned to this specific histogram. Multiple histograms on the same reference may declare overlapping or disjoint predicates; overlap is allowed but means a record participates in every histogram whose predicate evaluates to true. When absent (not set), no per-histogram restriction applies and the histogram contains every referenced entity already eligible per the gate.
Message representing a scoped reference index type that combines scope and index type.
Used in: , , ,
The scope in which the reference index type is applied.
The type of index that should be created and maintained for the reference.
Message representing scoped reference indexed components that specify which parts of a reference relationship are indexed per scope.
Used in: , , ,
The scope in which the indexed components configuration applies.
The reference components that should be indexed in the given scope.
Based on our experience we've designed following data model for handling entities in evitaDB. Model is rather complex but was designed to limit amount of data fetched from database and minimize an amount of data that are indexed and subject to search.
Used in: , , , , , , , , , , , , , , ,
Type of entity. Entity type is main sharding key - all data of entities with same type are stored in separated collections. Within the entity type entity is uniquely represented by primary key.
Unique Integer positive number representing the entity. Can be used for fast lookup for entity (entities). Primary key must be unique within the same entity type.
Contains version of this entity and gets increased with any entity type update. Allows to execute optimistic locking i.e. avoiding parallel modifications.
Contains version of this entity schema and gets increased with any entity type update. Allows to execute optimistic locking i.e. avoiding parallel modifications.
Primary key of parent entity.
A parent entity reference with its parent hierarchy chain.
A parent entity with its parent hierarchy chain.
Contains global attributes.
Contains localized attributes.
Prices allows defining set of prices of entity for complex filtering and ordering.
Price for which the entity should be sold. This method can be used only when appropriate price related constraints are present so that `currency` and `priceList` priority can be extracted from the query. The moment is either extracted from the query as well (if present) or current date and time is used.
Price inner record handling controls how prices that share same `inner entity id` will behave during filtering and sorting.
Returns a collection of References of this entity. The references represent relations to other evitaDB entities or external entities in different systems.
Contains global associated data.
Contains localized associated data.
Contains set of all locales that were used for localized attributes or associated data of this particular entity.
Identifies scope where the entity resides (either live or archived scope).
Contains total count of references per reference name. This may differ from count of provided references if pagination or strip was used in the input query.
Contains prices that has been requested to be calculated beside the main price for sale.
Lowest selling price (or component price for `SUM` strategy) computed with the same currency / valid-in / price-list filters as `priceForSale`. Populated when the price-range-for-sale is available on the entity. The exact semantics depend on the price inner record handling strategy: - `NONE`: equal to `priceForSale`. - `LOWEST_PRICE`: equal to `priceForSale` (the cheapest per-inner-record selling price). - `SUM`: cheapest per-inner-record component price (`priceForSale` is the cumulated sum).
Highest selling price (or component price for `SUM` strategy) computed with the same currency / valid-in / price-list filters as `priceForSale`. Populated when the price-range-for-sale is available on the entity. The exact semantics depend on the price inner record handling strategy: - `NONE`: equal to `priceForSale`. - `LOWEST_PRICE`: most expensive per-inner-record selling price. - `SUM`: most expensive per-inner-record component price (`priceForSale` is the cumulated sum).
This enum is used to identify session type of the created session by gRPC server.
Used in:
Classic read-only session.
Classic read-write session.
Read only session that returns all fetched entities in a form of a `BinaryEntity`, which has all of its data represented in a binary form. Should be used only in combination with evitaDB's Java driver.
Read write session that returns all fetched entities in a form of a `BinaryEntity`, which has all of its data represented in a binary form. Should be used only in combination with evitaDB's Java driver.
Mutation is responsible for setting value to a `AssociatedDataSchema.localized` in `EntitySchema`. Mutation can be used for altering also the existing `AssociatedDataSchema` alone.
Used in:
Contains unique name of the model. Case-sensitive. Distinguishes one model item from another within single entity instance.
Localized associated data has to be ALWAYS used in connection with specific `locale`. In other words - it cannot be stored unless associated locale is also provided.
Mutation is responsible for setting value to a `AssociatedDataSchema.nullable` in `EntitySchema`. Mutation can be used for altering also the existing `AssociatedDataSchema` alone.
Used in:
Contains unique name of the model. Case-sensitive. Distinguishes one model item from another within single entity instance.
When associated data is nullable, its values may be missing in the entities. Otherwise, the system will enforce non-null checks upon upserting of the entity.
Mutation is responsible for setting value to a `AttributeSchema.filterable` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Used in: , ,
Name of the attribute the mutation is targeting.
When attribute is filterable, it is possible to filter entities by this attribute. Do not mark attribute as filterable unless you know that you'll search entities by this attribute. Each filterable attribute occupies (memory/disk) space in the form of index. deprecated in favor of `filterableInScopes`
When attribute is filterable, it is possible to filter entities by this attribute. Do not mark attribute as filterable unless you know that you'll search entities by this attribute. Each filterable attribute occupies (memory/disk) space in the form of index.
Mutation is responsible for setting value to a `GlobalAttributeSchema.uniqueGlobally` in `EntitySchema`. Mutation can be used for altering also the existing `GlobalAttributeSchema` alone.
Used in:
Name of the attribute the mutation is targeting.
When attribute is unique globally it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute in entire catalog. deprecated in favor of `uniqueGloballyInScopes`
When attribute is unique globally it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute in entire catalog.
Mutation is responsible for setting value to a `AttributeSchema.localized` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Used in: , ,
Name of the attribute the mutation is targeting.
Localized attribute has to be ALWAYS used in connection with specific `locale`. In other words - it cannot be stored unless associated locale is also provided.
Mutation is responsible for setting value to a `AttributeSchema.nullable` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Used in: , ,
Name of the attribute the mutation is targeting.
When attribute is nullable, its values may be missing in the entities. Otherwise, the system will enforce non-null checks upon upserting of the entity.
Mutation is responsible for setting value to a `AttributeSchema.representative` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Used in: , ,
Name of the attribute the mutation is targeting.
When attribute is representative, its values may be missing in the entities. Otherwise, the system will enforce non-null checks upon upserting of the entity.
Mutation is responsible for setting value to a `AttributeSchema.sortable` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Used in: , ,
Name of the attribute the mutation is targeting.
When attribute is sortable, it is possible to sort entities by this attribute. Do not mark attribute as sortable unless you know that you'll sort entities along this attribute. Each sortable attribute occupies (memory/disk) space in the form of index. deprecated in favor of `sortableInScopes`
When attribute is sortable, it is possible to sort entities by this attribute. Do not mark attribute as sortable unless you know that you'll sort entities along this attribute. Each sortable attribute occupies (memory/disk) space in the form of index.
Mutation is responsible for setting value to a `AttributeSchema.unique` in `EntitySchema`. Mutation can be used for altering also the existing `AttributeSchema` or `GlobalAttributeSchema` alone.
Used in: , ,
Name of the attribute the mutation is targeting.
When attribute is unique it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute among other entities in the same collection. deprecated in favor of `uniqueInScopes`
When attribute is unique it is automatically filterable, and it is ensured there is exactly one single entity having certain value of this attribute among other entities in the same collection.
Mutation that sets the mutability state of a catalog.
Used in:
Name of the catalog to modify.
Whether the catalog should be mutable (read-write) or immutable (read-only).
Mutation that sets the active state of a catalog.
Used in:
Name of the catalog to modify.
Whether the catalog should be active or inactive.
Mutation is responsible for setting a `EntitySchema.withGeneratedPrimaryKey` in `EntitySchema`.
Used in:
Whether primary keys of entities of this type will not be provided by the external systems and Evita is responsible for generating unique primary keys for the entity on insertion. Generated key is guaranteed to be unique, but may not represent continuous ascending series. Generated key will be always greater than zero.
Mutation is responsible for setting a `EntitySchema.withHierarchy` in `EntitySchema`.
Used in:
Whether entities of this type are organized in a tree like structure (hierarchy) where certain entities are subordinate of other entities. Entities may be organized in hierarchical fashion. That means that entity may refer to single parent entity and may be referred by multiple child entities. Hierarchy is always composed of entities of same type. Each entity must be part of at most single hierarchy (tree). Hierarchy can limit returned entities by using filtering constraints `hierarchy_{reference name}_within`. It's also used for computation of extra data - such as `hierarchyParents`.
Contains set of all scopes the entity is indexed in and can be used for filtering entities and computation of extra data. If the hierarchy information is not indexed, it is still available on the entity itself (i.e. entity can define its parent entity), but it is not possible to work with the hierarchy information in any other way (calculating parent chain, children, siblings, etc.).
Mutation is responsible for setting a `EntitySchema.withPrice` in `EntitySchema`.
Used in:
Whether entities of this type holds price information. Prices are specific to a very few entities, but because correct price computation is very complex in e-commerce systems and highly affects performance of the entities filtering and sorting, they deserve first class support in entity model. It is pretty common in B2B systems single product has assigned dozens of prices for the different customers. Specifying prices on entity allows usage of `priceValidIn`, `priceInCurrency` `priceBetween`, and `priceInPriceLists` filtering constraints and also price ordering of the entities. Additional requirements `priceHistogram` and `priceType` can be used in query as well.
Determines how many fractional places are important when entities are compared during filtering or sorting. It is important to know that all prices will be converted to `Integer`, so any of the price values (either with or without tax) must not ever exceed maximum limits of `Integer` type when scaling the number by the power of ten using `indexedPricePlaces` as exponent.
Contains set of all scopes the price information is indexed in and can be used for filtering entities and computation of extra data. If the price information is not indexed, it is still available on the entity itself (i.e. entity can define its price), but it is not possible to work with the price information in any other way (calculating price histogram, filtering, sorting by price, etc.). Prices can be also set as non-indexed individually by setting {@link PriceContract#indexed()} to false.
This mutation allows to set scope of the entity to ARCHIVED or LIVE state.
Used in:
The new scope of the entity.
This mutation allows to set `parent` in the `entity`.
Used in:
Optional new primary key of parent entity. If null, this entity is at the root of hierarchy.
This mutation allows to set / remove `priceInnerRecordHandling` behaviour of the entity.
Used in:
Price inner record handling controls how prices that share same `inner entity id` will behave during filtering and sorting.
This mutation allows to create / update group of the reference.
Used in:
Unique identifier of the reference.
Primary key of the referenced entity. Might be also any integer that uniquely identifies some external resource not maintained by Evita.
Type of the referenced entity representing group. Might be also any `String` that identifies type in some external resource not maintained by Evita.
Primary key of the referenced entity representing group. Might be also any integer that uniquely identifies some external resource not maintained by Evita.
internal PK is assigned by evitaDB engine and is used to uniquely identify the reference among other references. It is used when multiple references share same business key - entityType and primaryKey - but differ by other properties (fe. reference group or attributes). When a reference is created for the first time, internal id is set to a unique negative number that is not used by the server side, which assigns positive unique numbers to the references on first reference persistence. This allows distinguishing references that are not yet persisted from those that are already persistent. When standalone key is used: - negative number: means that the reference is new and hasn't been yet persisted - zero: means we don't know the internal PK - positive number: means that the reference is persistent and has been already stored in the database
Mutation is responsible for setting bucketed histogram configuration on a `ReferenceSchema` in `EntitySchema`. Mutation can be used for altering also the existing `ReferenceSchema` alone.
Used in:
Name of the reference the mutation is targeting.
Per-scope bucketed histogram configurations defining index name and value expression.
Per-scope expressions that narrow which entities participate in bucketed histogram computation.
Mutation is responsible for setting value to a `ReferenceSchema.faceted in `EntitySchema`. Mutation can be used for altering also the existing `ReferenceSchema` alone.
Used in:
Name of the reference the mutation is targeting.
Whether the statistics data for this reference should be maintained and this allowing to get `referenceSummary` for this reference or use `facet_{reference name}_inSet` filtering query. Do not mark reference as faceted unless you want it among `FacetStatistics`. Each faceted reference occupies (memory/disk) space in the form of index. Reference that was marked as faceted is called Facet. deprecated in favor of `facetedInScopes`
Set to true when the faceted property should be inherited from the original. This property makes sense only for inherited reference attributes on reflected reference. For all other cases it must be left as false. When set to TRUE the value of `faceted` field is ignored.
Whether the statistics data for this reference should be maintained and this allowing to get `referenceSummary` for this reference or use `facet_{reference name}_inSet` filtering query. Do not mark reference as faceted unless you want it among `FacetStatistics`. Each faceted reference occupies (memory/disk) space in the form of index. Reference that was marked as faceted is called Facet.
Per-scope expressions that narrow which entities participate in faceting. When absent (not set), expressions are inherited for reflected references.
Mutation is responsible for setting value to a `ReferenceSchema.indexed` in `EntitySchema`. Mutation can be used for altering also the existing `ReferenceSchema` alone.
Used in:
Name of the reference the mutation is targeting.
Set to true when the filterable property should be inherited from the original. This property makes sense only for inherited reference attributes on reflected reference. For all other cases it must be left as false. When set to TRUE the value of `filterable` field is ignored.
Whether the index for this reference should be created and maintained allowing to filter by `referenceHaving` filtering constraints. Index is also required when reference is `faceted`. Do not mark reference as faceted unless you know that you'll need to filter / sort entities by this reference. Each indexed reference occupies (memory/disk) space in the form of index. When reference is not indexed, the entity cannot be looked up by reference attributes or relation existence itself, but the data is loaded alongside other references if requested. deprecated in favor of `scopedIndexTypes`
Scoped reference index types that define both the scope and the type of index for the reference. This replaces the deprecated `indexedInScopes` field with more granular control over indexing. When `inherited` is true, this field is ignored.
Scoped reference indexed components that specify which parts of a reference relationship (referenced entity, referenced group entity) are indexed per scope. When `inherited` is true, this field is ignored.
Mutation is responsible for setting set of scopes for indexing value in a `SortableAttributeCompoundSchema` in `EntitySchema`.
Used in: ,
Name of the sortable attribute compound the mutation is targeting.
When attribute sortable compound is indexed, it is possible to sort entities by this calculated attribute compound. This property contains set of all scopes this attribute compound is indexed in.
Sortable attribute compounds are used to sort entities or references by multiple attributes at once. evitaDB requires a pre-sorted index in order to be able to sort entities or references by particular attribute or combination of attributes, so it can deliver the results as fast as possible. Sortable attribute compounds are filtered the same way as attributes - using natural ordering constraint.
Used in: ,
Contains unique name of the model. Case-sensitive. Distinguishes one model item from another within single entity instance.
Contains description of the model is optional but helps authors of the schema / client API to better explain the original purpose of the model to the consumers.
Deprecation notice contains information about planned removal of this entity from the model / client API. This allows to plan and evolve the schema allowing clients to adapt early to planned breaking changes. If notice is `null`, this schema is considered not deprecated.
Collection of attribute elements that define the sortable compound. The order of the elements is important, as it defines the order of the sorting.
Contains attribute compound name converted to different naming conventions.
Contains true if the attribute was inherited from the original object via reflected reference relation
When attribute sortable compound is indexed, it is possible to sort entities by this calculated attribute compound. This property contains set of all scopes this attribute compound is indexed in.
Used in:
The enum specifies whether the hierarchy statistics cardinality will be based on a complete query filter by constraint or only the part without user defined filter.
Used in: ,
Complete `filterBy` constraint output will be considered when calculating statistics of the queried entities.
Contents of the `filterBy` excluding `userFilter` and its children will be considered when calculating statistics of the queried entities.
Complete `filterBy` constraint output excluding constraints within `userFilter` limiting references of the same hierarchical entity type this constraint is applied to will be considered when calculating statistics of the queried entities.
Wrapper for representing an array of StatisticsBase enums.
Used in:
Value that supports storing a StatisticsBase array.
The enum specifies whether the HierarchyStatistics should produce the hierarchy children count or referenced entity count.
Used in: ,
The statistics will be produce a hierarchy children count.
The statistics will be produce a reference entity count.
Wrapper for representing an array of StatisticsType enums.
Used in:
Value that supports storing a StatisticsType array.
Wrapper for representing an array of strings.
Used in: ,
Value that supports storing a string array.
Structure that represents a strip within a data chunk.
Used in:
The size of the strip.
The offset of the strip - count of records from the beginning to skip.
Area covered by the system CDC capture. Deliberately separate from GrpcChangeCaptureArea because the system stream has no SCHEMA/DATA semantics. The zero value SYSTEM_AREA_UNSPECIFIED encodes "no area set" / null on the domain side so proto3's default-value semantics do not collapse a null criterion into ENGINE. See issue #1151 for the rationale.
Used in:
Sentinel for an absent area — domain `null` round-trips through this value rather than collapsing into ENGINE because of proto3 default-value semantics.
Engine mutations (durable, WAL-replicated).
Host events (HostSystemEvent - non-replicable, live-tail-only).
State aggregates the possible states of a task into a simple enumeration.
Used in: ,
* Task is waiting in the queue to be executed.
* Task is currently running.
* Task has finished successfully.
* Task has failed.
* Task is waiting for precondition to be satisfied.
Record representing status of particular asynchronous task
Used in: , , , , , , ,
Type of the task (shortName of the task) Available tasks: - "BackupTask": Task responsible for backing up the catalog data and WAL files into a ZIP file. - "RestoreTask": This task is used to restore a catalog from a ZIP file. - "JfrRecorderTask": Task is responsible for recording selected JFR events into an exportable file. - "MetricTask": Task that listens for JFR events and transforms them into Prometheus metrics.
Longer, human-readable name of the task
Identification of the task
Name of the catalog the task is related to (optional)
Date and time when the task was issued
Date and time when the task was started
Date and time when the task was finished
Simplified state of the status
Progress of the task (0-100)
Configuration settings of the task
Result of the task
Textual result of the task
File that was created by the task and is available for fetching
Exception that occurred during the task execution
List of task traits
Date and time when the task was created
Enum describes traits of a GrpcTask task.
Used in:
* Task can be manually started by the user.
* Task can be manually cancelled by the user.
* Task needs to be manually stopped by the user (otherwise it will run indefinitely).
Enum represents time flow direction for time-based filtering.
Used in:
Time flows forward - from past to future.
Time flows backward - from future to past.
This container holds information about single entity enrichment.
Used in:
The query operation associated with enrichment.
The primary key of the enriched record
This container holds information about single entity fetch.
Used in:
The query operation associated with entity fetch.
The primary key of the fetched record
This container holds a mutation and its metadata.
Used in:
The mutation operation.
The entity mutation operation.
The schema mutation operation.
Container for a query and its metadata.
Used in:
The shortened description of the query and its purpose
The query operation.
The total number of records calculated by the query.
The primary keys of the records returned by the query (in returned data chunk). I.e. number of records actually returned by the pagination requirement of the query.
The client labels associated with the query.
Record represents a CDC event that is sent to the subscriber if it matches to the request he made.
Used in: ,
The sequence order of the session (analogous to sessionId, but monotonic sequence based on location in the log).
The session id which the recording belongs to.
The order (sequence) of the traffic recording in the session. First record in the session has sequence ID 0 and represents the session start, additional records are numbered sequentially.
Total count of the records in the session. This number allows clients to determine whether the recordSessionOffset is the last record in the session (i.e. when recordSessionOffset = recordsInSession - 1, then it is the last record).
The type of the recording.
The time when the recording was created.
The duration of the operation in milliseconds.
The size of the data fetched from the permanent storage in bytes.
The number of objects fetched from the permanent storage.
Returns non-null error message if the action the recording relates to finished with an error.
optional body of the traffic recording when it is requested by the GrpcTrafficCaptureContent
Record for the criteria of the capture request allowing to limit mutations to specific area of interest an its properties.
Used in: ,
content determines whether only basic information about the traffic recording is returned or the actual content
since specifies the time from which the traffic recording should be returned
sinceSessionSequenceId specifies the session sequence ID from which the traffic recording should be returned
sinceRecordSessionOffset specifies the record session offset from which the traffic recording should be returned (the offset is relative to the session sequence ID and starts from 0), offset allows to continue fetching the traffic recording from the last fetched record when session was not fully fetched
type specifies the types of traffic recording to be returned
sessionId specifies the session ID from which the traffic recording should be returned
longerThan specifies the minimum duration in milliseconds of the traffic recording to be returned
fetchingMoreBytesThan specifies the minimum number of bytes that record should have fetched from the disk
labels specifies the client labels that the traffic recording must have (both name and value must match)
Enum to specify the depth of details sent in the traffic recording event.
Used in:
Only the header of the event is sent.
Entire traffic recording content is sent.
List of all possible traffic recording types.
Used in: ,
evitaDB session opened.
* evitaDB session closed.
Query received via. API from the client - container contains original string of the client query. API might call multiple queries related to the same source query.
Query received via. API from the client is finalized and sent to the client. Container contains the final statistics aggregated over all operations related to the source query.
Internal evitaDB query (evitaQL) was executed.
Internal call to retrieve single evitaDB entity. Record is not created for entities fetched as a part of a query.
Internal call to enrich contents of the evitaDB entity.
Internal call to mutate the evitaDB entity or catalog schema.
This container holds information about the session close.
Used in:
The version of the catalog
The overall number of traffic records recorded for this session.
The overall number of queries executed in this session.
The overall number of entities fetched in this session (excluding the entities fetched by queries).
The overall number of mutations executed in this session.
The number of traffic records that were missed due to buffer overflow.
This container holds information about the session start.
Used in:
The version of the catalog that will be used for the entire session.
This container holds information about the source query.
Used in:
The unique identifier of the source query
unparsed, raw source query in particular format
The automatic labels associated with the query.
This container holds information about the source query statistics.
Used in:
The source query id
The total number of records returned by the query ({@link EvitaResponse#getRecordData()} size)
The total number of records calculated by the query ({@link EvitaResponse#getTotalRecordCount()})
Structure that holds changes within a transaction.
Used in:
The number of catalog schema changes within the transaction.
The number of mutations within the transaction.
The size of the write-ahead log (WAL) in bytes for the transaction.
The collection of entity collection changes within the transaction.
This transaction mutation delimits mutations of one transaction from another. It contains data that allow to recognize the scope of the transaction and verify its integrity.
Used in: ,
Represents the unique identifier of a transaction.
Represents the next version the transaction transitions the state to.
Represents the number of mutations in this particular transaction.
Represents the size of the serialized transaction mutations that follow this mutation in bytes.
Represents the timestamp of the commit.
Structure that holds overview of a specific transaction.
Used in:
The version of the catalog that the transaction moved to.
The id of the transaction.
The commit timestamp of the transaction.
The timestamp when the transaction was processed.
The processing lag of the transaction in milliseconds (i.e. duration between commit timestamp and the real shared view incorporation).
The flag indicates whether point-in-time recovery to this version is possible.
The collection of changes within the transaction.
Contains set of all possible transaction phases each transaction goes through.
Used in:
All changes passed conflict resolution steps and are not in conflict with other transactions.
Changes are written to Write Ahead Log (WAL) and are safely persisted on disk. Client might rely on the fact that the changes will eventually be visible in the database.
Changes are visible in shared state of the database and are available to all newly created sessions.
Enum defines the two modes of traversing a hierarchy when using the `traverseByEntityProperty` ordering constraint.
Used in:
The depth-first traversal mode traverses the hierarchy in a depth-first manner, meaning it will explore as far as possible along each branch before backtracking.
The breadth-first traversal mode traverses the hierarchy in a breadth-first manner, meaning it will explore all the nodes at the present depth level before moving on to the nodes at the next depth level.
Request for updating the catalog schema.
Used as request type in: EvitaSessionService.UpdateAndFetchCatalogSchema, EvitaSessionService.UpdateCatalogSchema
Collection of local catalog schema mutations to be applied.
Request for updating the schema of an existing entity type.
Used as request type in: EvitaSessionService.UpdateAndFetchEntitySchema, EvitaSessionService.UpdateEntitySchema
Wrapper that holds the entity type and the collection of EntitySchemaMutations to be applied.
Mutation that upgrades a catalog's on-disk storage protocol from `fromProtocolVersion` to `toProtocolVersion`. Drives the state transitions `OUT_OF_DATE` → `BEING_UPGRADED` → prior operational state and serves as the WAL-backed record of the per-catalog lazy format upgrade.
Used in:
Name of the catalog whose storage protocol is being upgraded.
Storage protocol version currently present on disk (captured for observability).
Storage protocol version to upgrade to, typically the engine's current `STORAGE_PROTOCOL_VERSION` (captured for observability).
Upsert associatedData mutation will either update existing associatedData or create new one.
Used in:
Unique name of the associatedData. Case-sensitive. Distinguishes one associated data item from another within single entity instance.
Contains locale in case the associatedData is locale specific.
New value of this associated data. Data type is expected to be the same as in schema or must be explicitly set via `valueType`.
Upsert attribute mutation will either update existing attribute or create new one.
Used in: ,
Unique name of the attribute. Case-sensitive. Distinguishes one associated data item from another within single entity instance.
Contains locale in case the attribute is locale specific.
New value of this attribute. Data type is expected to be the same as in schema or must be explicitly set via `valueType`.
This mutation allows to create / update `price` of the entity.
Used in:
Contains identification of the price in the external systems. This id is expected to be used for the synchronization of the price in relation with the primary source of the prices. This id is used to uniquely find a price within same price list and currency and is mandatory.
Contains identification of the price list in the external system. Each price must reference a price list. Price list identification may refer to another Evita entity or may contain any external price list identification (for example id or unique name of the price list in the external system). Single entity is expected to have single price for the price list unless there is `validity` specified. In other words there is no sense to have multiple concurrently valid prices for the same entity that have roots in the same price list.
Identification of the currency. Three-letter form according to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).
Some special products (such as master products, or product sets) may contain prices of all "subordinate" products so that the aggregating product can represent them in certain views on the product. In that case there is need to distinguish the projected prices of the subordinate product in the one that represents them. Inner record id must contain positive value.
Price without tax.
Tax rate percentage (i.e. for 19% it'll be 19.00)
Price with tax.
Date and time interval for which the price is valid (inclusive).
Controls whether price is subject to filtering / sorting logic, non-sellable prices will be fetched along with entity but won't be considered when evaluating search query. These prices may be used for "informational" prices such as reference price (the crossed out price often found on e-commerce sites as "usual price") but are not considered as the "selling" price.
Controls whether price is subject to filtering / sorting logic, non-indexed prices will be fetched along with entity but won't be considered when evaluating search query. These prices may be used for "informational" prices such as reference price (the crossed out price often found on e-commerce sites as "usual price") but are not considered as the "selling" price.
Mutation is responsible for introducing a `GlobalAttributeSchema` into an `EvitaSession`.
Used in: ,
Name of the attribute the mutation is targeting.
Structure for representing UUID objects.
Used in: , , , , , , , , , , , , , , , , , , , , , , ,
Value that supports storing a UUID.
Wrapper for representing an array of UUIDs.
Used in:
Value that supports storing a UUID array.