Comment On Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

I'm at CodeMash today (stop by the Inedo booth if you're there!), so I thought it'd be a great time for this classic. Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc was originally published on January 30th, 2008. [expand full text]
« PrevPage 1 | Page 2 | Page 3Next »

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 08:30 • by ParkinT
HEY!
BeagleSoft stole MY PROGRAM named TODO!!

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 09:28 • by MyName (unregistered)
Please, oh please, tell me this is a lie. Pretty please.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 09:29 • by The Mr. T Experience (unregistered)
371781 in reply to 371776
ParkinT:
HEY!
BeagleSoft stole MY PROGRAM named TODO!!

TODO: Be Funny

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 09:35 • by anonymous (unregistered)
i don't get it. what's a "where clause"?

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 09:37 • by Nagesh (unregistered)
Here in Hyderabad, we are also having dentist problem. He is traveling acros cuntry avalible in Hyderabad only cupl of days out of the year. He is also demand brakes after each visit.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 09:40 • by Ross (unregistered)
371786 in reply to 371780
Why? Do you work at Beaglesoft?

The sad thing is that this is not a one-off. Any supposedly production SQL that starts 'SELECT *' is bogus.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 09:59 • by mrfr0g (unregistered)
@Ross

I believed that as well until I started work at my last job (the company has since gone under). Most of the site was developed by an external contractor and I was hired to come and clean up his mess. It was typical to see pages that started with;

SELECT * FROM Table1
SELECT * FROM Table2
SELECT * FROM Table3

Then later in the page a new query was generated to get the data that was actually needed;


SELECT `UserID` from Table1

Of course he didn't use the where clause, instead he used a for loop to find the user he wanted. And yes, the tables were named, Table1 - 26.

Suscipere - The act of acting suspicious, while acting suspicious.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 10:00 • by Quicksilver
The Dentist.
The arch-foe of any geek out there!
Especially of those who create their own companys and give out shares!

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 10:26 • by MojoMonkeyfish (unregistered)
371790 in reply to 371786
Any supposedly production SQL that starts 'SELECT *' is bogus.


I wouldn't say that. Ideally, if you're querying, it should be from a view or table that is built specifically for the purpose you are querying it for. That means, there shouldn't be any superfluous columns you need to filter out.

The job I'm currently working is all CQRS/EventSource, so there's pretty much a 1:1 correspondence between use cases and tables.

As a very database-centric developer for most of my career, it took some adjustment, but it's an exceptionally fast and scalable model.

Anyhow, all our "production sql" is "SELECT *", and it hasn't been an issue for us at all.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 10:28 • by Austin (unregistered)
Wow, I may not be first but

FRIST !!!

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 10:29 • by PedanticCurmudgeon
371792 in reply to 371780
MyName:
Please, oh please, tell me this is a lie. Pretty please.
Did you really not see this coming when you read the following?
Alex:
“While our prices might seem high,” a Beaglesoft rep once told Aaron, “keep in mind that you’re paying for quality. Our products are rigorously tested to work in today’s and tomorrow’s high-tech dental office.”

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 10:37 • by Cantabrigian
> The system had completely grinded to a halt.

I finded that a strange sentence.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 10:47 • by Sock Puppet #5 (unregistered)
The Article:

Dr. Strickland, and demanded that there was foul-play involved.


Dr. Strickland, in the dentist office, with the online-all-the-time.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 10:57 • by Sock Puppet #5 (unregistered)
371795 in reply to 371792
PedanticCurmudgeon:
MyName:
Please, oh please, tell me this is a lie. Pretty please.
Did you really not see this coming when you read the following?
Alex:
“While our prices might seem high,” a Beaglesoft rep once told Aaron, “keep in mind that you’re paying for quality. Our products are rigorously tested to work in today’s and tomorrow’s high-tech dental office.”

It was clear that it worked fine on Friday (today) and Saturday (tomorrow).

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 11:06 • by Steve The Cynic
371796 in reply to 371793
Cantabrigian:
> The system had completely grinded to a halt.

I finded that a strange sentence.

