Depends on your definition of "actual". Or for that matter, your definition of "Object".
I have some draft code on the beginning of this thread. It basically takes whatever Perl tree object you throw at it and turns it into a database. This is achieved with a custom recursive sub to normalize the tree, and a thin wrapper around DBD::AnyData to dump the tables via ad_import. So it would indeed be a DBI object. I would even tie it to the standard DBD driver code, so that the traditional DBI->connect string would work. For example: $dbh = DBI->connect('dbi:Object:', undef, undef, { obj_object => JSON::Any->jsonToObj($json), obj_prefix => 'json', obj_1st_table_name => 'map_routes', obj_table_rename => { 'html_instructions' => 'instructions', 'southwests' => 'sw_corners', 'northeasts' => 'ne_corners', }, }); I'm a stickler for details, so this will probably end up with the full gambit of ODBC variables and *_info subs. (Just processed that for DBD::FusionTables::GetInfo; man, that's a mess of 185 different bitmaps...) As far as the name, I was going to use NestedHash, but it does work off of both Arrays and Hashs (as well as looks at other ref types), so I figured something generic would work better. Technically, it would work for any Perl "object", even a single hash. Some potential names could be: DBD::Object DBD::Tree DBD::TreeObject DBD::NestedObject Which one would work best? -- Brendan Byrd <byr...@insightcom.com> System Integration Analyst (NOC Web Developer) -----Original Message----- From: Tim Bunce [mailto:tim.bu...@pobox.com] Sent: Wednesday, September 21, 2011 9:45 AM To: Byrd, Brendan Cc: dbi-dev@perl.org Subject: Re: New NestedHash module needs home Would it be an actual DBI driver? Could you post some examples or docs? I'm uncomfortable with it having such a generic name. Two words after the DBD would be better. Tim. On Wed, Sep 21, 2011 at 02:58:09AM +0000, Byrd, Brendan wrote: > I think I'm going to end up going the route of a new module called > DBD::Object. While AnyData seems like a good fit, the whole table vs. > database thing seems to hamper that choice too much. Besides, if we're > talking about multiple tables, it's pretty much a database at that point, > anyway. > > FYI, I'm also (simultaneously) working on a few other DBI modules that you > guys might be interested in: > > DBD::SNMP - This will be a merging between the Net-SNMP module (for OID data) > and the Net::SNMP/::XS module (for everything else), with built-in > multi-device support (via a virtual temp table). If David doesn't hurry up > and get those dispatch patches in, I guess they will be included here, too. > > DBD::FusionTables - Interaction with Google's Fusion Tables API, which has a > SQL interface. And when I say SQL interface, I mean a really stripped-down > bare-bones SQL interface. Still, it can do INSERTs, SELECTs, UPDATEs, etc., > so let's build an interface and see if it even works on DBIC. > > SQL::Statement::Functions::CAST - This is what happens when I say (for the > thousandth time) "Oh, that should be an easy function to implement!" Then I > buried my head in SQL-99 specs and the madness began. I am making good > headway on this one, though. Depending on what other SQL-99/ODBC functions > are already in Perl, it may just turn into ::SQL99 to implement mostly > everything. > > From: dub...@gmail.com [mailto:dub...@gmail.com] On Behalf Of Jeff Zucker > Sent: Tuesday, September 13, 2011 12:57 PM > To: dbi-dev@perl.org > Cc: Byrd, Brendan > Subject: Re: New NestedHash module needs home > > On Tue, Sep 13, 2011 at 7:50 AM, Jonathan Leffler > <jonathan.leff...@gmail.com<mailto:jonathan.leff...@gmail.com>> wrote: > > On Mon, Sep 12, 2011 at 10:29, Byrd, Brendan > <byr...@insightcom.com<mailto:byr...@insightcom.com>> wrote: > > > I currently have a working and tested model for a "nested hash to table" > > > conversion. [...] > > > > ** ** > > > > *AnyData::Format::NestedHash - *[...] > > > > *DBD::AnyData::Format::NestedHash - *[...] > > > > *DBD::NestedHash - *[...] > > > > I'm not sure it fits there; it may be more driver-related than built atop > DBI. But you didn't mention the DBIx namespace... > > It sounds to me like it fits very well in the AnyData/DBD::AnyData namesapce > because it would provide a driver for using DBI against things not usually > considered to be databases. Although I gave birth to the AnyDatas, I'm not > very involved in them at the moment so if you go that route, you should check > with Jens Reshack who currently is the primary maintainer. > > -- > Jeff