Skip to content

Regression: losing default arguments #125

@marcintustin

Description

@marcintustin

Original version dumped with pgschema 1.1.1, new version with master version:

~/dev/repos/clientdatamart 🌳BVGS-1536$ git diff schemas/db_tracking/functions/apply_all_object_permissions_with_dependencies.sql | head -30
diff --git i/schemas/db_tracking/functions/apply_all_object_permissions_with_dependencies.sql w/schemas/db_tracking/functions/apply_all_object_permissions_with_dependencies.sql
index a6f01fb..f385e4d 100644
--- i/schemas/db_tracking/functions/apply_all_object_permissions_with_dependencies.sql
+++ w/schemas/db_tracking/functions/apply_all_object_permissions_with_dependencies.sql
@@ -2,18 +2,13 @@
 -- Name: apply_all_object_permissions_with_dependencies; Type: FUNCTION; Schema: -; Owner: -
 --
 
-CREATE OR REPLACE FUNCTION db_tracking.apply_all_object_permissions_with_dependencies(
-    raise_on_error BOOLEAN DEFAULT TRUE
-)
-RETURNS TABLE(
-    object_name text,
-    schema_name text,
-    object_type text,
-    is_dependency boolean,
-    success boolean,
-    message text
+CREATE OR REPLACE FUNCTION apply_all_object_permissions_with_dependencies(
+    raise_on_error boolean
 )
+RETURNS TABLE(object_name text, schema_name text, object_type text, is_dependency boolean, success boolean, message text)
 LANGUAGE plpgsql
+SECURITY INVOKER
+VOLATILE
 AS $$
 DECLARE
     req RECORD;
@@ -24,12 +19,15 @@ DECLARE
     dep_name TEXT;
~/dev/repos/clientdatamart 🌳BVGS-1536$ 

As you see the default is gone.

However, for this example the default is not gone:

diff --git i/schemas/db_tracking/functions/apply_single_object_permissions.sql w/schemas/db_tracking/functions/apply_single_object_permissions.sql
index 354b6e6..fb49eaf 100644
--- i/schemas/db_tracking/functions/apply_single_object_permissions.sql
+++ w/schemas/db_tracking/functions/apply_single_object_permissions.sql
@@ -2,18 +2,20 @@
 -- Name: apply_single_object_permissions; Type: FUNCTION; Schema: -; Owner: -
 --
 
-CREATE OR REPLACE FUNCTION db_tracking.apply_single_object_permissions(
+CREATE OR REPLACE FUNCTION apply_single_object_permissions(
     p_object_name text,
-    p_schema_override text DEFAULT NULL::text
+    p_schema_override text DEFAULT NULL
 )
 RETURNS boolean
 LANGUAGE plpgsql
+SECURITY INVOKER
+VOLATILE
 AS $$
 DECLARE
     v_parsed_schema_name TEXT;
     v_parsed_table_name TEXT;
     v_full_object_qualified_name TEXT;
-    dot_pos INT;
+  dot_pos INT;
 BEGIN
   -- Step 1: Parse the object name to extract schema and table name
   IF p_schema_override IS NOT NULL THEN

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions