A. Pagaltzis wrote:
* RA Jones <[EMAIL PROTECTED]> [2007-05-11 14:15]:
foreach( qw/Schema::Foo Schema::Bar/ ) {
 my $schema = $_;

  foreach my $schema ( qw/Schema::Foo Schema::Bar/ ) {

 my $src = $c->model($schema)->result_source;
push @date_fields, grep { $src->column_info($_)->{data_type} eq 'DATE' } $src->columns;
}

I’d write that as a map.
Actually I'd already re-written it as a map before your reply, pretty much like:
    @date_fields = map {
        my $src = $c->model($_)->result_source;
        grep { $src->column_info($_)->{data_type} eq 'DATE' } $src->columns;
    } qw( Schema::Foo Schema::Bar );

That’s really too much work for a map block, though…
Why so? Too much for readability, or for performance?
Ideally, the hash returned by `column_info` would already include
a `column_name` key and `column_info` would accept a list of
column names to return information about, not only a single one.

This could be implemented in DBIx::Class with only a tiny patch.

The code would then become this:

    @date_fields = (
        map  { $_->{column_name} }
        grep { $_->{data_type} eq 'DATE' }
        map  { $_->column_info( $_->columns ) }
        map  { $c->model($_)->result_source }
        qw( Schema::Foo Schema::Bar )
    );
Would be useful. I wonder who might be prepared to patch DBIx::Class?
--
Richard Jones

**********************************************************************
This message  may  contain  confidential  and  privileged information.
If you are not  the intended  recipient please  accept our  apologies.
Please do not disclose, copy or distribute  information in this e-mail
or take any  action in reliance on its  contents: to do so is strictly
prohibited and may be unlawful. Please inform us that this message has
gone  astray  before  deleting it.  Thank  you for  your co-operation.

NHSmail is used daily by over 100,000 staff in the NHS. Over a million
messages  are sent every day by the system.  To find  out why more and
more NHS personnel are  switching to  this NHS  Connecting  for Health
system please visit www.connectingforhealth.nhs.uk/nhsmail
**********************************************************************


_______________________________________________
List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
Wiki: http://dbix-class.shadowcatsystems.co.uk/
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
Searchable Archive: http://www.mail-archive.com/[email protected]/

Reply via email to