-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Regular performance tests #439
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Former implementation allowed to create reference targeting non-existing evitaDB entity type.
…erence-targetting-non-existing-evitadb-entity-type fix(#162): add validation for managed entity references
…o recommendations, added support for C# DocumentationProfile setting
…y-within-locale attributes
This reverts commit 4a321f6.
Reworked original implementation which broke a lot of tests and I'm afraid it would break current clients as well. I think we need to postpone validation and allow multiple schemas to be defined in bulk to avoid unnecessary complexity on the client side while maintaining model consistency. Current use case: Product -> References Category category -> references products (related products specified at category level) It's a circular dependency, but it's a real use case that we need to support. The only situation to avoid the exception would be 1. create category 2. create product that references category 3. change category to reference related products This requires quite complicated setup on the client side, which now uses the `ClassAnalyzer` facility to set up the schema. So a new suggestion would be to validate the schema not in the mutation, but at the end of the updateSchema method. In `io.evitadb.core.EvitaSession#updateCatalogSchema` method the validation will be done after all mutations have been processed. This would allow to set up circular dependent updates in one go and still pass the validation.
Cleaning - two interfaces joined together.
This allows to define multiple entity schemas at once before sending them to evitaDB server.
This allows to define multiple entity schemas at once before sending them to evitaDB server.
# Conflicts: # evita_api/src/main/java/io/evitadb/api/requestResponse/schema/dto/CatalogSchema.java # evita_api/src/main/java/io/evitadb/api/requestResponse/schema/mutation/attribute/CreateGlobalAttributeSchemaMutation.java
…e-specific-index #316 globaly unique but language specific index
…nSet` and `priceInPriceLists` empty vararg argument Now, if you pass empty array the query returns no results instead of eliminating the entire constraint, which would produce entire entity list. The constraint is still eliminated if NULL is passed into the constraint in the place of the var-arg argument.
…with exception Method with signature: ```java /** * Removes the tag reference if it exists. * @param tagId tag id to be removed * @return true if the tag was removed, false if it did not exist */ @ReferenceRef(WithPublishedTags.REFERENCE_TAG) @RemoveWhenExists boolean removeTagById(int tagId); ``` Throws exception when invoked: ``` ERROR Failed to index entity eG_cym-group in catalog milagro_cz due to: Failed to wrap `SealedEntity` into class `boolean` due to: Failed to wrap `SealedEntity` into class `boolean` due to: Cannot find any constructor with matching arguments in class: `boolean` io.evitadb.api.exception.EntityClassInvalidException: Failed to wrap `SealedEntity` into class `boolean` due to: Failed to wrap `SealedEntity` into class `boolean` due to: Cannot find any constructor with matching arguments in class: `boolean` at io.evitadb.api.proxy.impl.ProxycianFactory.createReferenceProxy(ProxycianFactory.java:344) ~[evita_api-10.2.0.jar:?] at io.evitadb.api.proxy.impl.ProxycianFactory.createEntityReferenceProxy(ProxycianFactory.java:186) ~[evita_api-10.2.0.jar:?] at io.evitadb.api.proxy.impl.AbstractEntityProxyState.lambda$getOrCreateEntityReferenceProxy$7(AbstractEntityProxyState.java:401) ~[evita_api-10.2.0.jar:?] at io.evitadb.api.proxy.impl.AbstractEntityProxyState.lambda$getOrCreateEntityReferenceProxy$8(AbstractEntityProxyState.java:410) ~[evita_api-10.2.0.jar:?] at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708) ~[?:?] at io.evitadb.api.proxy.impl.AbstractEntityProxyState.getOrCreateEntityReferenceProxy(AbstractEntityProxyState.java:408) ~[evita_api-10.2.0.jar:?] at io.evitadb.api.proxy.impl.SealedEntityProxyState.getOrCreateEntityReferenceProxy(SealedEntityProxyState.java:67) ~[evita_api-10.2.0.jar:?] at io.evitadb.api.proxy.impl.entityBuilder.SetReferenceMethodClassifier.lambda$removeReferencedEntityIdWithReferenceResult$55(SetReferenceMethodClassifier.java:1606) ~[evita_api-10.2.0.jar:?] at one.edee.oss.proxycian.bytebuddy.ByteBuddyDispatcherInvocationHandler.interceptMethodCall(ByteBuddyDispatcherInvocationHandler.java:94) ~[proxycian_bytebuddy-1.3.10.jar:?] at one.edee.oss.proxycian.bytebuddy.ByteBuddyDispatcherInvocationHandler.interceptMethodCall(ByteBuddyDispatcherInvocationHandler.java:46) ~[proxycian_bytebuddy-1.3.10.jar:?] at one.edee.oss.proxycian.bytebuddy.generated.PublishedGroupEditor_365.removeTagById(Unknown Source) ~[proxycian_bytebuddy-1.3.10.jar:?] ```
…hat-returns-boolean-result-ends-with-exception fix(#425): Removing reference by id that returns boolean result ends …
…B server version We need to provide sever version in gRPC evitaLab API, so then the clients can visualize it and reason about it. We should also provide a method to detect the client version. Java client should log an error/warning if its minor version differs from the server version, as it might signal compatibility problems. Implemented the gRPC part and the compatibility check.
…B server version We need to provide sever version in gRPC evitaLab API, so then the clients can visualize it and reason about it. We should also provide a method to detect the client version. Java client should log an error/warning if its minor version differs from the server version, as it might signal compatibility problems. Implemented system endpoint.
…vide-information-about-evitadb-server-version feat(#406): System / gRPC API should provide information about evitaDB server version
…B server version Support for accessing client version via API.
build: update evitaLab to v2024.1.0
…-query-if-empty # Conflicts: # evita_query/src/main/java/io/evitadb/api/query/parser/grammar/EvitaQLParser.java
…is-removed-from-query-if-empty feat(#413): AttributeInSet constraint is removed from query if empty
…stogram-buckets # Conflicts: # documentation/user/en/query/requirements/examples/histogram/attribute-histogram.evitaql.json.md # documentation/user/en/query/requirements/examples/histogram/attribute-histogram.graphql # documentation/user/en/query/requirements/examples/histogram/attribute-histogram.graphql.json.md # documentation/user/en/query/requirements/examples/histogram/price-histogram.evitaql.json.md # documentation/user/en/query/requirements/examples/histogram/price-histogram.graphql # documentation/user/en/query/requirements/examples/histogram/price-histogram.graphql.json.md
…roperty-from-histogram-buckets feat(#420): remove unnecessary index property from histogram buckets
…rsioning build(#432): switch from SemVer schema to CalVer schema
I have method declaration: ```java @ReferenceRef(REFERENCE_PARAMETER_VALUES) @CreateWhenMissing void addOrUpdateParameterValue( int parameterValueId, @nonnull Consumer<PublishedProductParameterValueEditor> parameterValueConsumer ) throws ContextMissingException; ``` And after calling this method the reference is not created and updated.
…ails-to-add-reference-to-an-entity fix(#435): OEM proxy implementation fails to add reference to an entity
…w `LS` component
…-ls-in-docs docs: replace deprecated LanguageSpecific compontent with the new LS component
The field was not necessarily needed and it can be cleanly worked around without breaking other drivers (such as C#).
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.