You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ClickHouse offline store: ON TRUE and Multiple USING in JOIN not supported #6141
) AS "{{featureview.name}}" USING ("{{featureview.name}}__entity_row_unique_id")
After:
) AS "{{featureview.name}}" ON "{{featureview.name}}"."{{featureview.name}}__entity_row_unique_id" = entity_dataframe."{{featureview.name}}__entity_row_unique_id"
Both use standard SQL compatible with ClickHouse and PostgreSQL.
I'm attaching the patched file with both fixes applied. clickhouse.py
Reacted by Aleksandr, Doppelganger24, p0lorad, GlebShcherbakov99, Bogdan, botriki, Schum, EndimionDP and Victor Vitich
Reacted by p0lorad, GlebShcherbakov99, Bogdan, botriki, Aleksandr, Schum, EndimionDP, Victor Vitich and Andrew Kazakov
Both errors trace back to the MULTIPLE_FEATURE_VIEW_POINT_IN_TIME_JOIN Jinja template in clickhouse.py generating ANSI SQL that ClickHouse's query parser doesn't accept. The ON TRUE construct is rejected because ClickHouse requires a concrete join predicate expression rather than a boolean literal — it doesn't treat TRUE as a valid join condition in INVALID_JOIN_ON_EXPRESSION contexts. The Code: 48 multiple USING error is a known ClickHouse limitation where only a single USING clause is permitted per query, so chaining multiple feature view joins with USING fails as soon as a second feature view is added. The proposed fix of rewriting both as explicit ON a.col = b.col predicates is the correct approach, as it avoids both parser restrictions while remaining compatible with other SQL backends like PostgreSQL.
Activity
JiwaniZakir commentedon Mar 27, 2026
Both errors trace back to the
MULTIPLE_FEATURE_VIEW_POINT_IN_TIME_JOINJinja template inclickhouse.pygenerating ANSI SQL that ClickHouse's query parser doesn't accept. TheON TRUEconstruct is rejected because ClickHouse requires a concrete join predicate expression rather than a boolean literal — it doesn't treatTRUEas a valid join condition inINVALID_JOIN_ON_EXPRESSIONcontexts. TheCode: 48multipleUSINGerror is a known ClickHouse limitation where only a singleUSINGclause is permitted per query, so chaining multiple feature view joins withUSINGfails as soon as a second feature view is added. The proposed fix of rewriting both as explicitON a.col = b.colpredicates is the correct approach, as it avoids both parser restrictions while remaining compatible with other SQL backends like PostgreSQL.fix: Avoid ON TRUE and multiple USING joins in the ClickHouse point-i…