Support Topics Documentation Slack YouTube Blog

(BOOLEAN) Data table type changed


(Milen Marinov) #1

In my Users table I have a custom BOOLEAN property that I retrieve from an Android app through the SDK. Until yesterday everything worked fine and today I saw a lot of crash reports. Upon some investigation I found that the type returned from the SDK has changed (without code changes or SDK update on my side) from java.lang.Boolean to java.lang.Integer. While it’s true that it is the developer’s job to protect against such problems in reality we can’t (and don’t) have everything wrapped in try-catches and ifs. Please excuse me if I’m wrong but it looks like you changed the type in production and this caused user crashes. Not nice!


(Mark Piller) #2

Hello,

Could you please specify your application ID?
Have you reverted the data type back to Boolean?
Finally, do you have “dynamic schema definition” disabled for your app?

Regards,
Mark


(Milen Marinov) #3

Hi Mark,

The app id is BDCD56B9-351A-E067-FFA4-9EA9CF2F4000
The data type in the table was and is BOOLEAN (or at least that is what the console says) so I haven’t changed anything there. What I did was add some different casts and protections in the client Android app. iOS seems to have no problem.
“dynamic schema definition” is enabled but the particular property (“acceptedPrivacyPolicy”) was defined manually in the console a few months ago. Also, to test I am changing the value of the property for particular rows through the console again (choosing TRUE, FALSE or NULL from the dropdown).

Best,
Milen


(Mark Piller) #4

I am sorry, I must have misunderstood. What you’re saying is the SDK itself started returning the value as an integer rather than boolean, even though all the values in the database for that column are booleans. Please confirm if I understood this correctly now.

Regards,
Mark


(Milen Marinov) #5

That’s correct!
I haven’t changed the DB table schema. It affects both an old version with SDK v5.0.2 and a newer one with v5.2.4. All the crashes are from today - 16.04.


(Mark Piller) #6

Thank, you. That’s all the info I need to open an internal ticket for investigation. Will let you know what we find out


(Mark Piller) #7

For tracking purposes, the ticket number is BKNDLSS-18455


(SnakeEyes) #8

Hello,
I am running into the same issue. The development app started crashing today due to the same reason. Please update us when this is fixed (unless there is another venue to check the ticket status)
Thank you
EDIT: I am using Android sdk


(Anton Govorushkin) #10

Hi guys! Issue has been fixed, please verify


(SnakeEyes) #11

I confirm that it has been fixed.
Thank you for the quick turn around!


(Milen Marinov) #12

I too confirm that behaviour is back to the original one - BOOLEAN database type is returned in Android as java.lang.Boolean. Before issuing another update - is this behaviour going to be stable in the future? Also, does it affect any other data types?


(Mark Piller) #13

This behavior is not validated by our tests and should not happen again. It does not affect any other data type.

Regards,
Mark