remove returns in function definition

This commit is contained in:
2019-09-20 02:36:21 +02:00
parent 8810c1f08d
commit 6641ed78e7
3 changed files with 8 additions and 8 deletions

View File

@@ -13,7 +13,7 @@ open class Function(
init {
val functionRegex =
"""create (or replace )?(procedure|function) *(?<name>[^(\s]+)\s*\((?<params>(\s*((IN|OUT|INOUT|VARIADIC)?\s+)?([^\s,)]+\s+)?([^\s,)]+)(\s+(?:default\s|=)\s*[^\s,)]+)?\s*(,|(?=\))))*)\) *(?<return>RETURNS *[^ ]+)?"""
"""create (or replace )?(procedure|function) *(?<name>[^(\s]+)\s*\((?<params>(\s*((IN|OUT|INOUT|VARIADIC)?\s+)?([^\s,)]+\s+)?([^\s,)]+)(\s+(?:default\s|=)\s*[^\s,)]+)?\s*(,|(?=\))))*)\) *(?<return>RETURNS *[^ \n]+)?"""
.toRegex(setOf(RegexOption.IGNORE_CASE, RegexOption.MULTILINE))
val paramsRegex =
@@ -54,7 +54,7 @@ open class Function(
return parameters
.filter { it.direction == Parameter.Direction.IN }
.joinToString(", ") { "${it.name} ${it.type}" }.let {
"$name ($it) $returns"
"$name ($it)"
}
}

View File

@@ -1,8 +1,8 @@
CREATE OR REPLACE FUNCTION test_function_duplicate (name text default 'plop', out result json)
LANGUAGE plpgsql
CREATE OR REPLACE FUNCTION test_function_duplicate (name text default 'plop') returns json
LANGUAGE plpgsql
AS
$$
BEGIN
result = json_build_object('id', 3, 'name', name);
return json_build_object('id', 3, 'name', name);
END;
$$
$$

View File

@@ -1,8 +1,8 @@
CREATE OR REPLACE FUNCTION test_function_duplicate (name text default 'plop') returns text
CREATE OR REPLACE FUNCTION test_function_duplicate (name text default 'plop', out result text)
LANGUAGE plpgsql
AS
$$
BEGIN
return name;
result = name;
END;
$$