Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re: Topics in Perl Programming: Table-Mutation Tolerant Database Fetches with DBI

by Dominus (Parson)
on Nov 29, 2000 at 00:08 UTC ( #43756=note: print w/replies, xml ) Need Help??

in reply to Topics in Perl Programming: Table-Mutation Tolerant Database Fetches with DBI

Says princepawn:
> How does one write Perl code such that it can work
> without modification in the face of labeling,
> destructive, or positional field mutations?
It's going to take a lot of effort to do it in Perl or in any other language. Here's a small table with only two columns:
ID1 ID2 ----------- 119 666 437 112
Now switch the order of the two columns, and change the names so that ID1 is now called ID2 and ID2 is now called ID1:
ID1 ID2 ----------- 666 119 112 437
Now how are you going to write a program that magically copes with that? This is not a Perl problem; it's an impossible problem. Even looking at the database schema is not going to work.

The only solution is for the database itself to carry its own description. One way is to install a special row into each table:

ID1 ID2 ----------- "id2" "id1" ... ...
then the program can select this row, examine it to see whether the column names or the order have changed, and it can make the appropriate allowances.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://43756]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2017-10-21 12:38 GMT
Find Nodes?
    Voting Booth?
    My fridge is mostly full of:

    Results (270 votes). Check out past polls.