That makes sense. Calcite calls the parse function twice, first time for model parsing during startup, second time for ad-hoc query parsing. Calcite should use a normalized version of the schema/table/column names to match up the query to the schema.
My example is case in-sensitive for both model and query parsing, but that is a separate issue (maybe I made a mistake somewhere). Regardless, the main issue here is that the "star" table has a different case than the "v_sales_fact_1997" view in the same model schema, even though they both should have gone through an identical parsing process when the model was loaded, with all the same rules applied. From, Hugh Pearse