theirix commented on issue #12709: URL: https://github.com/apache/datafusion/issues/12709#issuecomment-4762769443
This feature is finally done. All concat UDFs (generic concat, concat_ws and Spark concat) and the pipe operator are fully consistent: - we allow binary vs binary concatenation, producing a binary type. - if the arguments are strings, it works as before, producing a string. - if the arguments are mixed types (strings vs binary), then binaries are coerced to strings. It matches the behaviour of other analytical databases and Postgres - all of them actually cast binaries to text and produce a text output for mixed cases (correcting previous findings in the table above https://github.com/apache/datafusion/issues/12709#issuecomment-4194430343) @kawadakk, regarding your latest comment, I believe the behaviour is expected now ``` DataFusion CLI v54.0.0 +--------------------------------------------+ | arrow_typeof(Binary("49") || Binary("50")) | +--------------------------------------------+ | Binary | +--------------------------------------------+ 1 row(s) fetched. Elapsed 0.025 seconds. +------------------------------+ | Binary("49") || Binary("50") | +------------------------------+ | 3132 | +------------------------------+ 1 row(s) fetched. Elapsed 0.007 seconds. +--------------------------------+ | Binary("255") || Binary("175") | +--------------------------------+ | ffaf | +--------------------------------+ 1 row(s) fetched. Elapsed 0.006 seconds. ``` -- 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]
