Hi,

I retrieve data (1 row only) via the handy getTable function. Inside
this row is one blob object with pixeldata.

The size is:
256*256 Pixels with 3 bytes each
-> 256*256*3 = 196608 Bytes

select length(data) from ch;

gives me exactly this number.

No I try this:

typedef struct
{
        unsigned char red;
        unsigned char green;
        unsigned char blue;
}Pixel;

Pixel *dbData;
Pixel *pSrcP;

rc = sqlite3_get_table(db, cmd, &result,
        &nrow,
        &ncol,
        &zErrMsg
        );

if(rc != SQLITE_OK || nrow!= 1 || zErrMsg!=NULL)
{
        printf("Error in getting data from the db\n");
        return;
}
dbData = (Pixel *) result[ncol+2];
        
pSrcP = &(dbData[4096]);

This should be well below the limit of 256*256=65536 pixels, but i get
an segmentation fault now:
r = pSrcP->red;


So now this limit (4096) is probaly the limit for near pointers on
win32, right? What way would be the best to access the whole data inside
the table, is there a way to get the data in chunks?

My compiler  is mingw32

Thank you for any hint,
Tobias
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to