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.
Technology
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 another!
- 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, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
Other than SOQL, what’s wrong with their API?
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
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?
I mean, there’s no select *
, for a start.
Ew
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.
Oh man that code is gross. I guess they went with a proprietary sql build in an attempt to lock people in?
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.
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.