bind -> bound
find -> found
wind (long 'eye' sound) -> wound
grind -> ground

but

blind -> blinded
mind -> minded (your own business)
wind (short 'i' sound) -> winded (usually only in passive voice)

It's English that you should find strange.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 11:12 • by Weeks before D-Day (unregistered)
I kept on wishing that he would use the notion of timing by D-Day right, and call it "D minus 7", instead of "a week before D-Day". Has no one seen a launch and heard "T minus 30" and thought "hey, that's a cool way to tell time." Or seen "Private Ryan" and "D plus 3"?

CAPTCHA: jugis - latin for hot chicks?

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 11:15 • by boog
Our products are rigorously tested to work in today’s and tomorrow’s high-tech dental office.
Really? What about on Monday, July 19th? Cuz that's when we really need it to work.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 11:15 • by Mike (unregistered)
One time I wrote:
SELECT * from TEETH
but forgot the:
WHERE CAVITIES > 0

...so now I have to drink my food.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 11:18 • by Shutterbug (unregistered)
Anyone else noticed that Nagesh appears to have got a new camera for Christmas?

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 11:20 • by Weeks before D-Day (unregistered)
371801 in reply to 371790
I hope this is sarcasm....

In case it isn't, besides the horror of making views to correspond to the columns you need for every current query, your maintenance programmers will find you in your sleep and kill you if you ever need to add a column to a table.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 11:44 • by @Deprecated
371803 in reply to 371794
Sock Puppet #5:
The Article:

Dr. Strickland, and demanded that there was foul-play involved.


Dr. Strickland, in the dentist office, with the online-all-the-time.


No, it was Dr. Atkinson, in the server closet, with the "T1 Spike".

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 11:44 • by Geoff (unregistered)
371804 in reply to 371790
I don't know. Would it be that hard to specify the attribute names you want though? I mean seems to me doing so actually reduces the coupling, which is generally a good thing.

If you are using SELECT *, and anyone changes that view/table your app is going to break. Well unless you are testing the attribute name in the record set your api returns, in which case you have accomplished nothing other than saving a few bytes in the select statement.

If you specified the attributes, then the order of columns in the table would not matter, and additional columns could be added. I guess you could always just make another view though as you say that preserves the original table appearance.

Still I feel like its just good form to list out the attributes, unless there is a specific reason not to do so. The real WTF naturally is not using the database engine to the filtering. Lake of join criteria or a WHERE clause is pretty unforgivable; that an anything that changes data should probably use a prepared statement; as should anything that is of sensitive nature if it is read only.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 11:46 • by Anon (unregistered)
Im qualified to be a leading developer all this time and I didnt know it

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 11:47 • by Nagesh-saki (unregistered)
This was a nasty problem we found in ADO recordsets. To append a record, ADO did a select * behind the scenes.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 11:53 • by Medinoc (unregistered)
I actually wonder how it did all end up for the doctors (or whoever was anonymized into four doctors).

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 12:00 • by Boog, I Am Your Father! (aka Behold The Return Of Zunesis!)! (unregistered)
371808 in reply to 371803
@Deprecated:
Sock Puppet #5:
Dr. Strickland, in the dentist office, with the online-all-the-time.
No, it was Dr. Atkinson, in the server closet, with the "T1 Spike".
No, it was Nurse Hanlon, on Dr. Strickland's desk, with the AIDS.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 12:09 • by Harrow (unregistered)
My heart bleeds for the "Associates".

-Harrow.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 12:15 • by Tom (unregistered)
371810 in reply to 371786
Ross:
Any supposedly production SQL that starts 'SELECT *' is bogus.
I'm going to join in disagreeing with this, because I have this marvelously flexible language called Perl. You can "SELECT *" into a hash, which will automagically create a hash entry for each column. Then your code can say things like:
if $att{price} > 10 ...


If the new attributes are added to the table, you don't have to modify any code. It is even update-safe.
$att{status} = 'x';

$att{date} = $Today;

