PostgresFunctionDefinition

Classes > Nimblesite.DataProvider.Migration.Core > PostgresFunctionDefinition

PostgreSQL SQL-language function definition for RLS helper functions. Implements [RLS-PG-SUPPORT-DDL].

public sealed record PostgresFunctionDefinition : IEquatable<PostgresFunctionDefinition>

Properties

Schema

public string Schema { get; init; }

Function schema.

Name

public string Name { get; init; }

Function name.

Arguments

public IReadOnlyList<PostgresFunctionArgumentDefinition> Arguments { get; init; }

Function arguments in declaration order.

Returns

public string Returns { get; init; }

PostgreSQL return type, such as uuid or boolean.

Language

public string Language { get; init; }

Function language. NAP RLS helpers use sql.

Volatility

public string Volatility { get; init; }

PostgreSQL volatility keyword: volatile, stable, or immutable.

SecurityDefiner

public bool SecurityDefiner { get; init; }

Whether to emit SECURITY DEFINER.

Body

public string Body { get; init; }

Function body placed between PostgreSQL dollar quotes.

BodyLql

public string? BodyLql { get; init; }

LQL function body expression. Mutually exclusive with ``. Emits a SQL-language function body for PostgreSQL.

ExecuteRoles

public IReadOnlyList<string> ExecuteRoles { get; init; }

Roles granted EXECUTE on this function.

RevokePublicExecute

public bool RevokePublicExecute { get; init; }

Whether PUBLIC execute must be revoked.