Sorry I misunderstood your requirement, Kevin. I was focusing on the
singular "a table" and "the table" in your original post, versus the plural
"many types of structs".  I thought you were looking for serialization
approach.

Regards
Tim Romano



On Tue, Mar 30, 2010 at 8:48 AM, Kevin M. <athlo...@yahoo.com> wrote:

> Actually Tim that is not what I was asking at all.  This is converting an
> application from using MySQL to SQLite.  All the tables are normalized
> already.  But instead of rewriting a large chunk of the application, I'd
> rather use the implementation as is substituting only the code needed to use
> SQLite instead of MySQL.
>
> The various structs are not intermingled and in fact many do not share data
> at all.  My concern was being able to use existing code to iterate through
> the columns of each row and assign the values into a chunk of memory
> (representing a particular struct) while faithfully retaining the size of
> each variable in the struct.  As such, the suggestion to use
> sqlite3_column_decltype seems most appropriate to accomplish the task.
>  Because then I can check for SQLITE_INTEGER as the type and get the
> decltype to find out what size.  Thus, the function called remains generic
> to any given struct, but still assigns values that are the correct size &
> type to the chunk of memory.
>
>
>
>
> ________________________________
> From: Tim Romano <tim.romano...@gmail.com>
> To: General Discussion of SQLite Database <sqlite-users@sqlite.org>
> Sent: Tue, March 30, 2010 7:28:16 AM
> Subject: Re: [sqlite] Preserving column size
>
> On Tue, Mar 30, 2010 at 4:30 AM, Jean-Denis Muys <jdm...@kleegroup.com
> >wrote:
>
> >
> > <snip>
> > See http://www.boost.org and more specifically:
> > http://www.boost.org/doc/libs/1_42_0/libs/serialization/doc/index.html
> > <snip>
> >
>
> The OP's question is another form of this question: What's the best way to
> violate 1NF in SQLite, so that instead of defining multiple tables, a
> single
> table will contain multiple actual or virtual column sets where these
> column
> sets have different numbers of columns and different combinations of
> datatypes?  And I must be able to query the store.
>
> We have three "conceptually similar" serialization approaches  (BLOB, JSON,
> BOOST). But the OP could also store in the following manner and not violate
> 1NF:
>
> Table: STRUCT
> id INTEGER PRIMARY KEY
> structname TEXT
> [...any other attributes that need to be tracked]
>
>
> Table: STRUCTMEMBERS
> id INTEGER PRIMARY KEY
> structid  INTEGER (FK references STRUCT)
> membername TEXT
> memberdatatype  TEXT
> membervalue TEXT
>
> casting 'membervalue' as appropriate during the reconstitution phase.
>
>
> Regards
> Tim Romano
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
>
>
>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to