-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't join on a nested field value #4051
Comments
The reason for this is that the struct dereference is actually implemented as evaluating an expression, and the join criteria doesn't support expression evaluation. |
This should be fixed now that joins support expressions. |
Is this fixed only for stream-table join? I am getting similar error when i do table-table join on struct column of the right table. We are on confluent cloud (i.e., we must be on latest ksqldb). Error message: Invalid join condition: table-table joins require to join on the primary key of the right input table. Got HD.TEL_ID = H.ROWKEY->ID. Statement: select hd.* from H_BUSINESS_T hd inner join TELS_T h on hd.tel_id = h.rowkey->id emit changes; |
Have you found a work around for this? I'm using a table setup as well using AVRO and I'm seeing the same issue. I even tried creating a struct for the foreign key to match but I'm not seeing any results in the query. |
ksqlDB 0.6
Stream:
Table:
Try to join:
Workaround for now is to materialise the nested field to the top level:
and join on that instead. Not great because we have to duplicate the input data just for this.
The text was updated successfully, but these errors were encountered: