2011/11/22 Brendan Byrd <sineswi...@gmail.com>: > (Adding dbi-dev to conversation for > https://rt.cpan.org/Ticket/Display.html?id=72588) > > Still debugging DBD::SNMP right now, and I'm currently fighting with > SQL::Statement to allow for schema.table formats. The idea would that it > would be possible to reference the MIB name within the table, like > IF_MIB.ifTable for IF-MIB::ifTable. However, I'm finding all kinds of code > that strips the schema from the table name.
As far as I know, snmp tables doesn't have a scheme - they might (or might not) have a unique dot separated identifier path. Let's take dskTable as example. It's full qualified oid is ".1.3.6.1.4.1.2021.9" or "enterprises.ucd.9" yada-yada-yada. How do you expect the schema.table support can help you and how it is required to be changed from current implementation (see DBD::File how currently it's used). Another example is smProcessStatus - or "enterprises.smart-snmpd.10.7" which has it's table at smProcessTable.1 or "1.3.6.1.4.1.36539.10.7.7.1". Or smDiskIoStatus (enterprises.smart-snmpd.20.1), which contains two tables: smDiskIoTable and smDiskIoIntervalTable. For details about this mib, you've currently have to download the tarballs from http://www.netbsd.org/~sno/smart-snmpd/. Nevertheless, I do not understand what kind of different schema handling would really help you on this. > So far, I've found code in parse, TABLE_NAME, IDENTIFIER, and open_tables. > So it seems that SQL::Statement -really- wants to remove the schema. What > kind of pitfalls would I encounter if I allowed for a schema.table format? > I have removed the code to test with, and it appears to work just fine (so > far). For IDENTIFIER, I added this: > > return $self->IDENTIFIER($1) && $self->IDENTIFIER($2) if ( $id =~ > m/^(.+)\.([^\.]+)$/ ); # check both schema/table > > I'd like to turn this into a patch, since I have a need to have these > available. Given that this is a change to the general functionality of > SQL::Statement, I'm open to adding this in as a flag of some sort. Did you try all tests of SQL::Statement, DBD::File, DBD::DBM and DBD::CSV to prove against unexpected side effects? How do you add the compatible change to DBI::SQL::Nano? > -- > Brendan Byrd/SineSwiper <sineswi...@gmail.com> > Computer tech, Perl wizard, and all-around Internet guru >