Skip to content
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

Release #375

Merged
merged 62 commits into from
Dec 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
e70f3b9
docs: constraint links to user docs
lukashornych Dec 7, 2023
efd1c36
fix: fixed logic for setting reference with cardinality one
novoj Dec 8, 2023
56eb126
docs: updated documentation
novoj Dec 8, 2023
9c75bb0
docs: query telemetry docs
lukashornych Dec 8, 2023
7d25d17
Merge remote-tracking branch 'origin/dev' into dev
lukashornych Dec 8, 2023
bdcacf3
fix: query telemetry deserialization and docs
lukashornych Dec 8, 2023
a9b82d8
fix: query telemetry deserialization and docs
lukashornych Dec 8, 2023
27b0583
docs: make sure that query telemetry examples do pass (they are diffe…
lukashornych Dec 8, 2023
6cb99f9
docs: query telemetry fixes
lukashornych Dec 8, 2023
63c8139
fix: test constraint docs links
lukashornych Dec 8, 2023
2a7861c
docs: updated documentation
novoj Dec 8, 2023
70fbd9d
docs: automatized external constraint user docs links in javadocs
lukashornych Dec 8, 2023
28f940f
docs: updated documentation
novoj Dec 8, 2023
5770ccd
docs: constraint user docs links in QueryConstriants
lukashornych Dec 8, 2023
16286ca
Merge remote-tracking branch 'origin/dev' into dev
lukashornych Dec 8, 2023
0e6adc7
docs: updated documentation
novoj Dec 8, 2023
83198c6
fix(#200): correcting documentation test requiring local host environ…
novoj Dec 8, 2023
e1b5ae4
test: fixed NullPointerException
novoj Dec 11, 2023
311cae3
docs(#200): fix `local` parameter checking, add missing local parameters
lukashornych Dec 11, 2023
23f7f17
docs(#200): fix GQL/REST write several examples
lukashornych Dec 11, 2023
46b4fd8
docs(#200): fix GQL/REST write several examples
lukashornych Dec 11, 2023
052eff7
docs: finalized write API documentation
novoj Dec 11, 2023
fd79379
docs(#200): grammar fixes so it passes syntax check
lukashornych Dec 11, 2023
f992186
Merge branch 'dev' into 200-remove-ignoretest-in-documentation-tests
novoj Dec 11, 2023
2070532
docs: merge with dev
novoj Dec 11, 2023
76af6af
fix(#200): additional default `call` method
lukashornych Dec 11, 2023
07a38bd
Merge remote-tracking branch 'origin/200-remove-ignoretest-in-documen…
lukashornych Dec 11, 2023
4a7951d
docs: write-data refactor
lukashornych Dec 12, 2023
d666be2
docs: write-data refactor
lukashornych Dec 12, 2023
6a496c9
docs: write-data refactor
lukashornych Dec 12, 2023
e7d97f5
docs: write-data refactor
lukashornych Dec 12, 2023
ac4e8ed
docs: write-data refactor
lukashornych Dec 12, 2023
ba26292
docs: REST connection API url patterns
lukashornych Dec 12, 2023
1838ac5
Merge remote-tracking branch 'origin/write-data-docs-improvements' in…
lukashornych Dec 12, 2023
927daa0
docs(#200): fixes after merge
lukashornych Dec 12, 2023
816c603
docs(#200): fix code blocks
lukashornych Dec 12, 2023
956f051
docs: finalized write API documentation with tests
novoj Dec 12, 2023
2568bed
docs: corrections in documentation test running
novoj Dec 12, 2023
0542006
fix: gRPC access log is logging even when disabled
lukashornych Dec 13, 2023
5e553ba
fix(rest-api): REST API doesn't use transactions in read-write sessions
lukashornych Dec 13, 2023
024e8c8
fix(rest-api): REST API doesn't use transactions in read-write sessions
lukashornych Dec 13, 2023
15b142f
docs(#200): REST example fixes, support for multiple requests in sing…
lukashornych Dec 13, 2023
07c1af2
Merge remote-tracking branch 'origin/200-remove-ignoretest-in-documen…
lukashornych Dec 13, 2023
9d62b0a
docs(#200): example fixes, rewrite of HttpUrlConnection to HttpClient…
lukashornych Dec 13, 2023
03d5f5f
docs(#200): example fixes
lukashornych Dec 13, 2023
6c19dea
docs(#200): temporary fix of "HTTP/1.1 header parser received no byte…
lukashornych Dec 13, 2023
9d1f5da
Merge branch 'dev' into 200-remove-ignoretest-in-documentation-tests
lukashornych Dec 13, 2023
46d7954
docs(#200): formating fix
lukashornych Dec 13, 2023
2ca56b6
docs: fixed last examples
novoj Dec 13, 2023
9ab807b
Merge pull request #372 from FgForrest/200-remove-ignoretest-in-docum…
novoj Dec 13, 2023
4d466b7
docs: added language specifics
novoj Dec 13, 2023
2e8d8ce
docs: added language specifics
novoj Dec 13, 2023
f5af312
docs: typo fix
lukashornych Dec 14, 2023
24ba04b
feat: basic constraint definition export
lukashornych Dec 15, 2023
6b34f91
feat(#373): support for targetEntity in global entities
lukashornych Dec 15, 2023
9483870
refactor(#373): refactor tests
lukashornych Dec 15, 2023
42bf3a2
fix: locale argument in generic entity query is not passed into the r…
lukashornych Dec 15, 2023
735cf89
Merge pull request #374 from FgForrest/feature-373-collection-specifi…
lukashornych Dec 15, 2023
5289bad
fix: cannot parse generic query (without defined collection)
lukashornych Dec 17, 2023
0687832
Merge remote-tracking branch 'origin/dev' into dev
lukashornych Dec 17, 2023
f378b2f
feat: export type of constraint
lukashornych Dec 18, 2023
2c60aa7
fix: invalid query test
lukashornych Dec 18, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 5 additions & 2 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

62 changes: 31 additions & 31 deletions documentation/user/en/get-started/create-first-database.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,18 +66,18 @@ that forms a tree, product is enabled to have prices:
Now you can use the [system API](/documentation/user/en/use/connectors/graphql.md#graphql-api-instances) via the URL
`https://your-server:5555/gql/system` to create a new empty catalog:

<SourceCodeTabs requires="ignoreTest" langSpecificTabOnly local>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/complete-startup.java" langSpecificTabOnly local>

[Example of creating empty catalog](/documentation/user/en/get-started/example/define-catalog.graphql)
</SourceCodeTabs>

and fill it with new predefined schemas for multiple collections: `Brand`, `Category` and `Product` by
modifying its schema via the [catalog schema API](/documentation/user/en/use/connectors/graphql.md#graphql-api-instances) at URL
`https://your-server:5555/gql/test-catalog/schema`. Each collection
`https://your-server:5555/gql/evita/schema`. Each collection
contains some attributes (either localized or non-localized), category is marked as a hierarchical entity that forms
a tree, product is enabled to have prices:

<SourceCodeTabs requires="ignoreTest" langSpecificTabOnly local>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/complete-startup.java,/documentation/user/en/get-started/example/define-test-catalog.java" langSpecificTabOnly local>

[Example of creating empty catalog](/documentation/user/en/get-started/example/define-schema-for-catalog.graphql)
</SourceCodeTabs>
Expand All @@ -91,18 +91,18 @@ a tree, product is enabled to have prices:
Now you can use the [system API](/documentation/user/en/use/connectors/rest.md#rest-api-instances) via the URL
`https://your-server:5555/rest/system/catalogs` to create a new empty catalog:

<SourceCodeTabs requires="ignoreTest" langSpecificTabOnly local>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/complete-startup.java" langSpecificTabOnly local>

[Example of creating empty catalog](/documentation/user/en/get-started/example/define-catalog.rest)
</SourceCodeTabs>

and fill it with new predefined schemas for multiple collections: `Brand`, `Category` and `Product` by
modifying its schema via the [catalog schema API](/documentation/user/en/use/connectors/rest.md#rest-api-instances) at URL
`https://your-server:5555/rest/test-catalog/schema`. Each collection
`https://your-server:5555/rest/evita/schema`. Each collection
contains some attributes (either localized or non-localized), category is marked as a hierarchical entity that forms
a tree, product is enabled to have prices:

<SourceCodeTabs requires="ignoreTest" langSpecificTabOnly local>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/complete-startup.java,/documentation/user/en/get-started/example/define-test-catalog.java" langSpecificTabOnly local>

[Example of creating empty catalog](/documentation/user/en/get-started/example/define-schema-for-catalog.rest)
</SourceCodeTabs>
Expand All @@ -115,20 +115,20 @@ a tree, product is enabled to have prices:

Once the catalog is created and the schema is known, you can insert a first entity to the catalog:

<SourceCodeTabs requires="ignoreTest,/documentation/user/en/get-started/example/complete-startup.java,/documentation/user/en/get-started/example/define-test-catalog.java" langSpecificTabOnly local>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/define-catalog-with-schema.java" langSpecificTabOnly local>

[Example of inserting an entity](/documentation/user/en/get-started/example/create-first-entity.java)
</SourceCodeTabs>

The session is implicitly opened for the scope of the <LanguageSpecific to="java">`updateCatalog` method. The analogous method `queryCatalog` on
the evitaDB contract</LanguageSpecific><LanguageSpecific to="csharp">`UpdateCatalog` method. The analogous method `UueryCatalog` on
the evitaDB contract</LanguageSpecific><LanguageSpecific to="csharp">`UpdateCatalog` method. The analogous method `QueryCatalog` on
the evitaDB class level</LanguageSpecific> also opens a session, but only in read-only mode, which doesn't allow updating the catalog.
Differentiating between read-write and read-only sessions allows evitaDB to optimize query processing and distribute
the load in the cluster.

Let's see how you can retrieve the entity you just created in another read-only session.

<SourceCodeTabs requires="ignoreTest,/documentation/user/en/get-started/example/create-first-entity.java" langSpecificTabOnly local>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-first-entity.java" langSpecificTabOnly local>

[Example of reading an entity by primary key](/documentation/user/en/get-started/example/read-entity-by-pk.java)
</SourceCodeTabs>
Expand All @@ -140,9 +140,9 @@ Let's see how you can retrieve the entity you just created in another read-only

Once the catalog is created and the schema is known, you can insert a first entity to the catalog via the
[catalog data API](/documentation/user/en/use/connectors/graphql.md#graphql-api-instances) at the
`https://your-server:5555/gql/test-catalog` URL:
`https://your-server:5555/gql/evita` URL:

<SourceCodeTabs requires="ignoreTest" langSpecificTabOnly local>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/define-catalog-with-schema.java" langSpecificTabOnly local>

[Example of inserting an entity](/documentation/user/en/get-started/example/create-first-entity.graphql)
</SourceCodeTabs>
Expand All @@ -156,7 +156,7 @@ the load in the cluster.
Let's see how you can retrieve the entity you just created in another read-only session via the same catalog data API
as mentioned above.

<SourceCodeTabs requires="ignoreTest" langSpecificTabOnly local>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-first-entity.java" langSpecificTabOnly local>

[Example of reading an entity by primary key](/documentation/user/en/get-started/example/read-entity-by-pk.graphql)
</SourceCodeTabs>
Expand All @@ -168,9 +168,9 @@ as mentioned above.

Once the catalog is created and the schema is known, you can insert a first entity to the catalog via the
[catalog data API](/documentation/user/en/use/connectors/rest.md#rest-api-instances) at the URL
`https://your-server:5555/rest/test-catalog/brand`:
`https://your-server:5555/rest/evita/brand`:

<SourceCodeTabs requires="ignoreTest" langSpecificTabOnly local>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/define-catalog-with-schema.java" langSpecificTabOnly local>

[Example of inserting an entity](/documentation/user/en/get-started/example/create-first-entity.rest)
</SourceCodeTabs>
Expand All @@ -184,7 +184,7 @@ the load in the cluster.
Let's see how you can retrieve the entity you just created in another read-only session via the same catalog data API
as mentioned above.

<SourceCodeTabs requires="ignoreTest" langSpecificTabOnly>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-first-entity.java" langSpecificTabOnly local>

[Example of reading an entity by primary key](/documentation/user/en/get-started/example/read-entity-by-pk.rest)
</SourceCodeTabs>
Expand All @@ -197,7 +197,7 @@ as mentioned above.

Once you learn the basics, you can create a small dataset to work with:

<SourceCodeTabs requires="ignoreTest,/documentation/user/en/get-started/example/complete-startup.java,/documentation/user/en/get-started/example/define-test-catalog.java" langSpecificTabOnly>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/define-catalog-with-schema.java" langSpecificTabOnly local>

[Example of creating a small dataset](/documentation/user/en/get-started/example/create-small-dataset.java)
</SourceCodeTabs>
Expand All @@ -213,21 +213,21 @@ have in the relational database. The example shows how to define attributes, ass

To get a better idea of the data, let's list the existing entities from the database.

<SourceCodeTabs requires="ignoreTest,/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly local>

[Example of listing entities](/documentation/user/en/get-started/example/list-entities.java)
</SourceCodeTabs>

You can also filter and sort the data:

<SourceCodeTabs requires="ignoreTest,/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly local>

[Example of filtering and ordering entities](/documentation/user/en/get-started/example/filter-order-entities.java)
</SourceCodeTabs>

Or you can filter all products by price in EUR greater than €300 and order by price with the cheapest products first:

<SourceCodeTabs requires="ignoreTest,/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly local>

[Example of filtering and ordering products by price](/documentation/user/en/get-started/example/filter-order-products-by-price.java)
</SourceCodeTabs>
Expand All @@ -240,7 +240,7 @@ Or you can filter all products by price in EUR greater than €300 and order by

Updating an entity is similar to creating a new entity:

<SourceCodeTabs requires="ignoreTest,/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly local>

[Example of listing entities](/documentation/user/en/get-started/example/update-entity.java)
</SourceCodeTabs>
Expand All @@ -260,7 +260,7 @@ For more information, see the [write API description](../use/api/write-data.md#u

Updating an entity is similar to creating a new entity:

<SourceCodeTabs requires="ignoreTest" langSpecificTabOnly>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly local>

[Example of listing entities](/documentation/user/en/get-started/example/update-entity.graphql)
</SourceCodeTabs>
Expand All @@ -277,7 +277,7 @@ For more information, see the [write API description](../use/api/write-data.md#u

Updating an entity is similar to creating a new entity:

<SourceCodeTabs requires="ignoreTest" langSpecificTabOnly>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly local>

[Example of listing entities](/documentation/user/en/get-started/example/update-entity.rest)
</SourceCodeTabs>
Expand All @@ -296,13 +296,13 @@ For more information, see the [write API description](../use/api/write-data.md#u
You can delete entity by is primary key:

<LanguageSpecific to="java">
<SourceCodeTabs requires="ignoreTest,/documentation/user/en/get-started/example/complete-startup.java,/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly local>

[Example of deleting entity by PK](/documentation/user/en/get-started/example/delete-entity-by-pk.java)
</SourceCodeTabs>
</LanguageSpecific>
<LanguageSpecific to="csharp">
<SourceCodeTabs requires="ignoreTest,/documentation/user/en/get-started/example/complete-startup.java,/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly local>

[Example of deleting entity by PK](/documentation/user/en/get-started/example/delete-entity-by-pk.cs)
</SourceCodeTabs>
Expand All @@ -311,13 +311,13 @@ You can delete entity by is primary key:
Or, you can issue a query that removes all the entities that match the query:

<LanguageSpecific to="java">
<SourceCodeTabs requires="ignoreTest,/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly local>

[Example of deleting entity by query](/documentation/user/en/get-started/example/delete-entity-by-query.java)
</SourceCodeTabs>
</LanguageSpecific>
<LanguageSpecific to="csharp">
<SourceCodeTabs requires="ignoreTest,/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly local>

[Example of deleting entity by query](/documentation/user/en/get-started/example/delete-entity-by-query.cs)
</SourceCodeTabs>
Expand All @@ -326,13 +326,13 @@ Or, you can issue a query that removes all the entities that match the query:
When you delete a hierarchical entity, you can choose whether or not to delete it with all of its child entities:

<LanguageSpecific to="java">
<SourceCodeTabs requires="ignoreTest,/documentation/user/en/get-started/example/complete-startup.java,/documentation/user/en/get-started/example/create-small-dataset.java">
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-small-dataset.java" local>

[Example of deleting hierarchical entity](/documentation/user/en/get-started/example/delete-hierarchical-entity.java)
</SourceCodeTabs>
</LanguageSpecific>
<LanguageSpecific to="csharp">
<SourceCodeTabs requires="ignoreTest,/documentation/user/en/get-started/example/complete-startup.java,/documentation/user/en/get-started/example/create-small-dataset.java">
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-small-dataset.java" local>

[Example of deleting hierarchical entity](/documentation/user/en/get-started/example/delete-hierarchical-entity.cs)
</SourceCodeTabs>
Expand All @@ -349,7 +349,7 @@ For more complex examples and explanations, see the [write API chapter](../use/a
You can issue a query that removes all the entities that match the query using the same catalog data API that you
would use to insert, update or retrieve entities:

<SourceCodeTabs requires="ignoreTest" langSpecificTabOnly>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly local>

[Example of deleting entity by query](/documentation/user/en/get-started/example/delete-entity-by-query.graphql)
</SourceCodeTabs>
Expand All @@ -363,15 +363,15 @@ For more complex examples and explanations, see the [write API chapter](../use/a

You can delete entity by is primary key:

<SourceCodeTabs requires="ignoreTest" langSpecificTabOnly>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly local>

[Example of deleting entity by PK](/documentation/user/en/get-started/example/delete-entity-by-pk.rest)
</SourceCodeTabs>

Or, you can issue a query that removes all the entities that match the query using the same catalog data API that you
would use to insert, update or retrieve entities:

<SourceCodeTabs requires="ignoreTest" langSpecificTabOnly>
<SourceCodeTabs requires="/documentation/user/en/get-started/example/create-small-dataset.java" langSpecificTabOnly local>

[Example of deleting entity by query](/documentation/user/en/get-started/example/delete-entity-by-query.rest)
</SourceCodeTabs>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
evita,
ApiOptions.builder()
.enable(GrpcProvider.CODE)
.enable(GraphQLProvider.CODE)
.enable(RestProvider.CODE)
.enable(SystemProvider.CODE)
.build()
);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
evita.UpdateCatalog(
"testCatalog",
"evita",
session => {
session
.CreateNewEntity("Brand", 1)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
evita.updateCatalog(
"testCatalog",
"evita",
session -> {
session
.createNewEntity("Brand", 1)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
PUT /rest/test-catalog/brand/1
PUT /rest/evita/Brand/1

{
"entityExistence": "MUST_NOT_EXIST",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
evita.UpdateCatalog(
"testCatalog",
"evita",
session => {
session
.CreateNewEntity("Brand", 2)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
evita.updateCatalog(
"testCatalog",
"evita",
session -> {
session
.createNewEntity("Brand", 2)
Expand Down
Loading
Loading