Functions

Functions( [database] )
Functions( [database] )
Functions( [database] )
Functions( [database] )
functions( [database] )
Functions( [database] )

Description

The Functions function when executed with Paginate returns an array of References for all user-defined functions in the database specified. If a child database is not specified, the returned function references all belong to the current database.

When a child database is specified, an admin key must be used to call Functions (server or client keys, or ABAC tokens, cannot be used to access a child database).

Parameters

Argument Type Definition and Requirements

database

Optional - A reference to a child database. If not specified, the current database is used.

Returns

A Set Reference for the available user-defined functions in the specified child database (or the current database if database is not specified).

Examples

The following query gets the references to all (up to the default pagination limit) user-defined functions in the current database:

try
{
    Value result = await client.Query(
        Paginate(Functions())
    );
    Console.WriteLine(result);
}
catch (Exception e)
{
    Console.WriteLine($"ERROR: {e.Message}");
}
ObjectV(data: Arr(RefV(id = "increment", collection = RefV(id = "functions")), RefV(id = "double", collection = RefV(id = "functions")), RefV(id = "submit_order", collection = RefV(id = "functions"))))
result, err := client.Query(
	f.Paginate(f.Functions()))

if err != nil {
	fmt.Fprintln(os.Stderr, err)
} else {
	fmt.Println(result)
}
map[data:[{increment 0xc0000b71d0 0xc0000b71d0 <nil>} {double 0xc0000b72c0 0xc0000b72c0 <nil>} {submit_order 0xc0000b73b0 0xc0000b73b0 <nil>}]]
System.out.println(
    client.query(
        Paginate(Functions())
    ).get());
{data: [ref(id = "increment", collection = ref(id = "functions")), ref(id = "double", collection = ref(id = "functions")), ref(id = "submit_order", collection = ref(id = "functions"))]}
client.query(
  q.Paginate(q.Functions())
)
.then((ret) => console.log(ret))
.catch((err) => console.error('Error: %s', err))
{
  data: [
    Function("increment"),
    Function("double"),
    Function("submit_order")
  ]
}
result = client.query(
  q.paginate(q.functions())
)
print(result)
{'data': [Ref(id=increment, collection=Ref(id=functions)), Ref(id=double, collection=Ref(id=functions)), Ref(id=submit_order, collection=Ref(id=functions))]}
try {
  println(Await.result(
    client.query(Paginate(Functions())),
    5.seconds
  ))
} catch {
  case unknown: Throwable => println("Error: " + unknown.getMessage())
}
{data: [ref(id = "increment", collection = ref(id = "functions")), ref(id = "double", collection = ref(id = "functions")), ref(id = "submit_order", collection = ref(id = "functions"))]}

Was this article helpful?

We're sorry to hear that.
Tell us how we can improve!
Visit Fauna's Discourse forums or email docs@fauna.com

Thank you for your feedback!