Marco Greco, Software Architect, Couchbase | Couchbase Blog

Author

All posts by Marco Greco, Software Architect, Couchbase

In a previous life, Marco used to be CTO, radiation physicist, software architect, sysadmin, DBA, trainer and general handyman at Italy's largest radiation theraphy practice. Having switched career and country, he spent more than two decades in various support and development positions in Informix first and IBM later, before finally taking the plunge and joining Couchbase, to help them make gold out of N1QL. He holds several patents and has authored open source projects of his own.

From N1QL to JavaScript and Back – Part 7: Hierarchical JavaScript Storage

From N1QL to JavaScript and Back – Part 7: Hierarchical JavaScript Storage

In previous blogs, we covered executing N1QL (SQL++) from JavaScript functions, processing documents through iterators, manipulating data, handling errors, prepared statements and other advanced topics. The final topic to cover is a newly added feature to 7.1 that enables JavaScript library storage options....

From N1QL to JavaScript and Back – Part 6: Advanced Topics

From N1QL to JavaScript and Back – Part 6: Advanced Topics

In previous blogs, we covered executing N1QL (SQL++) from JavaScript functions, processing documents through iterators, manipulating data, handling errors, and using prepared statements. We have a few more advanced topics to cover before we move onto manipulating JavaScript libraries, such as calling other...

From N1QL to JavaScript and Back – Part 5: Prepared statements

From N1QL to JavaScript and Back – Part 5: Prepared statements

In previous blogs, we covered executing N1QL (SQL++) from JavaScript functions, processing documents through iterators, manipulating data. and handling errors. We now move to executing dynamic statements. Prepared statements JavaScript functions can prepare and execute prepared statements, much like any request...

From N1QL to JavaScript and back – Part 4: Error Handling

From N1QL to JavaScript and back – Part 4: Error Handling

In previous blogs, we have covered executing N1QL from JavaScript functions, processing documents through iterators, and manipulating data. We now move onto handling errors from N1QL statements. Error handling When an error of any nature is encountered, the jsevaluator by...

From N1QL to JavaScript and Back – Part 3: Iterating over Documents and DML

From N1QL to JavaScript and Back – Part 3: Iterating over Documents and DML

This earlier blog goes through the basics of executing N1QL statements inside JavaScript functions. We now move onto… Iterators/Processing values So far we have purposely avoided statements that return data, and returning data from the function. This is where we...

From N1QL to JavaScript and Back – Part 2: Basic Usage

From N1QL to JavaScript and Back – Part 2: Basic Usage

The previous blog introduced to you new features in JavaScript user-defined functions. We are now going to explore them in more detail. We start with a basic mechanism to execute N1QL statements inside JavaScript code. N1QL in JavaScript There are...

From N1QL to Javascript and Back – Part 1: Introduction

From N1QL to Javascript and Back – Part 1: Introduction

Among the many great features introduced in Couchbase Server 7.0, one has the potential for a greater impact in later releases: N1QL User Defined Functions. A quick glance at the past N1QL is a declarative language, meaning that requests merely...

The N1QL Query Language Now Has a Per-Request Memory Quota

The N1QL Query Language Now Has a Per-Request Memory Quota

Unlike other services, the SQL++ query language so far hasn’t had the option to adjust its memory footprint. Until now. With the release of Couchbase Server 7.0, the Query Service now includes a per-request memory quota. Background The principal reason...

N1QL Now Supports User-Defined Functions

N1QL Now Supports User-Defined Functions

Declarative query languages have been a major gear shift in the world of database engines. The SQL++ query language (formerly N1QL) is primarily a declarative query language. You tell the query what to get and N1QL works out the rest...

Optimize N1QL performance using request profiling

Optimize N1QL performance using request profiling

Monitoring uncovered the resource hog. Now what? Couchbase Server 4.5 introduced a mechanism to keep an eye on executing requests, so that slow performers could be highlighted. This DZone article covers the subject of N1QL monitoring in great detail, but...