-----Original Message-----
From: Interest <interest-boun...@qt-project.org> On Behalf Of Thiago Macieira
Sent: Monday, November 28, 2022 12:21 PM
To: interest@qt-project.org
Subject: Re: [Interest] Qt Sql BLOB data converting

On Monday, 28 November 2022 12:07:22 PST Scott Bloom wrote:
> but if they did a  create XXX as string, insert XXX=123 (integer) and 
> Sqlite can return it as a string or an integer, the QVariant should be 
> created from an string not an integer.  The same goes if they did a 
> create XXX as integer, insert XXX='123'.  QVariant should be created 
> as from an integer type, and they can do a toString on the variant if they 
> want.
> 
> My point, dynamic types should follow C++ style "dynamic" typing not 
> "everything is a string until proven otherwise" typing of other languages.

I don't agree. Sqlite seems to have made a choice that the type is stored per 
row, but gives you the ability to choose otherwise either at table creation 
time or at selection time. Changing the behaviour right now would remove that 
possibility.

I don't know if it is surprising or not for unwary people.

But I can tell you that no action will happen because QtSql is right now 
under-maintained and there are no volunteers to understand all the implications 
of such a choice.
================

I understand the "understaffed" issue, however, to me its problematic that the 
record method returns a different type than the row.  It s been this way for 
sometime.  In fact, I brought this up with the Sql team back in the Qt 4 days.  

Strict tables were only added in Sqlite 3.37, I don't know what version of 
sqlite3 is used in Qt6, my version of Qt5.15.6 doesn't support it.

This issue, of a blob interpreted as a string has existed for ages.  

I just think it's a mistake to determine the type of a column in two different 
ways.  

Scott 
_______________________________________________
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest

Reply via email to