this post was submitted on 13 Jul 2023
39 points (95.3% liked)

Technology

59308 readers
4851 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

Salesforce, the leading provider of software for customer relations management, announced that it will implement a price increase for some of its cloud and marketing tools starting in August.

The company’s decision to raise prices, the first in seven years, was met with a positive market response as its shares surged nearly 4% during early trading on Tuesday.

you are viewing a single comment's thread
view the rest of the comments
[–] ShunkW@lemmy.world 24 points 1 year ago (3 children)

I fucking hate Salesforce. I have to integrate with it via API. Why they chose to create a shittier version of SQL is so annoying.

[–] NOT_RICK@lemmy.world 2 points 1 year ago (1 children)

Never had to use salesforce, what’s janky about their sql? Anything beyond the incompatible functions that I’m used to when moving between PLSQL/TSQL/Db2?

[–] dan@lemm.ee 2 points 1 year ago* (last edited 1 year ago) (1 children)

I mean, there’s no select *, for a start.

[–] NOT_RICK@lemmy.world 1 points 1 year ago (1 children)
[–] dan@lemm.ee 3 points 1 year ago* (last edited 1 year ago) (1 children)

Indeed. It's okay though, the same behaviour can be trivially achieved with this simple function:

String table = 'table_name';
String query_string = 'SELECT ';
List<String> table_list = new List<String>();
table_list.add(table);

Set<String> table_rows = schema.describeSObjects(table_list)[0].fields.getMap().keyset();
for(String row : table_rows){
    query_string += row + ',';
}
query_string = query_string.removeEnd(','); //remove trailing comma
query_string += ' FROM ' + table;

Database.query(query_string);

Which I'm sure you'll agree is much more enterprise.

[–] NOT_RICK@lemmy.world 2 points 1 year ago (1 children)

Oh man that code is gross. I guess they went with a proprietary sql build in an attempt to lock people in?

[–] dan@lemm.ee 0 points 1 year ago

Haha yep. I can't imagine anyone's seriously using that code, and actually there's a lot to be said for specifying the fields in your queries rather then just getting everything (cos things can change), but not having select * is just ridiculously hostile to new users just trying to get a feel for the data.

But that's very Salesforce. They've redesigned SQL so it's "better".

Imagine that attitude applied to an entire platform. It's not bad, per se - it's pretty consistent, stable and mature. But it's certainly spiky and difficult to use compared to other ecosystems.

[–] aseriesoftubes@sopuli.xyz 2 points 1 year ago (1 children)

Other than SOQL, what’s wrong with their API?

[–] ShunkW@lemmy.world 0 points 1 year ago

Which one is the question. They have multiple different ones with no feature parity. Looking for documentation? Go fuck yourself and download this 60 page pdf. Also it hasn't been updated in a while and we won't tell you about breaking changes. Sorry for the late reply, Lemmy didn't tell me about your reply till just a few minutes ago lol

[–] Funwayguy@lemmy.world 2 points 1 year ago

As a software engineer who has dealt with so many incidents resulting from the garbage coming out of salesforce. SO. MUCH. THIS.

I swear it's always in a perpetual state of duct tape no matter where I see it used.