I'm very interested in the new DBD::AnyData as I use it to work with CSV
files in conjunction with DBI::PurePerl.  Does the new version that's
in the works have any speed/resource/architecture improvements?  I
thought it was mentioned previously that it would be revised based on
lessons learned while working on DBI::PurePerl.  Or am I thinking of
the pending (if there is a pending) SQL::Statement revisions?  Just
curious - thanks for a great module.

I'd be glad to beta the new version and/or do some hi res timer
comparisons if needed.  Please let me know if I can help at all.


 
Nick Hendler
[EMAIL PROTECTED]

_________________________________________

From:    Jeff Zucker <[EMAIL PROTECTED]>
Date:    Thursday, October 3, 2002 
Time:    10:41:36 PM
Subject: AnyData Conversion (Was Re: Uploaded to CPAN: DBIx::Dump)

Sterin, Ilya wrote:

> That would be fine.  I was thinking in terms of supporting data formats that
> can't be queried, 


Yes, there are already some like that, for example one can query Mp3 
file embedded text tags, but not create or modify them.

> AnyData.pm, I haven't looked at the source, 


Don't :-).  Look at the development version which is migrating to a 
dispatch_method similar to DBI::PurePerl (which is part of why it's 
taking me so long for the next release).

> I'm not sure if Jeff wants to
> add these misceleneous data structures.  


The more the merrier.  Users have developed task-specific AnyData 
parsers for things like genomes and sun-flare reports.  See the list 
below for a half dozen other general formats developed by other authors.


> I just added an event driven interface to DBIx::Dump, which allows to define
> event handlers and due on the fly transformations/formatting before
> outputting.  Not sure about the AnyData interface and if it will allow for
> such additions without much reprogramming.


On the contrary, there is support already for both post-read and 
pre-write event handlers in the development version of the module as 
well as support for on-the-fly user-defined parsers.

 > Jeff???

Yes, Ilya, let's collaborate!!!

Here's what adConvert will look like in the next release (90% of it is 
available in the current version):

adConvert({

     data_source   =>   $filename
                      | *file_handle
                      | $http_url
                      | $ftp_url
                      | [$string]
                      | [<DATA>]
                      | $array_of_arrays
                      | $array_of_hashes
                      | $dbi_database_handle
                      | $dbi_query_statement_handle,

     data_target   =>   $filename
                      | *file_handle
                      | $dbi_insert_statement_handle,
                      | undef (returns a string, AoA,or AoH
                              depending on the specified target
                              format)

     source_format =>   CSV
                      | Tab
                      | Pipe
                      | Space
                      | Ini
                      | XML
                      | DBI
                      | Fixed     (with Doug Wilson)
                      | SNMP      (by Wes Hardaker)
                      | Excel     (by Kawai, Takinori)
                      | Syslog    (by Tod Harter)
                      | MLDBM     (in progress, with Brian Hann)
                      | HTMLtable
                      | Storable
                      | Passwd
                      | Weblog
                      | Mbox      (anyone want to collaborate or take
                                   on this one?)
                      | AoA
                      | AoH
                      | FileSys
                      | Mp3
                      | Usr (user-defined)
                      | $your_format_here (please submit format parsers
                                          the next release will have an
                                          actual API for them)

     target_format => (same as source formats except for Mp3)

     flags         => (various flags, most with defaults
                      to determine method of finding colnames;
                      set a file_locking mechanism if needed,
                      set delimiter, separator, quote and escape chars;
                      define pre-write and post-read handler routines)
});

Reply via email to