- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
Hahahahaha! Already seen it, sucker! :stuck_out_tongue:
I saw it on
/latest
before it got unlistedAdmin
Why no inb4 unlist (that should be a badge, BTW)
Admin
Because you're then asking for more Frist Posts? Doesn't sound like a good thing.
Admin
Because there's no real way of telling, aside from my own word, whether I saw it before it was unlisted, or I set the category to 'Watching'
Admin
You can't blame her not watching the category. Some people don't game the system like that and rely on quick-acting reflexes!
Edit: Frickin' :hanzo:
Admin
No I mean post inb4 the unlist.
I'm sure it's possible, I almost did it on another article
Admin
Ah, I was just slow :smile:
Admin
now, now dear. it's not you that was slow. it was discurse that was slow.
never blame yourself for the failings of others.
Admin
Why not just use
DECODE
returns 1.
Admin
@Remy, typo:
I'm not entirely sure what that's supposed to say (the something using?), but as-is it's gibberish.
Admin
For some reason, the authors 'round here never seem to fix mistakes pointed out in the comments.
Admin
The lazy moderators who won't do their jobs are a bad influence.
They do seem to fix broken image links though (by hot-linking to huge 50MB WikiCommons pictures that aren't actually relevant to the article).
Admin
@boomzilla ghostwrites every article?! :open_mouth:
Admin
Woah! There is no call for that! We don't get paid for our lax work ethic, but the writers get paid for their articles. There is no reason for them to be following our lead!
Admin
By the way, I notice the distinct lack of SJW's or professional offendees on behalf of 3rd or 4th parties complaining about the title of the article.
Might we get some when it goes officially public? :imp:
Admin
Too slow, grasshopper.
Admin
8 posts were split to a new topic: N-n-n-n-names
Admin
Is it me or does the code still fail to consider two NULLs as the same?
Admin
TRWTF is not the lack of GUI tools but the tool who implemented such a dysfunctional way of change controlling a database. It's just the wrong way to do it, and the fact that 'lipstick on a pig' PL/SQL is needed to try and make sense of it comes as no surprise. If you're making changes to a db, you absolutely must know what will and will not change. Having to write software to spot a change means you've lost control (or never had it in the first place)
I sigh, and file it under "Why developers should never be allowed near a database" along with all the other similar howlers I've seen, so many, many times before. For the sake of completeness, that's stored next to the bullets which I keep for executing incompetent managers who allow this sort of thing to happen in the first place.
Admin
Yeah, looks like that to me too. And to me that's about the length of the WTF here, or maybe I'm just too used to making NULL checks differently in SQL and other languages.
Unless The Real WTF (tm) was the in-house GUI and not the code.
Admin
Ch-Ch-Ch-changes, and totally off topic.
RIP David Bowie.
Admin
Oh my... Cause spamming YT comments under fucking every Bowie song is not enough for you people, right?
Admin
Or you could show some respect for the passing of a musical legend.
Admin
It's not about respect. It's about: no one cares that you miss him, stop spamming all forums, FFS!
I swear, I went to YT 'cause I wanted to check if Remy meant that the title is a Bowie reference. I've listened to a few songs and I really can't stand any more of "he's probably having great time right now doing the most awesome gig with Freddy" and "And Kurt, too", etc.
FFS, guy's dead, go listen to his songs, but please stop spamming forums...
Admin
Very well. We'll all stop giving a crap about a dead man who gave the world a huge amount of beauty, just to spare your feelings.
Admin
At last! Thank you, please do that.
Admin
That or coalesce(val1, 'Something that falls completely outside the possible domain of normal values like this string') = coalesce(val2, 'Something that falls completely outside the possible domain of normal values like this string')
Admin
*ships you a new sarcasm detector*
Admin
:rolleyes:
YMBNH
Admin
That's what I was thinking...
Admin
With regards to the comment itself - API documentation? Bloody luxury. There's a large ERP package uhm let's anonomize it as Initrode Funky System. When we asked for API documentation so that we could write some custom web front ends to insulate our users from its abysmal uhm... Initrode Funky System Exploder application we were told three things in this order:
Admin
On topic.
Meh. Given that there is a need for this far-from-optimal task to be done, and given that some sort of effort (despite being laughably inept) has thereby been made to make the developers' tasks slightly easier (as for me, I grew up with Toad and got on well with it), it's there, and it's in place and can be forgotten about. The few times it is needed more than makes up for its unwieldiness.
Although I would continue to agitate for Toad.
Admin
But really, in 17 years of Oracle development, I have never ever encountered - or even heard of - an in-house database development tool. Generally toad, plsqldeveloper or sqldeveloper are used. Or even a text editor with sql*plus.
So that was the major WTF. The null handling is just a bonus WTF, that can be fixed by replacing the whole mess with a few lines of code.
Admin
Hah!
I was on contract to a high-profile client on a different continent, where I was the company-facing person. They were insisting on not using our software in the way we designed it, they wanted to continue to build their product in the same way that they had always done, despite the fact that the tool we provided for them did all the stuff which they were (in their NIHness) unnecessarily rewriting. So the time came when they demanded the API documentation for the (internal to the product) java classes -- or they were pulling the plug. So, sure enough, we got the javadocs. Fortunately I took the opportunity to check them over before delivering them. And the javadocs were full of stuff like: "Suppose we ought to think about documenting this sometime", and "god knows what this does, it was written by that clown [whoever]" and stuff like that.
I don't know much about the political details of what happened after that, because the plug was indeed pulled and I was indeed returned to my place of residence
Admin
Well, I am actually. :wink:
Admin
Hey, the one I have still works great! Sure, you can here something rattling around inside and the screen is almost impossible to read, but hey, it still works!
Admin
The real WTF is creating a boolean function. Now you have a nice way of comparing two values but you can't use it in a SQL statement.
Admin
Actually, in the Oracle world NULL != NULL evaluates to FALSE; the real problem is that so does 'a' != NULL.
Admin
The code isn't trying to consider whether the two values are the same, it is trying to consider whether the two values are different. The article mentions the
NULL != NULL
case but this is a red herring because it never evaluates toTRUE
. The actual case is theNULL != NOT NULL
case which the code would like to beTRUE
but isn't, thus the special cases.Admin
!!!
twitch
Admin
Hey! That's exactly what I meant!
And get if my lawn, while we're at it!
Admin
Your having a laugh.
Admin
Almost exclusively. Unless it's about the new Star Wars movie.
Filed under: Never underestimate the power of Jar Jar Abrams
Admin
Okay, just to clarify, are the comparisons:
null == null
false?null != null
also false?Admin
http://docs.oracle.com/database/121/SQLRF/sql_elements005.htm#SQLRF30037
Admin
Ah! Undefined behavior! How delightful.
Or is
unknown
Oracle's booleanFILE_NOT_FOUND
?Admin
No?
Admin
Table 2-20 seems to indicate so, unless Oracle has tri-state booleans:
TRUE
,FALSE
, andUNKNOWN
.Admin
Admin
My PL/SQL method:
Compare the NVL of the old and new values with defaults of different types. Can only be true if both values are equal or both values are null.
FFS, I finally subscribe to the new forums for this?