Bug: Metabase rounding 17 digit strings


#1

Hi,

I’ve got a very strange bug/feature appearing in one of my tables where a certain bit of user data (the Steam ID) is having it’s last digit rounded to the nearest 10. So 76561198002414961 becomes 76561198002414960

The structure is like so…

As you can see in the third row of the table ID 607. The steam ID is rounded down to 60 on the end of the number, whereas the middle column has been rounded up from 289 to 300.

This is a fresh install of the latest metabase on Linux. The field has ‘no special type’, I’ve tried all of the other field types available and have had no success in getting metabase to show the correct number.

Any suggestions or advice on things I could try. Or is this a bug in metabase that I’ve stumbled across?


#2

So I’ve tried changing the database to use an unsigned bigint and raised it to bigint(255). Neither of which have had any effect on the value shown in metabase (I re-sync’d the db).

I also tried this process with a varchar which equally had no affect. I don’t think it’s a mysql issue, I think it’s metabase doing something odd.


#3

Just to remove the pre-existing database from being the potential cause of this (which had around 3000 rows all showing the same issue). I’ve also created a brand new database, created a simple structure to replicate the issue and it does indeed occur again.

Hopefully one of the metabase devs can recreate the issue too and a fix can be found. I’m sure I’m not the only one to have experienced this issue.


#4

So the answer appears to be, change the column structure to ‘Text’. This is the only way I’ve found to avoid metabase from rounding the number.

This isn’t right, since the steamID is used as an index and has a relationship to several other tables. Hoping for a fix soon!


#5

This is also happening with the filters setup inside metabase. If I set a filter on the steamID column containing a 17 digit string like… 76561198126446612 then save the question and come back to it, it’s adjusted and stored to the nearest 10 e.g. 76561198126446610

This is pretty major for me and means we can’t use metabase for our project. I’m hoping this get’s resolved in the future, I’ll keep an eye on the changelogs


#6

Hi Lex,
Did you find a solution for this issue?
This is pretty major for us as well.


#7

Any new word on this?

changing the type to Text in both the frontend or on the driver side does not fix this.


#8

anything?

is this a javascript limitation, or if some one can point me to where I can force a field as strings on the frontend that be great.