Gcc does have a __int128_t and __uint128_t available if you're on 64-bit and
have a current enough gcc (I'm using 4.4.4 and this works on Linux and
Windows)
Looks like a fairly easy change in the code.
Unless somebody already knows that this won't work?
main()
{
__uint128_t i128;
printf("i128=%d\n",sizeof(i128));
}
i128=16
Change this to 126
#ifndef SQLITE_MAX_ATTACHED
# define SQLITE_MAX_ATTACHED 126
#endif
Change this declaration
#if SQLITE_MAX_ATTACHED>30
typedef __int128_t yDbMask;
Change this to 126 instead of 62
#if SQLITE_MAX_ATTACHED<0 || SQLITE_MAX_ATTACHED>62
# error SQLITE_MAX_ATTACHED must be between 0 and 62
#endif
And see if it works OK for you. I have no way to test this but it does
compile for me.
I don't see why it wouldn't work.
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Eleytherios
Stamatogiannakis
Sent: Tuesday, June 04, 2013 9:09 AM
To: [email protected]
Subject: [sqlite] Limit of attached databases
Hi,
During our work on a distributed processing system (which uses SQLite
shards), we have hit the SQLITE_MAX_ATTACHED limit of attached DBs.
The way we use SQLite for distributed processing [*], is the following:
- Each table is sharded into multiple SQLite DBs on different nodes of
the cluster.
- To process a query, we run on each shard a query which produces
multiple sharded SQLite result DBs.
- We redistribute in the cluster the result DBs, and the next set of
cluster nodes, attaches all the input shard SQLite DBs, and it creates a
temp view that unions all the input DB shards into a single view.
- It then executes a query on the views that produces new result DB shards
- and so on
We recently got access to a cluster of 64 nodes and it is very easy now
to hit the SQLITE_MAX_ATTACHED limit (1 DB shard gets produced per node).
So the question that i have is:
Is there any way to go beyond the SQLITE_MAX_ATTACHED limit for *read
only* attached DBs?
Also is there anyway for SQLite to create an automatic index on a view
(or Virtual Table), without having to first materialize the view (or VT)?
Thanks in advance.
Lefteris Stamatogiannakis.
[*] The same processing ideas are used in hadapt:
http://hadapt.com/
which uses Postgres for the DB shards.
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users