in reply to Re: Re: Hash-clobbering in DBD's fetchrow_hashref
in thread Hash-clobbering in DBD's fetchrow_hashref

I see you used the word "assumed" ... remember, don't ever assume.1 ;)

What i was trying to tell you is that the names "a.id" and "b.id" are only good for the database query ... not the results. That is what the AS keyword is for. If you use the AS keyword, then DBI does do it your way, but i am not sure that this is DBI's responsibilty - this is really a matter of the database server in question. I really don't think that DBI even sees the table qualifications in your query ... and to make it do so is surely more trouble than it's worth. (Have you looked at the source of DBI.pm and/or it's drivers?). So, not only do you have to fully qualify the table name, you also have to ensure that the field names are not the same by aliasing them.

I am curious as to why you didn't use a column alias ... the "as x" thing. Also, i don't recommend prepending the table name to it's id column (that is, a.a_id instead of a.id), but it is a solution as well. Usually, i only select the id from one of the tables that i am joining to, but when i do need more id's, i use an alias. It just seems like the logical thing to do to me ... but hey! TIMTOWTDI!

Oh ... and don't worry if you don't see the light up front and think things should be this way instead of that way. I do that all the time ... here is an example! ;)

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)
1 - When i was a Recording Industry major in college, i tried to argue some points back on a test in Copyright Law. My instructor was a lawyer, and sharp (which is why he left after 2 semesters). I augmented my argument somehow with "well ... i assumed that ..." when he immediately cut me off with "AHA! You assumed! Next?"
  • Comment on 3Re: Hash-clobbering in DBD's fetchrow_hashref