Live data from Hacker News

Problems with Oracle SQL

codingtofreedom.com

21–30 of 277 posts

Re: Problems with Oracle SQL

#21
post #8

I've worked with databases for a while now and I've never advocated for moving to Oracle (I have advocated for postgres though). The long term organizational costs is a big factor - but an almost equally large factor is the fact that 1. I have never actually used their dialect and have heard absolutely terrible things about it 2. There is no non-enterprise DBMS available that uses something close to their dialect so…

[deleted]

Re: Problems with Oracle SQL

#22
From a security perspective, keep in mind the errors like "access denied" or "password invalid" are typically bad not good when compared to more generic "table does not exist" or "failed logon attempt".

These errors tell you something positive about the existence of something you don't have the rights to know about and that is a defect in my opinion.

I not saying good error messages are not valuable or that Oracle's are fine, but the answer should never be that error messages tell you information about something you don't have permission to know about.

Re: Problems with Oracle SQL

#23

This is missing my favorite oracle quirk: Empty strings are equivalent to null. Trying to insert an empty string into a NOT NULL column will fail, which took me a while to understand the first time I saw it happen.

So how do you insert an empty string into a NOT NULL column? Please don't tell me that it's not possible.

Re: Problems with Oracle SQL

#24
post #8

I've worked with databases for a while now and I've never advocated for moving to Oracle (I have advocated for postgres though). The long term organizational costs is a big factor - but an almost equally large factor is the fact that 1. I have never actually used their dialect and have heard absolutely terrible things about it 2. There is no non-enterprise DBMS available that uses something close to their dialect so…

Back in the day MS SQL was Windows-only and Postgres was not mature, so the choice was Oracle or DB2. And Oracle was more popular, because it used more progressive model (versions vs DB2 locks). Plenty of people who don't closely follow recent trends associate database with Oracle, so when they have a word, they'll choose it.

Oracle it not that bad anyway, it's just stupidly expensive. I'd choose Postgres any day, but I worked with Oracle a lot and it never was a main culprit in my work. It has its issues, sure, but they're solvable.

Re: Problems with Oracle SQL

#25
“But how in the world is it okay for Oracle to throw me for a loop as I try to pinpoint why the existing grants aren’t sufficient, debugging the whole program to see which user credentials are used – only to find out that it was neither a table nor a view, but rather the SEQUENCE used to increment the ID column that needed grants for the user?“

Probably a security issue. If you tell a user “table T exists, but you don’t have rights to write to it because you can’t increase sequence S”, you’re leaking the information that a sequence with that name exists.

It’s the same reason a good login system will say “invalid username or password” instead of “invalid password” and its recovery screen “if that’s a valid user name, a mail has been sent to the address associated with it”.

Re: Problems with Oracle SQL

#26
“But how in the world is it okay for Oracle to throw me for a loop as I try to pinpoint why the existing grants aren’t sufficient, debugging the whole program to see which user credentials are used – only to find out that it was neither a table nor a view, but rather the SEQUENCE used to increment the ID column that needed grants for the user?“

Probably a security issue. If you tell a user”“table T exists, but you don’t have rights to write to it because you can’t increase sequence S”, you’re leaking the information that a sequence with that name exists.

It’s the same reason a good login system will say “invalid username or password” instead of “invalid password” and its recovery screen “if that’s a valid user name, a mail has been sent to the address associated with it”.

Re: Problems with Oracle SQL

#27
The author looks young (judging from his picture). I'm honestly sorry to the younger generation that we didn't do a better job of passing down what we learned.

Yes Virginia, Oracle is the Devil.

Re: Problems with Oracle SQL

#28

This is missing my favorite oracle quirk: Empty strings are equivalent to null. Trying to insert an empty string into a NOT NULL column will fail, which took me a while to understand the first time I saw it happen.

So how do you insert an empty string into a NOT NULL column? Please don't tell me that it's not possible.

its...

....

sorry

not possible (can't store empty string in a NULL col either)

for reals

Post reply on HN