this post was submitted on 24 Feb 2025
3 points (100.0% liked)
Technology
65819 readers
5133 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each other!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
- Check for duplicates before posting, duplicates may be removed
- Accounts 7 days and younger will have their posts automatically removed.
Approved Bots
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
NULL
!= 'NULL'How do devs make this mistake
Code is easy in a vacuum. 50 moving parts all with their own quirks and insufficient testing is how you get stuff like this to happen.
it can happen many different ways if you're not explicitly watching out for these types of things
example let's say you have a csv file with a bunch of names
if you use the following to import into postgres
number 5 will be imported as a string "NULL" but number 3 will be imported as a NULL value. of course, this is why you sanitize the data (GIGO) but I can imagine this happening countless times at companies all over the country
there are easy fixes if you're paying attention
sets the empty string to NULL value.
example with js
if
data
isthen the if statement will trigger- as if there was no last name. that's why you gotta know the language you're using and the potential pitfalls
now you may ask -- why not just do
instead? But what if the system you're working on uses
JSON.parse(data)
and that auto-converts everything to a string? it's a very natural move to check for the string"null"
obviously if you're paying attention and understand the pitfalls of certain languages (like javascript's type coercion and the particularities of
JSON.parse()
) it becomes easy but it's something that is honestly very easy to overlookIt's baffling to me. Maybe I'm just used to using "modern" frameworks, but the only way this could be an issue is if you literally check if the string value equals "null" and then replace it with a null value.
lastName = lastName.ToUpper() == "NULL" ? null : lastName;
Either that or the database has some bug where it's converting a string value of "null" into a
null
.That is something I’ve had to do on rare occasions because people set up and store info in stupid ways…