[Jifty-commit] r2260 - in Jifty-DBI/trunk: . lib/Jifty/DBI
jifty-commit at lists.jifty.org
jifty-commit at lists.jifty.org
Fri Dec 1 15:27:21 EST 2006
Author: falcone
Date: Fri Dec 1 15:26:56 2006
New Revision: 2260
Modified:
Jifty-DBI/trunk/ (props changed)
Jifty-DBI/trunk/lib/Jifty/DBI/Column.pm
Jifty-DBI/trunk/lib/Jifty/DBI/Schema.pm
Jifty-DBI/trunk/lib/Jifty/DBI/SchemaGenerator.pm
Jifty-DBI/trunk/t/testmodels.pl
Log:
r14932 at ketch: falcone | 2006-12-01 15:25:54 -0500
* add 'is indexed' syntax to the declaritive schema generator
Modified: Jifty-DBI/trunk/lib/Jifty/DBI/Column.pm
==============================================================================
--- Jifty-DBI/trunk/lib/Jifty/DBI/Column.pm (original)
+++ Jifty-DBI/trunk/lib/Jifty/DBI/Column.pm Fri Dec 1 15:26:56 2006
@@ -25,6 +25,7 @@
label hints render_as
valid_values
+ indexed
/;
=head1 NAME
Modified: Jifty-DBI/trunk/lib/Jifty/DBI/Schema.pm
==============================================================================
--- Jifty-DBI/trunk/lib/Jifty/DBI/Schema.pm (original)
+++ Jifty-DBI/trunk/lib/Jifty/DBI/Schema.pm Fri Dec 1 15:26:56 2006
@@ -43,7 +43,7 @@
use Carp qw/croak carp/;
use Exporter::Lite;
our @EXPORT
- = qw(column type default literal validator immutable unreadable length distinct mandatory not_null sort_order valid_values label hints render_as render since input_filters output_filters filters virtual is as by are on schema);
+ = qw(column type default literal validator immutable unreadable length distinct mandatory not_null sort_order valid_values label hints render_as render since input_filters output_filters filters virtual is as by are on schema indexed);
our $SCHEMA;
our $SORT_ORDERS = {};
@@ -513,6 +513,17 @@
_list( render_as => @_ );
}
+=head2 indexed
+
+An index will be built on this column
+Correct usage is C<is indexed>
+
+=cut
+
+sub indexed {
+ _list( indexed => 1, @_ );
+}
+
=head2 by
Helper method to improve readability.
Modified: Jifty-DBI/trunk/lib/Jifty/DBI/SchemaGenerator.pm
==============================================================================
--- Jifty-DBI/trunk/lib/Jifty/DBI/SchemaGenerator.pm (original)
+++ Jifty-DBI/trunk/lib/Jifty/DBI/SchemaGenerator.pm Fri Dec 1 15:26:56 2006
@@ -235,6 +235,7 @@
my @columns = $model->columns;
my @cols;
+ my @indexes;
for my $column (@columns) {
@@ -250,12 +251,17 @@
default => $column->default,
}
);
+
+ if ($column->indexed) {
+ push @indexes,[$column->name];
+ }
}
my $table = DBIx::DBSchema::Table->new(
{ name => $table_name,
primary_key => "id",
columns => \@cols,
+ (@indexes) ? (index => DBIx::DBSchema::ColGroup->new(\@indexes)) : ()
}
);
Modified: Jifty-DBI/trunk/t/testmodels.pl
==============================================================================
--- Jifty-DBI/trunk/t/testmodels.pl (original)
+++ Jifty-DBI/trunk/t/testmodels.pl Fri Dec 1 15:26:56 2006
@@ -3,7 +3,9 @@
use Jifty::DBI::Record schema {
column dexterity => type is 'integer';
-column name => type is 'varchar';
+column name =>
+ type is 'varchar',
+ is indexed;
column label => type is 'varchar';
column type => type is 'varchar';
@@ -18,6 +20,7 @@
label varchar ,
type varchar
) ;
+ CREATE INDEX employees1 ON employees (name) ;
};
}
@@ -31,6 +34,7 @@
type varchar ,
PRIMARY KEY (id)
) ;
+ CREATE INDEX employees1 ON employees (name) ;
};
}
More information about the Jifty-commit
mailing list