#
# Create table.
#
-create : create_table table_name '(' create_definition(s? /,/) ')' table_option(s?) ';'
+create : CREATE temporary_table(?) TABLE table_name '(' create_definition(s? /,/) ')' table_option(s?) ';'
{
my $table_info = $item{'table_name'};
my $schema_name = $table_info->{'schema_name'};
$tables{ $table_name }{'schema_name'} = $schema_name;
$tables{ $table_name }{'table_name'} = $table_name;
+ $tables{ $table_name }{'temporary'} = $item[2][0];
+
if ( @table_comments ) {
$tables{ $table_name }{'comments'} = [ @table_comments ];
@table_comments = ();
}
my @constraints;
- for my $definition ( @{ $item[4] } ) {
+ for my $definition ( @{ $item[6] } ) {
if ( $definition->{'supertype'} eq 'field' ) {
my $field_name = $definition->{'name'};
$tables{ $table_name }{'fields'}{ $field_name } =
}
}
- for my $option ( @{ $item[6] } ) {
+ for my $option ( @{ $item[8] } ) {
$tables{ $table_name }{'table_options(s?)'}{ $option->{'type'} } =
$option;
}
storage_type : /(plain|external|extended|main)/i
+temporary: /temp(orary)?\\b/i
+
+temporary_table: temporary
+ {
+ 1;
+ }
+
alter_default_val : SET default_val
{
$return = { value => $item[2]->{'value'} }
name => $tdata->{'table_name'},
) or die "Couldn't create table '$table_name': " . $schema->error;
+ $table->extra(temporary => 1) if $tdata->{'temporary'};
+
$table->comments( $tdata->{'comments'} );
my @fields = sort {