A newer version of this documentation is available.

View Latest

User-Defined Functions for Queries

  • concept
    +
    How to extend the SQL++ query language by adding your own user-defined functions.

    Introduction

    SQL++ includes built-in operations and functions for data manipulation. User-defined functions enable you to create your own extensions to the language.

    With user-defined functions, you can:

    • Create reusable, domain-specific functions for use in your applications.

    • Execute complex logic that may be difficult to do in SQL++.

    • Migrate from Relational Database Management System (RDBMS) stored procedures.

    User-Defined Functions in Couchbase Server

    User-defined functions can be categorized based on the language used to define them, and the location where the function definitions are stored.

    Type Language Stored

    Inline SQL++ Functions

    SQL++

    Internally

    SQL++ Managed JavaScript Functions

    JavaScript

    Internally

    JavaScript Library Functions

    JavaScript

    In JavaScript libraries

    User-defined functions written in JavaScript support the ECMAScript standard, with some restrictions and extensions. For more information, see JavaScript Functions for Query Reference.

    After you create your user-defined functions, you can call them like any other SQL++ function. For more information, see Call a User-Defined Function.

    Inline SQL++ Functions

    An inline SQL++ function is a user-defined function that executes a SQL++ expression. The SQL++ expression is stored internally by the Query Service.

    For more information, see Create an Inline User-Defined Function.

    SQL++ Managed JavaScript Functions

    A SQL++ managed JavaScript function is a user-defined function that executes a JavaScript function. The JavaScript function is stored internally by the Query Service. You do not need to create a JavaScript library to create and use SQL++ managed JavaScript functions.

    If you create a user-defined function this way, you cannot group related functions or change access restrictions for multiple related functions at once.

    JavaScript Library Functions

    A JavaScript library function is a user-defined function that executes a JavaScript function. The JavaScript function is stored in a JavaScript library.

    A JavaScript library is a collection of JavaScript functions. JavaScript libraries keep your JavaScript functions organized and allow you to set access controls across multiple functions at once.

    To create a JavaScript library function, you must first create a JavaScript library and add JavaScript functions to that library. For more information, see Create a JavaScript Library.

    After you create a JavaScript library, you must create user-defined functions to use the JavaScript functions in that library. The user-defined function creates a link between the JavaScript function in your library and SQL++, letting you call your JavaScript code. For more information, see Creating a User-Defined Function with a JavaScript Library.