From 0ed19dd837419fe1d714f6479baecfb9cb2b72b9 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 11 Oct 2023 17:48:01 +0100 Subject: [PATCH 01/66] =?UTF-8?q?Fix=20various=20missed=20N1QL=E2=86=92SQL?= =?UTF-8?q?++?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/guides/partials/index-context.adoc | 2 +- modules/n1ql/pages/n1ql-language-reference/execute.adoc | 2 +- modules/n1ql/pages/n1ql-language-reference/prepare.adoc | 2 +- modules/n1ql/partials/n1ql-language-reference/fun-token.adoc | 2 +- modules/n1ql/partials/n1ql-language-reference/udf-output.adoc | 2 +- modules/n1ql/partials/n1ql-language-reference/window-intro.adoc | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/guides/partials/index-context.adoc b/modules/guides/partials/index-context.adoc index a6a96613f..4ecb2c296 100644 --- a/modules/guides/partials/index-context.adoc +++ b/modules/guides/partials/index-context.adoc @@ -1,2 +1,2 @@ NOTE: The SDK calls only enable you to {work-with} indexes in the default collection and default scope within a bucket. -A N1QL statement enables you to {work-with} indexes in _any_ collection and scope within a bucket. \ No newline at end of file +A {sqlpp} statement enables you to {work-with} indexes in _any_ collection and scope within a bucket. \ No newline at end of file diff --git a/modules/n1ql/pages/n1ql-language-reference/execute.adoc b/modules/n1ql/pages/n1ql-language-reference/execute.adoc index c5f1b106e..b641626f4 100644 --- a/modules/n1ql/pages/n1ql-language-reference/execute.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/execute.adoc @@ -277,4 +277,4 @@ curl -v http://localhost:8093/query/service -d 'prepared="fave_tweets"&$r=9.5' * For information on using prepared statements with the Query REST API (`/query/service` endpoint), refer to xref:n1ql:n1ql-rest-api/index.adoc[]. -* For information on using prepared statements with an SDK, refer to xref:java-sdk:concept-docs:n1ql-query.adoc#prepared-statements-for-query-optimization[Querying with N1QL] and xref:java-sdk:howtos:n1ql-queries-with-sdk.adoc#parameterized-queries[N1QL from the SDK]. +* For information on using prepared statements with an SDK, refer to xref:java-sdk:concept-docs:n1ql-query.adoc#prepared-statements-for-query-optimization[Prepared Statements for Query Optimization] and xref:java-sdk:howtos:n1ql-queries-with-sdk.adoc#parameterized-queries[Parameterized Queries]. diff --git a/modules/n1ql/pages/n1ql-language-reference/prepare.adoc b/modules/n1ql/pages/n1ql-language-reference/prepare.adoc index 749497c86..62026e47b 100644 --- a/modules/n1ql/pages/n1ql-language-reference/prepare.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/prepare.adoc @@ -368,4 +368,4 @@ include::example$utility/prepare-positions.n1ql[] * For information on using prepared statements with the Query REST API (`/query/service` endpoint), refer to xref:n1ql:n1ql-rest-api/index.adoc[]. -* For information on using prepared statements with an SDK, refer to xref:java-sdk:concept-docs:n1ql-query.adoc#prepared-statements-for-query-optimization[Querying with N1QL] and xref:java-sdk:howtos:n1ql-queries-with-sdk.adoc#parameterized-queries[N1QL from the SDK]. +* For information on using prepared statements with an SDK, refer to xref:java-sdk:concept-docs:n1ql-query.adoc#prepared-statements-for-query-optimization[Prepared Statements for Query Optimization] and xref:java-sdk:howtos:n1ql-queries-with-sdk.adoc#parameterized-queries[Parameterized Queries]. diff --git a/modules/n1ql/partials/n1ql-language-reference/fun-token.adoc b/modules/n1ql/partials/n1ql-language-reference/fun-token.adoc index 7900ddc23..26104eae4 100644 --- a/modules/n1ql/partials/n1ql-language-reference/fun-token.adoc +++ b/modules/n1ql/partials/n1ql-language-reference/fun-token.adoc @@ -164,7 +164,7 @@ LIMIT 1; You can also use `{"case":"lower"}` or `{"case":"upper"}` to have case sensitive search. Index creation and querying can use this and other parameters in combination. These parameters should be passed within the query predicates as well. -The parameters and values must match exactly for N1QL to pick up and use the index correctly. +The parameters and values must match exactly for {sqlpp} to pick up and use the index correctly. .Create an index with `case` and use it your application ==== diff --git a/modules/n1ql/partials/n1ql-language-reference/udf-output.adoc b/modules/n1ql/partials/n1ql-language-reference/udf-output.adoc index 3c826774e..1ba09ceb4 100644 --- a/modules/n1ql/partials/n1ql-language-reference/udf-output.adoc +++ b/modules/n1ql/partials/n1ql-language-reference/udf-output.adoc @@ -1,7 +1,7 @@ == Return Value // tag::body[] -The function returns one value, of any valid N1QL type. +The function returns one value, of any valid {sqlpp} type. The result (and the data type of the result) depend on the expression or code that were used to define the function. If you supply the wrong number of arguments, or arguments with the wrong data type, the possible results differ, depending on whether the function is variadic, or requires a definite number of arguments. diff --git a/modules/n1ql/partials/n1ql-language-reference/window-intro.adoc b/modules/n1ql/partials/n1ql-language-reference/window-intro.adoc index a7a45dc8b..33ae9f5d1 100644 --- a/modules/n1ql/partials/n1ql-language-reference/window-intro.adoc +++ b/modules/n1ql/partials/n1ql-language-reference/window-intro.adoc @@ -11,7 +11,7 @@ The window frame determines the objects to be used by the window function. // end::windows[] // tag::functions[] -N1QL has a dedicated set of window functions. +{sqlpp} has a dedicated set of window functions. Each window function call includes an OVER clause, which introduces the window specification. Some window functions take additional window options, which are specified by further clauses before the OVER clause. From 5ca10354aa9f3891c6246e5468b849ab574af612 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Sun, 29 Oct 2023 19:00:57 +0000 Subject: [PATCH 02/66] Convert guide titles to actions --- modules/guides/pages/bulk-operations.adoc | 4 +-- modules/guides/pages/cbo.adoc | 2 +- modules/guides/pages/create-index.adoc | 2 +- modules/guides/pages/creating-data.adoc | 4 +-- modules/guides/pages/defer-index.adoc | 2 +- modules/guides/pages/delete.adoc | 2 +- modules/guides/pages/deleting-data.adoc | 6 ++-- modules/guides/pages/drop-index.adoc | 2 +- modules/guides/pages/group-agg.adoc | 2 +- modules/guides/pages/import.adoc | 4 +-- modules/guides/pages/index-advisor.adoc | 2 +- modules/guides/pages/indexes.adoc | 2 +- modules/guides/pages/insert.adoc | 2 +- modules/guides/pages/join.adoc | 2 +- modules/guides/pages/kv-operations.adoc | 2 +- modules/guides/pages/manipulate.adoc | 2 +- modules/guides/pages/nest-unnest.adoc | 2 +- modules/guides/pages/place-index.adoc | 2 +- modules/guides/pages/prep-statements.adoc | 2 +- modules/guides/pages/query.adoc | 2 +- modules/guides/pages/reading-data.adoc | 4 +-- modules/guides/pages/select-index.adoc | 2 +- modules/guides/pages/select.adoc | 2 +- modules/guides/pages/transactions.adoc | 2 +- modules/guides/pages/update.adoc | 2 +- modules/guides/pages/updating-data.adoc | 4 +-- modules/guides/partials/nav.adoc | 41 +++++------------------ 27 files changed, 42 insertions(+), 65 deletions(-) diff --git a/modules/guides/pages/bulk-operations.adoc b/modules/guides/pages/bulk-operations.adoc index 3a08e4f1b..10c3e6c29 100644 --- a/modules/guides/pages/bulk-operations.adoc +++ b/modules/guides/pages/bulk-operations.adoc @@ -1,5 +1,5 @@ -= Bulk Operations -:description: How to perform bulk CRUD operations in Couchbase. += Work with Documents in Bulk +:description: How to perform bulk CRUD operations with a command line tool or an SDK. :page-pagination: prev :page-topic-type: guide :tabs: diff --git a/modules/guides/pages/cbo.adoc b/modules/guides/pages/cbo.adoc index 8bf8d7ebb..366298fff 100644 --- a/modules/guides/pages/cbo.adoc +++ b/modules/guides/pages/cbo.adoc @@ -1,4 +1,4 @@ -= Cost-Based Optimizer += Use the Cost-Based Optimizer with Queries :page-topic-type: guide :page-partial: :page-pagination: prev diff --git a/modules/guides/pages/create-index.adoc b/modules/guides/pages/create-index.adoc index 63fa1c25d..971ec8ce7 100644 --- a/modules/guides/pages/create-index.adoc +++ b/modules/guides/pages/create-index.adoc @@ -1,4 +1,4 @@ -= Creating Indexes += Create Indexes :page-topic-type: guide :imagesdir: ../assets/images :page-partial: diff --git a/modules/guides/pages/creating-data.adoc b/modules/guides/pages/creating-data.adoc index 9530111d5..92e525dbb 100644 --- a/modules/guides/pages/creating-data.adoc +++ b/modules/guides/pages/creating-data.adoc @@ -1,5 +1,5 @@ -= Creating Data -:description: How to create documents in Couchbase. += Create Documents +:description: How to create documents with a command line tool or an SDK. :page-pagination: full :page-topic-type: guide :page-toclevels: 2 diff --git a/modules/guides/pages/defer-index.adoc b/modules/guides/pages/defer-index.adoc index e350fa2d4..424f0ebca 100644 --- a/modules/guides/pages/defer-index.adoc +++ b/modules/guides/pages/defer-index.adoc @@ -1,4 +1,4 @@ -= Deferring Indexes += Defer Indexes :page-topic-type: guide :imagesdir: ../assets/images :page-partial: diff --git a/modules/guides/pages/delete.adoc b/modules/guides/pages/delete.adoc index 99a277d86..2e0f4625b 100644 --- a/modules/guides/pages/delete.adoc +++ b/modules/guides/pages/delete.adoc @@ -1,4 +1,4 @@ -= Deleting Data with {sqlpp} += Delete Data with a Query :page-topic-type: guide :imagesdir: ../assets/images :tabs: diff --git a/modules/guides/pages/deleting-data.adoc b/modules/guides/pages/deleting-data.adoc index 84e93a196..23ea3d30c 100644 --- a/modules/guides/pages/deleting-data.adoc +++ b/modules/guides/pages/deleting-data.adoc @@ -1,5 +1,5 @@ -= Deleting Data -:description: How to delete documents in Couchbase. += Delete Documents +:description: How to delete documents with a command line tool or an SDK. :page-pagination: full :page-topic-type: guide :tabs: @@ -15,7 +15,7 @@ include::partial$other-guide.adoc[] == Introduction -In situations where data is no longer needed, Couchbase Server provides a remove operation to delete a document from the database permanently. +In situations where data is no longer needed, Couchbase Server provides a remove operation to delete a document from the database permanently. include::partial$clients.adoc[tag=refs] diff --git a/modules/guides/pages/drop-index.adoc b/modules/guides/pages/drop-index.adoc index d4d9df565..ea8c29539 100644 --- a/modules/guides/pages/drop-index.adoc +++ b/modules/guides/pages/drop-index.adoc @@ -1,4 +1,4 @@ -= Dropping Indexes += Drop Indexes :page-topic-type: guide :imagesdir: ../assets/images :page-partial: diff --git a/modules/guides/pages/group-agg.adoc b/modules/guides/pages/group-agg.adoc index 34adcf578..14c8fdb5e 100644 --- a/modules/guides/pages/group-agg.adoc +++ b/modules/guides/pages/group-agg.adoc @@ -1,4 +1,4 @@ -= Grouping and Aggregation += Calculate Aggregates and Group Results :page-topic-type: guide :page-partial: :page-pagination: prev diff --git a/modules/guides/pages/import.adoc b/modules/guides/pages/import.adoc index 630744f12..979c229f4 100644 --- a/modules/guides/pages/import.adoc +++ b/modules/guides/pages/import.adoc @@ -1,9 +1,9 @@ -= Importing Data += Import Data with an SDK // Importing and Streaming Data :page-topic-type: guide :imagesdir: ../assets/images :page-toclevels: 2 -:description: How to import documents into Couchbase. +:description: How to import documents into Couchbase with an SDK. :github: Click the icon:github[] View button to see any code sample in context. [abstract] diff --git a/modules/guides/pages/index-advisor.adoc b/modules/guides/pages/index-advisor.adoc index 6bf8c47ac..087d52086 100644 --- a/modules/guides/pages/index-advisor.adoc +++ b/modules/guides/pages/index-advisor.adoc @@ -1,4 +1,4 @@ -= Index Advisor += Get Index Advice :page-topic-type: guide :page-partial: :page-pagination: diff --git a/modules/guides/pages/indexes.adoc b/modules/guides/pages/indexes.adoc index bfa7ee9be..94a1b1529 100644 --- a/modules/guides/pages/indexes.adoc +++ b/modules/guides/pages/indexes.adoc @@ -1,4 +1,4 @@ -= Indexes += Use Primary and Secondary Indexes :page-role: tiles -toc :page-pagination: next :description: These guides explain how to create and use primary and secondary indexes for {sqlpp} queries. diff --git a/modules/guides/pages/insert.adoc b/modules/guides/pages/insert.adoc index 8ec2a12f6..8b18e6a49 100644 --- a/modules/guides/pages/insert.adoc +++ b/modules/guides/pages/insert.adoc @@ -1,4 +1,4 @@ -= Inserting Data with {sqlpp} += Insert Data with a Query :page-topic-type: guide :imagesdir: ../assets/images :tabs: diff --git a/modules/guides/pages/join.adoc b/modules/guides/pages/join.adoc index 75ce15b9a..7d77f823c 100644 --- a/modules/guides/pages/join.adoc +++ b/modules/guides/pages/join.adoc @@ -1,4 +1,4 @@ -= Querying Across Relationships += Query Across Relationships :page-topic-type: guide :page-partial: :page-pagination: diff --git a/modules/guides/pages/kv-operations.adoc b/modules/guides/pages/kv-operations.adoc index 9bb5b622d..81476ec86 100644 --- a/modules/guides/pages/kv-operations.adoc +++ b/modules/guides/pages/kv-operations.adoc @@ -1,4 +1,4 @@ -= Key-Value Operations += Work with Documents :description: How to perform CRUD key-value operations in Couchbase. :page-pagination: next :page-topic-type: guide diff --git a/modules/guides/pages/manipulate.adoc b/modules/guides/pages/manipulate.adoc index d2c037789..724e5a856 100644 --- a/modules/guides/pages/manipulate.adoc +++ b/modules/guides/pages/manipulate.adoc @@ -1,4 +1,4 @@ -= Data Manipulation Queries += Manipulate Data with Queries :page-role: tiles -toc :page-pagination: next :description: These guides explain how to create, update, and delete data with a {sqlpp} query. diff --git a/modules/guides/pages/nest-unnest.adoc b/modules/guides/pages/nest-unnest.adoc index 1cdeea233..a43457460 100644 --- a/modules/guides/pages/nest-unnest.adoc +++ b/modules/guides/pages/nest-unnest.adoc @@ -1,4 +1,4 @@ -= Nesting and Unnesting Documents += Nest and Unnest Documents :page-topic-type: guide :page-partial: :page-pagination: diff --git a/modules/guides/pages/place-index.adoc b/modules/guides/pages/place-index.adoc index c084994a9..0017101a2 100644 --- a/modules/guides/pages/place-index.adoc +++ b/modules/guides/pages/place-index.adoc @@ -1,4 +1,4 @@ -= Index Placement += Place Indexes :page-topic-type: guide :imagesdir: ../assets/images :tabs: diff --git a/modules/guides/pages/prep-statements.adoc b/modules/guides/pages/prep-statements.adoc index 041f06c8c..b24659669 100644 --- a/modules/guides/pages/prep-statements.adoc +++ b/modules/guides/pages/prep-statements.adoc @@ -1,4 +1,4 @@ -= Prepared Statements += Prepare Statements for Reuse :page-topic-type: guide :page-partial: :page-pagination: diff --git a/modules/guides/pages/query.adoc b/modules/guides/pages/query.adoc index 9725b2913..95af9e697 100644 --- a/modules/guides/pages/query.adoc +++ b/modules/guides/pages/query.adoc @@ -1,4 +1,4 @@ -= Selection Queries += Select Data with Queries :page-role: tiles -toc :page-pagination: next :description: These guides explain how to read data with a {sqlpp} query. diff --git a/modules/guides/pages/reading-data.adoc b/modules/guides/pages/reading-data.adoc index db7d80dbe..4a6ea7259 100644 --- a/modules/guides/pages/reading-data.adoc +++ b/modules/guides/pages/reading-data.adoc @@ -1,5 +1,5 @@ -= Reading Data -:description: How to read documents in Couchbase. += Read Documents +:description: How to read documents with a command line tool or an SDK. :page-pagination: full :page-topic-type: guide :page-toclevels: 2 diff --git a/modules/guides/pages/select-index.adoc b/modules/guides/pages/select-index.adoc index 64ae5ab35..8db748372 100644 --- a/modules/guides/pages/select-index.adoc +++ b/modules/guides/pages/select-index.adoc @@ -1,4 +1,4 @@ -= Selecting Indexes += Select Indexes :page-topic-type: guide :imagesdir: ../assets/images :tabs: diff --git a/modules/guides/pages/select.adoc b/modules/guides/pages/select.adoc index 967e66b02..21ba63cfd 100644 --- a/modules/guides/pages/select.adoc +++ b/modules/guides/pages/select.adoc @@ -1,4 +1,4 @@ -= Selecting Data += Read Data and Return Results :page-topic-type: guide :page-partial: :page-pagination: diff --git a/modules/guides/pages/transactions.adoc b/modules/guides/pages/transactions.adoc index cb6257e82..a33927e3d 100644 --- a/modules/guides/pages/transactions.adoc +++ b/modules/guides/pages/transactions.adoc @@ -1,4 +1,4 @@ -= Couchbase Transactions += Create Couchbase Transactions with {sqlpp} :page-topic-type: guide :imagesdir: ../assets/images :tabs: diff --git a/modules/guides/pages/update.adoc b/modules/guides/pages/update.adoc index b34e3afb1..d955e7b91 100644 --- a/modules/guides/pages/update.adoc +++ b/modules/guides/pages/update.adoc @@ -1,4 +1,4 @@ -= Modifying Data with {sqlpp} += Modify Data with a Query :page-topic-type: guide :imagesdir: ../assets/images :tabs: diff --git a/modules/guides/pages/updating-data.adoc b/modules/guides/pages/updating-data.adoc index cb966e334..3c2c8080d 100644 --- a/modules/guides/pages/updating-data.adoc +++ b/modules/guides/pages/updating-data.adoc @@ -1,5 +1,5 @@ -= Updating Data -:description: How to update documents in Couchbase. += Update Documents +:description: How to update documents with a command line tool or an SDK. :page-pagination: full :page-topic-type: guide :tabs: diff --git a/modules/guides/partials/nav.adoc b/modules/guides/partials/nav.adoc index d7cae5721..4ade80e06 100644 --- a/modules/guides/partials/nav.adoc +++ b/modules/guides/partials/nav.adoc @@ -1,33 +1,10 @@ -* xref:guides:intro.adoc[Developer Guides] - ** xref:guides:connect.adoc[] - ** xref:guides:kv-operations.adoc[] - *** xref:guides:creating-data.adoc[] - *** xref:guides:reading-data.adoc[] - *** xref:guides:updating-data.adoc[] - *** xref:guides:deleting-data.adoc[] - *** xref:guides:bulk-operations.adoc[] - ** xref:guides:query.adoc[] - *** xref:guides:select.adoc[] - *** xref:guides:join.adoc[] - *** xref:guides:nest-unnest.adoc[] - *** xref:guides:group-agg.adoc[] - ** xref:guides:indexes.adoc[] - *** xref:guides:create-index.adoc[] - *** xref:guides:place-index.adoc[] - *** xref:guides:defer-index.adoc[] - *** xref:guides:select-index.adoc[] - *** xref:guides:drop-index.adoc[] - ** xref:guides:manipulate.adoc[] - *** xref:guides:insert.adoc[] - *** xref:guides:update.adoc[] - *** xref:guides:delete.adoc[] - ** xref:guides:optimize.adoc[] - *** xref:guides:prep-statements.adoc[] - *** xref:guides:index-advisor.adoc[] - *** xref:guides:cbo.adoc[] - ** xref:guides:transactions.adoc[] +// Combined nav for CRUD +* xref:guides:kv-operations.adoc[] + ** xref:clusters:data-service/manage-documents.adoc[] + ** xref:guides:creating-data.adoc[] + ** xref:guides:reading-data.adoc[] + ** xref:guides:updating-data.adoc[] + ** xref:guides:deleting-data.adoc[] + ** xref:guides:bulk-operations.adoc[] + ** xref:clusters:data-service/import-data-documents.adoc[] ** xref:guides:import.adoc[] - ** xref:guides:javascript-udfs.adoc[] - *** xref:guides:create-javascript-library.adoc[] - *** xref:guides:create-user-defined-function.adoc[] - *** xref:guides:call-user-defined-function.adoc[] From 0770ac781de05f458499dae4482d1d991ffc8f42 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Mon, 30 Oct 2023 17:33:23 +0000 Subject: [PATCH 03/66] Rearrange the global index reference --- .../indexes/global-secondary-indexes.adoc | 31 ++++++------------- .../indexes/index-replication.adoc | 3 +- .../indexes/index-scans.adoc | 2 +- .../indexes/index_pushdowns.adoc | 2 +- .../indexes/indexing-and-query-perf.adoc | 3 +- .../indexes/storage-modes.adoc | 3 +- .../groupby-aggregate-performance.adoc | 2 +- 7 files changed, 19 insertions(+), 27 deletions(-) diff --git a/modules/learn/pages/services-and-indexes/indexes/global-secondary-indexes.adoc b/modules/learn/pages/services-and-indexes/indexes/global-secondary-indexes.adoc index 0c1d381ad..070ee306c 100644 --- a/modules/learn/pages/services-and-indexes/indexes/global-secondary-indexes.adoc +++ b/modules/learn/pages/services-and-indexes/indexes/global-secondary-indexes.adoc @@ -1,4 +1,4 @@ -= Using Indexes += Primary and Secondary Index Reference :page-aliases: indexes:indexing-overview,understanding-couchbase:services-and-indexes/indexes/global-secondary-indexes,indexes:gsi-for-n1ql,architecture:global-secondary-indexes,architecture:gsi-versus-views :page-role: tiles -toc :!sectids: @@ -20,26 +20,15 @@ endif::[] [abstract] {description} -Global Secondary Indexes provide the following: - -* _Advanced Scaling_: GSIs can be assigned independently to selected nodes, without existing workloads being affected. -* _Predictable Performance_: Key-based operations maintain predictable low-latency, even in the presence of a large number of indexes. -Index-maintenance is non-competitive with key-based operations, even when data-mutation workloads are heavy. -* _Low Latency Querying_: GSIs independently partition into the Index Service nodes: they do not have to follow hash partitioning of data into vBuckets. -Queries using GSIs can achieve low latency response times even when the cluster scales out; since GSIs do not require a wide fan-out to all Data Service nodes. -* _Independent Partitioning_: The Index Service provides partition independence: data and its indexes can have different partition keys. -Each index can have its own partition key, so each can be partitioned independently to match the specific query. -As new requirements arise, the application will also be able to create a new index with a new partition key, without affecting performance of existing queries. - == Tuning and Query Performance -* xref:learn:services-and-indexes/indexes/index-lifecycle.adoc[Index Lifecycle] -* xref:learn:services-and-indexes/indexes/indexing-and-query-perf.adoc[Indexing and Query Performance] -* xref:n1ql:n1ql-language-reference/covering-indexes.adoc[Covering Indexes] -* xref:learn:services-and-indexes/indexes/index-scans.adoc[Understanding Index Scans] -* xref:learn:services-and-indexes/indexes/index_pushdowns.adoc[Index Pushdown Optimizations] -* xref:n1ql:n1ql-language-reference/groupby-aggregate-performance.adoc[Grouping and Aggregate Pushdown] -* xref:learn:services-and-indexes/indexes/early-filters-and-pagination.adoc[Early Filters, Order and Pagination] +* xref:learn:services-and-indexes/indexes/indexing-and-query-perf.adoc[] +* xref:learn:services-and-indexes/indexes/index-lifecycle.adoc[] +* xref:n1ql:n1ql-language-reference/covering-indexes.adoc[] +* xref:learn:services-and-indexes/indexes/index-scans.adoc[] +* xref:learn:services-and-indexes/indexes/index_pushdowns.adoc[] +* xref:n1ql:n1ql-language-reference/groupby-aggregate-performance.adoc[] +* xref:learn:services-and-indexes/indexes/early-filters-and-pagination.adoc[] == Index Commands @@ -52,8 +41,8 @@ As new requirements arise, the application will also be able to create a new ind == Storage and Availability -* xref:learn:services-and-indexes/indexes/index-replication.adoc[Index Availability] -* xref:learn:services-and-indexes/indexes/storage-modes.adoc[Storage Settings] +* xref:learn:services-and-indexes/indexes/index-replication.adoc[] +* xref:learn:services-and-indexes/indexes/storage-modes.adoc[] == Related Links diff --git a/modules/learn/pages/services-and-indexes/indexes/index-replication.adoc b/modules/learn/pages/services-and-indexes/indexes/index-replication.adoc index 156396675..935fd87dd 100644 --- a/modules/learn/pages/services-and-indexes/indexes/index-replication.adoc +++ b/modules/learn/pages/services-and-indexes/indexes/index-replication.adoc @@ -1,4 +1,5 @@ -= Availability and Performance += Index Availability and Performance +:navtitle: Availability and Performance :description: The Index Service ensures availability and performance through replication and partitioning. :page-topic-type: concept :page-partial: diff --git a/modules/learn/pages/services-and-indexes/indexes/index-scans.adoc b/modules/learn/pages/services-and-indexes/indexes/index-scans.adoc index 07f10130d..f2e24dd26 100644 --- a/modules/learn/pages/services-and-indexes/indexes/index-scans.adoc +++ b/modules/learn/pages/services-and-indexes/indexes/index-scans.adoc @@ -1,4 +1,4 @@ -= Scans += Index Scans :description: This section discusses how index spans are generated from query predicates and provides a number of examples. :page-topic-type: concept :page-aliases: performance:index-scans diff --git a/modules/learn/pages/services-and-indexes/indexes/index_pushdowns.adoc b/modules/learn/pages/services-and-indexes/indexes/index_pushdowns.adoc index 4f602af33..d33ca4356 100644 --- a/modules/learn/pages/services-and-indexes/indexes/index_pushdowns.adoc +++ b/modules/learn/pages/services-and-indexes/indexes/index_pushdowns.adoc @@ -1,4 +1,4 @@ -= Pushdowns += Index Pushdowns :description: Index Pushdowns are performance optimizations where the Query engine pushes more of the work down to the Indexer. :imagesdir: ../../../assets/images :page-topic-type: concept diff --git a/modules/learn/pages/services-and-indexes/indexes/indexing-and-query-perf.adoc b/modules/learn/pages/services-and-indexes/indexes/indexing-and-query-perf.adoc index 65102b7b1..dbfa107e6 100644 --- a/modules/learn/pages/services-and-indexes/indexes/indexing-and-query-perf.adoc +++ b/modules/learn/pages/services-and-indexes/indexes/indexing-and-query-perf.adoc @@ -1,4 +1,5 @@ -= Indexing and Query Performance += Types of Primary and Secondary Index +:navtitle: Types of Index :description: This topic provides an overview of the types of index that you can create using the Index Service, and explains how they help to query for data efficiently and improve query performance. :page-topic-type: concept :page-aliases: performance:indexing-and-query-perf diff --git a/modules/learn/pages/services-and-indexes/indexes/storage-modes.adoc b/modules/learn/pages/services-and-indexes/indexes/storage-modes.adoc index f473e74d4..bca743148 100644 --- a/modules/learn/pages/services-and-indexes/indexes/storage-modes.adoc +++ b/modules/learn/pages/services-and-indexes/indexes/storage-modes.adoc @@ -1,4 +1,5 @@ -= Storage Settings += Index Storage Settings +:navtitle: Storage Settings :description: A Secondary Index can be saved in either of two ways: memory-optimized or standard. :page-topic-type: concept :page-aliases: indexes:storage-modes,understanding-couchbase:services-and-indexes/indexes/storage-modes,architecture:index-storage diff --git a/modules/n1ql/pages/n1ql-language-reference/groupby-aggregate-performance.adoc b/modules/n1ql/pages/n1ql-language-reference/groupby-aggregate-performance.adoc index 98b435d0b..db9f3035a 100644 --- a/modules/n1ql/pages/n1ql-language-reference/groupby-aggregate-performance.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/groupby-aggregate-performance.adoc @@ -1,4 +1,4 @@ -= Grouping and Aggregate Pushdown += Grouping and Aggregate Pushdowns :description: {sqlpp} Pushdowns optimize the performance of {sqlpp} queries by supporting grouping and aggregate expressions. :page-edition: enterprise edition :imagesdir: ../../assets/images From 1bf4b9290eec08c2dba1f41e9d2250990e3dadf9 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Thu, 11 Jan 2024 14:41:10 +0000 Subject: [PATCH 04/66] Update titles for SQL++ reference pages --- .../pages/n1ql-language-reference/cost-based-optimizer.adoc | 2 +- modules/n1ql/pages/n1ql-language-reference/time-series.adoc | 2 +- modules/n1ql/pages/query.adoc | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/n1ql/pages/n1ql-language-reference/cost-based-optimizer.adoc b/modules/n1ql/pages/n1ql-language-reference/cost-based-optimizer.adoc index 03974075f..018938c2b 100644 --- a/modules/n1ql/pages/n1ql-language-reference/cost-based-optimizer.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/cost-based-optimizer.adoc @@ -1,4 +1,4 @@ -= Cost-Based Optimizer += Understand the Cost-Based Optimizer for Queries :page-topic-type: concept :page-edition: Enterprise Edition :imagesdir: ../../assets/images diff --git a/modules/n1ql/pages/n1ql-language-reference/time-series.adoc b/modules/n1ql/pages/n1ql-language-reference/time-series.adoc index 3191f9415..0574bb81e 100644 --- a/modules/n1ql/pages/n1ql-language-reference/time-series.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/time-series.adoc @@ -1,4 +1,4 @@ -= Time Series Data += Store and Process Time Series Data :page-topic-type: concept :page-status: Couchbase Server 7.2 :imagesdir: ../../assets/images diff --git a/modules/n1ql/pages/query.adoc b/modules/n1ql/pages/query.adoc index f06a23206..73c1011a4 100644 --- a/modules/n1ql/pages/query.adoc +++ b/modules/n1ql/pages/query.adoc @@ -1,4 +1,4 @@ -= Query: Fundamentals += Query Data with {sqlpp} :page-aliases: n1ql:index,n1ql:n1ql-intro/data-access-using-n1ql :page-role: tiles -toc :imagesdir: ../assets/images From ed914282ccb411165997a223898fb192eeef451b Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Tue, 31 Oct 2023 13:04:00 +0000 Subject: [PATCH 05/66] Update nav for JavaScript UDFs --- modules/javascript-udfs/partials/nav.adoc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/modules/javascript-udfs/partials/nav.adoc b/modules/javascript-udfs/partials/nav.adoc index 4d50ee88c..ab76cabfc 100644 --- a/modules/javascript-udfs/partials/nav.adoc +++ b/modules/javascript-udfs/partials/nav.adoc @@ -1,4 +1,8 @@ -*** xref:javascript-udfs:javascript-functions-with-couchbase.adoc[] - **** xref:javascript-udfs:calling-javascript-from-n1ql.adoc[] - **** xref:javascript-udfs:calling-n1ql-from-javascript.adoc[] - **** xref:javascript-udfs:handling-errors-javascript-udf.adoc[] +* xref:javascript-udfs:javascript-functions-with-couchbase.adoc[] + ** xref:javascript-udfs:calling-javascript-from-n1ql.adoc[] + ** xref:javascript-udfs:calling-n1ql-from-javascript.adoc[] + ** xref:javascript-udfs:handling-errors-javascript-udf.adoc[] +* xref:guides:javascript-udfs.adoc[] + ** xref:guides:create-javascript-library.adoc[] + ** xref:guides:create-user-defined-function.adoc[] + ** xref:guides:call-user-defined-function.adoc[] From 27c3b946a93e71c31f5de657b741cde46d1f3cd7 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Tue, 31 Oct 2023 13:03:34 +0000 Subject: [PATCH 06/66] Create combined nav for Query --- modules/n1ql/partials/nav.adoc | 305 ++++++++++++++++++--------------- 1 file changed, 163 insertions(+), 142 deletions(-) diff --git a/modules/n1ql/partials/nav.adoc b/modules/n1ql/partials/nav.adoc index e07486769..f941c7321 100644 --- a/modules/n1ql/partials/nav.adoc +++ b/modules/n1ql/partials/nav.adoc @@ -1,142 +1,163 @@ -* xref:n1ql:query.adoc[Query] - ** xref:n1ql:n1ql-intro/index.adoc[] - *** xref:n1ql:n1ql-intro/queriesandresults.adoc[] - *** xref:n1ql:n1ql-intro/sysinfo.adoc[] - *** xref:n1ql:n1ql-language-reference/n1ql-error-codes.adoc[] - ** xref:n1ql:tutorial.adoc[] - ** xref:tools:tools-ref.adoc[] - *** xref:tools:cbq-shell.adoc[] - *** xref:tools:query-workbench.adoc[] - *** xref:tools:query-monitoring.adoc[] - *** xref:tools:udfs-ui.adoc[] - *** xref:n1ql:n1ql-language-reference/n1ql-auditing.adoc[] - *** xref:n1ql:n1ql-language-reference/backfill.adoc[] - ** xref:settings:query-settings.adoc[] - ** xref:learn:services-and-indexes/indexes/global-secondary-indexes.adoc[] - *** xref:learn:services-and-indexes/indexes/query-without-index.adoc[] - *** xref:learn:services-and-indexes/indexes/index-lifecycle.adoc[] - *** xref:learn:services-and-indexes/indexes/indexing-and-query-perf.adoc[] - *** xref:n1ql:n1ql-language-reference/covering-indexes.adoc[] - *** xref:learn:services-and-indexes/indexes/index-scans.adoc[] - *** xref:learn:services-and-indexes/indexes/index_pushdowns.adoc[] - *** xref:n1ql:n1ql-language-reference/groupby-aggregate-performance.adoc[] - *** xref:learn:services-and-indexes/indexes/early-filters-and-pagination.adoc[] - *** xref:learn:services-and-indexes/indexes/index-replication.adoc[] - *** xref:learn:services-and-indexes/indexes/storage-modes.adoc[] - ** xref:n1ql:advanced.adoc[] - *** xref:n1ql:n1ql-language-reference/flex-indexes.adoc[] - *** xref:n1ql:n1ql-language-reference/cost-based-optimizer.adoc[] - *** xref:n1ql:n1ql-language-reference/transactions.adoc[] - *** xref:n1ql:n1ql-language-reference/time-series.adoc[] - ** xref:n1ql:n1ql-language-reference/index.adoc[] - *** xref:n1ql:n1ql-language-reference/conventions.adoc[] - *** xref:n1ql:n1ql-language-reference/reservedwords.adoc[] - *** xref:n1ql:n1ql-language-reference/datatypes.adoc[] - *** xref:n1ql:n1ql-language-reference/literals.adoc[] - *** xref:n1ql:n1ql-language-reference/identifiers.adoc[] - *** xref:n1ql:n1ql-language-reference/operators.adoc[Operators] - **** xref:n1ql:n1ql-language-reference/arithmetic.adoc[] - **** xref:n1ql:n1ql-language-reference/collectionops.adoc[] - **** xref:n1ql:n1ql-language-reference/comparisonops.adoc[] - **** xref:n1ql:n1ql-language-reference/conditionalops.adoc[] - **** xref:n1ql:n1ql-language-reference/constructionops.adoc[] - **** xref:n1ql:n1ql-language-reference/logicalops.adoc[] - **** xref:n1ql:n1ql-language-reference/nestedops.adoc[] - **** xref:n1ql:n1ql-language-reference/sequenceops.adoc[] - **** xref:n1ql:n1ql-language-reference/stringops.adoc[] - *** xref:n1ql:n1ql-language-reference/functions.adoc[Functions] - **** xref:n1ql:n1ql-language-reference/aggregatefun.adoc[] - **** xref:n1ql:n1ql-language-reference/arrayfun.adoc[] - **** xref:n1ql:n1ql-language-reference/bitwisefun.adoc[] - **** xref:n1ql:n1ql-language-reference/comparisonfun.adoc[] - **** xref:n1ql:n1ql-language-reference/condfununknown.adoc[] - **** xref:n1ql:n1ql-language-reference/condfunnum.adoc[] - **** xref:n1ql:n1ql-language-reference/datefun.adoc[] - **** xref:n1ql:n1ql-language-reference/jsonfun.adoc[] - **** xref:n1ql:n1ql-language-reference/metafun.adoc[] - ***** xref:n1ql:n1ql-language-reference/advisor.adoc[] - ***** xref:n1ql:n1ql-language-reference/curl.adoc[] - ***** xref:n1ql:n1ql-language-reference/timeseries.adoc[] - **** xref:n1ql:n1ql-language-reference/numericfun.adoc[] - **** xref:n1ql:n1ql-language-reference/objectfun.adoc[] - **** xref:n1ql:n1ql-language-reference/patternmatchingfun.adoc[] - **** xref:n1ql:n1ql-language-reference/searchfun.adoc[] - **** xref:n1ql:n1ql-language-reference/stringfun.adoc[] - **** xref:n1ql:n1ql-language-reference/tokenfun.adoc[] - **** xref:n1ql:n1ql-language-reference/typefun.adoc[] - **** xref:n1ql:n1ql-language-reference/userfun.adoc[] - **** xref:n1ql:n1ql-language-reference/windowfun.adoc[] - *** xref:n1ql:n1ql-language-reference/subqueries.adoc[] - **** xref:n1ql:n1ql-language-reference/correlated-subqueries.adoc[] - **** xref:n1ql:n1ql-language-reference/subquery-examples.adoc[] - *** xref:n1ql:n1ql-language-reference/optimizer-hints.adoc[Hints] - **** xref:n1ql:n1ql-language-reference/query-hints.adoc[] - **** xref:n1ql:n1ql-language-reference/keyspace-hints.adoc[] - *** xref:n1ql:n1ql-language-reference/booleanlogic.adoc[] - *** Statements - **** xref:n1ql:n1ql-language-reference/advise.adoc[] - **** xref:n1ql:n1ql-language-reference/alterindex.adoc[] - **** xref:n1ql:n1ql-language-reference/altersequence.adoc[] - **** xref:n1ql:n1ql-language-reference/begin-transaction.adoc[] - **** xref:n1ql:n1ql-language-reference/build-index.adoc[] - **** xref:n1ql:n1ql-language-reference/commit-transaction.adoc[] - **** xref:n1ql:n1ql-language-reference/createcollection.adoc[] - **** xref:n1ql:n1ql-language-reference/createfunction.adoc[] - **** xref:n1ql:n1ql-language-reference/createindex.adoc[] - ***** xref:n1ql:n1ql-language-reference/indexing-arrays.adoc[] - ***** xref:n1ql:n1ql-language-reference/adaptive-indexing.adoc[] - ***** xref:n1ql:n1ql-language-reference/indexing-meta-info.adoc[] - ***** xref:n1ql:n1ql-language-reference/index-partitioning.adoc[] - **** xref:n1ql:n1ql-language-reference/createprimaryindex.adoc[] - **** xref:n1ql:n1ql-language-reference/createsequence.adoc[] - **** xref:n1ql:n1ql-language-reference/createscope.adoc[] - **** xref:n1ql:n1ql-language-reference/delete.adoc[] - **** xref:n1ql:n1ql-language-reference/dropcollection.adoc[] - **** xref:n1ql:n1ql-language-reference/dropfunction.adoc[] - **** xref:n1ql:n1ql-language-reference/dropindex.adoc[] - **** xref:n1ql:n1ql-language-reference/dropprimaryindex.adoc[] - **** xref:n1ql:n1ql-language-reference/dropsequence.adoc[] - **** xref:n1ql:n1ql-language-reference/dropscope.adoc[] - **** xref:n1ql:n1ql-language-reference/execute.adoc[] - **** xref:n1ql:n1ql-language-reference/execfunction.adoc[] - **** xref:n1ql:n1ql-language-reference/explain.adoc[] - **** xref:n1ql:n1ql-language-reference/explainfunction.adoc[] - **** xref:n1ql:n1ql-language-reference/grant.adoc[] - **** xref:n1ql:n1ql-language-reference/infer.adoc[] - **** xref:n1ql:n1ql-language-reference/insert.adoc[] - **** xref:n1ql:n1ql-language-reference/merge.adoc[] - **** xref:n1ql:n1ql-language-reference/prepare.adoc[] - **** xref:n1ql:n1ql-language-reference/revoke.adoc[] - **** xref:n1ql:n1ql-language-reference/rollback-transaction.adoc[] - **** xref:n1ql:n1ql-language-reference/savepoint.adoc[] - **** xref:n1ql:n1ql-language-reference/selectintro.adoc[SELECT] - ***** xref:n1ql:n1ql-language-reference/select-syntax.adoc[] - ***** xref:n1ql:n1ql-language-reference/selectclause.adoc[] - ***** xref:n1ql:n1ql-language-reference/with.adoc[] - ***** xref:n1ql:n1ql-language-reference/with-recursive.adoc[] - ***** xref:n1ql:n1ql-language-reference/from.adoc[] - ***** xref:n1ql:n1ql-language-reference/hints.adoc[] - ***** xref:n1ql:n1ql-language-reference/join.adoc[] - ***** xref:n1ql:n1ql-language-reference/nest.adoc[] - ***** xref:n1ql:n1ql-language-reference/unnest.adoc[] - ***** xref:n1ql:n1ql-language-reference/comma.adoc[] - ***** xref:n1ql:n1ql-language-reference/let.adoc[] - ***** xref:n1ql:n1ql-language-reference/where.adoc[] - ***** xref:n1ql:n1ql-language-reference/groupby.adoc[] - ***** xref:n1ql:n1ql-language-reference/window.adoc[] - ***** xref:n1ql:n1ql-language-reference/union.adoc[] - ***** xref:n1ql:n1ql-language-reference/orderby.adoc[] - ***** xref:n1ql:n1ql-language-reference/limit.adoc[] - ***** xref:n1ql:n1ql-language-reference/offset.adoc[] - **** xref:n1ql:n1ql-language-reference/set-transaction.adoc[] - **** xref:n1ql:n1ql-language-reference/update.adoc[] - **** xref:n1ql:n1ql-language-reference/updatestatistics.adoc[] - ***** xref:n1ql:n1ql-language-reference/statistics-expressions.adoc[] - ***** xref:n1ql:n1ql-language-reference/statistics-index.adoc[] - ***** xref:n1ql:n1ql-language-reference/statistics-indexes.adoc[] - ***** xref:n1ql:n1ql-language-reference/statistics-delete.adoc[] - **** xref:n1ql:n1ql-language-reference/upsert.adoc[] - ** xref:javascript-udfs:javascript-functions-with-couchbase.adoc[] - *** xref:javascript-udfs:calling-javascript-from-n1ql.adoc[] - *** xref:javascript-udfs:calling-n1ql-from-javascript.adoc[] - *** xref:javascript-udfs:handling-errors-javascript-udf.adoc[] +// Combined nav for Query +* xref:n1ql:query.adoc[] + ** xref:n1ql:n1ql-intro/index.adoc[] + *** xref:n1ql:n1ql-intro/queriesandresults.adoc[] + *** xref:tools:query-workbench.adoc[] + ** xref:guides:query.adoc[] + *** xref:guides:select.adoc[] + *** xref:guides:join.adoc[] + *** xref:guides:nest-unnest.adoc[] + *** xref:guides:group-agg.adoc[] + *** xref:guides:prep-statements.adoc[] + ** xref:guides:indexes.adoc[] + *** xref:guides:create-index.adoc[] + *** xref:guides:place-index.adoc[] + *** xref:guides:defer-index.adoc[] + *** xref:guides:select-index.adoc[] + *** xref:guides:drop-index.adoc[] + *** xref:guides:index-advisor.adoc[] + *** TODO: Manage Indexes + ** xref:guides:manipulate.adoc[] + *** xref:guides:insert.adoc[] + *** xref:guides:update.adoc[] + *** xref:guides:delete.adoc[] + ** xref:tools:tools-ref.adoc[] + *** xref:tools:cbq-shell.adoc[] + *** xref:tools:query-monitoring.adoc[] + *** xref:tools:udfs-ui.adoc[] + *** xref:n1ql:n1ql-language-reference/n1ql-auditing.adoc[] + *** xref:n1ql:n1ql-language-reference/backfill.adoc[] + ** Monitoring Queries + ** xref:settings:query-settings.adoc[] + ** xref:n1ql:advanced.adoc[] + *** xref:n1ql:n1ql-intro/sysinfo.adoc[] + *** xref:n1ql:n1ql-language-reference/transactions.adoc[] + *** xref:guides:transactions.adoc[] + *** xref:n1ql:n1ql-language-reference/cost-based-optimizer.adoc[] + *** xref:guides:cbo.adoc[] + *** xref:n1ql:n1ql-language-reference/flex-indexes.adoc[] + *** xref:n1ql:n1ql-language-reference/time-series.adoc[] + ** xref:n1ql:n1ql-language-reference/index.adoc[] + *** xref:n1ql:n1ql-language-reference/conventions.adoc[] + *** xref:n1ql:n1ql-language-reference/reservedwords.adoc[] + *** xref:n1ql:n1ql-language-reference/datatypes.adoc[] + *** xref:n1ql:n1ql-language-reference/literals.adoc[] + *** xref:n1ql:n1ql-language-reference/identifiers.adoc[] + *** xref:n1ql:n1ql-language-reference/operators.adoc[Operators] + **** xref:n1ql:n1ql-language-reference/arithmetic.adoc[] + **** xref:n1ql:n1ql-language-reference/collectionops.adoc[] + **** xref:n1ql:n1ql-language-reference/comparisonops.adoc[] + **** xref:n1ql:n1ql-language-reference/conditionalops.adoc[] + **** xref:n1ql:n1ql-language-reference/constructionops.adoc[] + **** xref:n1ql:n1ql-language-reference/logicalops.adoc[] + **** xref:n1ql:n1ql-language-reference/nestedops.adoc[] + **** xref:n1ql:n1ql-language-reference/sequenceops.adoc[] + **** xref:n1ql:n1ql-language-reference/stringops.adoc[] + *** xref:n1ql:n1ql-language-reference/functions.adoc[Functions] + **** xref:n1ql:n1ql-language-reference/aggregatefun.adoc[] + **** xref:n1ql:n1ql-language-reference/arrayfun.adoc[] + **** xref:n1ql:n1ql-language-reference/bitwisefun.adoc[] + **** xref:n1ql:n1ql-language-reference/comparisonfun.adoc[] + **** xref:n1ql:n1ql-language-reference/condfununknown.adoc[] + **** xref:n1ql:n1ql-language-reference/condfunnum.adoc[] + **** xref:n1ql:n1ql-language-reference/datefun.adoc[] + **** xref:n1ql:n1ql-language-reference/jsonfun.adoc[] + **** xref:n1ql:n1ql-language-reference/metafun.adoc[] + ***** xref:n1ql:n1ql-language-reference/advisor.adoc[] + ***** xref:n1ql:n1ql-language-reference/curl.adoc[] + ***** xref:n1ql:n1ql-language-reference/timeseries.adoc[] + **** xref:n1ql:n1ql-language-reference/numericfun.adoc[] + **** xref:n1ql:n1ql-language-reference/objectfun.adoc[] + **** xref:n1ql:n1ql-language-reference/patternmatchingfun.adoc[] + **** xref:n1ql:n1ql-language-reference/searchfun.adoc[] + **** xref:n1ql:n1ql-language-reference/stringfun.adoc[] + **** xref:n1ql:n1ql-language-reference/tokenfun.adoc[] + **** xref:n1ql:n1ql-language-reference/typefun.adoc[] + **** xref:n1ql:n1ql-language-reference/userfun.adoc[] + **** xref:n1ql:n1ql-language-reference/windowfun.adoc[] + *** xref:n1ql:n1ql-language-reference/subqueries.adoc[] + **** xref:n1ql:n1ql-language-reference/correlated-subqueries.adoc[] + **** xref:n1ql:n1ql-language-reference/subquery-examples.adoc[] + *** xref:n1ql:n1ql-language-reference/optimizer-hints.adoc[Hints] + **** xref:n1ql:n1ql-language-reference/query-hints.adoc[] + **** xref:n1ql:n1ql-language-reference/keyspace-hints.adoc[] + *** xref:n1ql:n1ql-language-reference/booleanlogic.adoc[] + *** Statements + **** xref:n1ql:n1ql-language-reference/advise.adoc[] + **** xref:n1ql:n1ql-language-reference/alterindex.adoc[] + **** xref:n1ql:n1ql-language-reference/altersequence.adoc[] + **** xref:n1ql:n1ql-language-reference/begin-transaction.adoc[] + **** xref:n1ql:n1ql-language-reference/build-index.adoc[] + **** xref:n1ql:n1ql-language-reference/commit-transaction.adoc[] + **** xref:n1ql:n1ql-language-reference/createcollection.adoc[] + **** xref:n1ql:n1ql-language-reference/createfunction.adoc[] + **** xref:n1ql:n1ql-language-reference/createindex.adoc[] + ***** xref:n1ql:n1ql-language-reference/indexing-arrays.adoc[] + ***** xref:n1ql:n1ql-language-reference/adaptive-indexing.adoc[] + ***** xref:n1ql:n1ql-language-reference/indexing-meta-info.adoc[] + ***** xref:n1ql:n1ql-language-reference/index-partitioning.adoc[] + **** xref:n1ql:n1ql-language-reference/createprimaryindex.adoc[] + **** xref:n1ql:n1ql-language-reference/createsequence.adoc[] + **** xref:n1ql:n1ql-language-reference/createscope.adoc[] + **** xref:n1ql:n1ql-language-reference/delete.adoc[] + **** xref:n1ql:n1ql-language-reference/dropcollection.adoc[] + **** xref:n1ql:n1ql-language-reference/dropfunction.adoc[] + **** xref:n1ql:n1ql-language-reference/dropindex.adoc[] + **** xref:n1ql:n1ql-language-reference/dropprimaryindex.adoc[] + **** xref:n1ql:n1ql-language-reference/dropsequence.adoc[] + **** xref:n1ql:n1ql-language-reference/dropscope.adoc[] + **** xref:n1ql:n1ql-language-reference/execute.adoc[] + **** xref:n1ql:n1ql-language-reference/execfunction.adoc[] + **** xref:n1ql:n1ql-language-reference/explain.adoc[] + **** xref:n1ql:n1ql-language-reference/explainfunction.adoc[] + **** xref:n1ql:n1ql-language-reference/grant.adoc[] + **** xref:n1ql:n1ql-language-reference/infer.adoc[] + **** xref:n1ql:n1ql-language-reference/insert.adoc[] + **** xref:n1ql:n1ql-language-reference/merge.adoc[] + **** xref:n1ql:n1ql-language-reference/prepare.adoc[] + **** xref:n1ql:n1ql-language-reference/revoke.adoc[] + **** xref:n1ql:n1ql-language-reference/rollback-transaction.adoc[] + **** xref:n1ql:n1ql-language-reference/savepoint.adoc[] + **** xref:n1ql:n1ql-language-reference/selectintro.adoc[SELECT] + ***** xref:n1ql:n1ql-language-reference/select-syntax.adoc[] + ***** xref:n1ql:n1ql-language-reference/selectclause.adoc[] + ***** xref:n1ql:n1ql-language-reference/with.adoc[] + ***** xref:n1ql:n1ql-language-reference/with-recursive.adoc[] + ***** xref:n1ql:n1ql-language-reference/from.adoc[] + ***** xref:n1ql:n1ql-language-reference/hints.adoc[] + ***** xref:n1ql:n1ql-language-reference/join.adoc[] + ***** xref:n1ql:n1ql-language-reference/nest.adoc[] + ***** xref:n1ql:n1ql-language-reference/unnest.adoc[] + ***** xref:n1ql:n1ql-language-reference/comma.adoc[] + ***** xref:n1ql:n1ql-language-reference/let.adoc[] + ***** xref:n1ql:n1ql-language-reference/where.adoc[] + ***** xref:n1ql:n1ql-language-reference/groupby.adoc[] + ***** xref:n1ql:n1ql-language-reference/window.adoc[] + ***** xref:n1ql:n1ql-language-reference/union.adoc[] + ***** xref:n1ql:n1ql-language-reference/orderby.adoc[] + ***** xref:n1ql:n1ql-language-reference/limit.adoc[] + ***** xref:n1ql:n1ql-language-reference/offset.adoc[] + **** xref:n1ql:n1ql-language-reference/set-transaction.adoc[] + **** xref:n1ql:n1ql-language-reference/update.adoc[] + **** xref:n1ql:n1ql-language-reference/updatestatistics.adoc[] + ***** xref:n1ql:n1ql-language-reference/statistics-expressions.adoc[] + ***** xref:n1ql:n1ql-language-reference/statistics-index.adoc[] + ***** xref:n1ql:n1ql-language-reference/statistics-indexes.adoc[] + ***** xref:n1ql:n1ql-language-reference/statistics-delete.adoc[] + **** xref:n1ql:n1ql-language-reference/upsert.adoc[] + ** xref:n1ql:n1ql-language-reference/n1ql-error-codes.adoc[] + ** xref:learn:services-and-indexes/indexes/global-secondary-indexes.adoc[] + *** xref:learn:services-and-indexes/indexes/query-without-index.adoc[] + *** xref:learn:services-and-indexes/indexes/index-lifecycle.adoc[] + *** xref:learn:services-and-indexes/indexes/indexing-and-query-perf.adoc[] + *** xref:n1ql:n1ql-language-reference/covering-indexes.adoc[] + *** xref:learn:services-and-indexes/indexes/index-scans.adoc[] + *** xref:learn:services-and-indexes/indexes/index_pushdowns.adoc[] + *** xref:n1ql:n1ql-language-reference/groupby-aggregate-performance.adoc[] + *** xref:learn:services-and-indexes/indexes/early-filters-and-pagination.adoc[] + *** xref:learn:services-and-indexes/indexes/index-replication.adoc[] + *** xref:learn:services-and-indexes/indexes/storage-modes.adoc[] + ** xref:javascript-udfs:javascript-functions-with-couchbase.adoc[] + *** xref:javascript-udfs:calling-javascript-from-n1ql.adoc[] + *** xref:javascript-udfs:calling-n1ql-from-javascript.adoc[] + *** xref:javascript-udfs:handling-errors-javascript-udf.adoc[] From 546e7a0ed988672b2b8be5f791b9f092fa81ee3e Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 10 Nov 2023 00:32:50 +0000 Subject: [PATCH 07/66] Update pagination for select query guides --- modules/guides/pages/group-agg.adoc | 2 +- modules/guides/pages/prep-statements.adoc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/guides/pages/group-agg.adoc b/modules/guides/pages/group-agg.adoc index 14c8fdb5e..05904ec5c 100644 --- a/modules/guides/pages/group-agg.adoc +++ b/modules/guides/pages/group-agg.adoc @@ -1,7 +1,7 @@ = Calculate Aggregates and Group Results :page-topic-type: guide :page-partial: -:page-pagination: prev +:page-pagination: :imagesdir: ../assets/images :tabs: :description: How to calculate aggregates and group the results. diff --git a/modules/guides/pages/prep-statements.adoc b/modules/guides/pages/prep-statements.adoc index b24659669..db2f9b7aa 100644 --- a/modules/guides/pages/prep-statements.adoc +++ b/modules/guides/pages/prep-statements.adoc @@ -1,7 +1,7 @@ = Prepare Statements for Reuse :page-topic-type: guide :page-partial: -:page-pagination: +:page-pagination: prev :imagesdir: ../assets/images :description: How to create and execute prepared statements, including placeholder parameters. From 927ad7fcaf16abf2b149127061dac87d1de0ae97 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 10 Nov 2023 00:33:03 +0000 Subject: [PATCH 08/66] Update pagination for import guide --- modules/guides/pages/import.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/guides/pages/import.adoc b/modules/guides/pages/import.adoc index 979c229f4..c4581f3e0 100644 --- a/modules/guides/pages/import.adoc +++ b/modules/guides/pages/import.adoc @@ -3,6 +3,7 @@ :page-topic-type: guide :imagesdir: ../assets/images :page-toclevels: 2 +:page-pagination: prev :description: How to import documents into Couchbase with an SDK. :github: Click the icon:github[] View button to see any code sample in context. From d4fecd73252e8969ce2e52a94cc1ebe9ab474bc6 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 10 Nov 2023 00:33:28 +0000 Subject: [PATCH 09/66] Update Advanced Query Features landing page --- modules/n1ql/pages/advanced.adoc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/n1ql/pages/advanced.adoc b/modules/n1ql/pages/advanced.adoc index bbddcbae3..992487d90 100644 --- a/modules/n1ql/pages/advanced.adoc +++ b/modules/n1ql/pages/advanced.adoc @@ -1,4 +1,4 @@ -= Advanced Features += Advanced Query Features :page-role: tiles -toc :!sectids: @@ -26,12 +26,14 @@ Flex Indexes provide the ability for a {sqlpp} query to use a Full Text Search i The cost-based optimizer takes into account the cost of memory, CPU, network transport, and disk usage when choosing the optimal plan to execute a query. * xref:n1ql:n1ql-language-reference/cost-based-optimizer.adoc[] +* xref:guides:cbo.adoc[] == {sqlpp} Support for Couchbase Transactions {sqlpp} offers full support for Couchbase ACID transactions. * xref:n1ql:n1ql-language-reference/transactions.adoc[] +* xref:guides:transactions.adoc[] == Time Series Data From 7290df0e04b150ef281cd52193c561dfad792eed Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 17 Nov 2023 12:01:45 +0000 Subject: [PATCH 10/66] Update service descriptions --- modules/n1ql/pages/query.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/n1ql/pages/query.adoc b/modules/n1ql/pages/query.adoc index 73c1011a4..784cb6819 100644 --- a/modules/n1ql/pages/query.adoc +++ b/modules/n1ql/pages/query.adoc @@ -30,11 +30,11 @@ To issue queries, you can use a Couchbase SDK, the REST API, or the tools provid == When to Use Queries -Use the Query service for operational queries -- for example, the front-end queries behind every page display or navigation. +Use the Query service for query analysis and execution to help you build applications. -Use the Analytics service when you don't know every aspect of the query in advance -- for example, if the data access patterns change frequently, or you want to avoid creating an index for each data access pattern, or you want to run ad hoc queries for data exploration or visualization. +Use the Analytics service for online analytical processing (OLAP) -- large datasets with complex analytical or ad hoc queries. -Use the Full Text Search service when you want to take advantage of natural-language querying. +Use the Search service for full-text search with natural language processing across multiple data types and languages -- custom text analysis, Geospatial search, and more. == {sqlpp} for Query From ceaa989c05da19c2309180b35f99208a557f248d Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 17 Nov 2023 12:17:52 +0000 Subject: [PATCH 11/66] Move Index Consistency from Queries and Results to Index Availability and Performance. --- .../indexes/index-replication.adoc | 13 +++++++++++- .../pages/n1ql-intro/queriesandresults.adoc | 21 +------------------ 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/modules/learn/pages/services-and-indexes/indexes/index-replication.adoc b/modules/learn/pages/services-and-indexes/indexes/index-replication.adoc index 935fd87dd..5f18402fe 100644 --- a/modules/learn/pages/services-and-indexes/indexes/index-replication.adoc +++ b/modules/learn/pages/services-and-indexes/indexes/index-replication.adoc @@ -113,7 +113,17 @@ For detailed information, refer to {index-partitioning}[Index Partitioning]. (((consistency))) (((consistent))) -Whereas Couchbase Server handles data-mutations with _full consistency_ — all mutations to a given key are applied to the same vBucket, and become immediately available — it maintains indexes with degrees of _eventual consistency_, determined by means of the following query consistency-options, specified per query: +Whereas Couchbase Server handles data-mutations with _full consistency_ — all mutations to a given key are applied to the same vBucket, and become immediately available — it maintains indexes with degrees of _eventual consistency_. +This means that indexes may at times not contain the most up-to-date information, especially when deployed in a write-heavy environment: changes may take some time to propagate over to the index nodes. + +The asynchronous updating nature of global secondary indexes means that they can be very quick to query and do not require the additional overhead of index recalculations at the time documents are modified. +{sqlpp} queries are forwarded to the relevant indexes and the queries are done based on indexed information, rather than the documents as they exist in the data service. + +With default query options, the query service will rely on the current index state: the most up-to-date document versions are not retrieved, and only the indexed versions are queried. +This provides the best performance. +Only updates occurring with a small time frame may not yet have been indexed. + +The query service can use the latest versions of documents by modifying the [.api]`scan_consistency` parameter, specified per query: // tag::scan_consistency[] * `not_bounded`: Executes the query immediately, without requiring any consistency for the query. @@ -125,6 +135,7 @@ If index-maintenance is running behind, the query waits for it to catch up. For {sqlpp}, the default consistency is `not_bounded`. // end::scan_consistency[] +When using the `request_plus` consistency mode, the query service will ensure that the indexes are synchronized with the data service before querying. You can specify the scan consistency via the {query-preferences}[run-time preferences] in the Query Workbench, or by setting the {scan_consistency}[scan_consistency] request-level parameter. diff --git a/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc b/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc index 49769c7ae..6befa5a81 100644 --- a/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc +++ b/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc @@ -1,7 +1,7 @@ = {sqlpp} Queries and Results :description: An overview of common concepts that you will need to understand in order to use the Query service. :page-topic-type: concept -:keywords: n1ql, sqlpp, query, result, parameter, prepared, prepared statement, consistent, consistency +:keywords: n1ql, sqlpp, query, result, parameter, prepared, prepared statement [abstract] {description} @@ -185,22 +185,3 @@ When you create an index, you can choose to _defer_ the build phase, and then bu This allows multiple indexes to be built at once rather than having to re-scan the entire keyspace for each index. For more information and examples, refer to xref:n1ql:n1ql-language-reference/createprimaryindex.adoc[CREATE PRIMARY INDEX], xref:n1ql:n1ql-language-reference/createindex.adoc[CREATE INDEX], and xref:n1ql:n1ql-language-reference/build-index.adoc[BUILD INDEX]. - -== Index Consistency - -(((consistent))) -(((consistency))) -Because indexes are by design outside the data service, they are eventually consistent with respect to changes to documents and, depending on how you issue the query, may at times not contain the most up-to-date information. -This may especially be the case when deployed in a write-heavy environment: changes may take some time to propagate over to the index nodes. - -The asynchronous updating nature of global secondary indexes means that they can be very quick to query and do not require the additional overhead of index recalculations at the time documents are modified. -{sqlpp} queries are forwarded to the relevant indexes and the queries are done based on indexed information, rather than the documents as they exist in the data service. - -With default query options, the query service will rely on the current index state: the most up-to-date document versions are not retrieved, and only the indexed versions are queried. -This provides the best performance. -Only updates occurring with a small time frame may not yet have been indexed. - -The query service can use the latest versions of documents by modifying the [.api]`consistency` of the query. -This is done by setting the [.api]`scan_consistency` parameter to [.api]`REQUEST_PLUS`. -When using this consistency mode, the query service will ensure that the indexes are synchronized with the data service before querying. -For more information, refer to xref:settings:query-settings.adoc#scan_consistency[Query Settings]. From e7533c8a35d1594ccd816ac7bf01d0329c384cff Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 17 Nov 2023 12:22:01 +0000 Subject: [PATCH 12/66] Move Index Building from Queries and Results to Index Lifecycle --- .../indexes/index-lifecycle.adoc | 6 +++++- .../pages/n1ql-intro/queriesandresults.adoc | 17 ++--------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/modules/learn/pages/services-and-indexes/indexes/index-lifecycle.adoc b/modules/learn/pages/services-and-indexes/indexes/index-lifecycle.adoc index d0de6b8e7..a794bb84a 100644 --- a/modules/learn/pages/services-and-indexes/indexes/index-lifecycle.adoc +++ b/modules/learn/pages/services-and-indexes/indexes/index-lifecycle.adoc @@ -27,7 +27,11 @@ image::services-and-indexes/indexes/index-lifecycle-build.png[align=center] . The projector evaluates each document and extracts the indexed field(s). . The indexed fields are forwarded to the indexer. -Refer to xref:n1ql:n1ql-intro/queriesandresults.adoc#index-building[Index Building] for further details. +Creating and building indexes can take a long time on keyspaces with lots of existing documents. +When you create an index, you can choose to _defer_ the build phase, and then build the deferred index later. +This allows multiple indexes to be built at once rather than having to re-scan the entire keyspace for each index. + +For more information and examples, refer to xref:n1ql:n1ql-language-reference/createprimaryindex.adoc[CREATE PRIMARY INDEX], xref:n1ql:n1ql-language-reference/createindex.adoc[CREATE INDEX], and xref:n1ql:n1ql-language-reference/build-index.adoc[BUILD INDEX]. == Index Updates diff --git a/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc b/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc index 6befa5a81..66f823a76 100644 --- a/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc +++ b/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc @@ -1,7 +1,7 @@ = {sqlpp} Queries and Results :description: An overview of common concepts that you will need to understand in order to use the Query service. :page-topic-type: concept -:keywords: n1ql, sqlpp, query, result, parameter, prepared, prepared statement +:keywords: n1ql, sqlpp, query, result, parameter, prepared, prepared statement, index [abstract] {description} @@ -171,17 +171,4 @@ For example, creating a secondary index on the `name` and `email` fields in the Note that you do not need to create an index on a keyspace to be able to query that keyspace. If no indexes exist on a keyspace, Couchbase Server uses a sequential scan to query that index. -For more information, refer to xref:learn:services-and-indexes/indexes/global-secondary-indexes.adoc[Using Indexes]. - -== Index Building - -Index creation happens in two phases: the [def]_creation phase_ and the [def]_build phase_. -During the creation phase, the Index Service validates the user input, decides the host node for the index, and creates the index metadata on the host node. -During the build phase, the Index Service reads the documents from the Data Service and builds the index. -The build phase cannot start until the creation phase is complete. - -Creating and building indexes can take a long time on keyspaces with lots of existing documents. -When you create an index, you can choose to _defer_ the build phase, and then build the deferred index later. -This allows multiple indexes to be built at once rather than having to re-scan the entire keyspace for each index. - -For more information and examples, refer to xref:n1ql:n1ql-language-reference/createprimaryindex.adoc[CREATE PRIMARY INDEX], xref:n1ql:n1ql-language-reference/createindex.adoc[CREATE INDEX], and xref:n1ql:n1ql-language-reference/build-index.adoc[BUILD INDEX]. +For more information, refer to xref:learn:services-and-indexes/indexes/global-secondary-indexes.adoc[]. From 89b298fec99bfd31b27d8e758a4db7c53b4aeefe Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 17 Nov 2023 12:47:47 +0000 Subject: [PATCH 13/66] Updating Query page with Dina's suggestions --- modules/n1ql/pages/query.adoc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/n1ql/pages/query.adoc b/modules/n1ql/pages/query.adoc index 784cb6819..0caa06703 100644 --- a/modules/n1ql/pages/query.adoc +++ b/modules/n1ql/pages/query.adoc @@ -24,9 +24,9 @@ endif::[] As its primary function, the Query service enables you to issue queries to extract data from Couchbase server. You can also issue queries for data definition (defining indexes) and data manipulation (adding or deleting data). -The Query Service depends on both the Index Service and the Data Service. +The Query Service needs both the Index Service and the Data Service to be running on Couchbase Server. -To issue queries, you can use a Couchbase SDK, the REST API, or the tools provided by the Query service: the cbq shell or the Query workbench. +You can run queries from the Query workbench, the cbq shell, the REST API, or the Couchbase SDKs. == When to Use Queries @@ -38,8 +38,9 @@ Use the Search service for full-text search with natural language processing acr == {sqlpp} for Query -Couchbase Server can be queried using {sqlpp}, the Couchbase Server query language. -The Couchbase implementation of {sqlpp} was formerly known as https://www.couchbase.com/products/n1ql[N1QL^] (pronounced "nickel"), which derives its name from the non-first normal form of the data model. +To create queries, you must use a query language that is structured so that the Query Service understands what it needs to retrieve. +Couchbase Server uses a query language called {sqlpp}. +The Couchbase implementation of {sqlpp} was formerly known as https://www.couchbase.com/products/n1ql[N1QL^] (pronounced "nickel"). {sqlpp} is an expressive, powerful, and complete SQL dialect for querying, transforming, and manipulating JSON data. Based on SQL, it's immediately familiar to developers who can quickly start developing rich applications. From 0dca02e780ecc6bd434082bf144d0a09310abef6 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 12 Jan 2024 22:12:24 +0000 Subject: [PATCH 14/66] Update Query Concepts page with Dina's suggestions --- .../pages/n1ql-intro/queriesandresults.adoc | 48 +++++++++++-------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc b/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc index 66f823a76..7afc6ba23 100644 --- a/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc +++ b/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc @@ -1,4 +1,4 @@ -= {sqlpp} Queries and Results += Query Concepts :description: An overview of common concepts that you will need to understand in order to use the Query service. :page-topic-type: concept :keywords: n1ql, sqlpp, query, result, parameter, prepared, prepared statement, index @@ -6,25 +6,32 @@ [abstract] {description} -== Queries +== {sqlpp} Queries -A {sqlpp} query is a string parsed by the query service. +A {sqlpp} query is a string parsed by the Query service. The {sqlpp} query language is based on SQL, but designed for structured and flexible JSON documents. -As with SQL, you can have nested sub-queries. -{sqlpp} queries run on JSON documents, and you can query over multiple documents by using the `JOIN` clause. +* As with SQL, a {sqlpp} query can have nested sub-queries. -Because data in {sqlpp} can be nested, there are operators and functions that let you navigate through nested arrays. -Because data can be irregular, you can specify conditions in the `WHERE` clause to retrieve data. +* {sqlpp} queries run on JSON documents, and you can query over multiple documents by using the `JOIN` clause. -You can use standard `GROUP BY`, `ORDER BY`, `LIMIT`, and `OFFSET` clauses as well as a rich set of functions to transform the results as needed. +* Data in JSON documents can be nested. +There are operators and functions that let you navigate through nested arrays. + +* Data in JSON documents can be irregular. +You can specify conditions in the `WHERE` clause to retrieve data. + +* You can transform the results using standard `GROUP BY`, `ORDER BY`, `LIMIT`, and `OFFSET` clauses as well as a rich set of functions. == Results The result for each query is a set of JSON documents. -The returned document set is not required to be uniform, though it can be. -A `SELECT` statement that specifies a fixed set of attribute (column) names results in a uniform set of documents and a `SELECT` statement that specifies the wild card (*) results in a non-uniform result set. -The only guarantee is that every returned document meets the query criteria. +The returned document set may be uniform or non-uniform. + +* A `SELECT` statement that specifies a fixed set of attribute (column) names results in a uniform set of documents. +* A `SELECT` statement that specifies the wild card (*) results in a non-uniform result set. + +Every returned document meets the query criteria. Here's a sample query and the result returned: @@ -66,13 +73,16 @@ SELECT name, brewery_id from `beer-sample` WHERE brewery_id IS NOT MISSING LIMIT [#keyspace-reference] == Keyspace References -Couchbase stores data within a logical hierarchy of buckets, scopes, and collections. +Couchbase stores data within a xref:learn:data/scopes-and-collections.adoc[logical hierarchy] of buckets, scopes, and collections. This enables separation between documents of different types. For most queries, you must provide one or more keyspace references to specify the data sources for the query. -A keyspace reference may be a _full_ keyspace reference: a path comprising the bucket, the scope, and the collection which contains the documents you want. +A keyspace reference may be: + +* A _full_ keyspace reference: a path comprising the bucket, the scope, and the collection which contains the documents you want. + +* A _partial_ keyspace reference, comprising the collection name only. -Alternatively, the keyspace reference may be a _partial_ keyspace reference, comprising the collection name only. When a query contains partial keyspace references, you must set the <> to specify a bucket and scope before running a query. Partial keyspace references are resolved using the bucket and scope supplied by the query context. @@ -120,8 +130,8 @@ See xref:n1ql-language-reference/index.adoc#nested-path-expressions[Nested Path [#named-placeholders] == Parameterized Queries -{sqlpp} allows the use of placeholders to declare dynamic query parameters. -When the query is constructed, it may receive arguments, with each argument being used as the placeholder value in the query. +Use placeholders to declare dynamic query parameters in {sqlpp}. +When you run the query, you can pass arguments to it, with each argument being used as the placeholder value in the query. Placeholders in the query may be numbered positional placeholders, unnumbered positional placeholders, or named placeholders. @@ -134,7 +144,7 @@ The first occurrence of `?` refers to the first argument, the second occurrence * Named placeholders take the form of `$name` or `@name`. This is particularly useful when there are many query parameters, and ensuring that they are all in the correct order may be cumbersome. -You can set query parameter values when you run the query, using the cbq query shell, the Query Workbench, or the {sqlpp} REST API. +To set query parameter values when you run the query, use the cbq query shell, the Query tab, or the {sqlpp} REST API. For more information and examples, refer to xref:settings:query-settings.adoc#section_srh_tlm_n1b[Named Parameters and Positional Parameters]. @@ -145,8 +155,8 @@ When a {sqlpp} query is sent to the server, the server inspects the query and pa Once this is done, it generates a _query plan_. The computation for the plan adds some additional processing time and overhead for the query. -A frequently-used query can be _prepared_ so that its plan is generated only once. -Subsequent queries using the same query will use the pre-generated plan instead, saving on the overhead and processing of the plan each time. +You can _prepare_ a frequently-used query so that its plan is generated only once. +Subsequent queries using the same query string will use the pre-generated plan instead, saving on the overhead and processing of the plan each time. NOTE: Parameterized queries are considered the same query for caching and planning purposes, even if the supplied parameters are different. From e9b30b1932e904c255f045ce5aeb9b9679f67154 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 17 Nov 2023 17:36:41 +0000 Subject: [PATCH 15/66] Fix pagination for Index Advisor guide --- modules/guides/pages/index-advisor.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/guides/pages/index-advisor.adoc b/modules/guides/pages/index-advisor.adoc index 087d52086..70aedb98b 100644 --- a/modules/guides/pages/index-advisor.adoc +++ b/modules/guides/pages/index-advisor.adoc @@ -1,6 +1,6 @@ = Get Index Advice :page-topic-type: guide -:page-partial: +:page-partial: prev :page-pagination: :imagesdir: ../assets/images :page-edition: Enterprise Edition From 7e49c19602c805299fc3d541c078ad6db92bd12a Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Tue, 31 Oct 2023 13:01:07 +0000 Subject: [PATCH 16/66] Update landing pages --- modules/guides/pages/indexes.adoc | 22 ++++++++++++++-------- modules/guides/pages/optimize.adoc | 6 ------ modules/guides/pages/query.adoc | 14 ++++++++++---- 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/modules/guides/pages/indexes.adoc b/modules/guides/pages/indexes.adoc index 94a1b1529..984d121a0 100644 --- a/modules/guides/pages/indexes.adoc +++ b/modules/guides/pages/indexes.adoc @@ -23,38 +23,44 @@ endif::[] {description} + include::partial$other-guide.adoc[] -== Creating Indexes +== Create Indexes include::create-index.adoc[tags=intro] * xref:create-index.adoc[Creating Indexes] -== Index Placement +== Place Indexes include::place-index.adoc[tags=intro] * xref:place-index.adoc[Index Placement] -== Deferring Indexes +== Defer Indexes include::defer-index.adoc[tags=intro] * xref:defer-index.adoc[Deferring Indexes] -== Selecting Indexes +== Select Indexes include::select-index.adoc[tags=intro] * xref:select-index.adoc[Selecting Indexes] -== Dropping Indexes +== Drop Indexes include::drop-index.adoc[tags=intro] * xref:drop-index.adoc[Dropping Indexes] -== Related Links +== Get Index Advice -Refer to the following guide for information on the Index Advisor, and other optimization features. +include::index-advisor.adoc[tags=intro] -* xref:optimize.adoc[] \ No newline at end of file +* xref:index-advisor.adoc[] + +== Manage Indexes + +You can perform some index management tasks using the Couchbase Capella UI. + +* xref:clusters:index-service/manage-indexes.adoc[] diff --git a/modules/guides/pages/optimize.adoc b/modules/guides/pages/optimize.adoc index 62c1633b9..8ecf14997 100644 --- a/modules/guides/pages/optimize.adoc +++ b/modules/guides/pages/optimize.adoc @@ -23,12 +23,6 @@ endif::[] {description} + include::partial$other-guide.adoc[] -== Prepared Statements - -include::prep-statements.adoc[tags=intro] - -* xref:prep-statements.adoc[] - == Index Advisor include::index-advisor.adoc[tags=intro] diff --git a/modules/guides/pages/query.adoc b/modules/guides/pages/query.adoc index 95af9e697..2cc548619 100644 --- a/modules/guides/pages/query.adoc +++ b/modules/guides/pages/query.adoc @@ -26,19 +26,19 @@ Key-value operations are quicker, but querying documents allows for richer searc include::partial$other-guide.adoc[] -== Selecting Data with Queries +== Read Data and Return Results include::select.adoc[tags=intro] * xref:select.adoc[] -== Querying Across Relationships +== Query Across Relationships include::join.adoc[tags=intro] * xref:join.adoc[] -== Nesting and Unnesting Documents +== Nest and Unnest Documents include::nest-unnest.adoc[tags=intro] @@ -48,4 +48,10 @@ include::nest-unnest.adoc[tags=intro] include::group-agg.adoc[tags=intro] -* xref:group-agg.adoc[] \ No newline at end of file +* xref:group-agg.adoc[] + +== Prepared Statements + +include::prep-statements.adoc[tags=intro] + +* xref:prep-statements.adoc[] From 61570af434504e916d9db1a6df586e230cd715a8 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 17 Nov 2023 17:42:37 +0000 Subject: [PATCH 17/66] Add Query Admin section; move System Information and Manage Indexes sections into it --- modules/guides/pages/indexes.adoc | 6 ------ modules/n1ql/pages/admin.adoc | 36 +++++++++++++++++++++++++++++++ modules/n1ql/partials/nav.adoc | 10 ++++----- 3 files changed, 41 insertions(+), 11 deletions(-) create mode 100644 modules/n1ql/pages/admin.adoc diff --git a/modules/guides/pages/indexes.adoc b/modules/guides/pages/indexes.adoc index 984d121a0..46972fa2d 100644 --- a/modules/guides/pages/indexes.adoc +++ b/modules/guides/pages/indexes.adoc @@ -58,9 +58,3 @@ include::drop-index.adoc[tags=intro] include::index-advisor.adoc[tags=intro] * xref:index-advisor.adoc[] - -== Manage Indexes - -You can perform some index management tasks using the Couchbase Capella UI. - -* xref:clusters:index-service/manage-indexes.adoc[] diff --git a/modules/n1ql/pages/admin.adoc b/modules/n1ql/pages/admin.adoc new file mode 100644 index 000000000..72335e641 --- /dev/null +++ b/modules/n1ql/pages/admin.adoc @@ -0,0 +1,36 @@ += Administer Queries and Indexes +:page-role: tiles -toc +:!sectids: + +// Pass through HTML styles for this page. + +ifdef::basebackend-html[] +++++ + +++++ +endif::[] + +== Get System Information + +{sqlpp} has a system namespace that stores metadata about data containers. +You can query the system namespace to get information about the data containers. + +* xref:n1ql:n1ql-intro/sysinfo.adoc[] + +== Manage Primary and Secondary Indexes + +You can monitor and manage primary and secondary indexes using the Couchbase Web Console. + +* xref:manage:monitor/monitoring-indexes.adoc[] +* xref:manage:manage-indexes/manage-indexes.adoc[] + +== Related Links + +The Monitor Queries page gives more information about monitoring queries. + +* xref:manage:monitor/monitoring-n1ql-query.adoc[] diff --git a/modules/n1ql/partials/nav.adoc b/modules/n1ql/partials/nav.adoc index f941c7321..458bfe3a3 100644 --- a/modules/n1ql/partials/nav.adoc +++ b/modules/n1ql/partials/nav.adoc @@ -16,7 +16,6 @@ *** xref:guides:select-index.adoc[] *** xref:guides:drop-index.adoc[] *** xref:guides:index-advisor.adoc[] - *** TODO: Manage Indexes ** xref:guides:manipulate.adoc[] *** xref:guides:insert.adoc[] *** xref:guides:update.adoc[] @@ -27,16 +26,17 @@ *** xref:tools:udfs-ui.adoc[] *** xref:n1ql:n1ql-language-reference/n1ql-auditing.adoc[] *** xref:n1ql:n1ql-language-reference/backfill.adoc[] - ** Monitoring Queries - ** xref:settings:query-settings.adoc[] ** xref:n1ql:advanced.adoc[] - *** xref:n1ql:n1ql-intro/sysinfo.adoc[] *** xref:n1ql:n1ql-language-reference/transactions.adoc[] *** xref:guides:transactions.adoc[] *** xref:n1ql:n1ql-language-reference/cost-based-optimizer.adoc[] *** xref:guides:cbo.adoc[] *** xref:n1ql:n1ql-language-reference/flex-indexes.adoc[] *** xref:n1ql:n1ql-language-reference/time-series.adoc[] + ** xref:n1ql:admin.adoc[] + *** xref:n1ql:n1ql-intro/sysinfo.adoc[] + *** xref:clusters:index-service/manage-indexes.adoc[] + *** xref:settings:query-settings.adoc[] ** xref:n1ql:n1ql-language-reference/index.adoc[] *** xref:n1ql:n1ql-language-reference/conventions.adoc[] *** xref:n1ql:n1ql-language-reference/reservedwords.adoc[] @@ -145,7 +145,7 @@ ***** xref:n1ql:n1ql-language-reference/statistics-indexes.adoc[] ***** xref:n1ql:n1ql-language-reference/statistics-delete.adoc[] **** xref:n1ql:n1ql-language-reference/upsert.adoc[] - ** xref:n1ql:n1ql-language-reference/n1ql-error-codes.adoc[] + *** xref:n1ql:n1ql-language-reference/n1ql-error-codes.adoc[] ** xref:learn:services-and-indexes/indexes/global-secondary-indexes.adoc[] *** xref:learn:services-and-indexes/indexes/query-without-index.adoc[] *** xref:learn:services-and-indexes/indexes/index-lifecycle.adoc[] From 5148f2fb6fde1de296d2273d9b49c01252d454a8 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 17 Nov 2023 17:43:38 +0000 Subject: [PATCH 18/66] Update System Info page with Dina's suggestions --- modules/n1ql/pages/n1ql-intro/sysinfo.adoc | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/modules/n1ql/pages/n1ql-intro/sysinfo.adoc b/modules/n1ql/pages/n1ql-intro/sysinfo.adoc index 605cc7e1a..cdaff00ea 100644 --- a/modules/n1ql/pages/n1ql-intro/sysinfo.adoc +++ b/modules/n1ql/pages/n1ql-intro/sysinfo.adoc @@ -1,18 +1,17 @@ = Get System Information :page-topic-type: concept -:description: {sqlpp} has a system catalog that stores metadata about a database. \ -The system catalog is a namespace called system. +:description: {sqlpp} has a system namespace that stores metadata about data containers. \ +You can query the system namespace to get information about the data containers. [abstract] -{sqlpp} has a system catalog that stores metadata about a database. -The system catalog is a namespace called _system_. +{description} -There is a keyspace for each type of artifact. -The keyspace names are plural in order to avoid conflicting with {sqlpp} keywords. +There is a catalog for each type of data container. +The catalog names are plural in order to avoid conflicting with {sqlpp} keywords. == Logical Hierarchy -{sqlpp} has the following artifacts: +With the `system` namespace, you can get information about following types of data container: Datastores:: @@ -66,7 +65,7 @@ Types of indexes include b-tree (ForestDB or MOI) and view indexes. Dual:: -The dual keyspace has been added for evaluating constant expressions. +The dual catalog has been added for evaluating constant expressions. It contains a single entry with no attributes. [#querying-datastores] From 975058c6933d284ec6ab1c5a438ef18e5d4eb511 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 17 Nov 2023 19:05:05 +0000 Subject: [PATCH 19/66] Fix bugs --- modules/guides/pages/index-advisor.adoc | 4 ++-- modules/n1ql/pages/advanced.adoc | 12 ++++++------ modules/n1ql/partials/nav.adoc | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/guides/pages/index-advisor.adoc b/modules/guides/pages/index-advisor.adoc index 70aedb98b..5ae528c23 100644 --- a/modules/guides/pages/index-advisor.adoc +++ b/modules/guides/pages/index-advisor.adoc @@ -1,7 +1,7 @@ = Get Index Advice :page-topic-type: guide -:page-partial: prev -:page-pagination: +:page-partial: +:page-pagination: prev :imagesdir: ../assets/images :page-edition: Enterprise Edition :description: How to use the Index Advisor to recommend indexes for your queries. diff --git a/modules/n1ql/pages/advanced.adoc b/modules/n1ql/pages/advanced.adoc index 992487d90..30dbbcc66 100644 --- a/modules/n1ql/pages/advanced.adoc +++ b/modules/n1ql/pages/advanced.adoc @@ -15,12 +15,6 @@ ifdef::basebackend-html[] ++++ endif::[] -== Flex Indexes - -Flex Indexes provide the ability for a {sqlpp} query to use a Full Text Search index transparently with standard {sqlpp} syntax. - -* xref:n1ql:n1ql-language-reference/flex-indexes.adoc[] - == Cost-Based Optimizer The cost-based optimizer takes into account the cost of memory, CPU, network transport, and disk usage when choosing the optimal plan to execute a query. @@ -35,6 +29,12 @@ The cost-based optimizer takes into account the cost of memory, CPU, network tra * xref:n1ql:n1ql-language-reference/transactions.adoc[] * xref:guides:transactions.adoc[] +== Flex Indexes + +Flex Indexes provide the ability for a {sqlpp} query to use a Full Text Search index transparently with standard {sqlpp} syntax. + +* xref:n1ql:n1ql-language-reference/flex-indexes.adoc[] + == Time Series Data In Couchbase Server 7.2 and later, {sqlpp} enables you to store and query time series data. diff --git a/modules/n1ql/partials/nav.adoc b/modules/n1ql/partials/nav.adoc index 458bfe3a3..3163ff080 100644 --- a/modules/n1ql/partials/nav.adoc +++ b/modules/n1ql/partials/nav.adoc @@ -27,10 +27,10 @@ *** xref:n1ql:n1ql-language-reference/n1ql-auditing.adoc[] *** xref:n1ql:n1ql-language-reference/backfill.adoc[] ** xref:n1ql:advanced.adoc[] - *** xref:n1ql:n1ql-language-reference/transactions.adoc[] - *** xref:guides:transactions.adoc[] *** xref:n1ql:n1ql-language-reference/cost-based-optimizer.adoc[] *** xref:guides:cbo.adoc[] + *** xref:n1ql:n1ql-language-reference/transactions.adoc[] + *** xref:guides:transactions.adoc[] *** xref:n1ql:n1ql-language-reference/flex-indexes.adoc[] *** xref:n1ql:n1ql-language-reference/time-series.adoc[] ** xref:n1ql:admin.adoc[] From 9b375b7514924ec80d0ceac8e2ebf38ac003d1b1 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 17 Nov 2023 19:05:33 +0000 Subject: [PATCH 20/66] Query Service Landing Page --- modules/n1ql/pages/query.adoc | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/modules/n1ql/pages/query.adoc b/modules/n1ql/pages/query.adoc index 0caa06703..6eda63c24 100644 --- a/modules/n1ql/pages/query.adoc +++ b/modules/n1ql/pages/query.adoc @@ -45,12 +45,22 @@ The Couchbase implementation of {sqlpp} was formerly known as https://www.couchb {sqlpp} is an expressive, powerful, and complete SQL dialect for querying, transforming, and manipulating JSON data. Based on SQL, it's immediately familiar to developers who can quickly start developing rich applications. -== What's Next +== How-To Guides * xref:n1ql:n1ql-intro/index.adoc[] -* xref:n1ql:tutorial.adoc[] -* xref:tools:tools-ref.adoc[] +* xref:guides:query.adoc[] +* xref:guides:indexes.adoc[] +* xref:guides:manipulate.adoc[] +* xref:n1ql:advanced.adoc[] + +== Query Administration + * xref:settings:query-settings.adoc[] +* xref:n1ql:admin.adoc[] + +== Query References + +* xref:n1ql:n1ql-language-reference/index.adoc[] * xref:learn:services-and-indexes/indexes/global-secondary-indexes.adoc[] * xref:n1ql:advanced.adoc[] * xref:n1ql:n1ql-language-reference/index.adoc[] From d4e198405b9db4ae9e6c953a84062be2a5f87f86 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 17 Nov 2023 19:05:45 +0000 Subject: [PATCH 21/66] Run Queries --- modules/n1ql/pages/n1ql-intro/index.adoc | 30 ++++++++++++++---------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/modules/n1ql/pages/n1ql-intro/index.adoc b/modules/n1ql/pages/n1ql-intro/index.adoc index 76fdb7706..fb3c63948 100644 --- a/modules/n1ql/pages/n1ql-intro/index.adoc +++ b/modules/n1ql/pages/n1ql-intro/index.adoc @@ -1,4 +1,4 @@ -= Running Queries += Run Queries :page-role: tiles -toc :!sectids: @@ -15,28 +15,32 @@ ifdef::basebackend-html[] ++++ endif::[] -== Queries and Results +== Query Concepts An overview of common concepts that you will need to understand in order to use the Query service. * xref:n1ql:n1ql-intro/queriesandresults.adoc[] -== Getting System Information +== Query Tools -{sqlpp} has a system catalog that stores metadata about a database. -The system catalog is a namespace called system. +The Query service provides the following tools for running queries: -* xref:n1ql:n1ql-intro/sysinfo.adoc[] +* xref:server:tools:cbq-shell.adoc[] +* xref:tools:query-workbench.adoc[] -== {sqlpp} Error Codes +== Interactive {sqlpp} Tutorial -All of the {sqlpp} error codes, their error messages, and some tips to resolve them. +Provides interactive web modules where you can learn about {sqlpp} without having to configure Couchbase Capella or have Couchbase Server installed in your own environment. +The modules are self-contained and let you modify and run sample queries. -* xref:n1ql:n1ql-language-reference/n1ql-error-codes.adoc[] +* https://query-tutorial.couchbase.com/tutorial/#1[{sqlpp} Query Language Tutorial^] -== Related Links +ifdef::flag-devex-cheatsheet[] -The Query services provides the following tools for running queries: +== {sqlpp} Cheat Sheet -* xref:tools:cbq-shell.adoc[] -* xref:tools:query-workbench.adoc[] +The {sqlpp} cheat sheet provides a concise summary of the basic syntax elements of {sqlpp}. + +* http://docs.couchbase.com/files/Couchbase-N1QL-CheatSheet.pdf[{sqlpp} Cheat Sheet^] + +endif::flag-devex-cheatsheet[] From cf4c02c46937f74ff64774ab1497f43f5b1be0c9 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 12 Jan 2024 23:55:21 +0000 Subject: [PATCH 22/66] Driveby fix for SELECT guide --- modules/guides/pages/select.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/guides/pages/select.adoc b/modules/guides/pages/select.adoc index 21ba63cfd..f74eb2b14 100644 --- a/modules/guides/pages/select.adoc +++ b/modules/guides/pages/select.adoc @@ -111,7 +111,7 @@ For more information and examples, refer to xref:n1ql:n1ql-language-reference/se == Specifying a Data Source To specify the data source for a query, use the FROM clause. -For example, to get data from a collection, specify the path to that collection. +For example, to get data from a collection, specify the path to that collection in a FROM clause. When you specify a FROM clause, you can use the SELECT clause to specify the fields that you want to return from that data source. The set of fields returned by the query is known as the _projection_. From 9a21305f653b497ff84ecf32542417f3c4e6361d Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 17 Nov 2023 21:34:52 +0000 Subject: [PATCH 23/66] Correct example snippets in Guides --- modules/guides/pages/prep-statements.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/guides/pages/prep-statements.adoc b/modules/guides/pages/prep-statements.adoc index db2f9b7aa..da8f98369 100644 --- a/modules/guides/pages/prep-statements.adoc +++ b/modules/guides/pages/prep-statements.adoc @@ -144,14 +144,14 @@ The following example supplies a single positional parameter. [source,csharp] ---- -include::dotnet-sdk:howtos:example$/N1qlQueries.csx[tag=positional,indent=0] +include::dotnet-sdk:howtos:example$/n1ql-queries-sdk/n1ql-queries-sdk/Program.cs[tag=positional,indent=0] ---- The following example supplies a single named parameter. [source,csharp] ---- -include::dotnet-sdk:howtos:example$/N1qlQueries.csx[tag=namedparameter,indent=0] +include::dotnet-sdk:howtos:example$/n1ql-queries-sdk/n1ql-queries-sdk/Program.cs[tag=namedparameter,indent=0] ---- For details, refer to https://docs.couchbase.com/sdk-api/couchbase-net-client/api/Couchbase.Query.QueryOptions.html[QueryOptions^]. From ca475e843f4a70c1712f96479071a6928a3c49db Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Sat, 13 Jan 2024 00:00:42 +0000 Subject: [PATCH 24/66] Transactions guide --- modules/guides/pages/transactions.adoc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/guides/pages/transactions.adoc b/modules/guides/pages/transactions.adoc index a33927e3d..4964e2854 100644 --- a/modules/guides/pages/transactions.adoc +++ b/modules/guides/pages/transactions.adoc @@ -48,16 +48,16 @@ Query Workbench:: -- To specify parameters for a Couchbase transaction, use the Query Run-Time Preferences window. -. Click the cog icon icon:cog[] to display the Run-Time Preferences window. +. To display the Run-Time Preferences window, click the cog icon icon:cog[]. . To specify the transaction scan consistency, open the *Scan Consistency* drop-down list and select an option. -. To specify the transaction timeout, enter a value in seconds in the *Transaction Timeout* box. +. To specify the transaction timeout, in the *Transaction Timeout* box, enter a value in seconds. -. To specify any other parameters, click the btn:[+] button in the *Named Parameters* section. +. To specify any other transaction parameters, click the btn:[+] button in the *Named Parameters* section. When the new named parameter appears, enter the name in the *name* box and a value in the *value* box. -. Choose btn:[Save Preferences] to save the preferences and return to the Query Workbench. +. To save the preferences and return to the Query Workbench, click btn:[Save Preferences]. ''' From aa2b78e580e2a36ed92408da515f65b79985da34 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Tue, 21 Nov 2023 11:00:50 +0000 Subject: [PATCH 25/66] Update transactions overview and guide --- modules/guides/pages/transactions.adoc | 80 ++----------------- .../n1ql-language-reference/transactions.adoc | 42 +++++++--- 2 files changed, 37 insertions(+), 85 deletions(-) diff --git a/modules/guides/pages/transactions.adoc b/modules/guides/pages/transactions.adoc index 4964e2854..b79559cb5 100644 --- a/modules/guides/pages/transactions.adoc +++ b/modules/guides/pages/transactions.adoc @@ -1,5 +1,6 @@ = Create Couchbase Transactions with {sqlpp} :page-topic-type: guide +:page-toclevels: 2 :imagesdir: ../assets/images :tabs: :description: How to create Couchbase transactions using {sqlpp}. @@ -36,7 +37,7 @@ include::partial$data-warning.adoc[] [[settings]] == Transaction Parameters -:lead: The following settings set the transaction parameters for the examples in the <> section below. +:lead: The following example shows transaction parameters for the examples on this page. You can specify various settings and parameters to control how transactions work. You can access transaction settings and parameters through any of the usual Query tools, such as the Query Workbench or the cbq shell. @@ -65,11 +66,9 @@ When the new named parameter appears, enter the name in the *name* box and a val image::transactions-preferences.png['The Run-Time Preferences dialog, with Scan Consistency set to "not_bounded", Transaction Timeout set to "120", and named parameter "durability_level" set to "none"'] -① Set *Scan Consistency* to `not_bounded`. - -② In the *Named Parameters* section, add a named parameter with *name* set to `durability_level` and *value* set to `"none"` (with double quotes). - -③ Set *Transaction Timeout* to `120`. +* The transaction scan consistency is set to `not_bounded`. +* The durability level of all the mutations within the transaction is set to `"none"`. +* The transaction timeout is set to `120`. -- CBQ Shell:: @@ -142,9 +141,7 @@ For further details, refer to xref:n1ql:n1ql-language-reference/transactions.ado [[multiple-statement]] == Multiple Statement Transactions -:co-txid: After beginning the transaction, each subsequent statement in the transaction must specify the transaction ID that was generated when the transaction began. -:result: When the transaction is committed, the document is added with the attributes that were present after rolling back to the second savepoint. -:lead: The following example demonstrates a complete transaction using {sqlpp}. \ +:lead: For a worked example showing a complete transaction using {sqlpp}, see xref:n1ql:n1ql-language-reference/transactions.adoc#worked-example[Transaction Worked Example]. \ Individual {sqlpp} transaction statements are described in the sections below. A Couchbase transaction may contain multiple DML statements. @@ -173,36 +170,6 @@ Each statement must be terminated with a semicolon. ''' {lead} - -.Preparation -First, specify the transaction settings, as shown in the section <> above. - -Second, use the *context* controls at the top right of the Query Editor to select the `tenant_agent_00` scope in the travel sample data. - -image::transactions-context.png["The query context drop-down menu, with the tenant_agent_00 scope selected"] - -Third, create a primary index on the `bookings` collection so that you can query this keyspace. - -[source,sqlpp] ----- -include::n1ql:example$transactions/multiple.n1ql[tag=index] ----- - -.Transaction -Now copy the entire sequence below and paste it into the Query Workbench. - -[source,sqlpp] ----- -include::n1ql:example$transactions/multiple.n1ql[tags=transaction;!begin-mark;!set-mark;!savepoint-mark;!rollback-mark;!commit-mark] ----- - -.Result -[source,json,indent=0] ----- -include::n1ql:example$transactions/results.jsonc[tag=check-3] ----- - -<.> {result} -- CBQ Shell:: @@ -217,44 +184,9 @@ NOTE: You must be using cbq shell version 2.0 or above to use the automatic tran ''' {lead} - -.Preparation -First, specify the transaction settings, as shown in the section <> above. - -Second, set the query context to the `tenant_agent_00` scope in the travel sample data. - -[source,sqlpp] ----- -include::n1ql:example$transactions/multiple.n1ql[tag=context] ----- - -Third, create a primary index on the `bookings` collection so that you can query this keyspace. - -[source,sqlpp] ----- -include::n1ql:example$transactions/multiple.n1ql[tag=index] ----- - -.Transaction -Now copy the entire sequence below and paste it into the cbq shell. - -[source,sqlpp] ----- -include::n1ql:example$transactions/multiple.n1ql[tags=transaction;!begin-mark;!set-mark;!savepoint-mark;!rollback-mark;!commit-mark] ----- - -.Result -[source,json,indent=0] ----- -include::n1ql:example$transactions/results.jsonc[tag=check-3] ----- - -<.> {result} -- ==== -For further details, refer to xref:n1ql:n1ql-language-reference/transactions.adoc#query-tools[Query Tools]. - [[begin]] === Begin a Transaction diff --git a/modules/n1ql/pages/n1ql-language-reference/transactions.adoc b/modules/n1ql/pages/n1ql-language-reference/transactions.adoc index bdc1ff2fb..cb8762b34 100644 --- a/modules/n1ql/pages/n1ql-language-reference/transactions.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/transactions.adoc @@ -1,7 +1,7 @@ = {sqlpp} Support for Couchbase Transactions :page-topic-type: concept :imagesdir: ../../assets/images -:description: {sqlpp} offers full support for Couchbase ACID transactions. +:description: {sqlpp} offers full support for Couchbase ACID transactions based on optimistic concurrency. :tabs: :page-partial: @@ -60,9 +60,9 @@ :rollback-transaction: xref:n1ql-language-reference/rollback-transaction.adoc [abstract] -{sqlpp} offers full support for Couchbase ACID transactions. +{description} -Starting with Couchbase Server 7.0, {sqlpp} offers full support for Couchbase ACID transactions based on optimistic concurrency. +A transaction is a group of operations that are either committed to the database together, or are all undone from the database if there's a failure. Refer to {transactions}[Transactions] for an overview of Couchbase transactions. include::partial$n1ql-language-reference/transaction-restrictions.adoc[] @@ -194,6 +194,12 @@ This worked example guides you through a complete Couchbase transaction session The worked example assumes that the supplied `travel-sample` bucket is installed. Refer to {install-sample-buckets}[Sample Buckets] for installation details. +.Context +For this worked example, set the query context to the `tenant_agent_00` scope in the travel sample dataset. +For more information, see xref:n1ql:n1ql-intro/queriesandresults.adoc#query-context[Query Context]. + +image::guides:transactions-context.png["The query context drop-down menu, with the tenant_agent_00 scope selected"] + .Index For the purposes of this worked example, you must create a primary index in the keyspace you will be using. @@ -263,15 +269,29 @@ The results of running the transaction in the Query Workbench are shown below. If you are using the cbq shell, the results are formatted differently, but contain the same information. .Results -[source,json] +[source.no-callouts,json] +---- +include::example$transactions/results.jsonc[tags=extract-1] +---- +Beginning a transaction returns a unique transaction ID `txid`. + +[source.no-callouts,json] ---- -include::example$transactions/results.jsonc[tags=!ellipsis] +include::example$transactions/results.jsonc[tags=extract-2;!ellipsis] ---- +Before setting the second savepoint, the booking document has user `"0"`, name `"Keon Hoppe"`. -<.> Beginning a transaction returns a transaction ID. -<.> Before setting the second savepoint, the booking document has user `"0"`, name `"Keon Hoppe"`. -<.> After setting the second savepoint and performing an update, the booking document has user `"1"`, name `"Rigoberto Bernier"`. -<.> After rolling back to the second savepoint, the booking document again has user `"0"`, name `"Keon Hoppe"`. +[source.no-callouts,json] +---- +include::example$transactions/results.jsonc[tags=extract-3] +---- +After setting the second savepoint and performing an update, the booking document has user `"1"`, name `"Rigoberto Bernier"`. + +[source.no-callouts,json] +---- +include::example$transactions/results.jsonc[tags=extract-4] +---- +After rolling back to the second savepoint, the booking document again has user `"0"`, name `"Keon Hoppe"`. ==== [[ex-2]] @@ -286,12 +306,12 @@ include::example$transactions/multiple.n1ql[tag=check-3] ---- .Results -[source,json,indent=0] +[source.no-callouts,json,indent=0] ---- include::example$transactions/results.jsonc[tag=check-3] ---- -<.> The booking document has been added with the attributes that were present when the transaction was committed. +The booking document has been added with the attributes that were present when the transaction was committed. ==== .Transaction using the Query REST API From ef0740e59eea8d01b43b67164e9443663fb57479 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Tue, 21 Nov 2023 17:27:47 +0000 Subject: [PATCH 26/66] Hide and redirect unused landing pages --- modules/guides/pages/{optimize.adoc => .optimize.adoc} | 0 modules/n1ql/pages/{tutorial.adoc => .tutorial.adoc} | 0 modules/n1ql/pages/admin.adoc | 1 + modules/n1ql/pages/n1ql-intro/index.adoc | 5 +++-- 4 files changed, 4 insertions(+), 2 deletions(-) rename modules/guides/pages/{optimize.adoc => .optimize.adoc} (100%) rename modules/n1ql/pages/{tutorial.adoc => .tutorial.adoc} (100%) diff --git a/modules/guides/pages/optimize.adoc b/modules/guides/pages/.optimize.adoc similarity index 100% rename from modules/guides/pages/optimize.adoc rename to modules/guides/pages/.optimize.adoc diff --git a/modules/n1ql/pages/tutorial.adoc b/modules/n1ql/pages/.tutorial.adoc similarity index 100% rename from modules/n1ql/pages/tutorial.adoc rename to modules/n1ql/pages/.tutorial.adoc diff --git a/modules/n1ql/pages/admin.adoc b/modules/n1ql/pages/admin.adoc index 72335e641..48a599d26 100644 --- a/modules/n1ql/pages/admin.adoc +++ b/modules/n1ql/pages/admin.adoc @@ -1,5 +1,6 @@ = Administer Queries and Indexes :page-role: tiles -toc +:page-aliases: guides:optimize.adoc :!sectids: // Pass through HTML styles for this page. diff --git a/modules/n1ql/pages/n1ql-intro/index.adoc b/modules/n1ql/pages/n1ql-intro/index.adoc index fb3c63948..21e414ad3 100644 --- a/modules/n1ql/pages/n1ql-intro/index.adoc +++ b/modules/n1ql/pages/n1ql-intro/index.adoc @@ -1,5 +1,6 @@ = Run Queries :page-role: tiles -toc +:page-aliases: n1ql:tutorial.adoc :!sectids: // Pass through HTML styles for this page. @@ -28,9 +29,9 @@ The Query service provides the following tools for running queries: * xref:server:tools:cbq-shell.adoc[] * xref:tools:query-workbench.adoc[] -== Interactive {sqlpp} Tutorial +== Related Links -Provides interactive web modules where you can learn about {sqlpp} without having to configure Couchbase Capella or have Couchbase Server installed in your own environment. +The interactive {sqlpp} tutorial provides web modules where you can learn about {sqlpp} without having to configure Couchbase Capella or have Couchbase Server installed in your own environment. The modules are self-contained and let you modify and run sample queries. * https://query-tutorial.couchbase.com/tutorial/#1[{sqlpp} Query Language Tutorial^] From 6907965c9794eea031f8f4f253f0b38d49ceb671 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Tue, 21 Nov 2023 19:02:12 +0000 Subject: [PATCH 27/66] Fix mistake with landing page redirects --- modules/n1ql/pages/admin.adoc | 1 - modules/n1ql/pages/advanced.adoc | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/n1ql/pages/admin.adoc b/modules/n1ql/pages/admin.adoc index 48a599d26..72335e641 100644 --- a/modules/n1ql/pages/admin.adoc +++ b/modules/n1ql/pages/admin.adoc @@ -1,6 +1,5 @@ = Administer Queries and Indexes :page-role: tiles -toc -:page-aliases: guides:optimize.adoc :!sectids: // Pass through HTML styles for this page. diff --git a/modules/n1ql/pages/advanced.adoc b/modules/n1ql/pages/advanced.adoc index 30dbbcc66..8dfc678e3 100644 --- a/modules/n1ql/pages/advanced.adoc +++ b/modules/n1ql/pages/advanced.adoc @@ -1,5 +1,6 @@ = Advanced Query Features :page-role: tiles -toc +:page-aliases: guides:optimize.adoc :!sectids: // Pass through HTML styles for this page. From c0f842470c3f454a509f773b5ebf83082264337f Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Tue, 21 Nov 2023 19:02:42 +0000 Subject: [PATCH 28/66] Add Developer Intro landing page; hide and redirect Guides landing page --- modules/develop/pages/intro.adoc | 53 ++++++++++----------- modules/guides/pages/.intro.adoc | 80 ++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+), 26 deletions(-) create mode 100644 modules/guides/pages/.intro.adoc diff --git a/modules/develop/pages/intro.adoc b/modules/develop/pages/intro.adoc index b4854768c..24afeccca 100644 --- a/modules/develop/pages/intro.adoc +++ b/modules/develop/pages/intro.adoc @@ -1,8 +1,8 @@ -= Developer's Intro += Developer Intro :page-role: tiles -toc :description: This section contains tutorials, how-to guides, and information about Couchbase Services to help you develop applications. :!sectids: -:page-aliases: concepts:application-development +:page-aliases: concepts:application-development;guides:intro.adoc // Pass through HTML styles for this page. @@ -21,7 +21,7 @@ ifdef::basebackend-html[] endif::[] {description} -It also provides links to the documentation for software development kits and starter kits. +It also provides links to the documentation for software development kits and other integrations. include::partial$escape-hatch.adoc[] @@ -31,46 +31,47 @@ This tutorial provides an introductory worked example for developers, showing ho * xref:tutorials:couchbase-tutorial-student-records.adoc[] -== Developer Guides +== Data -These how-to guides walk you through common tasks for Couchbase Server development, such as storing, retrieving, and querying documents. +Use the Data Service for key-value (CRUD) operations and to import or export data. -* xref:guides:intro.adoc[Developer Guides] +* xref:guides:kv-operations.adoc[] -== SDKs +== Query -Couchbase offers numerous software development kits (SDKs) that provide programmatic access to Couchbase Server. +Use the Query Service and the Index Service to issue {sqlpp} queries to extract and manipulate data. -* xref:home:ROOT:sdk.adoc[] +* xref:n1ql:query.adoc[] -== Starter Kits +== Search -Starter kits are repositories containing example code to get you started with various development projects. +Use the Search Service for full-text search with natural language processing across multiple data types and languages. +Use custom text analysis, Geospatial search, and more. -* xref:getting-started:starter-kits.adoc[] +* xref:search:search.adoc[] -== Query Service Information +== Eventing -The Query Service enables you to issue queries to extract data from Couchbase clusters. -You can also issue queries for defining indexes and data manipulation. +Use the Eventing Service to respond to changes to your data in near real-time. +It enables you to execute code either in response to mutations, or as scheduled by timers. -* xref:n1ql:query.adoc[] +* xref:eventing:eventing-overview.adoc[] -== Search Service Information +== Analytics -The Search Service (Full Text Search or FTS) enables you to create and manage full-text indexes, and provides extensive capabilities for natural-language and geospatial queries. +Use the Analytics Service for online analytical processing (OLAP) for large datasets, with complex analytical or ad hoc queries. -* xref:fts:fts-introduction.adoc[] +* xref:analytics:introduction.adoc[Introduction to Analytics] -== Eventing Service Information +== SDKs -The Eventing Service provides near real-time handling of changes to data. -It enables you to execute code either in response to mutations, or as scheduled by timers. +Couchbase offers numerous software development kits (SDKs) that provide programmatic access to Couchbase Server. -* xref:eventing:eventing-overview.adoc[] +* xref:home:ROOT:sdk.adoc[] -== Analytics Service Information +== Integrations -The Analytics Service is a parallel data management capability for Couchbase Server, designed to run ad-hoc, analytical queries efficiently over many records. +Integrations that Couchbase or partners have developed to enhance Couchbase, Capella, and partner services -- +a vital tool for many larger development projects. -* xref:analytics:introduction.adoc[Introduction to Analytics] \ No newline at end of file +* xref:develop:integrations.adoc[] diff --git a/modules/guides/pages/.intro.adoc b/modules/guides/pages/.intro.adoc new file mode 100644 index 000000000..22f2e47eb --- /dev/null +++ b/modules/guides/pages/.intro.adoc @@ -0,0 +1,80 @@ += Developer Guides +:page-role: tiles -toc +:description: This section contains how-to guides for developers. +:!sectids: + +// Pass through HTML styles for this page. + +ifdef::basebackend-html[] +++++ + +++++ +endif::[] + +This section contains _how-to guides_ that walk you through common tasks for Couchbase Capella development, such as storing, retrieving, and querying documents. + +include::partial$other-guide.adoc[] + +== Connecting to Couchbase + +This guide explains how to connect to a Couchbase cluster. + +* xref:connect.adoc[] + +== Key-Value Operations + +This guide explains how to use Couchbase SDKs to carry out key-value operations on documents. + +* xref:kv-operations.adoc[] + +== Selection Queries + +This guide explains how to read data with a {sqlpp} query. + +* xref:query.adoc[] + +== Indexes + +This guide explains how to create and use primary and secondary indexes for {sqlpp} queries. + +* xref:indexes.adoc[] + +== Data Manipulation Queries + +This guide explains how to create, update, and delete data with a {sqlpp} query. + +* xref:manipulate.adoc[] + +== Optimizing Performance + +This guide explains how to optimize the performance of {sqlpp} queries. + +* xref:optimize.adoc[] + +== Transactions + +This guide explains how to carry out ACID transactions on the database. + +* xref:transactions.adoc[] + +== Importing Data + +This guide explains how to import data from files. + +* xref:import.adoc[] + +ifdef::flag-devex-javascript-udfs[] +== JavaScript User-Defined Functions + +This guide explains how to create JavaScript User-Defined Functions, and how to call them through the Query WorkBench and the REST API. + +* xref:javascript-udfs.adoc[] +endif::flag-devex-javascript-udfs[] From 179654990237e80f0dcd54538dd02e0dd853d38c Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Tue, 21 Nov 2023 21:03:42 +0000 Subject: [PATCH 29/66] Add integrations page from Server; update Developer Intro page --- modules/develop/pages/intro.adoc | 12 +- modules/develop/partials/nav.adoc | 3 +- modules/third-party/pages/integrations.adoc | 353 ++++++++++++++++++++ modules/third-party/partials/nav.adoc | 1 + 4 files changed, 364 insertions(+), 5 deletions(-) create mode 100644 modules/third-party/pages/integrations.adoc create mode 100644 modules/third-party/partials/nav.adoc diff --git a/modules/develop/pages/intro.adoc b/modules/develop/pages/intro.adoc index 24afeccca..9ecd46e12 100644 --- a/modules/develop/pages/intro.adoc +++ b/modules/develop/pages/intro.adoc @@ -31,6 +31,12 @@ This tutorial provides an introductory worked example for developers, showing ho * xref:tutorials:couchbase-tutorial-student-records.adoc[] +== Connect + +Choose how you want to connect your app to Couchbase Server. + +* xref:guides:connect.adoc[] + == Data Use the Data Service for key-value (CRUD) operations and to import or export data. @@ -53,7 +59,7 @@ Use custom text analysis, Geospatial search, and more. == Eventing Use the Eventing Service to respond to changes to your data in near real-time. -It enables you to execute code either in response to mutations, or as scheduled by timers. +Execute custom code in response to mutations, or as scheduled by timers. * xref:eventing:eventing-overview.adoc[] @@ -71,7 +77,7 @@ Couchbase offers numerous software development kits (SDKs) that provide programm == Integrations -Integrations that Couchbase or partners have developed to enhance Couchbase, Capella, and partner services -- +Integrations that Couchbase or partners have developed to enhance Couchbase Server and partner services -- a vital tool for many larger development projects. -* xref:develop:integrations.adoc[] +* xref:third-party:integrations.adoc[] diff --git a/modules/develop/partials/nav.adoc b/modules/develop/partials/nav.adoc index 8abe22369..b66adb7d6 100644 --- a/modules/develop/partials/nav.adoc +++ b/modules/develop/partials/nav.adoc @@ -1,2 +1 @@ -* xref:develop:intro.adoc[Developer's Intro] -* xref:develop:integrations.adoc[Third Party Integrations] +* xref:develop:intro.adoc[] \ No newline at end of file diff --git a/modules/third-party/pages/integrations.adoc b/modules/third-party/pages/integrations.adoc new file mode 100644 index 000000000..7f9b3563b --- /dev/null +++ b/modules/third-party/pages/integrations.adoc @@ -0,0 +1,353 @@ += Integrations, Connectors, and Tools +:page-toclevels: 2 +:page-topic-type: reference +:page-aliases: develop:integrations.adoc +:description: Integrate Couchbase with your development ecosystem and production and deployment tools. + + +[abstract] +{description} + +Third-party and community products and integrations -- +although not by and large supported by Couchbase (see <<#support-model,Support Model section>>) -- +are a vital tool for most larger development projects. + +These are examples of integrations that Couchbase or partners have developed to enhance Couchbase, Capella, and partner services. + + +[#partner-integrations-with-couchbase] +== Partner Integrations + + +.Partner Integrations List +[cols="20,45,50,20,20,28"] +|=== +| Integration | Summary | Links | Capella | Self-managed | <<#support-model,Support Model>> + +| Hashicorp Vault +| Securely manage your credentials for database access. +a| +* https://www.hashicorp.com/partners/tech/couchbase#vault[Hashicorp Vault plug-in for Capella] +* https://github.com/couchbasecloud/vault-plugin-database-couchbasecapella[Plug-in page on GitHub] +* https://developer.hashicorp.com/vault/docs/secrets/databases/couchbase[Hashicorp partner page for self-managed Couchbase] +| ✔ +| ✔ +| Partner Supported + +| Netlify +| Use Couchbase Capella and Netlify Serverless Functions to handle dynamic content without needing infrastructure. +a| +* https://www.netlify.com/integrations/couchbase/[Netlify partner page] +* https://developer.couchbase.com/tutorial-quickstart-netlify[Tutorial] +| ✔ +| ✖ +| Couchbase Officially Supported + + +| Vercel +| Easy build and deploy for your applications. +a| +* https://vercel.com/integrations/couchbase-capella[Vercel partner page & tutorial] +* https://www.couchbase.com/blog/integrating-vercel-with-couchbase-capella[Blog] +* https://vercel.com/templates/next.js/couchbase-capella[Next.js starter template] +| ✔ +| ✖ +| Couchbase Officially Supported + + +| Molo17 GlueSync +| Real-time, cloud-native data replication suite for NoSQL. +a| +* https://www.couchbase.com/partners/molo17/[Intro & Tutorial] +* https://molo17.com/gluesync/[GlueSync homepage] +| ✔ +| ✔ +| Partner Supported + + +| ODBC / JDBC +| Easily access live Couchbase data from BI, Analytics, Reporting, ETL, & Custom Apps. +a| +* xref:server:connectors:odbc-jdbc-drivers.adoc[Couchbase ODBC and JDBC Drivers] +* https://www.cdata.com/drivers/couchbase/docs/[CData Driver] +* https://www.cdata.com/drivers/couchbase/#section-etl-anchor[Popular Data Warehousing Integrations] +* https://www.cdata.com/drivers/couchbase/#section-data-anchor[Data Management Tools] +* https://www.cdata.com/drivers/couchbase/#section-dev-anchor[Developer Tools] +* https://www.cdata.com/drivers/couchbase/#section-bi-anchor[BI & Data Visualization] +| ✔ +| ✔ +| Partner Supported +|=== + + + +== IDE Integrations + + +.IDE Plugins +[cols="20,45,50,20,20,35"] +|=== +| Integration | Summary | Links | Capella | Self-managed | <<#support-model,Support Model>> + +| VS Code extension for Couchbase +| A seamless experience for Couchbase Server users who want to work within the popular Visual Studio Code editor. +a| +* https://marketplace.visualstudio.com/items?itemName=Couchbase.vscode-couchbase[Visual Studio Marketplace] +* https://github.com/couchbaselabs/VSCode-Couchbase/blob/main/GETTING-STARTED.md[Tutorial] +* https://github.com/couchbaselabs/VSCode-Couchbase/blob/main/SNIPPETS.md[Code snippets] +| ✔ +| ✔ +| Couchbase Community Support + + +| VS Code extension for Couchbase Lite +| A seamless experience for Couchbase Mobile users who want to work within the popular Visual Studio Code editor. +a| +* https://marketplace.visualstudio.com/items?itemName=Couchbase.vscode-cblite[Visual Studio Marketplace] +* https://github.com/couchbaselabs/vscode-cblite[GitHub repo and intro] +| ✔ +| ✔ +| Couchbase Community Support + + +| JetBrains +| Provides support for Couchbase in JetBrains IDEs -- to develop Couchbase applications, complete with code completion, syntax highlighting, and debugging support. +a| +* https://plugins.jetbrains.com/plugin/22131-couchbase[JetBrains Marketplace] +// * [Tutorial] +* https://github.com/couchbaselabs/couchbase_jetbrains_plugin[GitHub source repo] +| ✔ +| ✔ +| Couchbase Community Support +|=== + + + +== Data Tools + +Import, export, and query data from the command line. + +.Data Tools +[cols="20,45,50,20,20,35"] +|=== +| Integration | Summary | Links | Capella | Self-managed | <<#support-model,Support Model>> + + +| Couchbase Shell (cbsh) +| Interactive shell, based upon nushell, which you can use to extract, transform, and load different data formats in Couchbase. +a| +* https://couchbase.sh/docs/[cbsh docs] +* https://github.com/couchbaselabs/couchbase-shell[GitHub repo] +| ✔ +| ✔ +| Couchbase Officially Supported (currently in _Developer Preview_) + + +| cbimport +| Utility for importing data into Couchbase databases. +Included in self-managed Couchbase Server, or downloadable as part of the xref:cloud:reference:command-line-tools.adoc#download-and-install-the-couchbase-command-line-tools[Capella Tools package]. +a| xref:server:tools:cbimport.adoc[cbimport reference] +| ✔ +| ✔ +| Couchbase Officially Supported + + +| cbexport +| Utility for exporting data from Couchbase databases. +Included in self-managed Couchbase Server, or downloadable as part of the xref:cloud:reference:command-line-tools.adoc#download-and-install-the-couchbase-command-line-tools[Capella Tools package]. +a| xref:server:tools:cbexport.adoc[cbexport reference] +| ✔ +| ✔ +| Couchbase Officially Supported + + +| cbbackupmgr +| A utility for backing up and restoring a Couchbase database. +a| +* xref:server:current:backup-restore:cbbackupmgr.adoc[cbbackupmgr reference] +* xref:server:backup-restore:cbbackupmgr-tutorial.adoc[Tutorial] +* xref:cloud:clusters:cli-backup-restore.adoc[Capella examples] +| ✔ +| ✔ +| Couchbase Officially Supported +|=== + + +=== Other Shells + +Some languages, such as Ruby, come with REPLs (interactive shells) as standard -- as is normal with many programming languages. +Others have them available as _Notebooks_, such as Python, with https://jupyter.org/[Jupyter Notebook] (which works with _several_ different languages), through which you can interactively develop functionality for a Couchbase app, or blend with analytic tools and charts. + + + +[big-data-connectors] +== Big Data Connectors + + +Couchbase develops and supports connectors for: + +* Elasticsearch and OpenSearch +* The Kafka Connect Framework +* Apache Spark Data Processing Platform +* The Tableau interactive data visualization platform + +Couchbase ODBC and JDBC drivers enable any application based on the ODBC/JDBC standards, for example Microsoft Excel, QlikView, or SAP Lumira, as well as Tableau, to connect to a Couchbase Server or cluster. + + + +.Big Data Connectors +[cols="28,43,28,30,30,28"] +|=== +| Connector | Summary | Docs | Source | Other Integrations | <<#support-model,Support Model>> + + +| Elasticsearch +| Replicate your documents from Couchbase Server or Capella to Elasticsearch or OpenSearch in near real time. +| xref:elasticsearch-connector:getting-started.adoc[Getting Started docs] +| xref:elasticsearch-connector:release-notes.adoc[Release notes & download links] +| xref:elasticsearch-connector:autonomous-operations.adoc[AO Mode] +| Couchbase Officially Supported + + +| Kafka +| A plug-in for the Kafka Connect framework, which provides source and sink components. +| xref:kafka-connector:index.adoc[Kafka connector docs] +| https://github.com/couchbase/kafka-connect-couchbase[GitHub repo] +| https://kafka.apache.org/uses[Use cases] +| Couchbase Officially Supported + + +| Spark +| Connect to the scalable computing engine for Big Data. +| xref:spark-connector:index.adoc[Couchbase Spark docs] +| https://github.com/couchbase/couchbase-spark-connector[Couchbase Spark Connector on GitHub] +| https://docs.databricks.com/_extras/notebooks/source/couchbase.html[Apache Spark Notebook] +| Couchbase Officially Supported + + +| Tableau +| Integrate Couchbase Server tabular views and the Tableau interactive data visualization platform. +| xref:tableau-connector::index.adoc[Tableau connector docs] +| https://www.tableau.com/products/desktop/download[Tableau Desktop Downloads] +| https://www.tableau.com/products/server[Other Tableau Integrations] +| Couchbase Officially Supported +|=== + + +[#sdk-language-ecosystem] +== SDK Language Ecosystem + +Couchbase has SDKs in ten popular languages -- +xref:c-sdk:hello-world:overview.adoc[C], +xref:dotnet-sdk:hello-world:overview.adoc[C# (.NET)], +xref:go-sdk:hello-world:overview.adoc[Go], +xref:java-sdk:hello-world:overview.adoc[Java], +xref:kotlin-sdk:hello-world:overview.adoc[Kotlin], +xref:nodejs-sdk:hello-world:overview.adoc[Node.js], +xref:php-sdk:hello-world:overview.adoc[PHP], +xref:python-sdk:hello-world:overview.adoc[Python], +xref:ruby-sdk:hello-world:overview.adoc[Ruby], and +xref:scala-sdk:hello-world:overview.adoc[Scala]. + +If you develop in one of these languages, you may be interested in (or already using) other libraries in that language's ecosystem, and wondering if it will integrate with Couchbase. + +There are too many third party integrations to evaluate and list (and absence of a mention in these pages is no judgement on importance or quality), but the following are well worth investigating: + +While Couchbase can't evaluate and list every possible third-party integration, we've provided a list of some you might consider in the sections below. + + +.Partner Integrations List +[cols="24,22,45,30,15,15,28"] +|=== +| Integration | SDK Language / Ecosystem | Summary | Links | Capella | Self-managed | <<#support-model,Support Model>> + +| Spring Data Couchbase +| JVM (Java, Kotlin, Scala) +| A familiar and consistent Spring-based programming model for new datastores with store-specific features and capabilities. +Key functional areas of Spring Data Couchbase are a POJO centric model for interacting with Couchbase Buckets and easily writing a Repository style data access layer. +a| +* https://spring.io/projects/spring-data-couchbase[Spring Data Couchbase] +* xref:java-sdk:hello-world:spring-data-sample-application.adoc[Sample application] +* https://blog.couchbase.com/couchbase-spring-boot-spring-data/[Spring Boot example] +| ✔ +| ✔ +| Couchbase Officially Supported + + +| Ottoman +| Node.js +| ODM (Object Document Mapper) for Couchbase. +Adds an abstraction layer over Couchbase Node.js SDK and significantly reduces the level of boilerplate needed during application development. +a| +* https://ottomanjs.com/[Ottoman docs] +* https://ottomanjs.com/docs/advanced/sdk-comparison[Advantages over pure Node.js] +* https://github.com/couchbaselabs/node-ottoman[GitHub repo] +| ✔ +| ✔ +| Couchbase Officially Supported + + +| Laravel +| PHP +| Extends the original Laravel classes to make an Eloquent model and Query builder with support for Couchbase. +a| https://github.com/friendsofcat/laravel-couchbase[Project website] +| ✔ +| ✔ +| Community Supported + + +| Rails Cache Store +| Ruby-on-Rails +| Speeds up your Rails application with caching -- storing content generated during the request-response cycle and reusing it when responding to similar requests. +a| xref:ruby-sdk:project-docs:third-party-integrations.adoc#across-the-ecosystem[Config Code example] +| ✔ +| ✔ +| Community Supported +|=== + + + + +== Support Model + + + +.Support Model +[cols="20,88"] +|=== +| Support Level | Definitions + +| Partner Supported +| This integration is developed and supported directly through the partner. +Couchbase provides support for the Couchbase components and interfaces. + +| Couchbase Community Supported +a| Open source integration that is developed by Couchbase. +Issues can also be raised in the relevant GitHub repositories or via https://www.couchbase.com/forums/[Couchbase forums] or https://discord.com/channels/915294689681362954/915296010694176808[Discord]. +Support is provided best effort by development team + +| Couchbase Officially Supported +a| Open source integration that is developed by Couchbase and officially supported. +A subscription to the Enterprise Edition of Couchbase includes technical support with service level commitments via our 24/7 support organization. +Issues can also be raised in the relevant GitHub repositories or via https://www.couchbase.com/forums/[Couchbase forums] or https://discord.com/channels/915294689681362954/915296010694176808[Discord]. + +| Community Supported +| Open source integration that is developed and supported directly by third party community contributor. +Issues can also be raised in the relevant GitHub repositories. +|=== + +//// + +== Mobile SDK Ecosystem + +Placeholder for Dart/Flutter/etc - won’t be in first page release. +Docs: https://cbl-dart.dev/documents/ +Install - https://cbl-dart.dev/install/ +Repo ; https://github.com/cbl-dart/cbl-dart + +== Useful Tools + +// Tools + +=== Test Data Generation +//// diff --git a/modules/third-party/partials/nav.adoc b/modules/third-party/partials/nav.adoc new file mode 100644 index 000000000..d3008fca1 --- /dev/null +++ b/modules/third-party/partials/nav.adoc @@ -0,0 +1 @@ +* xref:third-party:integrations.adoc[] \ No newline at end of file From 41e62627fc4c09a654e34be0ee4ea49a113e878c Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Sat, 13 Jan 2024 00:47:07 +0000 Subject: [PATCH 30/66] Minor tweaks --- modules/n1ql/pages/n1ql-intro/index.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/n1ql/pages/n1ql-intro/index.adoc b/modules/n1ql/pages/n1ql-intro/index.adoc index 21e414ad3..76a52b1e9 100644 --- a/modules/n1ql/pages/n1ql-intro/index.adoc +++ b/modules/n1ql/pages/n1ql-intro/index.adoc @@ -1,4 +1,4 @@ -= Run Queries += Understand Queries :page-role: tiles -toc :page-aliases: n1ql:tutorial.adoc :!sectids: From b0fb7008d2468cfedc69263516926c5d3453d038 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 22 Nov 2023 16:27:39 +0000 Subject: [PATCH 31/66] Fix up KV operations devex guides --- modules/guides/pages/data.adoc | 43 ++++++++++++++++++++++ modules/guides/pages/import.adoc | 9 ++--- modules/guides/pages/kv-operations.adoc | 13 ++++--- modules/guides/pages/load.adoc | 49 +++++++++++++++++++++++++ modules/guides/partials/clients.adoc | 5 --- modules/guides/partials/nav.adoc | 23 +++++++----- 6 files changed, 116 insertions(+), 26 deletions(-) create mode 100644 modules/guides/pages/data.adoc create mode 100644 modules/guides/pages/load.adoc diff --git a/modules/guides/pages/data.adoc b/modules/guides/pages/data.adoc new file mode 100644 index 000000000..b8a3819e6 --- /dev/null +++ b/modules/guides/pages/data.adoc @@ -0,0 +1,43 @@ += Work with Your Data +:page-role: tiles -toc +:!flag-devex-escape-hatch: +:description: The Data Service offers Couchbase clients the fastest and simplest way to create, retrieve, or mutate data. +:!sectids: + +// Pass through HTML styles for this page. + +ifdef::basebackend-html[] +++++ + +++++ +endif::[] + +[abstract] +{description} + +== Key-Value Operations + +Use the Couchbase Web Console or an SDK to create, read, update, or delete data. + +* xref:kv-operations.adoc[] + +== Import and Export + +Use the Couchbase Web Console, an SDK, or a command-line tool to import data. +Use a command-line tool to export data. + +* xref:load.adoc[] + +== Related Links + +Refer to the following for information on the Data Service. + +* xref:learn:services-and-indexes/services/data-service.adoc[] \ No newline at end of file diff --git a/modules/guides/pages/import.adoc b/modules/guides/pages/import.adoc index c4581f3e0..d748d18bf 100644 --- a/modules/guides/pages/import.adoc +++ b/modules/guides/pages/import.adoc @@ -1,9 +1,8 @@ = Import Data with an SDK -// Importing and Streaming Data :page-topic-type: guide :imagesdir: ../assets/images :page-toclevels: 2 -:page-pagination: prev +:page-pagination: :description: How to import documents into Couchbase with an SDK. :github: Click the icon:github[] View button to see any code sample in context. @@ -21,7 +20,7 @@ or using the SDK to script the process. Data load essentially consists of the following steps: -. Prepare data in some well known format such as Comma Separated Values (.csv) or JSON documents. +. Prepare data in some well known format such as Comma Separated Values (.csv) or JSON documents. . Parse this data, and iterate over each document. @@ -310,7 +309,7 @@ include::java-sdk:howtos:example$Import.java[tags=importCSV,indent=0] include::java-sdk:howtos:example$Import.java[tags=importTSV;!omit,indent=0] ---- -If you are using the *Reactor API* then, as OpenCSV doesn't have a built-in converter, +If you are using the *Reactor API* then, as OpenCSV doesn't have a built-in converter, use the https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Flux.html#generate-java.util.concurrent.Callable-java.util.function.BiFunction-java.util.function.Consumer-[`Flux::generate`] method to convert the CSV or TSV file into a stream: [source,java] @@ -686,7 +685,7 @@ Reference and information: How-to guides: -* The xref:guides:kv-operations.adoc[] guide shows how to read and update the data you have imported. +* The xref:guides:kv-operations.adoc[] guide shows how to read and update the data you have imported. Key-Value Operations with SDKs: diff --git a/modules/guides/pages/kv-operations.adoc b/modules/guides/pages/kv-operations.adoc index 81476ec86..476e87fac 100644 --- a/modules/guides/pages/kv-operations.adoc +++ b/modules/guides/pages/kv-operations.adoc @@ -13,7 +13,7 @@ include::partial$other-guide.adoc[] == Introduction -Every item in a database goes through the basic _CRUD_ cycle, which is typical of an application’s use of data. +Every item in a database goes through the basic _CRUD_ cycle, which is typical of an application's use of data. CRUD stands for create, read, update, and delete: * **C**reate: when data is first inserted into the cluster @@ -32,8 +32,9 @@ include::partial$clients.adoc[] Key-Value Operations guides: -* xref:creating-data.adoc[Creating Data] -* xref:reading-data.adoc[Reading Data] -* xref:updating-data.adoc[Updating Data] -* xref:deleting-data.adoc[Deleting Data] -* xref:bulk-operations.adoc[Bulk Operations] +* xref:getting-started:look-at-the-results.adoc#examine-your-bucket-and-its-documents[] +* xref:creating-data.adoc[] +* xref:reading-data.adoc[] +* xref:updating-data.adoc[] +* xref:deleting-data.adoc[] +* xref:bulk-operations.adoc[] diff --git a/modules/guides/pages/load.adoc b/modules/guides/pages/load.adoc new file mode 100644 index 000000000..af633c510 --- /dev/null +++ b/modules/guides/pages/load.adoc @@ -0,0 +1,49 @@ += Import and Export Data +:page-role: tiles -toc +:page-pagination: next +:!flag-devex-escape-hatch: +:description: How to import data from files, and how to export data. +:!sectids: + +// Pass through HTML styles for this page. + +ifdef::basebackend-html[] +++++ + +++++ +endif::[] + +{description} + +include::partial$other-guide.adoc[] + +== Import Data with the Couchbase Web Console + +Use the Couchbase Web Console to import data interactively, and to preview your imports. + +* xref:manage:import-documents/import-documents.adoc[] + +== Import Data with an SDK + +Use an SDK to script the process of importing data. + +* xref:import.adoc[] + +== Import and Export Data with Command Line Tools + +Use Couchbase command line tools to import and export data. + +* xref:import.adoc[] + +== Related Links + +Refer to the following for information on command line tools. + +* xref:cli:cli-intro.adoc[] \ No newline at end of file diff --git a/modules/guides/partials/clients.adoc b/modules/guides/partials/clients.adoc index e8f22f4d9..46b0ab936 100644 --- a/modules/guides/partials/clients.adoc +++ b/modules/guides/partials/clients.adoc @@ -32,10 +32,5 @@ Read the following for further information about the clients available: // tag::refs-ui[] It is also possible to access document data via the Couchbase Server UI. - -.Document Data Access -image::documents-kv-operations.png["The Documents UI can be used to perform crud operations"] - -For further details, refer to xref:getting-started:look-at-the-results.adoc#examine-your-bucket-and-its-documents[Examine Your Bucket and Its Documents]. // end::refs-ui[] // end::body[] diff --git a/modules/guides/partials/nav.adoc b/modules/guides/partials/nav.adoc index 4ade80e06..1c8d6fca7 100644 --- a/modules/guides/partials/nav.adoc +++ b/modules/guides/partials/nav.adoc @@ -1,10 +1,13 @@ -// Combined nav for CRUD -* xref:guides:kv-operations.adoc[] - ** xref:clusters:data-service/manage-documents.adoc[] - ** xref:guides:creating-data.adoc[] - ** xref:guides:reading-data.adoc[] - ** xref:guides:updating-data.adoc[] - ** xref:guides:deleting-data.adoc[] - ** xref:guides:bulk-operations.adoc[] - ** xref:clusters:data-service/import-data-documents.adoc[] - ** xref:guides:import.adoc[] +// Combined nav for Data +* xref:guides:data.adoc[] + ** xref:guides:kv-operations.adoc[] + *** xref:getting-started:look-at-the-results.adoc#examine-your-bucket-and-its-documents[] + *** xref:guides:creating-data.adoc[] + *** xref:guides:reading-data.adoc[] + *** xref:guides:updating-data.adoc[] + *** xref:guides:deleting-data.adoc[] + *** xref:guides:bulk-operations.adoc[] + ** xref:guides:load.adoc[] + *** xref:manage:import-documents/import-documents.adoc[] + *** xref:guides:import.adoc[] + *** Import and Export Data with Command Line Tools From 67c1ba0be05314b31d0d60e44f8ad6851913877a Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 22 Nov 2023 16:52:08 +0000 Subject: [PATCH 32/66] AV-61582 style fix (use of we) --- modules/guides/pages/select.adoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/guides/pages/select.adoc b/modules/guides/pages/select.adoc index f74eb2b14..37f3a6d96 100644 --- a/modules/guides/pages/select.adoc +++ b/modules/guides/pages/select.adoc @@ -125,6 +125,8 @@ The following query gets the name and city of every airport. include::example$query/from-clause.n1ql[] ---- +There are backticks around the travel-sample dataset because its name contains a hyphen. + .Result [source,json] ---- From 648e26266d7af4b0c29ba64a7882fba34f4b51e4 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Thu, 18 Jan 2024 11:31:25 +0000 Subject: [PATCH 33/66] Add LangChain and Terraform to new integrations page and delete original --- modules/develop/pages/integrations.adoc | 389 -------------------- modules/third-party/pages/integrations.adoc | 39 +- 2 files changed, 38 insertions(+), 390 deletions(-) delete mode 100644 modules/develop/pages/integrations.adoc diff --git a/modules/develop/pages/integrations.adoc b/modules/develop/pages/integrations.adoc deleted file mode 100644 index bb5416bed..000000000 --- a/modules/develop/pages/integrations.adoc +++ /dev/null @@ -1,389 +0,0 @@ -= Integrations, Connectors, and Tools -:page-toclevels: 2 -:page-topic-type: reference -:description: Integrate Couchbase with your development ecosystem and production and deployment tools. -:page-partial: - -[abstract] -{description} - -Third-party and community products and integrations -- -although not by and large supported by Couchbase (see <<#support-model,Support Model section>>) -- -are a vital tool for most larger development projects. - -These are examples of integrations that Couchbase or partners have developed to enhance Couchbase, Capella, and partner services. - - -[#partner-integrations-with-couchbase] -== Partner Integrations - - -.Partner Integrations List -[cols="20,45,50,20,20,28"] -|=== -| Integration | Summary | Links | Capella | Self-managed | <<#support-model,Support Model>> - -| LangChain -a| Use the Couchbase LangChain integrations to quickly start developing AI applications with your Couchbase database: - -Use the document loader to get documents from a Couchbase database. - -Use the vector stores integration to create a Search index, store vectors, and run vector searches. -a| -* https://python.langchain.com/docs/get_started/installation[Install LangChain for Python] -** https://python.langchain.com/docs/integrations/document_loaders/couchbase[LangChain - Python Document Loader] -** https://python.langchain.com/docs/integrations/vectorstores/couchbase[LangChain - Python Vector Stores] -* https://js.langchain.com/docs/get_started/installation[Install LangChain for JavaScript] -** https://js.langchain.com/docs/integrations/document_loaders/web_loaders/couchbase[LangChain - JavaScript Document Loader] -** https://js.langchain.com/docs/integrations/vectorstores/couchbase[LangChain - JavaScript Vector Stores] -| ✔ -| ✔ -| Community Supported - -| Hashicorp Terraform -| Deploy and manage your clusters with declarative configuration. -a| -* https://github.com/couchbasecloud/terraform-provider-couchbase-capella/[Couchbase Capella Terraform Provider repo] -* xref:cloud:terraform:index.adoc[Couchbase Capella Terraform Provider docs] -* https://registry.terraform.io/providers/couchbasecloud/couchbase-capella/latest[Capella Provider on the Hashicorp Registry site] -| ✔ -| ✖ -| Partner Supported - -| Hashicorp Vault -| Securely manage your credentials for database access. -a| -* https://www.hashicorp.com/partners/tech/couchbase#vault[Hashicorp Vault plug-in for Capella] -* https://github.com/couchbasecloud/vault-plugin-database-couchbasecapella[Plug-in page on GitHub] -* https://developer.hashicorp.com/vault/docs/secrets/databases/couchbase[Hashicorp partner page for self-managed Couchbase] -| ✔ -| ✔ -| Partner Supported - -| Netlify -| Use Couchbase Capella and Netlify Serverless Functions to handle dynamic content without needing infrastructure. -a| -* https://www.netlify.com/integrations/couchbase/[Netlify partner page] -* https://developer.couchbase.com/tutorial-quickstart-netlify[Tutorial] -| ✔ -| ✖ -| Couchbase Officially Supported - - -| Vercel -| Easy build and deploy for your applications. -a| -* https://vercel.com/integrations/couchbase-capella[Vercel partner page & tutorial] -* https://www.couchbase.com/blog/integrating-vercel-with-couchbase-capella[Blog] -* https://vercel.com/templates/next.js/couchbase-capella[Next.js starter template] -| ✔ -| ✖ -| Couchbase Officially Supported - - -| Molo17 GlueSync -| Real-time, cloud-native data replication suite for NoSQL. -a| -* https://www.couchbase.com/partners/molo17/[Intro & Tutorial] -* https://molo17.com/gluesync/[GlueSync homepage] -| ✔ -| ✔ -| Partner Supported - - -| ODBC / JDBC -| Easily access live Couchbase data from BI, Analytics, Reporting, ETL, & Custom Apps. -a| -* xref:server:connectors:odbc-jdbc-drivers.adoc[Couchbase ODBC and JDBC Drivers] -* https://www.cdata.com/drivers/couchbase/docs/[CData Driver] -* https://www.cdata.com/drivers/couchbase/#section-etl-anchor[Popular Data Warehousing Integrations] -* https://www.cdata.com/drivers/couchbase/#section-data-anchor[Data Management Tools] -* https://www.cdata.com/drivers/couchbase/#section-dev-anchor[Developer Tools] -* https://www.cdata.com/drivers/couchbase/#section-bi-anchor[BI & Data Visualization] -| ✔ -| ✔ -| Partner Supported - -| ServiceNow -| Consolidate information about critical- and warning-level events in Capella by sending notifications to an incoming webhook on ServiceNow. -a| -* xref:cloud:clusters:monitoring/alert-integration.adoc[] -* https://www.servicenow.com/community/in-other-news/how-to-integrate-webhooks-into-servicenow/ba-p/2271745[How to Integrate Webhooks into ServiceNow] -| ✔ -| ✖ -| Couchbase Officially Supported - -|=== - - - -== IDE Integrations - - -.IDE Plugins -[cols="20,45,50,20,20,35"] -|=== -| Integration | Summary | Links | Capella | Self-managed | <<#support-model,Support Model>> - -| VS Code extension for Couchbase -| A seamless experience for Couchbase Server users who want to work within the popular Visual Studio Code editor. -a| -* https://marketplace.visualstudio.com/items?itemName=Couchbase.vscode-couchbase[Visual Studio Marketplace] -* https://github.com/couchbaselabs/VSCode-Couchbase/blob/main/GETTING-STARTED.md[Tutorial] -* https://github.com/couchbaselabs/VSCode-Couchbase/blob/main/SNIPPETS.md[Code snippets] -| ✔ -| ✔ -| Couchbase Community Support - - -| VS Code extension for Couchbase Lite -| A seamless experience for Couchbase Mobile users who want to work within the popular Visual Studio Code editor. -a| -* https://marketplace.visualstudio.com/items?itemName=Couchbase.vscode-cblite[Visual Studio Marketplace] -* https://github.com/couchbaselabs/vscode-cblite[GitHub repo and intro] -| ✔ -| ✔ -| Couchbase Community Support - - -| JetBrains -| Provides support for Couchbase in JetBrains IDEs -- to develop Couchbase applications, complete with code completion, syntax highlighting, and debugging support. -a| -* https://plugins.jetbrains.com/plugin/22131-couchbase[JetBrains Marketplace] -// * [Tutorial] -* https://github.com/couchbaselabs/couchbase_jetbrains_plugin[GitHub source repo] -| ✔ -| ✔ -| Couchbase Community Support -|=== - - - -== Data Tools - -Import, export, and query data from the command line. - -.Data Tools -[cols="20,45,50,20,20,35"] -|=== -| Integration | Summary | Links | Capella | Self-managed | <<#support-model,Support Model>> - - -| Couchbase Shell (cbsh) -| Interactive shell, based upon nushell, which you can use to extract, transform, and load different data formats in Couchbase. -a| -* https://couchbase.sh/docs/[cbsh docs] -* https://github.com/couchbaselabs/couchbase-shell[GitHub repo] -| ✔ -| ✔ -| Couchbase Officially Supported (currently in _Developer Preview_) - - -| cbimport -| Utility for importing data into Couchbase databases. -Included in self-managed Couchbase Server, or downloadable as part of the xref:cloud:reference:command-line-tools.adoc#download-and-install-the-couchbase-command-line-tools[Capella Tools package]. -a| xref:server:tools:cbimport.adoc[cbimport reference] -| ✔ -| ✔ -| Couchbase Officially Supported - - -| cbexport -| Utility for exporting data from Couchbase databases. -Included in self-managed Couchbase Server, or downloadable as part of the xref:cloud:reference:command-line-tools.adoc#download-and-install-the-couchbase-command-line-tools[Capella Tools package]. -a| xref:server:tools:cbexport.adoc[cbexport reference] -| ✔ -| ✔ -| Couchbase Officially Supported - - -| cbbackupmgr -| A utility for backing up and restoring a Couchbase database. -a| -* xref:server:current:backup-restore:cbbackupmgr.adoc[cbbackupmgr reference] -* xref:server:backup-restore:cbbackupmgr-tutorial.adoc[Tutorial] -* xref:cloud:clusters:cli-backup-restore.adoc[Capella examples] -| ✔ -| ✔ -| Couchbase Officially Supported -|=== - - -=== Other Shells - -Some languages, such as Ruby, come with REPLs (interactive shells) as standard -- as is normal with many programming languages. -Others have them available as _Notebooks_, such as Python, with https://jupyter.org/[Jupyter Notebook] (which works with _several_ different languages), through which you can interactively develop functionality for a Couchbase app, or blend with analytic tools and charts. - - - -[big-data-connectors] -== Big Data Connectors - - -Couchbase develops and supports connectors for: - -* Elasticsearch and OpenSearch -* The Kafka Connect Framework -* Apache Spark Data Processing Platform -* The Tableau interactive data visualization platform - -Couchbase ODBC and JDBC drivers enable any application based on the ODBC/JDBC standards, for example Microsoft Excel, QlikView, or SAP Lumira, as well as Tableau, to connect to a Couchbase Server or cluster. - - - -.Big Data Connectors -[cols="28,43,28,30,30,28"] -|=== -| Connector | Summary | Docs | Source | Other Integrations | <<#support-model,Support Model>> - - -| Elasticsearch -| Replicate your documents from Couchbase Server or Capella to Elasticsearch or OpenSearch in near real time. -| xref:elasticsearch-connector:getting-started.adoc[Getting Started docs] -| xref:elasticsearch-connector:release-notes.adoc[Release notes & download links] -| xref:elasticsearch-connector:autonomous-operations.adoc[AO Mode] -| Couchbase Officially Supported - - -| Kafka -| A plug-in for the Kafka Connect framework, which provides source and sink components. -| xref:kafka-connector:index.adoc[Kafka connector docs] -| https://github.com/couchbase/kafka-connect-couchbase[GitHub repo] -| https://kafka.apache.org/uses[Use cases] -| Couchbase Officially Supported - - -| Spark -| Connect to the scalable computing engine for Big Data. -| xref:spark-connector:index.adoc[Couchbase Spark docs] -| https://github.com/couchbase/couchbase-spark-connector[Couchbase Spark Connector on GitHub] -| https://docs.databricks.com/_extras/notebooks/source/couchbase.html[Apache Spark Notebook] -| Couchbase Officially Supported - - -| Tableau -| Integrate Couchbase Server tabular views and the Tableau interactive data visualization platform. -| xref:tableau-connector::index.adoc[Tableau connector docs] -| https://www.tableau.com/products/desktop/download[Tableau Desktop Downloads] -| https://www.tableau.com/products/server[Other Tableau Integrations] -| Couchbase Officially Supported -|=== - - -[#sdk-language-ecosystem] -== SDK Language Ecosystem - -Couchbase has SDKs in ten popular languages -- -xref:c-sdk:hello-world:overview.adoc[C], -xref:dotnet-sdk:hello-world:overview.adoc[C# (.NET)], -xref:go-sdk:hello-world:overview.adoc[Go], -xref:java-sdk:hello-world:overview.adoc[Java], -xref:kotlin-sdk:hello-world:overview.adoc[Kotlin], -xref:nodejs-sdk:hello-world:overview.adoc[Node.js], -xref:php-sdk:hello-world:overview.adoc[PHP], -xref:python-sdk:hello-world:overview.adoc[Python], -xref:ruby-sdk:hello-world:overview.adoc[Ruby], and -xref:scala-sdk:hello-world:overview.adoc[Scala]. - -If you develop in one of these languages, you may be interested in (or already using) other libraries in that language's ecosystem, and wondering if it will integrate with Couchbase. - -There are too many third party integrations to evaluate and list (and absence of a mention in these pages is no judgement on importance or quality), but the following are well worth investigating: - -While Couchbase can't evaluate and list every possible third-party integration, we've provided a list of some you might consider in the sections below. - - -.Partner Integrations List -[cols="24,22,45,30,15,15,28"] -|=== -| Integration | SDK Language / Ecosystem | Summary | Links | Capella | Self-managed | <<#support-model,Support Model>> - -| Spring Data Couchbase -| JVM (Java, Kotlin, Scala) -| A familiar and consistent Spring-based programming model for new datastores with store-specific features and capabilities. -Key functional areas of Spring Data Couchbase are a POJO centric model for interacting with Couchbase Buckets and easily writing a Repository style data access layer. -a| -* https://spring.io/projects/spring-data-couchbase[Spring Data Couchbase] -* xref:java-sdk:hello-world:spring-data-sample-application.adoc[Sample application] -* https://blog.couchbase.com/couchbase-spring-boot-spring-data/[Spring Boot example] -| ✔ -| ✔ -| Couchbase Officially Supported - - -| Ottoman -| Node.js -| ODM (Object Document Mapper) for Couchbase. -Adds an abstraction layer over Couchbase Node.js SDK and significantly reduces the level of boilerplate needed during application development. -a| -* https://ottomanjs.com/[Ottoman docs] -* https://ottomanjs.com/docs/advanced/sdk-comparison[Advantages over pure Node.js] -* https://github.com/couchbaselabs/node-ottoman[GitHub repo] -| ✔ -| ✔ -| Couchbase Officially Supported - - -| Laravel -| PHP -| Extends the original Laravel classes to make an Eloquent model and Query builder with support for Couchbase. -a| https://github.com/friendsofcat/laravel-couchbase[Project website] -| ✔ -| ✔ -| Community Supported - - -| Rails Cache Store -| Ruby-on-Rails -| Speeds up your Rails application with caching -- storing content generated during the request-response cycle and reusing it when responding to similar requests. -a| xref:ruby-sdk:project-docs:third-party-integrations.adoc#across-the-ecosystem[Config Code example] -| ✔ -| ✔ -| Community Supported -|=== - - - - -== Support Model - - - -.Support Model -[cols="20,88"] -|=== -| Support Level | Definitions - -| Partner Supported -| This integration is developed and supported directly through the partner. -Couchbase provides support for the Couchbase components and interfaces. - -| Couchbase Community Supported -a| Open source integration that is developed by Couchbase. -Issues can also be raised in the relevant GitHub repositories or via https://www.couchbase.com/forums/[Couchbase forums] or https://discord.com/channels/915294689681362954/915296010694176808[Discord]. -Support is provided best effort by development team - -| Couchbase Officially Supported -a| Open source integration that is developed by Couchbase and officially supported. -A subscription to the Enterprise Edition of Couchbase includes technical support with service level commitments via our 24/7 support organization. -Issues can also be raised in the relevant GitHub repositories or via https://www.couchbase.com/forums/[Couchbase forums] or https://discord.com/channels/915294689681362954/915296010694176808[Discord]. - -| Community Supported -| Open source integration that is developed and supported directly by third party community contributor. -Issues can also be raised in the relevant GitHub repositories. -|=== - -//// - -== Mobile SDK Ecosystem - -Placeholder for Dart/Flutter/etc - won’t be in first page release. -Docs: https://cbl-dart.dev/documents/ -Install - https://cbl-dart.dev/install/ -Repo ; https://github.com/cbl-dart/cbl-dart - -== Useful Tools - -// Tools - -=== Test Data Generation -//// diff --git a/modules/third-party/pages/integrations.adoc b/modules/third-party/pages/integrations.adoc index 7f9b3563b..d93c12460 100644 --- a/modules/third-party/pages/integrations.adoc +++ b/modules/third-party/pages/integrations.adoc @@ -3,7 +3,7 @@ :page-topic-type: reference :page-aliases: develop:integrations.adoc :description: Integrate Couchbase with your development ecosystem and production and deployment tools. - +:page-partial: [abstract] {description} @@ -24,6 +24,33 @@ These are examples of integrations that Couchbase or partners have developed to |=== | Integration | Summary | Links | Capella | Self-managed | <<#support-model,Support Model>> +| LangChain +a| Use the Couchbase LangChain integrations to quickly start developing AI applications with your Couchbase database: + +Use the document loader to get documents from a Couchbase database. + +Use the vector stores integration to create a Search index, store vectors, and run vector searches. +a| +* https://python.langchain.com/docs/get_started/installation[Install LangChain for Python] +** https://python.langchain.com/docs/integrations/document_loaders/couchbase[LangChain - Python Document Loader] +** https://python.langchain.com/docs/integrations/vectorstores/couchbase[LangChain - Python Vector Stores] +* https://js.langchain.com/docs/get_started/installation[Install LangChain for JavaScript] +** https://js.langchain.com/docs/integrations/document_loaders/web_loaders/couchbase[LangChain - JavaScript Document Loader] +** https://js.langchain.com/docs/integrations/vectorstores/couchbase[LangChain - JavaScript Vector Stores] +| ✔ +| ✔ +| Community Supported + +| Hashicorp Terraform +| Deploy and manage your clusters with declarative configuration. +a| +* https://github.com/couchbasecloud/terraform-provider-couchbase-capella/[Couchbase Capella Terraform Provider repo] +* xref:cloud:terraform:index.adoc[Couchbase Capella Terraform Provider docs] +* https://registry.terraform.io/providers/couchbasecloud/couchbase-capella/latest[Capella Provider on the Hashicorp Registry site] +| ✔ +| ✖ +| Partner Supported + | Hashicorp Vault | Securely manage your credentials for database access. a| @@ -77,6 +104,16 @@ a| | ✔ | ✔ | Partner Supported + +| ServiceNow +| Consolidate information about critical- and warning-level events in Capella by sending notifications to an incoming webhook on ServiceNow. +a| +* xref:cloud:clusters:monitoring/alert-integration.adoc[] +* https://www.servicenow.com/community/in-other-news/how-to-integrate-webhooks-into-servicenow/ba-p/2271745[How to Integrate Webhooks into ServiceNow] +| ✔ +| ✖ +| Couchbase Officially Supported + |=== From 51b025745f9adcf9e86db4993b7b1fab8736314d Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Thu, 18 Jan 2024 11:32:21 +0000 Subject: [PATCH 34/66] Remove guides intro page and update hidden page --- modules/guides/pages/.intro.adoc | 4 +- modules/guides/pages/intro.adoc | 78 -------------------------------- 2 files changed, 1 insertion(+), 81 deletions(-) delete mode 100644 modules/guides/pages/intro.adoc diff --git a/modules/guides/pages/.intro.adoc b/modules/guides/pages/.intro.adoc index 22f2e47eb..85b61ecb0 100644 --- a/modules/guides/pages/.intro.adoc +++ b/modules/guides/pages/.intro.adoc @@ -19,7 +19,7 @@ ifdef::basebackend-html[] ++++ endif::[] -This section contains _how-to guides_ that walk you through common tasks for Couchbase Capella development, such as storing, retrieving, and querying documents. +This section contains _how-to guides_ that walk you through common tasks for Couchbase Server development, such as storing, retrieving, and querying documents. include::partial$other-guide.adoc[] @@ -71,10 +71,8 @@ This guide explains how to import data from files. * xref:import.adoc[] -ifdef::flag-devex-javascript-udfs[] == JavaScript User-Defined Functions This guide explains how to create JavaScript User-Defined Functions, and how to call them through the Query WorkBench and the REST API. * xref:javascript-udfs.adoc[] -endif::flag-devex-javascript-udfs[] diff --git a/modules/guides/pages/intro.adoc b/modules/guides/pages/intro.adoc deleted file mode 100644 index 85b61ecb0..000000000 --- a/modules/guides/pages/intro.adoc +++ /dev/null @@ -1,78 +0,0 @@ -= Developer Guides -:page-role: tiles -toc -:description: This section contains how-to guides for developers. -:!sectids: - -// Pass through HTML styles for this page. - -ifdef::basebackend-html[] -++++ - -++++ -endif::[] - -This section contains _how-to guides_ that walk you through common tasks for Couchbase Server development, such as storing, retrieving, and querying documents. - -include::partial$other-guide.adoc[] - -== Connecting to Couchbase - -This guide explains how to connect to a Couchbase cluster. - -* xref:connect.adoc[] - -== Key-Value Operations - -This guide explains how to use Couchbase SDKs to carry out key-value operations on documents. - -* xref:kv-operations.adoc[] - -== Selection Queries - -This guide explains how to read data with a {sqlpp} query. - -* xref:query.adoc[] - -== Indexes - -This guide explains how to create and use primary and secondary indexes for {sqlpp} queries. - -* xref:indexes.adoc[] - -== Data Manipulation Queries - -This guide explains how to create, update, and delete data with a {sqlpp} query. - -* xref:manipulate.adoc[] - -== Optimizing Performance - -This guide explains how to optimize the performance of {sqlpp} queries. - -* xref:optimize.adoc[] - -== Transactions - -This guide explains how to carry out ACID transactions on the database. - -* xref:transactions.adoc[] - -== Importing Data - -This guide explains how to import data from files. - -* xref:import.adoc[] - -== JavaScript User-Defined Functions - -This guide explains how to create JavaScript User-Defined Functions, and how to call them through the Query WorkBench and the REST API. - -* xref:javascript-udfs.adoc[] From a57bd28863bc6bfd50f335027de0a476a391e8e4 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Thu, 11 Apr 2024 11:56:07 +0100 Subject: [PATCH 35/66] Update combined nav for Connect and Data --- modules/guides/partials/nav.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/guides/partials/nav.adoc b/modules/guides/partials/nav.adoc index 1c8d6fca7..bc4f1c3b8 100644 --- a/modules/guides/partials/nav.adoc +++ b/modules/guides/partials/nav.adoc @@ -1,4 +1,5 @@ -// Combined nav for Data +// Combined nav for Connect and Data +* xref:guides:connect.adoc[] * xref:guides:data.adoc[] ** xref:guides:kv-operations.adoc[] *** xref:getting-started:look-at-the-results.adoc#examine-your-bucket-and-its-documents[] From 73a5d81eb4b110baf8f69f6ac1d740d5249956e6 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Thu, 18 Jan 2024 11:41:05 +0000 Subject: [PATCH 36/66] Update search nav: promote everything one step in hierarchy --- modules/search/partials/nav.adoc | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/search/partials/nav.adoc b/modules/search/partials/nav.adoc index 17253712b..1e28b1546 100644 --- a/modules/search/partials/nav.adoc +++ b/modules/search/partials/nav.adoc @@ -1,13 +1,13 @@ * xref:7.6@server:search:search.adoc[] ** xref:7.6@server:search:create-search-indexes.adoc[] - *** xref:7.6@server:search:create-search-index-ui.adoc[] - *** xref:7.6@server:search:create-search-index-rest-api.adoc[] - **** xref:7.6@server:search:search-index-params.adoc[] - *** xref:7.6@server:search:create-quick-index.adoc[] - **** xref:7.6@server:search:quick-index-field-options.adoc[] - **** xref:7.6@server:search:field-data-types-reference.adoc[] - **** xref:7.6@server:search:quick-index-supported-languages.adoc[] - *** xref:7.6@server:search:import-search-index.adoc[] + *** xref:7.6@server:search:create-search-index-ui.adoc[] + *** xref:7.6@server:search:create-search-index-rest-api.adoc[] + **** xref:7.6@server:search:search-index-params.adoc[] + *** xref:7.6@server:search:create-quick-index.adoc[] + **** xref:7.6@server:search:quick-index-field-options.adoc[] + **** xref:7.6@server:search:field-data-types-reference.adoc[] + **** xref:7.6@server:search:quick-index-supported-languages.adoc[] + *** xref:7.6@server:search:import-search-index.adoc[] ** xref:7.6@server:search:view-index-details.adoc[] ** xref:7.6@server:search:run-searches.adoc[] *** xref:7.6@server:search:simple-search-ui.adoc[] @@ -17,10 +17,10 @@ **** xref:7.6@server:fts:fts-search-response.adoc[Search Response] *** xref:7.6@server:search:geo-search-rest-api.adoc[] ** xref:7.6@server:search:search-query-auto-complete.adoc[] - *** xref:7.6@server:search:search-query-auto-complete-ui.adoc[] - *** xref:7.6@server:search:search-query-auto-complete-code.adoc[] + *** xref:7.6@server:search:search-query-auto-complete-ui.adoc[] + *** xref:7.6@server:search:search-query-auto-complete-code.adoc[] ** xref:7.6@server:search:index-aliases.adoc[] - *** xref:7.6@server:search:create-search-index-alias.adoc[] + *** xref:7.6@server:search:create-search-index-alias.adoc[] ** xref:7.6@server:search:customize-index.adoc[] *** xref:7.6@server:search:set-type-identifier.adoc[] *** xref:7.6@server:search:create-type-mapping.adoc[] From 606e897be90c32627d57f2e2da53c9cbfcf0b654 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 31 Jan 2024 15:02:51 +0000 Subject: [PATCH 37/66] Add signpost partial with component logos --- modules/ROOT/images/capella-logo.svg | 7 +++ modules/ROOT/images/couchbase-logo.svg | 50 +++++++++++++++++++ modules/ROOT/partials/component-signpost.adoc | 7 +++ 3 files changed, 64 insertions(+) create mode 100644 modules/ROOT/images/capella-logo.svg create mode 100644 modules/ROOT/images/couchbase-logo.svg create mode 100644 modules/ROOT/partials/component-signpost.adoc diff --git a/modules/ROOT/images/capella-logo.svg b/modules/ROOT/images/capella-logo.svg new file mode 100644 index 000000000..c03d2f24b --- /dev/null +++ b/modules/ROOT/images/capella-logo.svg @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/modules/ROOT/images/couchbase-logo.svg b/modules/ROOT/images/couchbase-logo.svg new file mode 100644 index 000000000..f51787fda --- /dev/null +++ b/modules/ROOT/images/couchbase-logo.svg @@ -0,0 +1,50 @@ + + + + + + + \ No newline at end of file diff --git a/modules/ROOT/partials/component-signpost.adoc b/modules/ROOT/partials/component-signpost.adoc new file mode 100644 index 000000000..15e82766d --- /dev/null +++ b/modules/ROOT/partials/component-signpost.adoc @@ -0,0 +1,7 @@ +[.signpost] +image:ROOT:couchbase-logo.svg["Couchbase Server", 25.6] +This page is for Couchbase Server. +ifdef::flag-devex-escape-hatch[] +// soft-set flag-devex-escape-hatch so authors can override the escape hatch for individual pages +For Couchbase Capella, see xref:cloud:{page-module}:{docname}.adoc[]. +endif::flag-devex-escape-hatch[] \ No newline at end of file From b2d0d11f87272ec6da058456cf7a886650261e43 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 31 Jan 2024 15:11:28 +0000 Subject: [PATCH 38/66] Add signpost partial and escape hatch to pages for consistency --- modules/n1ql/pages/admin.adoc | 2 ++ modules/n1ql/pages/advanced.adoc | 2 ++ modules/n1ql/pages/n1ql-intro/index.adoc | 2 ++ modules/n1ql/pages/n1ql-intro/queriesandresults.adoc | 2 ++ modules/n1ql/pages/n1ql-intro/sysinfo.adoc | 2 ++ .../pages/n1ql-language-reference/cost-based-optimizer.adoc | 2 ++ modules/n1ql/pages/n1ql-language-reference/time-series.adoc | 2 ++ modules/n1ql/pages/n1ql-language-reference/transactions.adoc | 2 ++ modules/n1ql/pages/query.adoc | 2 ++ 9 files changed, 18 insertions(+) diff --git a/modules/n1ql/pages/admin.adoc b/modules/n1ql/pages/admin.adoc index 72335e641..e45aa7099 100644 --- a/modules/n1ql/pages/admin.adoc +++ b/modules/n1ql/pages/admin.adoc @@ -15,6 +15,8 @@ ifdef::basebackend-html[] ++++ endif::[] +include::ROOT:partial$component-signpost.adoc[] + == Get System Information {sqlpp} has a system namespace that stores metadata about data containers. diff --git a/modules/n1ql/pages/advanced.adoc b/modules/n1ql/pages/advanced.adoc index 8dfc678e3..81cb8e24f 100644 --- a/modules/n1ql/pages/advanced.adoc +++ b/modules/n1ql/pages/advanced.adoc @@ -16,6 +16,8 @@ ifdef::basebackend-html[] ++++ endif::[] +include::ROOT:partial$component-signpost.adoc[] + == Cost-Based Optimizer The cost-based optimizer takes into account the cost of memory, CPU, network transport, and disk usage when choosing the optimal plan to execute a query. diff --git a/modules/n1ql/pages/n1ql-intro/index.adoc b/modules/n1ql/pages/n1ql-intro/index.adoc index 76a52b1e9..d9ba30898 100644 --- a/modules/n1ql/pages/n1ql-intro/index.adoc +++ b/modules/n1ql/pages/n1ql-intro/index.adoc @@ -16,6 +16,8 @@ ifdef::basebackend-html[] ++++ endif::[] +include::ROOT:partial$component-signpost.adoc[] + == Query Concepts An overview of common concepts that you will need to understand in order to use the Query service. diff --git a/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc b/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc index 7afc6ba23..22f38794c 100644 --- a/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc +++ b/modules/n1ql/pages/n1ql-intro/queriesandresults.adoc @@ -6,6 +6,8 @@ [abstract] {description} +include::ROOT:partial$component-signpost.adoc[] + == {sqlpp} Queries A {sqlpp} query is a string parsed by the Query service. diff --git a/modules/n1ql/pages/n1ql-intro/sysinfo.adoc b/modules/n1ql/pages/n1ql-intro/sysinfo.adoc index cdaff00ea..a521344c7 100644 --- a/modules/n1ql/pages/n1ql-intro/sysinfo.adoc +++ b/modules/n1ql/pages/n1ql-intro/sysinfo.adoc @@ -6,6 +6,8 @@ You can query the system namespace to get information about the data containers. [abstract] {description} +include::ROOT:partial$component-signpost.adoc[] + There is a catalog for each type of data container. The catalog names are plural in order to avoid conflicting with {sqlpp} keywords. diff --git a/modules/n1ql/pages/n1ql-language-reference/cost-based-optimizer.adoc b/modules/n1ql/pages/n1ql-language-reference/cost-based-optimizer.adoc index 018938c2b..ff24ede7f 100644 --- a/modules/n1ql/pages/n1ql-language-reference/cost-based-optimizer.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/cost-based-optimizer.adoc @@ -33,6 +33,8 @@ [abstract] {description} +include::ROOT:partial$component-signpost.adoc[] + [[overview]] == Overview diff --git a/modules/n1ql/pages/n1ql-language-reference/time-series.adoc b/modules/n1ql/pages/n1ql-language-reference/time-series.adoc index 0574bb81e..7b0b6ccbf 100644 --- a/modules/n1ql/pages/n1ql-language-reference/time-series.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/time-series.adoc @@ -26,6 +26,8 @@ [abstract] {description} +include::ROOT:partial$component-signpost.adoc[] + Time series data is any data which changes over time. In the case of data management, it refers to data collected frequently, in regular or irregular intervals, from a device or a process. The changing data is typically numerical, and changes incrementally. diff --git a/modules/n1ql/pages/n1ql-language-reference/transactions.adoc b/modules/n1ql/pages/n1ql-language-reference/transactions.adoc index cb8762b34..9977f1122 100644 --- a/modules/n1ql/pages/n1ql-language-reference/transactions.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/transactions.adoc @@ -62,6 +62,8 @@ [abstract] {description} +include::ROOT:partial$component-signpost.adoc[] + A transaction is a group of operations that are either committed to the database together, or are all undone from the database if there's a failure. Refer to {transactions}[Transactions] for an overview of Couchbase transactions. diff --git a/modules/n1ql/pages/query.adoc b/modules/n1ql/pages/query.adoc index 6eda63c24..3e357b360 100644 --- a/modules/n1ql/pages/query.adoc +++ b/modules/n1ql/pages/query.adoc @@ -22,6 +22,8 @@ endif::[] [abstract] {description} +include::ROOT:partial$component-signpost.adoc[] + As its primary function, the Query service enables you to issue queries to extract data from Couchbase server. You can also issue queries for data definition (defining indexes) and data manipulation (adding or deleting data). The Query Service needs both the Index Service and the Data Service to be running on Couchbase Server. From 54e687383880db53e2d2a723981599c2f47e5ed3 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 31 Jan 2024 15:12:32 +0000 Subject: [PATCH 39/66] Add signpost and enable escape hatch for Work with Your Data --- modules/guides/pages/data.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/guides/pages/data.adoc b/modules/guides/pages/data.adoc index b8a3819e6..065b2a708 100644 --- a/modules/guides/pages/data.adoc +++ b/modules/guides/pages/data.adoc @@ -1,6 +1,5 @@ = Work with Your Data :page-role: tiles -toc -:!flag-devex-escape-hatch: :description: The Data Service offers Couchbase clients the fastest and simplest way to create, retrieve, or mutate data. :!sectids: @@ -23,6 +22,8 @@ endif::[] [abstract] {description} +include::ROOT:partial$component-signpost.adoc[] + == Key-Value Operations Use the Couchbase Web Console or an SDK to create, read, update, or delete data. From 82ef35ec42efb6a4a689bf22ad0f97333a030821 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 31 Jan 2024 15:13:04 +0000 Subject: [PATCH 40/66] Enable escape hatch for Import and Export Data --- modules/guides/pages/load.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/guides/pages/load.adoc b/modules/guides/pages/load.adoc index af633c510..c06af2514 100644 --- a/modules/guides/pages/load.adoc +++ b/modules/guides/pages/load.adoc @@ -1,7 +1,6 @@ = Import and Export Data :page-role: tiles -toc :page-pagination: next -:!flag-devex-escape-hatch: :description: How to import data from files, and how to export data. :!sectids: From 0d4b59b61a5dc5017cbe9aa6a8cfb7974eacf9c2 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 31 Jan 2024 15:16:35 +0000 Subject: [PATCH 41/66] Replace escape hatch with component signpost in Developer Intro --- modules/develop/pages/intro.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/develop/pages/intro.adoc b/modules/develop/pages/intro.adoc index 9ecd46e12..9dcb2a416 100644 --- a/modules/develop/pages/intro.adoc +++ b/modules/develop/pages/intro.adoc @@ -23,7 +23,7 @@ endif::[] {description} It also provides links to the documentation for software development kits and other integrations. -include::partial$escape-hatch.adoc[] +include::ROOT:partial$component-signpost.adoc[] == Developer Tutorial From e1c03e6cb1155d63019856209fb463648de41f27 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 31 Jan 2024 16:15:24 +0000 Subject: [PATCH 42/66] Replace other guide link with component signpost --- modules/guides/pages/.intro.adoc | 2 +- modules/guides/pages/.optimize.adoc | 5 +++-- modules/guides/pages/bulk-operations.adoc | 7 +++---- modules/guides/pages/call-user-defined-function.adoc | 7 +++---- modules/guides/pages/cbo.adoc | 7 +++---- modules/guides/pages/connect.adoc | 7 +++---- modules/guides/pages/create-index.adoc | 7 +++---- modules/guides/pages/create-javascript-library.adoc | 7 +++---- modules/guides/pages/create-user-defined-function.adoc | 7 +++---- modules/guides/pages/creating-data.adoc | 7 +++---- modules/guides/pages/defer-index.adoc | 7 +++---- modules/guides/pages/delete.adoc | 7 +++---- modules/guides/pages/deleting-data.adoc | 7 +++---- modules/guides/pages/drop-index.adoc | 7 +++---- modules/guides/pages/group-agg.adoc | 7 +++---- modules/guides/pages/import.adoc | 7 +++---- modules/guides/pages/index-advisor.adoc | 7 +++---- modules/guides/pages/indexes.adoc | 5 +++-- modules/guides/pages/insert.adoc | 7 +++---- modules/guides/pages/javascript-udfs.adoc | 7 +++---- modules/guides/pages/join.adoc | 7 +++---- modules/guides/pages/kv-operations.adoc | 7 +++---- modules/guides/pages/load.adoc | 5 +++-- modules/guides/pages/manipulate.adoc | 5 +++-- modules/guides/pages/nest-unnest.adoc | 7 +++---- modules/guides/pages/place-index.adoc | 7 +++---- modules/guides/pages/prep-statements.adoc | 7 +++---- modules/guides/pages/query.adoc | 2 +- modules/guides/pages/reading-data.adoc | 7 +++---- modules/guides/pages/select-index.adoc | 7 +++---- modules/guides/pages/select.adoc | 7 +++---- modules/guides/pages/transactions.adoc | 7 +++---- modules/guides/pages/update.adoc | 7 +++---- modules/guides/pages/updating-data.adoc | 7 +++---- 34 files changed, 98 insertions(+), 122 deletions(-) diff --git a/modules/guides/pages/.intro.adoc b/modules/guides/pages/.intro.adoc index 85b61ecb0..9306a801a 100644 --- a/modules/guides/pages/.intro.adoc +++ b/modules/guides/pages/.intro.adoc @@ -21,7 +21,7 @@ endif::[] This section contains _how-to guides_ that walk you through common tasks for Couchbase Server development, such as storing, retrieving, and querying documents. -include::partial$other-guide.adoc[] +include::ROOT:partial$component-signpost.adoc[] == Connecting to Couchbase diff --git a/modules/guides/pages/.optimize.adoc b/modules/guides/pages/.optimize.adoc index 8ecf14997..c5b644fee 100644 --- a/modules/guides/pages/.optimize.adoc +++ b/modules/guides/pages/.optimize.adoc @@ -20,8 +20,9 @@ ifdef::basebackend-html[] ++++ endif::[] -{description} + -include::partial$other-guide.adoc[] +{description} + +include::ROOT:partial$component-signpost.adoc[] == Index Advisor diff --git a/modules/guides/pages/bulk-operations.adoc b/modules/guides/pages/bulk-operations.adoc index 10c3e6c29..01df27a9e 100644 --- a/modules/guides/pages/bulk-operations.adoc +++ b/modules/guides/pages/bulk-operations.adoc @@ -8,10 +8,9 @@ include::partial$example-attributes.adoc[] [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/call-user-defined-function.adoc b/modules/guides/pages/call-user-defined-function.adoc index 33d7890dc..9e6c360ca 100644 --- a/modules/guides/pages/call-user-defined-function.adoc +++ b/modules/guides/pages/call-user-defined-function.adoc @@ -8,10 +8,9 @@ :flag-devex-escape-hatch!: [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/cbo.adoc b/modules/guides/pages/cbo.adoc index 366298fff..d092152fe 100644 --- a/modules/guides/pages/cbo.adoc +++ b/modules/guides/pages/cbo.adoc @@ -7,10 +7,9 @@ :description: How to use the Cost-Based Optimizer and manage optimizer statistics. [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/connect.adoc b/modules/guides/pages/connect.adoc index 681ea75e4..5e6c46093 100644 --- a/modules/guides/pages/connect.adoc +++ b/modules/guides/pages/connect.adoc @@ -9,10 +9,9 @@ include::partial$example-attributes.adoc[] [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/create-index.adoc b/modules/guides/pages/create-index.adoc index 971ec8ce7..15c380997 100644 --- a/modules/guides/pages/create-index.adoc +++ b/modules/guides/pages/create-index.adoc @@ -9,10 +9,9 @@ :description: How to create primary indexes and secondary indexes. [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/create-javascript-library.adoc b/modules/guides/pages/create-javascript-library.adoc index ee9d7ebf6..accbd2174 100644 --- a/modules/guides/pages/create-javascript-library.adoc +++ b/modules/guides/pages/create-javascript-library.adoc @@ -8,10 +8,9 @@ :flag-devex-escape-hatch!: [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/create-user-defined-function.adoc b/modules/guides/pages/create-user-defined-function.adoc index 102d037b0..bb4a37b74 100644 --- a/modules/guides/pages/create-user-defined-function.adoc +++ b/modules/guides/pages/create-user-defined-function.adoc @@ -9,10 +9,9 @@ :flag-devex-escape-hatch!: [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/creating-data.adoc b/modules/guides/pages/creating-data.adoc index 92e525dbb..7fb24c623 100644 --- a/modules/guides/pages/creating-data.adoc +++ b/modules/guides/pages/creating-data.adoc @@ -9,10 +9,9 @@ include::partial$example-attributes.adoc[] [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/defer-index.adoc b/modules/guides/pages/defer-index.adoc index 424f0ebca..6ed4bdb74 100644 --- a/modules/guides/pages/defer-index.adoc +++ b/modules/guides/pages/defer-index.adoc @@ -8,10 +8,9 @@ :description: How to create deferred indexes and build them later. [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/delete.adoc b/modules/guides/pages/delete.adoc index 2e0f4625b..d9ab6a1a8 100644 --- a/modules/guides/pages/delete.adoc +++ b/modules/guides/pages/delete.adoc @@ -7,10 +7,9 @@ :description: How to delete documents using {sqlpp}. [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/deleting-data.adoc b/modules/guides/pages/deleting-data.adoc index 23ea3d30c..6e9a6235a 100644 --- a/modules/guides/pages/deleting-data.adoc +++ b/modules/guides/pages/deleting-data.adoc @@ -8,10 +8,9 @@ include::partial$example-attributes.adoc[] [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/drop-index.adoc b/modules/guides/pages/drop-index.adoc index ea8c29539..d75412860 100644 --- a/modules/guides/pages/drop-index.adoc +++ b/modules/guides/pages/drop-index.adoc @@ -8,10 +8,9 @@ :description: How to drop primary and secondary indexes. [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/group-agg.adoc b/modules/guides/pages/group-agg.adoc index 05904ec5c..dfe03cb8e 100644 --- a/modules/guides/pages/group-agg.adoc +++ b/modules/guides/pages/group-agg.adoc @@ -7,10 +7,9 @@ :description: How to calculate aggregates and group the results. [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/import.adoc b/modules/guides/pages/import.adoc index d748d18bf..4cab9ec69 100644 --- a/modules/guides/pages/import.adoc +++ b/modules/guides/pages/import.adoc @@ -7,10 +7,9 @@ :github: Click the icon:github[] View button to see any code sample in context. [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/index-advisor.adoc b/modules/guides/pages/index-advisor.adoc index 5ae528c23..ea4d0b0a8 100644 --- a/modules/guides/pages/index-advisor.adoc +++ b/modules/guides/pages/index-advisor.adoc @@ -7,10 +7,9 @@ :description: How to use the Index Advisor to recommend indexes for your queries. [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/indexes.adoc b/modules/guides/pages/indexes.adoc index 46972fa2d..d1d836aa8 100644 --- a/modules/guides/pages/indexes.adoc +++ b/modules/guides/pages/indexes.adoc @@ -20,8 +20,9 @@ ifdef::basebackend-html[] ++++ endif::[] -{description} + -include::partial$other-guide.adoc[] +{description} + +include::ROOT:partial$component-signpost.adoc[] == Create Indexes diff --git a/modules/guides/pages/insert.adoc b/modules/guides/pages/insert.adoc index 8b18e6a49..5657638c2 100644 --- a/modules/guides/pages/insert.adoc +++ b/modules/guides/pages/insert.adoc @@ -7,10 +7,9 @@ :description: How to insert documents using {sqlpp}. [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/javascript-udfs.adoc b/modules/guides/pages/javascript-udfs.adoc index 48b0fb4e4..37e2477df 100644 --- a/modules/guides/pages/javascript-udfs.adoc +++ b/modules/guides/pages/javascript-udfs.adoc @@ -8,10 +8,9 @@ :flag-devex-escape-hatch!: [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/join.adoc b/modules/guides/pages/join.adoc index 7d77f823c..aa4ed375d 100644 --- a/modules/guides/pages/join.adoc +++ b/modules/guides/pages/join.adoc @@ -8,10 +8,9 @@ :description: How to join data sources for a {sqlpp} selection query. [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/kv-operations.adoc b/modules/guides/pages/kv-operations.adoc index 476e87fac..6ff301c51 100644 --- a/modules/guides/pages/kv-operations.adoc +++ b/modules/guides/pages/kv-operations.adoc @@ -6,10 +6,9 @@ :page-toclevels: 2 [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/load.adoc b/modules/guides/pages/load.adoc index c06af2514..40ddfabe7 100644 --- a/modules/guides/pages/load.adoc +++ b/modules/guides/pages/load.adoc @@ -20,8 +20,9 @@ ifdef::basebackend-html[] ++++ endif::[] -{description} + -include::partial$other-guide.adoc[] +{description} + +include::ROOT:partial$component-signpost.adoc[] == Import Data with the Couchbase Web Console diff --git a/modules/guides/pages/manipulate.adoc b/modules/guides/pages/manipulate.adoc index 724e5a856..af9ca34f2 100644 --- a/modules/guides/pages/manipulate.adoc +++ b/modules/guides/pages/manipulate.adoc @@ -20,8 +20,9 @@ ifdef::basebackend-html[] ++++ endif::[] -{description} + -include::partial$other-guide.adoc[] +{description} + +include::ROOT:partial$component-signpost.adoc[] == Inserting Data diff --git a/modules/guides/pages/nest-unnest.adoc b/modules/guides/pages/nest-unnest.adoc index a43457460..73bde116e 100644 --- a/modules/guides/pages/nest-unnest.adoc +++ b/modules/guides/pages/nest-unnest.adoc @@ -8,10 +8,9 @@ :description: How to nest and unnest arrays of embedded objects. [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/place-index.adoc b/modules/guides/pages/place-index.adoc index 0017101a2..01963bab8 100644 --- a/modules/guides/pages/place-index.adoc +++ b/modules/guides/pages/place-index.adoc @@ -7,10 +7,9 @@ :description: How to place indexes on specified nodes, create index replicas, and partition indexes. [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/prep-statements.adoc b/modules/guides/pages/prep-statements.adoc index da8f98369..88ef97c6f 100644 --- a/modules/guides/pages/prep-statements.adoc +++ b/modules/guides/pages/prep-statements.adoc @@ -6,10 +6,9 @@ :description: How to create and execute prepared statements, including placeholder parameters. [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/query.adoc b/modules/guides/pages/query.adoc index 2cc548619..2866716c0 100644 --- a/modules/guides/pages/query.adoc +++ b/modules/guides/pages/query.adoc @@ -24,7 +24,7 @@ endif::[] The {sqlpp} query language enables you to retrieve a document by inspecting its contents to see if it matches a certain criterion. Key-value operations are quicker, but querying documents allows for richer search capabilities -- for example, "Give me all likes and followed users located in the US", versus "Give me a user with the ID e3d882a4". -include::partial$other-guide.adoc[] +include::ROOT:partial$component-signpost.adoc[] == Read Data and Return Results diff --git a/modules/guides/pages/reading-data.adoc b/modules/guides/pages/reading-data.adoc index 4a6ea7259..81f74603a 100644 --- a/modules/guides/pages/reading-data.adoc +++ b/modules/guides/pages/reading-data.adoc @@ -9,10 +9,9 @@ include::partial$example-attributes.adoc[] [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/select-index.adoc b/modules/guides/pages/select-index.adoc index 8db748372..590854426 100644 --- a/modules/guides/pages/select-index.adoc +++ b/modules/guides/pages/select-index.adoc @@ -7,10 +7,9 @@ :description: How to select an index for a query. [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/select.adoc b/modules/guides/pages/select.adoc index 37f3a6d96..9d0998664 100644 --- a/modules/guides/pages/select.adoc +++ b/modules/guides/pages/select.adoc @@ -7,10 +7,9 @@ :github: Click the icon:github[] View button to see this code in context. [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/transactions.adoc b/modules/guides/pages/transactions.adoc index b79559cb5..5b6bd36b3 100644 --- a/modules/guides/pages/transactions.adoc +++ b/modules/guides/pages/transactions.adoc @@ -7,10 +7,9 @@ :github: Click the icon:github[] View button to see this code in context. [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/update.adoc b/modules/guides/pages/update.adoc index d955e7b91..5074127b1 100644 --- a/modules/guides/pages/update.adoc +++ b/modules/guides/pages/update.adoc @@ -7,10 +7,9 @@ :description: How to modify documents using {sqlpp}. [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction diff --git a/modules/guides/pages/updating-data.adoc b/modules/guides/pages/updating-data.adoc index 3c2c8080d..07ef0c164 100644 --- a/modules/guides/pages/updating-data.adoc +++ b/modules/guides/pages/updating-data.adoc @@ -8,10 +8,9 @@ include::partial$example-attributes.adoc[] [abstract] --- -{description} + -include::partial$other-guide.adoc[] --- +{description} + +include::ROOT:partial$component-signpost.adoc[] == Introduction From 530662fa3bd1702da556a8493e898f6c364a5e75 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 31 Jan 2024 16:16:50 +0000 Subject: [PATCH 43/66] Remove escape hatch and other guide partials --- modules/develop/partials/escape-hatch.adoc | 8 -------- modules/guides/partials/other-guide.adoc | 8 -------- 2 files changed, 16 deletions(-) delete mode 100644 modules/develop/partials/escape-hatch.adoc delete mode 100644 modules/guides/partials/other-guide.adoc diff --git a/modules/develop/partials/escape-hatch.adoc b/modules/develop/partials/escape-hatch.adoc deleted file mode 100644 index 6812ed778..000000000 --- a/modules/develop/partials/escape-hatch.adoc +++ /dev/null @@ -1,8 +0,0 @@ -This -ifdef::page-topic-type[{page-topic-type}] -ifndef::page-topic-type[page] -is for Couchbase Server. -ifdef::flag-devex-escape-hatch[] -// soft-set flag-devex-escape-hatch so authors can override the escape hatch for individual pages -For Couchbase Capella, see xref:cloud:develop:{docname}.adoc[]. -endif::flag-devex-escape-hatch[] \ No newline at end of file diff --git a/modules/guides/partials/other-guide.adoc b/modules/guides/partials/other-guide.adoc deleted file mode 100644 index e820a8afb..000000000 --- a/modules/guides/partials/other-guide.adoc +++ /dev/null @@ -1,8 +0,0 @@ -This -ifdef::page-topic-type[{page-topic-type}] -ifndef::page-topic-type[page] -is for Couchbase Server. -ifdef::flag-devex-escape-hatch[] -// soft-set flag-devex-escape-hatch so authors can override the escape hatch for individual pages -For Couchbase Capella, see xref:cloud:guides:{docname}.adoc[]. -endif::flag-devex-escape-hatch[] \ No newline at end of file From 94157471c80ebff8140b2be0679c87be313c1950 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 31 Jan 2024 16:17:14 +0000 Subject: [PATCH 44/66] SQL++ landing page is a reference --- modules/n1ql/pages/n1ql-language-reference/index.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/n1ql/pages/n1ql-language-reference/index.adoc b/modules/n1ql/pages/n1ql-language-reference/index.adoc index b2e2882fc..4c0ebefd0 100644 --- a/modules/n1ql/pages/n1ql-language-reference/index.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/index.adoc @@ -1,6 +1,6 @@ = {sqlpp} Language Reference :description: This reference guide describes the syntax and structure of the {sqlpp} language. -:page-topic-type: concept +:page-topic-type: reference :page-toclevels: 2 :imagesdir: ../../assets/images From 0707cfa525bccf428b34efa40f1908ff3af18173 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Thu, 1 Feb 2024 17:54:27 +0000 Subject: [PATCH 45/66] Update admin landing page for Server --- modules/n1ql/pages/admin.adoc | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/modules/n1ql/pages/admin.adoc b/modules/n1ql/pages/admin.adoc index e45aa7099..60eb38073 100644 --- a/modules/n1ql/pages/admin.adoc +++ b/modules/n1ql/pages/admin.adoc @@ -26,13 +26,20 @@ You can query the system namespace to get information about the data containers. == Manage Primary and Secondary Indexes -You can monitor and manage primary and secondary indexes using the Couchbase Web Console. +You can monitor and manage primary and secondary indexes using the Couchbase Web Console, the command line interface, or the REST API. * xref:manage:monitor/monitoring-indexes.adoc[] * xref:manage:manage-indexes/manage-indexes.adoc[] -== Related Links +== Manage Queries -The Monitor Queries page gives more information about monitoring queries. +You can monitor and manage queries using the Couchbase Web Console, the command line interface, or the REST API. +* xref:tools:query-monitoring.adoc[] * xref:manage:monitor/monitoring-n1ql-query.adoc[] + +== Settings and Parameters + +You can configure the Query service using cluster-level query settings, node-level query settings, and request-level query parameters. + +* xref:settings:query-settings.adoc[] From a6064a0efaa8e8126d7126434d3395f5a95ea63e Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Thu, 1 Feb 2024 17:57:26 +0000 Subject: [PATCH 46/66] =?UTF-8?q?Add=20the=20CBQ,=20manage=20and=20monitor?= =?UTF-8?q?ing=20pages=20to=20the=20Query=20nav=20=E2=80=94=20hide=20audit?= =?UTF-8?q?ing=20and=20backfill=20pages=20for=20now?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/n1ql/partials/nav.adoc | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/modules/n1ql/partials/nav.adoc b/modules/n1ql/partials/nav.adoc index 3163ff080..863ffcd8d 100644 --- a/modules/n1ql/partials/nav.adoc +++ b/modules/n1ql/partials/nav.adoc @@ -3,6 +3,7 @@ ** xref:n1ql:n1ql-intro/index.adoc[] *** xref:n1ql:n1ql-intro/queriesandresults.adoc[] *** xref:tools:query-workbench.adoc[] + *** xref:tools:cbq-shell.adoc[] ** xref:guides:query.adoc[] *** xref:guides:select.adoc[] *** xref:guides:join.adoc[] @@ -20,12 +21,9 @@ *** xref:guides:insert.adoc[] *** xref:guides:update.adoc[] *** xref:guides:delete.adoc[] - ** xref:tools:tools-ref.adoc[] - *** xref:tools:cbq-shell.adoc[] - *** xref:tools:query-monitoring.adoc[] - *** xref:tools:udfs-ui.adoc[] - *** xref:n1ql:n1ql-language-reference/n1ql-auditing.adoc[] - *** xref:n1ql:n1ql-language-reference/backfill.adoc[] +// ** xref:tools:tools-ref.adoc[] +// *** xref:n1ql:n1ql-language-reference/n1ql-auditing.adoc[] +// *** xref:n1ql:n1ql-language-reference/backfill.adoc[] ** xref:n1ql:advanced.adoc[] *** xref:n1ql:n1ql-language-reference/cost-based-optimizer.adoc[] *** xref:guides:cbo.adoc[] @@ -35,7 +33,10 @@ *** xref:n1ql:n1ql-language-reference/time-series.adoc[] ** xref:n1ql:admin.adoc[] *** xref:n1ql:n1ql-intro/sysinfo.adoc[] - *** xref:clusters:index-service/manage-indexes.adoc[] + *** xref:tools:query-monitoring.adoc[] + *** xref:manage:monitor/monitoring-n1ql-query.adoc[] + *** xref:manage:monitor/monitoring-indexes.adoc[] + *** xref:manage:manage-indexes/manage-indexes.adoc[] *** xref:settings:query-settings.adoc[] ** xref:n1ql:n1ql-language-reference/index.adoc[] *** xref:n1ql:n1ql-language-reference/conventions.adoc[] @@ -158,6 +159,7 @@ *** xref:learn:services-and-indexes/indexes/index-replication.adoc[] *** xref:learn:services-and-indexes/indexes/storage-modes.adoc[] ** xref:javascript-udfs:javascript-functions-with-couchbase.adoc[] + *** xref:tools:udfs-ui.adoc[] *** xref:javascript-udfs:calling-javascript-from-n1ql.adoc[] *** xref:javascript-udfs:calling-n1ql-from-javascript.adoc[] *** xref:javascript-udfs:handling-errors-javascript-udf.adoc[] From e428577b34719f6722f0637323035eefc67010bc Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Thu, 1 Feb 2024 17:57:49 +0000 Subject: [PATCH 47/66] Add Manage Documents page to KV nav --- modules/guides/partials/nav.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/guides/partials/nav.adoc b/modules/guides/partials/nav.adoc index bc4f1c3b8..d3066947b 100644 --- a/modules/guides/partials/nav.adoc +++ b/modules/guides/partials/nav.adoc @@ -2,7 +2,7 @@ * xref:guides:connect.adoc[] * xref:guides:data.adoc[] ** xref:guides:kv-operations.adoc[] - *** xref:getting-started:look-at-the-results.adoc#examine-your-bucket-and-its-documents[] + *** xref:manage:manage-documents/manage-documents.adoc[] *** xref:guides:creating-data.adoc[] *** xref:guides:reading-data.adoc[] *** xref:guides:updating-data.adoc[] From 74d7930a15b18c3e88b3c9f584e0d98a0c97de3a Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Thu, 1 Feb 2024 18:23:29 +0000 Subject: [PATCH 48/66] Relocate JavaScript UDFs --- modules/n1ql/pages/query.adoc | 4 +--- modules/n1ql/partials/nav.adoc | 4 ++++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/n1ql/pages/query.adoc b/modules/n1ql/pages/query.adoc index 3e357b360..0a7635466 100644 --- a/modules/n1ql/pages/query.adoc +++ b/modules/n1ql/pages/query.adoc @@ -53,19 +53,17 @@ Based on SQL, it's immediately familiar to developers who can quickly start deve * xref:guides:query.adoc[] * xref:guides:indexes.adoc[] * xref:guides:manipulate.adoc[] +* xref:guides:javascript-udfs.adoc[] * xref:n1ql:advanced.adoc[] == Query Administration -* xref:settings:query-settings.adoc[] * xref:n1ql:admin.adoc[] == Query References * xref:n1ql:n1ql-language-reference/index.adoc[] * xref:learn:services-and-indexes/indexes/global-secondary-indexes.adoc[] -* xref:n1ql:advanced.adoc[] -* xref:n1ql:n1ql-language-reference/index.adoc[] * xref:javascript-udfs:javascript-functions-with-couchbase.adoc[] == Related Links diff --git a/modules/n1ql/partials/nav.adoc b/modules/n1ql/partials/nav.adoc index 863ffcd8d..f9bf30ed2 100644 --- a/modules/n1ql/partials/nav.adoc +++ b/modules/n1ql/partials/nav.adoc @@ -21,6 +21,10 @@ *** xref:guides:insert.adoc[] *** xref:guides:update.adoc[] *** xref:guides:delete.adoc[] + ** xref:guides:javascript-udfs.adoc[] + *** xref:guides:create-javascript-library.adoc[] + *** xref:guides:create-user-defined-function.adoc[] + *** xref:guides:call-user-defined-function.adoc[] // ** xref:tools:tools-ref.adoc[] // *** xref:n1ql:n1ql-language-reference/n1ql-auditing.adoc[] // *** xref:n1ql:n1ql-language-reference/backfill.adoc[] From bae632e7732910994d8a2f543e08c68bd4357607 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 27 Mar 2024 19:22:04 +0000 Subject: [PATCH 49/66] Add Vector Search to Developer Intro --- modules/develop/pages/intro.adoc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/develop/pages/intro.adoc b/modules/develop/pages/intro.adoc index 9dcb2a416..103045e52 100644 --- a/modules/develop/pages/intro.adoc +++ b/modules/develop/pages/intro.adoc @@ -49,6 +49,13 @@ Use the Query Service and the Index Service to issue {sqlpp} queries to extract * xref:n1ql:query.adoc[] +== Vector Search + +Vector Search builds on the Search Service to provide support for vector indexes. +You can use vector indexes with existing Large Language Models to develop AI applications. + +* xref:vector-search:vector-search.adoc[] + == Search Use the Search Service for full-text search with natural language processing across multiple data types and languages. @@ -67,7 +74,7 @@ Execute custom code in response to mutations, or as scheduled by timers. Use the Analytics Service for online analytical processing (OLAP) for large datasets, with complex analytical or ad hoc queries. -* xref:analytics:introduction.adoc[Introduction to Analytics] +* xref:analytics:introduction.adoc[] == SDKs From a5eca451b8b2ddea3ffbca2db14e8d3f6a3d5fe5 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 27 Mar 2024 19:22:18 +0000 Subject: [PATCH 50/66] Update title of Connect guide --- modules/guides/pages/connect.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/guides/pages/connect.adoc b/modules/guides/pages/connect.adoc index 5e6c46093..2180314fb 100644 --- a/modules/guides/pages/connect.adoc +++ b/modules/guides/pages/connect.adoc @@ -1,4 +1,4 @@ -= Connecting to Couchbase Server += Connect to Couchbase Server :description: How to connect to a Couchbase Cluster. :page-topic-type: guide :page-toclevels: 2 From 688f61dc193ad33182af2dfcab83772ea0226aa4 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Thu, 28 Mar 2024 18:37:42 +0000 Subject: [PATCH 51/66] No need to call it a language reference --- modules/n1ql/pages/n1ql-language-reference/index.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/n1ql/pages/n1ql-language-reference/index.adoc b/modules/n1ql/pages/n1ql-language-reference/index.adoc index 4c0ebefd0..201745a0b 100644 --- a/modules/n1ql/pages/n1ql-language-reference/index.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/index.adoc @@ -1,5 +1,5 @@ -= {sqlpp} Language Reference -:description: This reference guide describes the syntax and structure of the {sqlpp} language. += {sqlpp} for Query Reference +:description: This reference guide describes the syntax and structure of {sqlpp} for Query. :page-topic-type: reference :page-toclevels: 2 :imagesdir: ../../assets/images From 7e332ad25bea38935318b0bcc15f561d9ad29b11 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Thu, 28 Mar 2024 21:23:23 +0000 Subject: [PATCH 52/66] Settings as separate section --- modules/n1ql/partials/nav.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/n1ql/partials/nav.adoc b/modules/n1ql/partials/nav.adoc index f9bf30ed2..f1ebe7165 100644 --- a/modules/n1ql/partials/nav.adoc +++ b/modules/n1ql/partials/nav.adoc @@ -41,7 +41,7 @@ *** xref:manage:monitor/monitoring-n1ql-query.adoc[] *** xref:manage:monitor/monitoring-indexes.adoc[] *** xref:manage:manage-indexes/manage-indexes.adoc[] - *** xref:settings:query-settings.adoc[] + ** xref:settings:query-settings.adoc[] ** xref:n1ql:n1ql-language-reference/index.adoc[] *** xref:n1ql:n1ql-language-reference/conventions.adoc[] *** xref:n1ql:n1ql-language-reference/reservedwords.adoc[] From aa3656c8f5d9e85f26421895330ba19b76725775 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Thu, 28 Mar 2024 23:49:53 +0000 Subject: [PATCH 53/66] Add backfill and auditing to admin --- modules/n1ql/pages/admin.adoc | 13 ++++++++++--- modules/n1ql/partials/nav.adoc | 5 ++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/modules/n1ql/pages/admin.adoc b/modules/n1ql/pages/admin.adoc index 60eb38073..14241118f 100644 --- a/modules/n1ql/pages/admin.adoc +++ b/modules/n1ql/pages/admin.adoc @@ -1,5 +1,6 @@ = Administer Queries and Indexes :page-role: tiles -toc +:page-aliases: tools:tools-ref.adoc :!sectids: // Pass through HTML styles for this page. @@ -38,8 +39,14 @@ You can monitor and manage queries using the Couchbase Web Console, the command * xref:tools:query-monitoring.adoc[] * xref:manage:monitor/monitoring-n1ql-query.adoc[] -== Settings and Parameters +== {sqlpp} Auditing -You can configure the Query service using cluster-level query settings, node-level query settings, and request-level query parameters. +{sqlpp}-related activities can be audited by Couchbase Server. -* xref:settings:query-settings.adoc[] +* xref:n1ql:n1ql-language-reference/n1ql-auditing.adoc[] + +== Backfill Support for {sqlpp} + +You can configure the temporary working space for the {sqlpp} engine and its embedded GSI client via the UI. + +* xref:n1ql:n1ql-language-reference/backfill.adoc[] diff --git a/modules/n1ql/partials/nav.adoc b/modules/n1ql/partials/nav.adoc index f1ebe7165..574b7ba88 100644 --- a/modules/n1ql/partials/nav.adoc +++ b/modules/n1ql/partials/nav.adoc @@ -25,9 +25,6 @@ *** xref:guides:create-javascript-library.adoc[] *** xref:guides:create-user-defined-function.adoc[] *** xref:guides:call-user-defined-function.adoc[] -// ** xref:tools:tools-ref.adoc[] -// *** xref:n1ql:n1ql-language-reference/n1ql-auditing.adoc[] -// *** xref:n1ql:n1ql-language-reference/backfill.adoc[] ** xref:n1ql:advanced.adoc[] *** xref:n1ql:n1ql-language-reference/cost-based-optimizer.adoc[] *** xref:guides:cbo.adoc[] @@ -41,6 +38,8 @@ *** xref:manage:monitor/monitoring-n1ql-query.adoc[] *** xref:manage:monitor/monitoring-indexes.adoc[] *** xref:manage:manage-indexes/manage-indexes.adoc[] + *** xref:n1ql:n1ql-language-reference/n1ql-auditing.adoc[] + *** xref:n1ql:n1ql-language-reference/backfill.adoc[] ** xref:settings:query-settings.adoc[] ** xref:n1ql:n1ql-language-reference/index.adoc[] *** xref:n1ql:n1ql-language-reference/conventions.adoc[] From fefc06d0f0154ba589b55d358035c4460bb9103d Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 29 Mar 2024 00:03:22 +0000 Subject: [PATCH 54/66] Add sequence expressions to SQL++ overview --- modules/n1ql/pages/n1ql-language-reference/index.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/n1ql/pages/n1ql-language-reference/index.adoc b/modules/n1ql/pages/n1ql-language-reference/index.adoc index 201745a0b..eb3df684f 100644 --- a/modules/n1ql/pages/n1ql-language-reference/index.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/index.adoc @@ -48,6 +48,7 @@ The following are the different types of {sqlpp} expressions: * xref:n1ql-language-reference/collectionops.adoc[Collection expressions] * xref:n1ql-language-reference/constructionops.adoc[Construction expressions] * <> +* xref:n1ql-language-reference/sequenceops.adoc[Sequence expressions] * xref:n1ql-language-reference/functions.adoc[Function calls] * xref:n1ql-language-reference/subqueries.adoc[Subqueries] From 5c37abf11da7267a3b99b1bcfff588cbe0f3fdcc Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 29 Mar 2024 00:31:36 +0000 Subject: [PATCH 55/66] Delete unused import / export nav link --- modules/guides/partials/nav.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/guides/partials/nav.adoc b/modules/guides/partials/nav.adoc index d3066947b..71682aaed 100644 --- a/modules/guides/partials/nav.adoc +++ b/modules/guides/partials/nav.adoc @@ -11,4 +11,3 @@ ** xref:guides:load.adoc[] *** xref:manage:import-documents/import-documents.adoc[] *** xref:guides:import.adoc[] - *** Import and Export Data with Command Line Tools From 1afc38a6d50466058c77599407956e63cfab774b Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Mon, 1 Apr 2024 10:29:58 +0100 Subject: [PATCH 56/66] Update title of Flex Indexes: action first --- .../n1ql/pages/n1ql-language-reference/flex-indexes.adoc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/n1ql/pages/n1ql-language-reference/flex-indexes.adoc b/modules/n1ql/pages/n1ql-language-reference/flex-indexes.adoc index 31ff13761..dab8e0b63 100644 --- a/modules/n1ql/pages/n1ql-language-reference/flex-indexes.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/flex-indexes.adoc @@ -1,8 +1,9 @@ -= Flex Indexes += Use Search Indexes with a Query :description: The Flex Index feature enables you run a {sqlpp} query as a full-text search query, using a full-text index. :page-topic-type: concept :page-edition: Enterprise Edition :imagesdir: ../../assets/images +:keywords: flex // Cross-references :searchfun: xref:n1ql-language-reference/searchfun.adoc @@ -24,10 +25,10 @@ This means that you can write queries in {sqlpp} to leverage the Search service's keyword search capabilities. In Couchbase Server, a global secondary index (GSI) uses a B-tree structure for fast exact search, whereas full-text search (FTS) uses an inverted index to provide efficient term search. -In Couchbase Server 6.5 and later, it is possible to perform a full-text search within a {sqlpp} query using {searchfun}[search functions]. +It is possible to perform a full-text search within a {sqlpp} query using {searchfun}[search functions]. However this requires you to write the full-text search using the FTS syntax. -Starting with Couchbase Server 6.6, the _Flex Index_ feature provides the ability for a {sqlpp} query to leverage either a global secondary index or full-text index transparently with standard {sqlpp} syntax, simplifying the application development process. +The _Flex Index_ feature provides the ability for a {sqlpp} query to leverage either a global secondary index or full-text index transparently with standard {sqlpp} syntax, simplifying the application development process. The full-text index must be defined in a certain way to be usable by a {sqlpp} query; similarly, the {sqlpp} query must have certain characteristics to be able to use the full-text index. If these requirements are met, the query is transformed into an FTS query, and run against the full-text index. From 7ad58c4360adfd1dda6e1dce9d4c1ea72d378762 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 3 Apr 2024 16:50:30 +0100 Subject: [PATCH 57/66] Update Manage Documents link --- modules/guides/pages/kv-operations.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/guides/pages/kv-operations.adoc b/modules/guides/pages/kv-operations.adoc index 6ff301c51..7bf2d8ac7 100644 --- a/modules/guides/pages/kv-operations.adoc +++ b/modules/guides/pages/kv-operations.adoc @@ -31,7 +31,7 @@ include::partial$clients.adoc[] Key-Value Operations guides: -* xref:getting-started:look-at-the-results.adoc#examine-your-bucket-and-its-documents[] +* xref:manage:manage-documents/manage-documents.adoc[] * xref:creating-data.adoc[] * xref:reading-data.adoc[] * xref:updating-data.adoc[] From 57ededa81f0610f4e5a4396f2a3a56f3f612f19e Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 3 Apr 2024 17:23:49 +0100 Subject: [PATCH 58/66] Minor tweaks. Put settings and parameters back under Admin. --- modules/n1ql/pages/admin.adoc | 6 ++++++ modules/n1ql/pages/advanced.adoc | 2 +- modules/n1ql/partials/nav.adoc | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/n1ql/pages/admin.adoc b/modules/n1ql/pages/admin.adoc index 14241118f..dc6119a83 100644 --- a/modules/n1ql/pages/admin.adoc +++ b/modules/n1ql/pages/admin.adoc @@ -39,6 +39,12 @@ You can monitor and manage queries using the Couchbase Web Console, the command * xref:tools:query-monitoring.adoc[] * xref:manage:monitor/monitoring-n1ql-query.adoc[] +== Settings and Parameters + +You can configure the Query service using cluster-level query settings, node-level query settings, and request-level query parameters. + +* xref:settings:query-settings.adoc[] + == {sqlpp} Auditing {sqlpp}-related activities can be audited by Couchbase Server. diff --git a/modules/n1ql/pages/advanced.adoc b/modules/n1ql/pages/advanced.adoc index 81cb8e24f..8ceae0f26 100644 --- a/modules/n1ql/pages/advanced.adoc +++ b/modules/n1ql/pages/advanced.adoc @@ -34,7 +34,7 @@ The cost-based optimizer takes into account the cost of memory, CPU, network tra == Flex Indexes -Flex Indexes provide the ability for a {sqlpp} query to use a Full Text Search index transparently with standard {sqlpp} syntax. +Flex Indexes enable a {sqlpp} query to use a Search index transparently with standard {sqlpp} syntax. * xref:n1ql:n1ql-language-reference/flex-indexes.adoc[] diff --git a/modules/n1ql/partials/nav.adoc b/modules/n1ql/partials/nav.adoc index 574b7ba88..96f2c38c6 100644 --- a/modules/n1ql/partials/nav.adoc +++ b/modules/n1ql/partials/nav.adoc @@ -38,9 +38,9 @@ *** xref:manage:monitor/monitoring-n1ql-query.adoc[] *** xref:manage:monitor/monitoring-indexes.adoc[] *** xref:manage:manage-indexes/manage-indexes.adoc[] + *** xref:settings:query-settings.adoc[] *** xref:n1ql:n1ql-language-reference/n1ql-auditing.adoc[] *** xref:n1ql:n1ql-language-reference/backfill.adoc[] - ** xref:settings:query-settings.adoc[] ** xref:n1ql:n1ql-language-reference/index.adoc[] *** xref:n1ql:n1ql-language-reference/conventions.adoc[] *** xref:n1ql:n1ql-language-reference/reservedwords.adoc[] From 613da7ccef9f07350245b2df960277c9b42db489 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Thu, 4 Apr 2024 15:07:19 +0100 Subject: [PATCH 59/66] Update component signpost partial, use no-escape-hatch attrib --- modules/ROOT/partials/component-signpost.adoc | 14 ++++++++++++-- .../guides/pages/call-user-defined-function.adoc | 2 +- .../guides/pages/create-javascript-library.adoc | 2 +- .../guides/pages/create-user-defined-function.adoc | 2 +- modules/guides/pages/javascript-udfs.adoc | 2 +- .../pages/n1ql-language-reference/backfill.adoc | 3 +++ .../n1ql-language-reference/flex-indexes.adoc | 3 +++ .../n1ql-language-reference/n1ql-auditing.adoc | 3 +++ 8 files changed, 25 insertions(+), 6 deletions(-) diff --git a/modules/ROOT/partials/component-signpost.adoc b/modules/ROOT/partials/component-signpost.adoc index 15e82766d..674cbae6f 100644 --- a/modules/ROOT/partials/component-signpost.adoc +++ b/modules/ROOT/partials/component-signpost.adoc @@ -1,7 +1,17 @@ +// `flag-devex-escape-hatch` is a flag to hide the feature from production until ready. +// Use `no-escape-hatch` to turn off the escape hatch for individual pages. +// Use `escape-hatch` to override the escape hatch xref for individual pages. [.signpost] image:ROOT:couchbase-logo.svg["Couchbase Server", 25.6] This page is for Couchbase Server. ifdef::flag-devex-escape-hatch[] -// soft-set flag-devex-escape-hatch so authors can override the escape hatch for individual pages -For Couchbase Capella, see xref:cloud:{page-module}:{docname}.adoc[]. +ifndef::no-escape-hatch[] +For Couchbase Capella, see +ifdef::escape-hatch[] +xref:{escape-hatch}[]. +endif::escape-hatch[] +ifndef::escape-hatch[] +xref:cloud:{page-module}:{docname}.adoc[]. +endif::escape-hatch[] +endif::no-escape-hatch[] endif::flag-devex-escape-hatch[] \ No newline at end of file diff --git a/modules/guides/pages/call-user-defined-function.adoc b/modules/guides/pages/call-user-defined-function.adoc index 9e6c360ca..536249699 100644 --- a/modules/guides/pages/call-user-defined-function.adoc +++ b/modules/guides/pages/call-user-defined-function.adoc @@ -5,7 +5,7 @@ :page-topic-type: guide :page-toclevels: 2 :imagesdir: ../assets/images -:flag-devex-escape-hatch!: +:no-escape-hatch: [abstract] {description} diff --git a/modules/guides/pages/create-javascript-library.adoc b/modules/guides/pages/create-javascript-library.adoc index accbd2174..6801814b8 100644 --- a/modules/guides/pages/create-javascript-library.adoc +++ b/modules/guides/pages/create-javascript-library.adoc @@ -5,7 +5,7 @@ :page-topic-type: guide :page-toclevels: 2 :imagesdir: ../assets/images -:flag-devex-escape-hatch!: +:no-escape-hatch: [abstract] {description} diff --git a/modules/guides/pages/create-user-defined-function.adoc b/modules/guides/pages/create-user-defined-function.adoc index bb4a37b74..61f752f50 100644 --- a/modules/guides/pages/create-user-defined-function.adoc +++ b/modules/guides/pages/create-user-defined-function.adoc @@ -6,7 +6,7 @@ :page-toclevels: 2 :keywords: N1QL, UDF, user-defined function, SQL++ :imagesdir: ../assets/images -:flag-devex-escape-hatch!: +:no-escape-hatch: [abstract] {description} diff --git a/modules/guides/pages/javascript-udfs.adoc b/modules/guides/pages/javascript-udfs.adoc index 37e2477df..8144f015b 100644 --- a/modules/guides/pages/javascript-udfs.adoc +++ b/modules/guides/pages/javascript-udfs.adoc @@ -5,7 +5,7 @@ :page-topic-type: guide :page-toclevels: 2 :xrefstyle: short -:flag-devex-escape-hatch!: +:no-escape-hatch: [abstract] {description} diff --git a/modules/n1ql/pages/n1ql-language-reference/backfill.adoc b/modules/n1ql/pages/n1ql-language-reference/backfill.adoc index 89b2fd6c8..292d3db15 100644 --- a/modules/n1ql/pages/n1ql-language-reference/backfill.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/backfill.adoc @@ -1,10 +1,13 @@ = Backfill Support for {sqlpp} :description: Configure the temporary working space for the {sqlpp} engine and its embedded GSI client. :page-aliases: settings:backfill +:no-escape-hatch: [abstract] {description} +include::ROOT:partial$component-signpost.adoc[] + == Introduction When a query has an extremely large corresponding index scan, the indexer `gsiClient` buffers the results into the `/tmp` directory. diff --git a/modules/n1ql/pages/n1ql-language-reference/flex-indexes.adoc b/modules/n1ql/pages/n1ql-language-reference/flex-indexes.adoc index dab8e0b63..3f41e9c57 100644 --- a/modules/n1ql/pages/n1ql-language-reference/flex-indexes.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/flex-indexes.adoc @@ -4,6 +4,7 @@ :page-edition: Enterprise Edition :imagesdir: ../../assets/images :keywords: flex +:no-escape-hatch: // Cross-references :searchfun: xref:n1ql-language-reference/searchfun.adoc @@ -24,6 +25,8 @@ {description} This means that you can write queries in {sqlpp} to leverage the Search service's keyword search capabilities. +include::ROOT:partial$component-signpost.adoc[] + In Couchbase Server, a global secondary index (GSI) uses a B-tree structure for fast exact search, whereas full-text search (FTS) uses an inverted index to provide efficient term search. It is possible to perform a full-text search within a {sqlpp} query using {searchfun}[search functions]. However this requires you to write the full-text search using the FTS syntax. diff --git a/modules/n1ql/pages/n1ql-language-reference/n1ql-auditing.adoc b/modules/n1ql/pages/n1ql-language-reference/n1ql-auditing.adoc index 9b428d724..fefaaaa35 100644 --- a/modules/n1ql/pages/n1ql-language-reference/n1ql-auditing.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/n1ql-auditing.adoc @@ -1,10 +1,13 @@ = {sqlpp} Auditing :description: {sqlpp}-related activities can be audited, by Couchbase Server. :page-topic-type: reference +:no-escape-hatch: [abstract] {description} +include::ROOT:partial$component-signpost.adoc[] + == Understanding {sqlpp} Auditing This section provides specific information on Couchbase Server auditing as it relates to {sqlpp}. From 00e18a1702e017d4599abbfa611503fa756422ef Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Thu, 4 Apr 2024 17:30:24 +0100 Subject: [PATCH 60/66] Minor formatting changes for auditing and backfill --- .../n1ql-language-reference/backfill.adoc | 54 +++++- .../n1ql-auditing.adoc | 164 ++++++++---------- 2 files changed, 124 insertions(+), 94 deletions(-) diff --git a/modules/n1ql/pages/n1ql-language-reference/backfill.adoc b/modules/n1ql/pages/n1ql-language-reference/backfill.adoc index 292d3db15..0508059d4 100644 --- a/modules/n1ql/pages/n1ql-language-reference/backfill.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/backfill.adoc @@ -20,7 +20,8 @@ The user must have _Cluster Admin_ privileges in order to be able to specify and == Configuration In the Query Workbench > Settings page, click *Advanced Query Settings* to see: -image:backfill_QueryTempDiskPath_circled.png[] + +image::backfill_QueryTempDiskPath_circled.png["Advanced Query Settings, showing Query Temp Disk Path and Quota"] In the *Query Temp Disk Path* textbox, enter the directory you want to use for your backfill file. @@ -61,7 +62,20 @@ $ curl --GET -u Administrator:password http://localhost:8091/settings/querySetti .Results [source,json] ---- -{"queryTmpSpaceDir":"/opt/couchbase/tmp","queryTmpSpaceSize":5120,"queryCurlWhitelist":{"all_access":false,"allowed_urls":["http://localhost:8091/settings/querySettings",""],"disallowed_urls":[""]}} +{ + "queryTmpSpaceDir": "/opt/couchbase/tmp", + "queryTmpSpaceSize": 5120, + "queryCurlWhitelist": { + "all_access": false, + "allowed_urls": [ + "http://localhost:8091/settings/querySettings", + "" + ], + "disallowed_urls": [ + "" + ] + } +} ---- ==== @@ -70,13 +84,27 @@ $ curl --GET -u Administrator:password http://localhost:8091/settings/querySetti ==== [source,console] ---- -$ curl -X POST -u Administrator:password -d 'queryTmpSpaceDir=/opt/couchbase/tmp2' http://localhost:8091/settings/querySettings +$ curl -X POST -u Administrator:password -d 'queryTmpSpaceDir=/opt/couchbase/tmp2' \ +http://localhost:8091/settings/querySettings ---- .Results [source,json] ---- -{"queryTmpSpaceDir":"/opt/couchbase/tmp2","queryTmpSpaceSize":5120,"queryCurlWhitelist":{"all_access":false,"allowed_urls":["http://localhost:8091/settings/querySettings",""],"disallowed_urls":[""]}} +{ + "queryTmpSpaceDir": "/opt/couchbase/tmp2", + "queryTmpSpaceSize": 5120, + "queryCurlWhitelist": { + "all_access": false, + "allowed_urls": [ + "http://localhost:8091/settings/querySettings", + "" + ], + "disallowed_urls": [ + "" + ] + } +} ---- ==== @@ -85,13 +113,27 @@ $ curl -X POST -u Administrator:password -d 'queryTmpSpaceDir=/opt/couchbase/tmp ==== [source,console] ---- -$ curl -X POST -u Administrator:password -d 'queryTmpSpaceDir=/opt/couchbase/tmp' -d 'queryTmpSpaceSize=2048' http://localhost:8091/settings/querySettings +$ curl -X POST -u Administrator:password -d 'queryTmpSpaceDir=/opt/couchbase/tmp' \ +-d 'queryTmpSpaceSize=2048' http://localhost:8091/settings/querySettings ---- .Results [source,json] ---- -{"queryTmpSpaceDir":"/opt/couchbase/tmp","queryTmpSpaceSize":2048,"queryCurlWhitelist":{"all_access":false,"allowed_urls":["http://localhost:8091/settings/querySettings",""],"disallowed_urls":[""]}} +{ + "queryTmpSpaceDir": "/opt/couchbase/tmp", + "queryTmpSpaceSize": 2048, + "queryCurlWhitelist": { + "all_access": false, + "allowed_urls": [ + "http://localhost:8091/settings/querySettings", + "" + ], + "disallowed_urls": [ + "" + ] + } +} ---- At the same time, the logs will contain messages for every change coming from both query and GSI, so after executing Example 3's CURL statement: diff --git a/modules/n1ql/pages/n1ql-language-reference/n1ql-auditing.adoc b/modules/n1ql/pages/n1ql-language-reference/n1ql-auditing.adoc index fefaaaa35..75a4bfe17 100644 --- a/modules/n1ql/pages/n1ql-language-reference/n1ql-auditing.adoc +++ b/modules/n1ql/pages/n1ql-language-reference/n1ql-auditing.adoc @@ -190,111 +190,99 @@ Required auditing fields for API requests: To reduce disk usage and improve performance, the log files are as compact as possible. -When viewed through Query Workbench, the logs are formatted and indented for easier reading. - -*Example 1:* Execute `SELECT * FROM orders` via a CURL statement. - ----- -{"timestamp":"2018-02-09T14:52:35.163-08:00","real_userid":{"source":"local","user":"Administrator"},"requestId":"aee53bf0-d009-4015-8a1d-efec74f2cd74","statement":"SELECT * FROM orders","isAdHoc":true,"userAgent":"curl/7.43.0","node":"local_node","status":"success","metrics":{"elapsedTime":"7.599684ms","executionTime":"7.507755ms","resultCount":0,"resultSize":0},"id":28672,"name":"SELECT statement","description":"A N1QL SELECT statement was executed”} ----- - -To make the log entry easier-to-read: +To make the log entry easier-to-read, use a formatting utility such as https://stedolan.github.io/jq/[jq^], or reformat the log entry through the Query Workbench: . Copy the log entry to the clipboard . Open Query Workbench . Type `SELECT` . Paste the query from the clipboard -. Click the *Execute* button +. Click the btn:[Execute] button ----- -[ - { - "$1": { - "description": "A N1QL SELECT statement was executed", - "id": 28672, - "isAdHoc": true, - "metrics": { - "elapsedTime": "7.599684ms", - "executionTime": "7.507755ms", - "resultCount": 0, - "resultSize": 0 - }, - "name": "SELECT statement", - "node": "local_node", - "real_userid": { - "source": "local", - "user": "Administrator" - }, - "requestId": "aee53bf0-d009-4015-8a1d-efec74f2cd74", - "statement": "SELECT * FROM orders", - "status": "success", - "timestamp": "2018-02-09T14:52:35.163-08:00", - "userAgent": "curl/7.43.0" - } - } -] ----- - -*Example 2:* Execute `DELETE FROM orders WHERE priority = 6` via a CURL statement +When viewed through Query Workbench, the logs are formatted and indented for easier reading. ----- -{"timestamp":"2018-02-09T14:52:55.786-08:00","real_userid":{"source":"local","user":"Administrator"},"requestId":"ded68ae3-d964-4d87-b1c2-70cf72041c6b","statement":"DELETE FROM orders WHERE priority = 6","isAdHoc":true,"userAgent":"curl/7.43.0","node":"local_node","status":"success","metrics":{"elapsedTime":"8.884558ms","executionTime":"8.853976ms","resultCount":0,"resultSize":0},"id":28678,"name":"DELETE statement","description":"A N1QL DELETE statement was executed"} ----- +.{blank} +==== +Execute `SELECT * FROM orders` via a CURL statement. +[source,json] ---- -[ - { - "$1": { - "description": "A N1QL DELETE statement was executed", - "id": 28678, - "isAdHoc": true, - "metrics": { - "elapsedTime": "8.884558ms", - "executionTime": "8.853976ms", - "resultCount": 0, - "resultSize": 0 - }, - "name": "DELETE statement", - "node": "local_node", - "real_userid": { - "source": "local", - "user": "Administrator" - }, - "requestId": "ded68ae3-d964-4d87-b1c2-70cf72041c6b", - "statement": "DELETE FROM orders WHERE priority = 6", - "status": "success", - "timestamp": "2018-02-09T14:52:55.786-08:00", - "userAgent": "curl/7.43.0" - } - } -] +{ + "timestamp": "2018-02-09T14:52:35.163-08:00", + "real_userid": { + "source": "local", + "user": "Administrator" + }, + "requestId": "aee53bf0-d009-4015-8a1d-efec74f2cd74", + "statement": "SELECT * FROM orders", + "isAdHoc": true, + "userAgent": "curl/7.43.0", + "node": "local_node", + "status": "success", + "metrics": { + "elapsedTime": "7.599684ms", + "executionTime": "7.507755ms", + "resultCount": 0, + "resultSize": 0 + }, + "id": 28672, + "name": "SELECT statement", + "description": "A N1QL SELECT statement was executed" +} ---- +==== -*Example 3:* Make an HTTP `GET` method from an `/admin/ping` API request. +.{blank} +==== +Execute `DELETE FROM orders WHERE priority = 6` via a CURL statement. +[source,json] ---- -{"timestamp":"2018-02-09T14:53:10.856-08:00","real_userid":{"source":"internal","user":"unknown"},"httpMethod":"GET","httpResultCode":200,"errorMessage":"","id":28697,"name":"/admin/ping API request","description":"An HTTP request was made to the API at /admin/ping."} +{ + "timestamp": "2018-02-09T14:52:55.786-08:00", + "real_userid": { + "source": "local", + "user": "Administrator" + }, + "requestId": "ded68ae3-d964-4d87-b1c2-70cf72041c6b", + "statement": "DELETE FROM orders WHERE priority = 6", + "isAdHoc": true, + "userAgent": "curl/7.43.0", + "node": "local_node", + "status": "success", + "metrics": { + "elapsedTime": "8.884558ms", + "executionTime": "8.853976ms", + "resultCount": 0, + "resultSize": 0 + }, + "id": 28678, + "name": "DELETE statement", + "description": "A N1QL DELETE statement was executed" +} ---- +==== + +.{blank} +==== +Make an HTTP `GET` method from an `/admin/ping` API request. +[source,json] ---- -[ - { - "$1": { - "description": "An HTTP request was made to the API at /admin/ping.", - "errorMessage": "", - "httpMethod": "GET", - "httpResultCode": 200, - "id": 28697, - "name": "/admin/ping API request", - "real_userid": { - "source": "internal", - "user": "unknown" - }, - "timestamp": "2018-02-09T14:53:10.856-08:00" - } - } -] +{ + "timestamp": "2018-02-09T14:53:10.856-08:00", + "real_userid": { + "source": "internal", + "user": "unknown" + }, + "httpMethod": "GET", + "httpResultCode": 200, + "errorMessage": "", + "id": 28697, + "name": "/admin/ping API request", + "description": "An HTTP request was made to the API at /admin/ping." +} ---- +==== == Audit Rotation From 5148e55c803d2f35b7011071bd6e2a2ab1f01d6e Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Thu, 4 Apr 2024 17:34:00 +0100 Subject: [PATCH 61/66] GSI overview page: add query without index, ADVISE --- .../indexes/global-secondary-indexes.adoc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/learn/pages/services-and-indexes/indexes/global-secondary-indexes.adoc b/modules/learn/pages/services-and-indexes/indexes/global-secondary-indexes.adoc index 070ee306c..affab2f29 100644 --- a/modules/learn/pages/services-and-indexes/indexes/global-secondary-indexes.adoc +++ b/modules/learn/pages/services-and-indexes/indexes/global-secondary-indexes.adoc @@ -22,8 +22,9 @@ endif::[] == Tuning and Query Performance -* xref:learn:services-and-indexes/indexes/indexing-and-query-perf.adoc[] +* xref:learn:services-and-indexes/indexes/query-without-index.adoc[] * xref:learn:services-and-indexes/indexes/index-lifecycle.adoc[] +* xref:learn:services-and-indexes/indexes/indexing-and-query-perf.adoc[] * xref:n1ql:n1ql-language-reference/covering-indexes.adoc[] * xref:learn:services-and-indexes/indexes/index-scans.adoc[] * xref:learn:services-and-indexes/indexes/index_pushdowns.adoc[] @@ -32,6 +33,7 @@ endif::[] == Index Commands +* xref:n1ql:n1ql-language-reference/advise.adoc[ADVISE] * xref:n1ql:n1ql-language-reference/createindex.adoc[CREATE INDEX] * xref:n1ql:n1ql-language-reference/createprimaryindex.adoc[CREATE PRIMARY INDEX] * xref:n1ql:n1ql-language-reference/build-index.adoc[BUILD INDEX] From 24d8e13ae37d58065c0c73d10151c0f0180532f1 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 5 Apr 2024 17:16:36 +0100 Subject: [PATCH 62/66] Fix link to Data on Developer Intro page --- modules/develop/pages/intro.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/develop/pages/intro.adoc b/modules/develop/pages/intro.adoc index 103045e52..8933e46f4 100644 --- a/modules/develop/pages/intro.adoc +++ b/modules/develop/pages/intro.adoc @@ -41,7 +41,7 @@ Choose how you want to connect your app to Couchbase Server. Use the Data Service for key-value (CRUD) operations and to import or export data. -* xref:guides:kv-operations.adoc[] +* xref:guides:data.adoc[] == Query From e401bd88a1dd34b8f61464f8af657e8f66eb66e0 Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 5 Apr 2024 22:09:39 +0100 Subject: [PATCH 63/66] flag-devex-escape-hatch covers entire signpost --- modules/ROOT/partials/component-signpost.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/partials/component-signpost.adoc b/modules/ROOT/partials/component-signpost.adoc index 674cbae6f..6b33cc1a8 100644 --- a/modules/ROOT/partials/component-signpost.adoc +++ b/modules/ROOT/partials/component-signpost.adoc @@ -1,10 +1,10 @@ // `flag-devex-escape-hatch` is a flag to hide the feature from production until ready. // Use `no-escape-hatch` to turn off the escape hatch for individual pages. // Use `escape-hatch` to override the escape hatch xref for individual pages. +ifdef::flag-devex-escape-hatch[] [.signpost] image:ROOT:couchbase-logo.svg["Couchbase Server", 25.6] This page is for Couchbase Server. -ifdef::flag-devex-escape-hatch[] ifndef::no-escape-hatch[] For Couchbase Capella, see ifdef::escape-hatch[] From 0c9cc39f1e117615dbc817647b0047059ab113aa Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Fri, 5 Apr 2024 22:09:54 +0100 Subject: [PATCH 64/66] Make server logo blue --- modules/ROOT/images/couchbase-logo.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/images/couchbase-logo.svg b/modules/ROOT/images/couchbase-logo.svg index f51787fda..36cf6df44 100644 --- a/modules/ROOT/images/couchbase-logo.svg +++ b/modules/ROOT/images/couchbase-logo.svg @@ -41,7 +41,7 @@ Date: Wed, 10 Apr 2024 13:56:59 +0100 Subject: [PATCH 65/66] Fix page alias in Developer Intro --- modules/develop/pages/intro.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/develop/pages/intro.adoc b/modules/develop/pages/intro.adoc index 8933e46f4..f7878c0e2 100644 --- a/modules/develop/pages/intro.adoc +++ b/modules/develop/pages/intro.adoc @@ -2,7 +2,7 @@ :page-role: tiles -toc :description: This section contains tutorials, how-to guides, and information about Couchbase Services to help you develop applications. :!sectids: -:page-aliases: concepts:application-development;guides:intro.adoc +:page-aliases: concepts:application-development,guides:intro.adoc // Pass through HTML styles for this page. From c0498be0d40e2cafe9f373d55c3d4439b0d3bd1e Mon Sep 17 00:00:00 2001 From: Simon Dew Date: Wed, 10 Apr 2024 17:30:47 +0100 Subject: [PATCH 66/66] Add Query icon for language signpost --- modules/n1ql/assets/images/icon-query.svg | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 modules/n1ql/assets/images/icon-query.svg diff --git a/modules/n1ql/assets/images/icon-query.svg b/modules/n1ql/assets/images/icon-query.svg new file mode 100644 index 000000000..fc5383986 --- /dev/null +++ b/modules/n1ql/assets/images/icon-query.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file