Then you can write the whole row back and the hash is transformed back into a row again. Otherwise you'd need to do separate SQL updates for each attribute?? What a pain!

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 12:23 • by C-Octothorpe
371811 in reply to 371810
Tom:
Ross:
Any supposedly production SQL that starts 'SELECT *' is bogus.
I'm going to join in disagreeing with this, because I have this marvelously flexible language called Perl. You can "SELECT *" into a hash, which will automagically create a hash entry for each column. Then your code can say things like:
if $att{price} > 10 ...


If the new attributes are added to the table, you don't have to modify any code. It is even update-safe.
$att{status} = 'x';

$att{date} = $Today;

Then you can write the whole row back and the hash is transformed back into a row again. Otherwise you'd need to do separate SQL updates for each attribute?? What a pain!
HA! You had me there for a second...

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 12:24 • by Richard (unregistered)
371812 in reply to 371790
MojoMonkeyfish:

Anyhow, all our "production sql" is "SELECT *", and it hasn't been an issue for us at all.


An advantage of specifying the column names is that you may detect bugs quicker and you may make the system more robust, especially if you index the returned result set by column number not name.

An advantage of selecting * in some environments is less code change if you add fields, but the environments I work on use an object relational layer so I don't actually end up typing this stuff in production code, and things are more nailed in anyway.

SELECT * interactively, when exploring a database, is great though.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 12:27 • by Richard (unregistered)
371813 in reply to 371799
Mike:
One time I wrote:
SELECT * from TEETH
but forgot the:
WHERE CAVITIES > 0

...so now I have to drink my food.


At least it wasn't

DELETE FROM TEETH;

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 12:45 • by Bananas (unregistered)
371815 in reply to 371813
Richard:
Mike:
One time I wrote:
SELECT * from TEETH
but forgot the:
WHERE CAVITIES > 0

...so now I have to drink my food.


At least it wasn't

DELETE FROM TEETH;

At least it wasn't

TRUNCATE TABLE TEETH;

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 12:48 • by Coyne
I was going to do a thing about "steenking 'Where' clause", but realized it would be an insult to Mexican bandits (who are surely way smarter than the Beaglesoft developers).

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 12:49 • by Cbuttius (unregistered)
A WHERE clause is not enough, the table would also need to be indexed.

Also, of course, ensure your query is protected from SQL injection.

Now I only wish I'd known there was a job available at such a great IT company in July 2004.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 12:51 • by Why'd he turn it down? (unregistered)
Working for a company that can sell a plug and play USB camera for $7,000, and they'll think I'm a technical deity for being not incompetent?

Seems like it could be fun.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 13:01 • by Jay (unregistered)
371820 in reply to 371790
MojoMonkeyfish:
Any supposedly production SQL that starts 'SELECT *' is bogus.


I wouldn't say that. Ideally, if you're querying, it should be from a view or table that is built specifically for the purpose you are querying it for. That means, there shouldn't be any superfluous columns you need to filter out.

The job I'm currently working is all CQRS/EventSource, so there's pretty much a 1:1 correspondence between use cases and tables.

As a very database-centric developer for most of my career, it took some adjustment, but it's an exceptionally fast and scalable model.

Anyhow, all our "production sql" is "SELECT *", and it hasn't been an issue for us at all.


I'm hoping this is a troll.

If not, well: "Ideally, if you're querying, it should be from a view or table that is built specifically for the purpose you are querying it for." That's absolutely insane. That assumes that you create a new table for every query you write. Can you really not imagine having, say, a "customer" table, or an "employee" table, that is used in many different places in your systems?

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 13:02 • by Jay (unregistered)
371821 in reply to 371817
Cbuttius:
A WHERE clause is not enough, the table would also need to be indexed.

Also, of course, ensure your query is protected from SQL injection.

Now I only wish I'd known there was a job available at such a great IT company in July 2004.


Well it is certainly good if a table has appropriate indexes, even if it has no indexes at all you'd be better off to have a WHERE clause. At least then the selection would be done on the server and only qualifying rows transmitted over the network.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 13:03 • by no laughing matter
371822 in reply to 371817
Cbuttius:
A WHERE clause is not enough, the table would also need to be indexed.

