Why is Query Plan not working in Developer Console in Winter ’19 orgs?

When attempting to generate a Query Plan in Developer Console in a Winter ’19 org, I receive a generic “sObject Type ‘xxxxx’ is not supported” error.

For example, when I use a basic query such as:

SELECT Id, Name FROM Account

I receive “sObject Type ‘Account’ is not supported.” See attached screenshot.

I have attempted to execute Query Plans on multiple objects but get the same error each time. If I click the ‘Execute’ button instead of the ‘Query Plan’ button, the query executes without issue.

I have tested in multiple orgs. This issue appears to have surfaced in Winter ’19, as I use this feature regularly and have not had issues until now.

Is this a Developer Console bug, or has the Query Plan functionality been deprecated?

Query Plan issue in Developer Console in Winter '19 org

Answer

All indications are that this was a bug in the developer console and has since been resolved.

If it happens again, those

sObject Type ‘X’ is not supported.

error messages typically occur in the developer console when working against the wrong API. E.g. You accidentally have the “Use Tooling API” checkbox on and try to run a SOQL query for Accounts. Somewhere in the process of running the SOQL query the developer console would try and validate the underlying type was supported.

I can see in your screenshot that the checkbox was not ticked, so that would suggest the developer console was incorrectly running that same sort of validation even though you only wanted the query plan.

If the problem does recur, I’d suggest dropping back to the underlying REST API – Get Feedback on Query Performance.

Basically, rather than running your SOQL query with:

/vXX.X/query/?q=SOQL query

you switch to:

/vXX.X/query/?explain=SOQL query

One advantage of using the REST API directly is that you can also use a report or list view id in place of the SOQL query.


Oddly, I checked the Chrome dev tools from the dev console on NA64 and found the query plan button was sending the request to:

https://mydomain-dev-ed.my.salesforce.com/services/data/v44.0/tooling/query/?explain=Select%20Id%20from%20Account&_=1541054546697

The /v44.0/tooling/query/ in the URL seems odd, as I’d expect the query to be against the standard REST API rather than the tooling variant.

Attribution
Source : Link , Question Author : Mike Topalovich , Answer Author : Daniel Ballinger

Leave a Comment