No MariaDB,
CURRENT_ROLE()
é uma função interna que retorna o nome da função atual. A função atual determina seus privilégios de acesso. A saída de
SELECT CURRENT_ROLE
é equivalente ao conteúdo do information_schema.ENABLED_ROLES
tabela. Sintaxe
A função pode ser chamada com ou sem os parênteses:
CURRENT_ROLE
CURRENT_ROLE()
Nenhum argumento é necessário ou aceito.
Exemplo
Segue um exemplo para demonstrar:
SELECT CURRENT_ROLE();
Resultado:
+----------------+ | CURRENT_ROLE() | +----------------+ | NULL | +----------------+
No meu caso, não há função atual e, portanto,
NULL
é devolvido. Vamos adicionar uma função atual:
SET ROLE analyst;
E execute novamente:
SELECT CURRENT_ROLE();
Resultado:
+----------------+ | CURRENT_ROLE() | +----------------+ | analyst | +----------------+
Agora, a função que adicionamos é a função atual.
Este exemplo pressupõe que a função foi criada anteriormente.
Sem parênteses
Como mencionado, o
CURRENT_ROLE()
A função pode ser chamada com ou sem parênteses. Aqui está um exemplo sem parênteses:
SELECT CURRENT_ROLE;
Resultado:
+--------------+ | CURRENT_ROLE | +--------------+ | analyst | +--------------+
Nenhum argumento é aceito
Passando quaisquer argumentos para
CURRENT_ROLE()
resulta em um erro:SELECT CURRENT_ROLE(1);
Resultado:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1)' at line 1