Also, of course, ensure your query is protected from SQL injection.

So at least there practice is immune to such attacks!
Cbuttius:

Now I only wish I'd known there was a job available at such a great IT company in July 2004.

It appears this company is still around: (B)Eaglesoft

And it appears Akismet still sucks donkey nuts!

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 13:03 • by Mason Wheeler
I'm not usually one to call BS on a story posted here, but I have to wonder about this one. How is it even possible to learn SELECT ... FROM but be completely ignorant of WHERE?

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 13:06 • by C-Octothorpe
371824 in reply to 371823
Mason Wheeler:
I'm not usually one to call BS on a story posted here, but I have to wonder about this one. How is it even possible to learn SELECT ... FROM but be completely ignorant of WHERE?
Probably more lazy than anything else. The developers probably just didn't want to write [GASP] a new stored procedure for different searches which return different information.

Also, by not having a where clause, they're effectively sql injection proof!

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 13:06 • by Jay (unregistered)
"WHERE clauses and other optimization techniques". A memorable phrase if I ever heard one. I've got to use that.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 13:09 • by Tonsil (unregistered)
Trolls notwithstanding, one thing about the SELECT * approach to keep in mind: If you are joining multiple tables with one or more identical column names, the results could be unpredictable, depending on how your software handles it. For example, if the result gets dumped into a hash, perhaps the last distinctly named column is stored. If the tables' structures change, this could affect the code.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 13:18 • by Boog, I Am Your Father! (aka Behold The Return Of Zunesis!)! (unregistered)
371827 in reply to 371790
MojoMonkeyfish:
No one is that stupid.
I disagree. I'm that stupid.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 13:18 • by vic (unregistered)
They forgot to mention that tomorrow's high-tech dental office has networks with infinite bandwidth and warp-speed transfer rates, and computers with infinite memory whose processors are so fast that the results are returned before the instructions are even executed.\

and as much as I hate to add a cheesy captcha comment, captcha "iusto" - just add a tail to the first letter to make it truly cheesy (in Finland)

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 13:34 • by Nagesh
371830 in reply to 371783
Nagesh:
Here in Hyderabad, we are also having dentist problem. He is traveling acros cuntry avalible in Hyderabad only cupl of days out of the year. He is also demand brakes after each visit.



That is Baba Ramdev, reowned Yoga Guru! Stop making fun of noted celebrities.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 13:38 • by Nagesh
371831 in reply to 371823
Mason Wheeler:
I'm not usually one to call BS on a story posted here, but I have to wonder about this one. How is it even possible to learn SELECT ... FROM but be completely ignorant of WHERE?


You will find difrent kinds of people in development teams. Lack of training make that happen. It is important to train resource once you grab them from colege. I had to undergo six weeks of training before they let me work on live project. Another six month, before I was billing member of team.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 13:43 • by Jerry (unregistered)
371832 in reply to 371831
Nagesh:
I had to undergo six weeks of training before they let me work on live project. Another six month, before I was billing member of team.
I call B.S. We all know the only training people from your fine offshore country receive is how to make your "R"s sound like a rattlesnake.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 13:43 • by Nagesh (unregistered)
Visiting dentist in Hyderabad is being very dangrus. Much hookah smoke in closed area cause medical problam for woman and childs.

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 13:45 • by facilisis (unregistered)
371834 in reply to 371830
Nagesh:
Nagesh:
Here in Hyderabad, we are also having dentist problem. He is traveling acros cuntry avalible in Hyderabad only cupl of days out of the year. He is also demand brakes after each visit.



That is Baba Ramdev, reowned Yoga Guru! Stop making fun of noted celebrities.

Is this what passes for entertainment in India? You guys need TV!

Re: Classic WTF: Rutherford, Price, Atkinson, Strickland, and Associates Dentistry, Inc

2012-01-12 14:09 • by frits
371835 in reply to 371830
Nagesh:
That is Baba Ramdev, reowned Yoga Guru! Stop making fun of noted celebrities.
Who used to own him?
« PrevPage 1 | Page 2 | Page 3Next »

Add Comment