11-01-2022 11:38 AM
Running this code in databricks SQL works great:
SET USE_CACHED_RESULT = FALSE;
-- Result:
-- key value
-- USE_CACHED_RESULT FALSE
If I add an inline comment, however, I get a syntax error:
SET USE_CACHED_RESULT = FALSE; -- this comment causes issues
-- Result:
-- Expected format is 'SET', 'SET key', or 'SET key=value'. If you want to include special characters in key, or include semicolon in value, please use quotes, e.g., SET `key`=`value`.line 1, pos 0
Edit: it's been helpfully mentioned that adding tickmarks resolves the issue. That's great to know. However, tickmarks are optional for this kind of statement--in other words, default behavior is that it should still work without tickmarks! This issue is, simply stated, a bug in the Databricks SQL runtime.
There are other similar solutions:
No matter which of these we try (with great results!), this bug will persist in the Databricks SQL runtime.
This post, then, is less of a request for workarounds--and more of a bug alert. If there is a better place for this kind of feedback, please let me know so I can put it there!
11-09-2022 09:19 AM
Thanks Kaniz! I sent a reply to Landan for his insightful answer. His is a great workaround. However, it should still work without his workaround (adding tickmarks). So I'm leaving this up here for now; I think this is just a bug that needs to be brought before the appropriate internal Databricks team.
11-01-2022 04:05 PM
Hi Graham,
Does using backticks (`) like below fix the issue?
SET `USE_CACHED_RESULT` = `FALSE`; --this comment causes issues
-- Result:
-- key value
-- USE_CACHED_RESULT FALSE
11-09-2022 09:15 AM
This works! Thank you! however, it should still work without tick marks, so I'm leaving this question up here. Again, thanks for your find.
11-09-2022 09:19 AM
Thanks Kaniz! I sent a reply to Landan for his insightful answer. His is a great workaround. However, it should still work without his workaround (adding tickmarks). So I'm leaving this up here for now; I think this is just a bug that needs to be brought before the appropriate internal Databricks team.
09-09-2024 05:00 AM - edited 09-09-2024 05:00 AM
Hi, I'm getting the same error when trying to execute statement through API
"statement": "SET `USE_CACHED_RESULT` = FALSE; SELECT COUNT(*) FROM TABLE"
Every combination fail
"status": {
"state": "FAILED",
"error": {
"error_code": "BAD_REQUEST",
"message": "\n[INVALID_PROPERTY_VALUE] \"FALSE; SELECT COUNT(*) FROM TABLE\" is an invalid property value, please use quotes, e.g. SET \"USE_CACHED_RESULT\"=\"FALSE; SELECT COUNT(*) FROM TABLE\" SQLSTATE: 42602 (line 1, pos 0)\n\n== SQL ==\nSET `USE_CACHED_RESULT` = FALSE; SELECT COUNT(*) FROM TABLE \n^^^\n"
}
Join a Regional User Group to connect with local Databricks users. Events will be happening in your city, and you won’t want to miss the chance to attend and share knowledge.
If there isn’t a group near you, start one and help create a community that brings people together.
Request a New Group