--- RB Smissaert <[EMAIL PROTECTED]> wrote: > There is one important problem though that I just discovered. > Just found out that the maximum number of tables in a join is 32! > So, with my base table that is only 31 to add.
Let's do some grepping... #define BMS (sizeof(Bitmask)*8) ... /* The number of tables in the FROM clause is limited by the number of ** bits in a Bitmask */ if( pTabList->nSrc>BMS ){ sqlite3ErrorMsg(pParse, "at most %d tables in a join", BMS); return 0; } ... You could try changing src/sqliteInt.h: -typedef unsigned int Bitmask; +typedef u64 Bitmask; and then recompiling sqlite. If all goes well, you should be able to join up to 64 tables. Never tried it. It might work, or might not. Alternatively, you can either perform 2 consecutive REPLACE commands with half the tables in each update (less efficient), or just do a single REPLACE command with a SELECT on 2 or more subqueries on sub-sets of the tables (more efficient). > Actually make that about 5 to 6 times as fast. This stands to reason since you're only doing a single lookup per sub-table instead of the 6 lookups per sub-table you did with the UPDATE command. ____________________________________________________________________________________ Never Miss an Email Stay connected with Yahoo! Mail on your mobile. Get started! http://mobile.yahoo.com/services?promote=mail ----------------------------------------------------------------------------- To unsubscribe, send email to [EMAIL PROTECTED] -----------------------------------------------------------------------------