Skip to content

Commit

Permalink
DOC-8272-C4-C --N1QL Code Snippets
Browse files Browse the repository at this point in the history
  • Loading branch information
ibsoln committed Sep 14, 2021
1 parent 4293bc3 commit 654833d
Showing 1 changed file with 41 additions and 10 deletions.
51 changes: 41 additions & 10 deletions modules/c/examples/code_snippets/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ static void getting_started() {
CBLDocument_Release(docAgain);
FLSliceResult_Release(id);

// tag::query-syntax-n1ql-params[]
// tag::query-syntax-n1ql[]
// Create a query to fetch documents of type SDK
int errorPos;
CBLQuery* query = CBLDatabase_CreateQuery(database, kCBLN1QLLanguage, FLSTR("SELECT * FROM _ WHERE type = \"SDK\""), &errorPos, &err);
Expand All @@ -105,7 +105,7 @@ static void getting_started() {
// Failed to run query, do error handling as above
return;
}
// end::query-syntax-n1ql-params[]
// end::query-syntax-n1ql[]

// TODO: Result set count?
CBLResultSet_Release(result);
Expand Down Expand Up @@ -827,7 +827,7 @@ static void order_by() {
// NOTE: No error handling, for brevity (see getting started)

CBLError err;
CBLQuery* query = CBLDatabase_CreateQuery(db, kCBLN1QLLanguage,
CBLQuery* query = CBLDatabase_CreateQuery(db, kCBLN1QLLanguage,
FLSTR("SELECT meta().id, title FROM _ WHERE type = \"hotel\" ORDER BY title ASC LIMIT 10"),
NULL, &err);

Expand All @@ -850,7 +850,7 @@ static void test_explain_statement() {
// NOTE: No error handling, for brevity (see getting started)

CBLError err;
CBLQuery* query = CBLDatabase_CreateQuery(db, kCBLN1QLLanguage,
CBLQuery* query = CBLDatabase_CreateQuery(db, kCBLN1QLLanguage,
FLSTR("SELECT * FROM _ WHERE type = \"hotel\" GROUP BY country ORDER BY title ASC LIMIT 10"),
NULL, &err);

Expand Down Expand Up @@ -906,7 +906,7 @@ static void full_text_search() {
// NOTE: No error handling, for brevity (see getting started)

CBLError err;
CBLQuery* query = CBLDatabase_CreateQuery(db, kCBLN1QLLanguage,
CBLQuery* query = CBLDatabase_CreateQuery(db, kCBLN1QLLanguage,
FLSTR("SELECT meta().id FROM _ WHERE MATCH(nameFTSIndex, \"'buy'\")"),
NULL, &err);

Expand Down Expand Up @@ -1019,6 +1019,41 @@ static void enable_basic_auth() {

CBLReplicator_Start(replicator, false);
// end::basic-authentication[]
static void docsonly_N1QL_Params() {
CBLDatabase* database = kDatabase;

// tag::query-syntax-n1ql-params[]
int errorPos;

CBLError err;

FLString n1qlstr = FLSTR("SELECT * FROM _ WHERE type = $type");

FLMutableDict n1qlparams = FLMutableDict_New();
FLMutableDict_SetString(n1qlparams, FLSTR("type"), FLSTR("hotel"));

CBLQuery* query = CBLDatabase_CreateQuery(database,
kCBLN1QLLanguage,
n1qlstr,
&errorPos,
&err);

CBLQuery_SetParameters(query, n1qlparams);

if(!query) {
/* Do appropriate error handling ...
Note that (where applicable) errorPos contains the position
in the N1QL string that the parse failed
*/
return;
}

CBLResultSet* result = CBLQuery_Execute(query, &err);
if(!result) {
// Failed to run query, do error handling ...
return;
}
// end::query-syntax-n1ql-params[]
}

int main(int argc, char** argv) {
Expand Down Expand Up @@ -1070,11 +1105,7 @@ Placeholder for Date accessors.

// end::date-getter[]


// tag::query-index[]
// placeholder
// end::query-index[]

// tag::fts-index[]
// placeholder
// end::fts-index[]

0 comments on commit 654833d

Please sign in to comment.