adding UPPER/LOWER support
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 2 Oct 2006 08:54:21 +0000 (08:54 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 2 Oct 2006 08:54:21 +0000 (08:54 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@6346 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Reporter/SQLBuilder.pm

index 2031062..5939d25 100644 (file)
@@ -505,7 +505,7 @@ package OpenILS::Reporter::SQLBuilder::Column::Transform::GenericTransform;
 sub toSQL {
        my $self = shift;
        my $name = $self->name;
-       my ($func) = keys %{ $self->{_column} };
+       my $func = $self->{_column}->{transform};
 
        my @params;
        @params = @{ $self->resolve_param( $self->{_column}->{params} ) } if ($self->{_column}->{params});
@@ -530,6 +530,34 @@ sub toSQL {
 sub is_aggregate { return 0 }
 
 #-------------------------------------------------------------------------------------------------
+package OpenILS::Reporter::SQLBuilder::Column::Transform::upper;
+
+sub toSQL {
+       my $self = shift;
+       my $params = $self->resolve_param( $self->{_column}->{params} );
+       my $start = $$params[0];
+       my $len = $$params[1];
+       return 'UPPER("' . $self->{_relation} . '"."' . $self->name . '")';
+}
+
+sub is_aggregate { return 0 }
+
+
+#-------------------------------------------------------------------------------------------------
+package OpenILS::Reporter::SQLBuilder::Column::Transform::lower;
+
+sub toSQL {
+       my $self = shift;
+       my $params = $self->resolve_param( $self->{_column}->{params} );
+       my $start = $$params[0];
+       my $len = $$params[1];
+       return 'LOWER("' . $self->{_relation} . '"."' . $self->name . '")';
+}
+
+sub is_aggregate { return 0 }
+
+
+#-------------------------------------------------------------------------------------------------
 package OpenILS::Reporter::SQLBuilder::Column::Transform::substring;
 
 sub toSQL {