Re: [sqlite] WITHOUT ROWID option

2014-05-09 Thread Andy Goth
On 5/8/2014 10:11 AM, Jim Morris wrote: To improve efficiency you could add where 1=2 to avoid returning any rows. Should just check validity. This being SQLite, as previously discussed, you could say where 0 :^) -- Andy Goth | andrew.m.goth/at/gmail/dot/com

Re: [sqlite] WITHOUT ROWID option

2014-05-09 Thread Stephan Beal
On Fri, May 9, 2014 at 8:36 AM, Andy Goth andrew.m.g...@gmail.com wrote: On 5/8/2014 10:11 AM, Jim Morris wrote: To improve efficiency you could add where 1=2 to avoid returning any rows. Should just check validity. This being SQLite, as previously discussed, you could say where 0 :^) i

Re: [sqlite] WITHOUT ROWID option

2014-05-09 Thread Stephan Beal
On Fri, May 9, 2014 at 11:38 AM, Stephan Beal sgb...@googlemail.com wrote: i don't think a WHERE is necessary to improve the efficiency. The statement only gets prepared, not stepped, and i would not expect any analysis of results until the first step() (but maybe i'm assuming too much). In

Re: [sqlite] WITHOUT ROWID option

2014-05-09 Thread Max Vlasov
On Wed, May 7, 2014 at 6:31 PM, Richard Hipp d...@sqlite.org wrote: On Wed, May 7, 2014 at 9:00 AM, Marco Bambini ma...@sqlabs.net wrote: What is the best way to know if a table has been created with the WITHOUT ROWID option? (1) You could send SELECT rowid FROM table (2) Run both

Re: [sqlite] WITHOUT ROWID option

2014-05-09 Thread Sky Meena
i need to transfer sqlite.db from server to client in udp socket.. working in c language.. .. i dont know how to transmit db. in client side it should create copy of db. if client ask name of db to server . server should transmit.. On Fri, May 9, 2014 at 3:09 PM, Stephan Beal

Re: [sqlite] WITHOUT ROWID option

2014-05-09 Thread Hick Gunter
Vlasov [mailto:max.vla...@gmail.com] Gesendet: Freitag, 09. Mai 2014 12:10 An: General Discussion of SQLite Database Betreff: Re: [sqlite] WITHOUT ROWID option On Wed, May 7, 2014 at 6:31 PM, Richard Hipp d...@sqlite.org wrote: On Wed, May 7, 2014 at 9:00 AM, Marco Bambini ma...@sqlabs.net wrote

Re: [sqlite] WITHOUT ROWID option

2014-05-09 Thread Simon Slavin
On 9 May 2014, at 11:17am, Sky Meena sky.me...@gmail.com wrote: i need to transfer sqlite.db from server to client in udp socket Please start a new thread about this. It has nothing to do with 'WITHOUT ROWID option'. Simon. ___ sqlite-users

Re: [sqlite] WITHOUT ROWID option

2014-05-08 Thread Jim Morris
To improve efficiency you could add where 1=2 to avoid returning any rows. Should just check validity. On 5/7/2014 8:19 AM, Stephan Beal wrote: On Wed, May 7, 2014 at 4:57 PM, Simon Slavin slav...@bigfraud.org wrote: somehow ? Perhaps the ROWID field of a table might have its own

[sqlite] WITHOUT ROWID option

2014-05-07 Thread Marco Bambini
What is the best way to know if a table has been created with the WITHOUT ROWID option? -- Marco Bambini http://www.sqlabs.com http://twitter.com/sqlabs http://instagram.com/sqlabs ___ sqlite-users mailing list sqlite-users@sqlite.org

Re: [sqlite] WITHOUT ROWID option

2014-05-07 Thread RSmith
SELECT instr(upper(sql),'WITHOUT ROWID')1 FROM sqlite_master WHERE type='table' AND tbl_name='YourTableName' Returns 1 for tables made without rowid, 0 for the rest. On 2014/05/07 15:00, Marco Bambini wrote: What is the best way to know if a table has been created with the WITHOUT ROWID

Re: [sqlite] WITHOUT ROWID option

2014-05-07 Thread Igor Tandetnik
On 5/7/2014 9:40 AM, RSmith wrote: SELECT instr(upper(sql),'WITHOUT ROWID')1 FROM sqlite_master WHERE type='table' AND tbl_name='YourTableName' Returns 1 for tables made without rowid, 0 for the rest. CREATE TABLE t(x text default 'WITHOUT ROWID'); -- Igor Tandetnik

Re: [sqlite] WITHOUT ROWID option

2014-05-07 Thread RSmith
Apologies, my answer reads more like a How to than a What is the best way type answer, so to just elaborate on the brevity - SQLite stores no special pointer or memory or setting or even file value anywhere that can give you any clue apart from the actual words Without RowID which are found only

Re: [sqlite] WITHOUT ROWID option

2014-05-07 Thread RSmith
...or indeed this malicious-but-valid table-schema design would prove problematic. Other that might cause similar headaches are: CREATE TABLE t(x text // )WITHOUT ROWID; ); or CREATE TABLE t(x text); // )WITHOUT ROWID; etc. It would require a rather convoluted check to be very

Re: [sqlite] WITHOUT ROWID option

2014-05-07 Thread Marco Bambini
So, is there an official recommended way? or that check should require a manual sql parsing? -- Marco Bambini http://www.sqlabs.com http://twitter.com/sqlabs http://instagram.com/sqlabs On 07 May 2014, at 15:51, Igor Tandetnik i...@tandetnik.org wrote: On 5/7/2014 9:40 AM, RSmith wrote:

Re: [sqlite] WITHOUT ROWID option

2014-05-07 Thread Richard Hipp
On Wed, May 7, 2014 at 9:00 AM, Marco Bambini ma...@sqlabs.net wrote: What is the best way to know if a table has been created with the WITHOUT ROWID option? (1) You could send SELECT rowid FROM table to sqlite3_prepare() and see if it returns an error. This might fail on a table like

Re: [sqlite] WITHOUT ROWID option

2014-05-07 Thread Marco Bambini
Thanks a lot Richard, I really appreciate. -- Marco Bambini http://www.sqlabs.com http://twitter.com/sqlabs http://instagram.com/sqlabs On 07 May 2014, at 16:31, Richard Hipp d...@sqlite.org wrote: On Wed, May 7, 2014 at 9:00 AM, Marco Bambini ma...@sqlabs.net wrote: What is the best way

Re: [sqlite] WITHOUT ROWID option

2014-05-07 Thread Simon Slavin
On 7 May 2014, at 3:31pm, Richard Hipp d...@sqlite.org wrote: (2) Run both PRAGMA index_list(table) and SELECT name FROM sqlite_master WHERE tbl_name='table'. If the PRAGMA mentions an sqlite_autoindex_table_1 which is not mentioned by the SELECT, then you have a WITHOUT ROWID table. This

Re: [sqlite] WITHOUT ROWID option

2014-05-07 Thread Stephan Beal
On Wed, May 7, 2014 at 4:57 PM, Simon Slavin slav...@bigfraud.org wrote: somehow ? Perhaps the ROWID field of a table might have its own particular indication, and if you don't see any rows marked like that you could deduce that the table had no ROWID column. I'm sure there are better ways