my ($view, $options) = @_;
my $qt = $options->{quote_table_names};
my $view_name = quote($view->name,$qt);
+ my $extra = $view->extra;
+
+ my $view_type = 'VIEW';
+ my $view_options = '';
+ if ( my $materialized = $extra->{materialized} ) {
+ $view_type = 'MATERIALIZED VIEW';
+ $view_options .= ' '.$materialized;
+ }
my @create;
- push @create, qq[DROP VIEW $view_name]
+ push @create, qq[DROP $view_type $view_name]
if $options->{add_drop_view};
- push @create, sprintf("CREATE VIEW %s AS\n%s",
+ push @create, sprintf("CREATE %s %s%s AS\n%s",
+ $view_type,
$view_name,
+ $view_options,
$view->sql);
return \@create;