Skip to content
Snippets Groups Projects

issue #147: exception when identifiers are too long

Merged issue #147: exception when identifiers are too long
All threads resolved!
Merged Marcin requested to merge mi_#147_to_long_identifiers into develop
All threads resolved!
Files
7
CREATE OR REPLACE FUNCTION hive.validate_name( _name TEXT, _table_name TEXT )
RETURNS TEXT
LANGUAGE 'plpgsql'
IMMUTABLE
AS
$BODY$
BEGIN
IF ( length( _name ) > 63 ) THEN
RAISE EXCEPTION
'The table name `%` is too long, and the automatically generated identifier `%` would be truncated to less than 64 characters'
, _table_name
, _name;
END IF;
RETURN _name;
END;
$BODY$
;
CREATE OR REPLACE FUNCTION hive.get_shadow_table_name( _table_schema TEXT, _table_name TEXT )
RETURNS TEXT
LANGUAGE 'plpgsql'
@@ -5,7 +24,9 @@ CREATE OR REPLACE FUNCTION hive.get_shadow_table_name( _table_schema TEXT, _tab
AS
$BODY$
BEGIN
RETURN 'shadow_' || lower(_table_schema) || '_' || lower(_table_name);
RETURN hive.validate_name(
'shadow_' || lower(_table_schema) || '_' || lower(_table_name)
, _table_name );
END;
$BODY$
;
@@ -17,7 +38,9 @@ CREATE OR REPLACE FUNCTION hive.get_trigger_insert_name( _table_schema TEXT, _t
AS
$BODY$
BEGIN
RETURN 'hive.hive_insert_trigger_' || lower(_table_schema) || '_' || lower( _table_name );
RETURN hive.validate_name(
'hive.insert_trigger_' || lower(_table_schema) || '_' || lower( _table_name )
, _table_name );
END;
$BODY$
;
@@ -29,7 +52,10 @@ CREATE OR REPLACE FUNCTION hive.get_trigger_delete_name( _table_schema TEXT, _t
AS
$BODY$
BEGIN
RETURN 'hive.hive_delete_trigger_' || lower(_table_schema) || '_' || lower( _table_name );
RETURN hive.validate_name(
'hive.delete_trigger_' || lower(_table_schema) || '_' || lower(_table_name)
, _table_name
);
END;
$BODY$
;
@@ -41,7 +67,10 @@ CREATE OR REPLACE FUNCTION hive.get_trigger_update_name( _table_schema TEXT, _t
AS
$BODY$
BEGIN
RETURN 'hive.hive_update_trigger_' || lower(_table_schema) || '_' || lower( _table_name );
RETURN hive.validate_name(
'hive.update_trigger_' || lower(_table_schema) || '_' || lower(_table_name)
, _table_name
);
END;
$BODY$
;
@@ -53,7 +82,9 @@ CREATE OR REPLACE FUNCTION hive.get_trigger_truncate_name( _table_schema TEXT,
AS
$BODY$
BEGIN
RETURN 'hive.hive_truncate_trigger_' || lower(_table_schema) || '_' || lower( _table_name );
RETURN hive.validate_name(
'hive.truncate_trigger_' || lower(_table_schema) || '_' || lower( _table_name )
, _table_name );
END;
$BODY$
;
@@ -65,7 +96,7 @@ CREATE OR REPLACE FUNCTION hive.get_trigger_insert_function_name( _table_schema
AS
$BODY$
BEGIN
RETURN 'hive.hive_on_table_trigger_insert_' || lower(_table_schema) || '_' || lower( _table_name );
RETURN 'hive.on_insert_' || lower(_table_schema) || '_' || lower( _table_name );
END;
$BODY$
;
@@ -77,7 +108,9 @@ CREATE OR REPLACE FUNCTION hive.get_trigger_delete_function_name( _table_schema
AS
$BODY$
BEGIN
RETURN 'hive.hive_on_table_trigger_delete_' || lower(_table_schema) || '_' || lower( _table_name );
RETURN hive.validate_name(
'hive.on_delete_' || lower(_table_schema) || '_' || lower( _table_name )
, _table_name );
END;
$BODY$
;
@@ -89,7 +122,9 @@ CREATE OR REPLACE FUNCTION hive.get_trigger_update_function_name( _table_schema
AS
$BODY$
BEGIN
RETURN 'hive.hive_on_table_trigger_update_' || lower(_table_schema) || '_' || lower( _table_name );
RETURN hive.validate_name(
'hive.on_update_' || lower(_table_schema) || '_' || lower( _table_name )
, _table_name );
END;
$BODY$
;
@@ -101,7 +136,10 @@ CREATE OR REPLACE FUNCTION hive.get_trigger_truncate_function_name( _table_schem
AS
$BODY$
BEGIN
RETURN 'hive.hive_on_table_trigger_truncate_' || lower(_table_schema) || '_' || lower( _table_name );
RETURN hive.validate_name(
'hive.on_truncate_' || lower(_table_schema) || '_' || lower( _table_name )
, _table_name
);
END;
$BODY$
;
Loading