Merge 'trunk' into 'view_support'
[dbsrgits/DBIx-Class.git] / lib / SQL / Translator / Parser / DBIx / Class.pm
index 6d15bb9..3e915bc 100644 (file)
@@ -68,11 +68,10 @@ sub parse {
     my(@table_monikers, @view_monikers);
     for my $moniker (@monikers){
       my $source = $dbicschema->source($moniker);
-       if ( $source->isa('DBIx::Class::ResultSource::Table') ||
-              $source->isa('DBIx::Class::ResultSourceProxy::Table') ) {
+      next if $source->is_virtual;
+       if ( $source->isa('DBIx::Class::ResultSource::Table') ) {
          push(@table_monikers, $moniker);
-      } elsif( $source->isa('DBIx::Class::ResultSource::View') ||
-            $source->isa('DBIx::Class::ResultSourceProxy::View') ){
+      } elsif( $source->isa('DBIx::Class::ResultSource::View') ){
          push(@view_monikers, $moniker);
       }
     }
@@ -209,8 +208,8 @@ sub parse {
                                     fields           => \@keys,
                                     reference_fields => \@refkeys,
                                     reference_table  => $rel_table,
-                                    on_delete        => $cascade->{delete},
-                                    on_update        => $cascade->{update},
+                                    on_delete        => uc ($cascade->{delete} || ''),
+                                    on_update        => uc ($cascade->{update} || ''),
                                     (defined $is_deferrable ? ( deferrable => $is_deferrable ) : ()),
                   );
                     
@@ -239,13 +238,13 @@ sub parse {
         # Its possible to have multiple DBIC source using same table
         next if $seen_tables{$source->name}++;
 
-        my $view = $sqlt->add_view(
+        my $view = $schema->add_view(
           name => $source->name,
           fields => [ $source->columns ],
           ($source->view_definition ? $source->view_definition : ())
         );
         if ($source->result_class->can('sqlt_deploy_hook')) {
-          $source->result_class->sqlt_deploy_hook($table);
+          $source->result_class->sqlt_deploy_hook($view);
         }
     }