Source data types are not respected.
Nobody has claimed this yet.
- Dominant language
- Clojure
- Stars
- 49.3k
- Forks
- 6.8k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 653
Description
Describe the bug
Field/semantic types do not respect source data types. The columns in many of my tables get automatically -and without warning- casted to the wrong types, causing all sorts of issues.
To Reproduce
I don't know how you could reproduce this, but I go to tables in my database and click on 'Fields in this table' to display this, which shows the mismatch between my source table and Metabase:
Expected behavior
Field/semantic types should be the same as the data types by default.
Logs
Does not apply.
Information about your Metabase installation
{
"browser-info": {
"language": "de-DE",
"platform": "MacIntel",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36",
"vendor": "Google Inc."
},
"metabase-info": {
"databases": [
"snowflake"
],
"run-mode": "prod",
"plan-alias": "",
"version": {
"date": "2024-12-04",
"tag": "v0.52.1",
"hash": "5bc320b"
},
"settings": {
"report-timezone": "UTC"
},
"hosting-env": "unknown",
"application-database": "postgres",
"application-database-details": {
"database": {
"name": "PostgreSQL",
"version": "14.12"
},
"jdbc-driver": {
"name": "PostgreSQL JDBC Driver",
"version": "42.7.3"
}
}
},
"system-info": {
"file.encoding": "UTF-8",
"java.runtime.name": "OpenJDK Runtime Environment",
"java.runtime.version": "17.0.13+11-LTS",
"java.vendor": "Amazon.com Inc.",
"java.vendor.url": "https://aws.amazon.com/corretto/",
"java.version": "17.0.13",
"java.vm.name": "OpenJDK 64-Bit Server VM",
"java.vm.version": "17.0.13+11-LTS",
"os.name": "Linux",
"os.version": "5.10.228-219.884.amzn2.x86_64",
"user.language": "en",
"user.timezone": "UTC"
}
}
Severity
No scale given, so 'annoying', 'blocking' users who don't know how to manipulate columns to cast them back and 'blocking' productivity.
Additional context
By the way, referring to something with two different names makes everything harder. Here, you say the following:
This makes one look for field types in the docs and the app, since you declare that is your nomenclature. But then you use semantic in some places and don't qualify type at all in others:
And back to field:
It would be nice for the documentation and UI to be consistent.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The report identifies the Tables view's “Fields in this table” entry point and a Snowflake source, but names no implementation files or tests. Start by reproducing the displayed mismatch and tracing how source types become field or semantic types. Done means source and displayed types agree by default, with the terminology used consistently in the UI and documentation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure, postgresql
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100