dosubot[bot] commented on issue #28630:
URL: https://github.com/apache/superset/issues/28630#issuecomment-2743970054

   <!-- Answer -->
   Resolving the issue at the dbapi or db engine spec level involves modifying 
how Superset handles SQL functions like `GROUP_CONCAT` for specific database 
engines. Superset uses the `BaseEngineSpec` class to provide database 
engine-specific configurations, including SQL function handling 
<sup>[[1]](https://github.com/apache/superset/blob/master/superset/db_engine_specs/base.py)</sup>.
 
   
   To address the `GROUP_CONCAT` issue without relying on `SQL_QUERY_MUTATOR`, 
you can extend the relevant engine spec class (e.g., `DorisEngineSpec` or 
`MySQLEngineSpec`) to customize the SQL function handling for `GROUP_CONCAT`. 
This involves overriding methods that parse or modify SQL queries to ensure 
compatibility with the specific SQL dialect of Doris or MySQL.
   
   Here's a general approach:
   
   1. **Identify the Engine Spec Class**: Locate the engine spec class for 
Doris or MySQL in the Superset codebase (e.g., `doris.py` or `mysql.py`).
   
   2. **Override SQL Handling Methods**: Modify or add methods in the engine 
spec class to handle `GROUP_CONCAT` without appending `SEPARATOR ','`. This 
might involve customizing the SQL parsing logic or query transformation methods.
   
   3. **Test the Changes**: Ensure that the changes work correctly by testing 
with both Doris and MySQL databases to verify that `GROUP_CONCAT` is handled as 
expected.
   
   By implementing these changes at the db engine spec level, you can ensure 
that Superset generates compatible SQL queries for the affected databases 
without relying on global query mutators.
   
   
   <!-- Dosu Comment Footer -->
   *To continue talking to [Dosu](https://dosu.dev), mention @dosu.*
   
   ---
   <sup>Help Dosu learn! Give it feedback: [Great 
Response](https://app.dosu.dev/response-feedback/0a86b500-e63c-4fe2-8ceb-f65a4f1befca?feedback_type=great_response)
 | [Irrelevant 
Answer](https://app.dosu.dev/response-feedback/0a86b500-e63c-4fe2-8ceb-f65a4f1befca?feedback_type=irrelevant_answer)
 | [Incorrect 
Sources](https://app.dosu.dev/response-feedback/0a86b500-e63c-4fe2-8ceb-f65a4f1befca?feedback_type=incorrect_sources)
 | [Too 
Verbose](https://app.dosu.dev/response-feedback/0a86b500-e63c-4fe2-8ceb-f65a4f1befca?feedback_type=too_verbose)
 | 
[Hallucination](https://app.dosu.dev/response-feedback/0a86b500-e63c-4fe2-8ceb-f65a4f1befca?feedback_type=hallucination)
 | [Bug 
Report](https://app.dosu.dev/response-feedback/0a86b500-e63c-4fe2-8ceb-f65a4f1befca?feedback_type=bug_report)
 | 
[Other](https://app.dosu.dev/response-feedback/0a86b500-e63c-4fe2-8ceb-f65a4f1befca?feedback_type=other)</sup>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to