[Qgis-developer] Strange integer column value within SpatiaLite database

Pedro Venâncio pedrongvenancio at yahoo.com
Wed Dec 12 11:30:44 PST 2012


Hi,


If I understand the manual http://www.sqlite.org/datatype3.html in section 2.2, sqlite/spatialite will consider all INT, INTEGER, TINYINT, SMALLINT, MEDIUMINT, BIGINT, UNSIGNED BIG INT, INT2 and INT8 types, simply as INTEGER. Hence, he considers the value 9100100101 correctly.

If the datasource supports datatypes with a length greater than the "normal" INT, then QGIS should show this fields correctly, right?

So, there is some way to "force" QGIS to properly handle with these INTEGERS from spatialite databases? 



Should I fill a ticket?

Thanks!
Pedro





----- Original Message -----
From: Rui Pedro Henriques 
Hi,

the same thing happens here. Using Sqliteman the value looks OK but when
using QGis Attribute table it turns into the strange value.

Is suspected it had to do with an int (32) conversion and so made a
small C test to confirm. If you run the C test in the linked ZIP you'll
get the following result when trying to pass 9100100101 as an integer:
(Sorry it's in Portuguese but it asks for an integer number and then
prints it)

Digite um número: 9100100101
O int é 510165509

I've also made another test in python to read the table, but python
automatically uses long when the value is unsuitable for int. That was
the result I got: the value looks OK but it's type is long, not integer.

In the link: the C test, the python test and the error print.

Tests: http://ubuntuone.com/4eQMOLf4KvlAbYHKxkqBIY

Cheers,
Rui.
_______________________________________________
Qgis-developer mailing list
Qgis-developer at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-developer



More information about the Qgis-developer mailing list