missed some quotes and added tests to avoid that
[dbsrgits/SQL-Translator.git] / lib / SQL / Translator / Utils.pm
index 83cf6e9..27ae216 100644 (file)
@@ -21,9 +21,7 @@ package SQL::Translator::Utils;
 use strict;
 use base qw(Exporter);
 use vars qw($VERSION $DEFAULT_COMMENT @EXPORT_OK);
-
 use Digest::SHA1 qw( sha1_hex );
-
 use Exporter;
 
 $VERSION = '1.59';
@@ -31,6 +29,7 @@ $DEFAULT_COMMENT = '-- ';
 @EXPORT_OK = qw(
     debug normalize_name header_comment parse_list_arg truncate_id_uniquely $DEFAULT_COMMENT parse_mysql_version
 );
+use constant COLLISION_TAG_LENGTH => 8;
 
 # ----------------------------------------------------------------------
 # debug(@msg)
@@ -151,18 +150,19 @@ sub parse_list_arg {
 # truncated name, giving a high probability that the symbol will be
 # unique.
 # ----------------------------------------------------------------------
-my $COLLISION_TAG_LENGTH = 8;
 sub truncate_id_uniquely {
     my ( $desired_name, $max_symbol_length ) = @_;
 
-    return $desired_name unless defined $desired_name && length $desired_name > $max_symbol_length;
+    return $desired_name
+      unless defined $desired_name && length $desired_name > $max_symbol_length;
 
-    my $truncated_name = substr $desired_name, 0, $max_symbol_length - $COLLISION_TAG_LENGTH - 1;
+    my $truncated_name = substr $desired_name, 0,
+      $max_symbol_length - COLLISION_TAG_LENGTH - 1;
 
     # Hex isn't the most space-efficient, but it skirts around allowed
     # charset issues
     my $digest = sha1_hex($desired_name);
-    my $collision_tag = substr $digest, 0, $COLLISION_TAG_LENGTH;
+    my $collision_tag = substr $digest, 0, COLLISION_TAG_LENGTH;
 
     return $truncated_name
          . '_'