this post was submitted on 27 Dec 2023
376 points (96.1% liked)

Programmer Humor

19564 readers
1311 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 23 points 10 months ago (14 children)

if you don't believe that adding more structure to the absolute maniacal catastrophe that is sql is a good thing then i'm going to start to have doubts about your authenticity as a human being

[–] [email protected] 2 points 10 months ago* (last edited 10 months ago) (7 children)

Me trying to remember on whose output data having, count, sum, etc. work

Once you know functions you would have no reason to go back.
I propose we make SQL into this:

const MAX_AMOUNT = 42, MIN_BATCHES = 2

database
    .from(table)
    .where(
        (amount) => amount < MAX_AMOUNT,
        table.field3
    )
    .select(table.field1, table.field3)
    .group_by(table.field1)
    .having(
        (id) => count(id) >MIN_BATCHES
        table.field0
    )

(Sorry for any glaring mistakes, I'm too lazy right now to know what I'm doing)

..and I bet I just reinvented the wheel, maybe some JavaScript ORM?

[–] [email protected] 1 points 10 months ago

No. The arrow function in where eliminates any possibility of using indexes. And how do you propose to deal with logical expressions without resorting to shit like .orWhereNot() and callback hell? And, most importantly, what about joins?

load more comments (6 replies)
load more comments (12 replies)