>From my logs :

Create statement :
CREATE TABLE VariableDetails (dtl_id INTEGER PRIMARY KEY ASC AUTOINCREMENT,
storage_implicit BOOLEANCHECK (storage_implicit = 'true' OR
storage_implicit = 'false'), storage_type TEXT NOT NULL);

Insert statement
INSERT INTO VariableDetails (storage_implicit, storage_type) VALUES (true,
INT_64);
( Values are not passed dirrectly in the statement. The boolean in
particular is passed using sqlite3_bind_int() )

As far as i can see (debugging using debuggable version of Qt), it's at
sqlite calls that the insert failure is detected, and no error is
'forgotten' by Qt at table creation.


2015-08-17 14:12 GMT+02:00 Olivier Barthelemy <barthelemy at geovariances.com>:

> Hi,
>
> I have been using sqlite through Qt.
>
> I have been using for a while the boolean constraint "CHECK
> (varname='true' OR varname='false')" when creating tables with boolean
> fields and had no issues in Qt 4.8.6 (sqlite 3.7.7.1)
>
> Now i am trying to port to Qt 5.4.2 (sqlite 3.8.6).
>
> I can load already created databases that have this boolean constraint, or
> create new tables with boolean fields that have this constraint, but the
> constraint now always fail at an insert.
>
> Removing that constraint, or using "CHECK (varname=0 OR varname=1)"
> instead makes the application work again
>
> Is it a regression that should be made to work again? Or was the
> constraint invalid, and in that case there is a bug because adding the
> constraint should fail?
>
>


-- 
[image: Geovariances]

Olivier BARTHELEMY *Software development engineer*
Geovariances, 49bis avenue Franklin Roosevelt - 77215 AVON CEDEX - FRANCE
| www.geovariances.com <http://link.geovariances.com/eml-home>
Keep posted about Geovariances
<http://link.geovariances.com/eml-geowidget>
<http://link.geovariances.com/eml-linkedin-gv>
<http://link.geovariances.com/eml-linkedin>
<http://link.geovariances.com/eml-twitter>
<http://link.geovariances.com/eml-youtube>
<http://link.geovariances.com/eml-slideshare>

Reply via email to