You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "villebro (via GitHub)" <gi...@apache.org> on 2023/06/15 07:07:38 UTC

[GitHub] [superset] villebro commented on issue #18085: Snowflake: Inconsistent column name case

villebro commented on issue #18085:
URL: https://github.com/apache/superset/issues/18085#issuecomment-1592483638

   We've been throwing around ideas about this with @rusackas for the last few weeks, and my proposal is to change the behavior going forward as follows:
   - virtual dataset logic remains unchanged
   - physical tables call `denormalize_name` on the column name. See example below:
   
   ```python
   >>> from snowflake.sqlalchemy.snowdialect import SnowflakeDialect
   >>> dialect = SnowflakeDialect()
   >>> dialect.denormalize_name('foo')
   'FOO'
   >>> dialect.denormalize_name('Foo')
   'Foo'
   >>> dialect.denormalize_name('FOO')
   'FOO'
   ```
   
   This means that going forward, caseless physical column names will be stored in UPPERCASE, rather than lowercase. We'll also do something similar for Oracle (I assume the oracle dialect). This will ensure that physical and virtual datasets have the same case. Furthermore, I propose not doing any migrations to existing datasets, ensuring we don't break any existing dashboards or charts. This means, that anyone who wants to migrate old charts/dashboards to the new behavior will need to edit the dataset and click "Sync columns from source":
   
   <img width="766" alt="image" src="https://github.com/apache/superset/assets/33317356/b47ed3b9-01f2-4615-a19e-0e85799f8ae9">
   
   After this the lowercase column names will become UPPERCASE:
   
   <img width="766" alt="image" src="https://github.com/apache/superset/assets/33317356/8761d5e0-4d74-40ce-b6d0-1bca04d2436e">
   
   Thoughts @agusfigueroa-htg @rumbin @nytai ?


-- 
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: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org