ARROW_CAST does not exist
ARROW_CAST does not exist MySQL 8
wren-ui的日志里会不断地报这个错误
wren-ui-1 | [2025-09-11T09:27:25.378] [DEBUG] IbisAdaptor - Query error: (1305, 'FUNCTION tedu.ARROW_CAST does not exist')
wren-ui-1 | sendEvent ibis_query_failed {
wren-ui-1 | correlationId: undefined,
wren-ui-1 | processTime: undefined,
wren-ui-1 | error: "(1305, 'FUNCTION tedu.ARROW_CAST does not exist')",
wren-ui-1 | dataSource: 'MYSQL',
wren-ui-1 | sql: SELECT "is_high_salary", AVG(ARROW_CAST("work_years", 'DOUBLE')) AS "avg_work_years", APPROX_MEDIAN(ARROW_CAST("work_years", 'DOUBLE')) AS "median_work_years", STDDEV(ARROW_CAST("work_years", 'DOUBLE')) AS "stddev_work_years", COUNT(*) AS "count" FROM "rencai_rencai_talent" GROUP BY "is_high_salary"
wren-ui-1 | } UNKNOWN false
wren-ui-1 | [2025-09-11T09:27:25.380] [ERROR] APOLLO - == original error ==
wren-ui-1 | [2025-09-11T09:27:25.380] [ERROR] APOLLO - AxiosError: Request failed with status code 500
wren-ui-1 | at settle (file:///app/node_modules/axios/lib/core/settle.js:19:12)
wren-ui-1 | at IncomingMessage.handleStreamEnd (file:///app/node_modules/axios/lib/adapters/http.js:599:11)
wren-ui-1 | at IncomingMessage.emit (node:events:529:35)
wren-ui-1 | at endReadableNT (node:internal/streams/readable:1400:12)
wren-ui-1 | at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
wren-ui-1 | at Axios.request (file:///app/node_modules/axios/lib/core/Axios.js:45:41)
wren-ui-1 | at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
wren-ui-1 | at async w.query (/app/.next/server/chunks/980.js:1:1995)
wren-ui-1 | at async c.ibisQuery (/app/.next/server/chunks/980.js:8:44154)
wren-ui-1 | at async c.preview (/app/.next/server/chunks/980.js:8:43323)
wren-ui-1 | at async N.previewSql (/app/.next/server/pages/api/graphql.js:1:85185)
wren-ai-service-1 | E0911 09:27:25.381 9 wren-ai-service:87] Error executing SQL: (1305, 'FUNCTION tedu.ARROW_CAST does not exist')
This error is happening because MySQL 8 does not have a function called ARROW_CAST – that’s an Apache Arrow / Ibis abstraction, not something natively supported in MySQL.
You need to ensure the Ibis MySQL backend is used properly so casts are generated as valid MySQL syntax. Allow me to work on this if possible