Re: [sqlite] New kids on block the SQLite Master Suite.
Hi Dave, Thank you for info. I'm aware of this. in fact, you could built an app that run all version of Windows with vs2012 but you have to install vs2008, vs2010, then vs2012. Since acquiring license from microsoft with older version of visual studio is expensive. We just don't want to do it at this movement. Billy From: sqlite-users-boun...@sqlite.orgon behalf of dave Sent: Wednesday, October 29, 2014 10:35 PM To: 'General Discussion of SQLite Database' Subject: Re: [sqlite] New kids on block the SQLite Master Suite. FYI, you can support XP when building with VS2012 if you have VS2012 SP3 installed (which you probably do if you've installed current stuff), and set the 'platform toolset' (under project properties, configuration properties, general) to 'v110_xp' (I don't have it in front of me, this is from memory). It was a bug when vs2012 first came out, but they fixed it with sp3, and word on the streets is that it works out-of-box with 2013. > -Original Message- > From: sqlite-users-boun...@sqlite.org > [mailto:sqlite-users-boun...@sqlite.org] On Behalf Of Billy Huynh > Sent: Wednesday, October 29, 2014 9:09 PM > To: General Discussion of SQLite Database > Subject: Re: [sqlite] New kids on block the SQLite Master Suite. > > > Hi Keith, > Thank you for your feedback. The SQLite Master Suite source > codes are very primitive. In theory, it can be compiled with > the earlier compiler and run at all Windows OS. However, > we've built the SQLite Master Suite with Visual Studio 2012 > and VS2012 has stopped supporting any OS older than XP. We > did not know this fact until we purchase the license from > Microsoft. In the near future, I will try to make the program > available for the older version of Windows. > Best Regards, > B. Huynh ... ___ 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
Re: [sqlite] New kids on block the SQLite Master Suite.
Hi Keith, We actually have a version that run from windows 2000 and up but we don't have older Visual studio license so we could not release it. We will work on this issue soon. Billy From: sqlite-users-boun...@sqlite.orgon behalf of Keith Medcalf Sent: Wednesday, October 29, 2014 10:37 PM To: General Discussion of SQLite Database Subject: Re: [sqlite] New kids on block the SQLite Master Suite. Billy, If it was built to run on XP Level API's then it should run on any version or Windows from XP up with no problem. It is even conceivable that it will run on Windows 2000 SP4 (there were very few API changes between 2000 (0x0500) through Windows 2003 (0x0502) -- for example, the 2003 API will run on XP SP2 or later just fine, even though the official api version for XP is 0x501). There is probably very little value in supporting an API version less than 0x0502 (Windows 2003). Regards, and good luck with the application >-Original Message- >From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users- >boun...@sqlite.org] On Behalf Of Billy Huynh >Sent: Wednesday, 29 October, 2014 20:09 >To: General Discussion of SQLite Database >Subject: Re: [sqlite] New kids on block the SQLite Master Suite. > >Hi Keith, >Thank you for your feedback. The SQLite Master Suite source codes are >very primitive. In theory, it can be compiled with the earlier compiler >and run at all Windows OS. However, we've built the SQLite Master Suite >with Visual Studio 2012 and VS2012 has stopped supporting any OS older >than XP. We did not know this fact until we purchase the license from >Microsoft. In the near future, I will try to make the program available >for the older version of Windows. >Best Regards, >B. Huynh > >From: sqlite-users-boun...@sqlite.org >on behalf of Keith Medcalf >Sent: Wednesday, October 29, 2014 8:49 PM >To: General Discussion of SQLite Database >Subject: Re: [sqlite] New kids on block the SQLite Master Suite. > >Microsoft takes special care in bug-for-bug compatibility, so win32 >programs are pretty much guaranteed to run on any version of the OS that >is equal or greater than the WINVER setting on which it was compiled. If >it runs on W2K3 then it was compiled with WINVER set to 0x0502 (but >perhaps was set to an earlier compatibility in which case it will work >back to that corresponding version) and will run on any version of >Windows currently available, including ones currently in development >(Windows 10/2015 server/client). > >"Support", you must understand, is usually a marketroid term which >translates into English as "make money from". > >Software is not "supported" on new versions of operating systems because >the vendor cannot "make money from" that state of affairs and thus >deliberately designs the software so that they can provide "supported" >versions that they can "make money from". Some authors and vendors make >money from providing value. Others have no choice but to resort to >artifice and deceit. > >I'm sorry to hear that you have more experience dealing with the latter >than the former. > >>-Original Message- >>From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users- >>boun...@sqlite.org] On Behalf Of jonathon >>Sent: Wednesday, 29 October, 2014 18:16 >>To: sqlite-users@sqlite.org >>Subject: Re: [sqlite] New kids on block the SQLite Master Suite. >> >> >> >>On 29/10/14 19:46, Billy Huynh wrote: >> >>> the SQLite Master Suite. >>> It mainly designed to handle a very large database file with lightning >>fast import and export of data and >> >>Support for Windows Server 2003, which EOLs on Bastille Day 2015, but no >>support for Windows Server 2012? >> >>If that really is the case, then you just shot yourself in the foot. >>No rational Sysadmin is going to install something on a platform that >>they will be migrating away from within a year. (Admins of legacy >>hardware and software won't install any new software, because they won't >>be able to fix any resulting issues.) >> >>jonathon >> >> > > > > >___ >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 ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] New kids on block the SQLite Master Suite.
Billy, If it was built to run on XP Level API's then it should run on any version or Windows from XP up with no problem. It is even conceivable that it will run on Windows 2000 SP4 (there were very few API changes between 2000 (0x0500) through Windows 2003 (0x0502) -- for example, the 2003 API will run on XP SP2 or later just fine, even though the official api version for XP is 0x501). There is probably very little value in supporting an API version less than 0x0502 (Windows 2003). Regards, and good luck with the application >-Original Message- >From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users- >boun...@sqlite.org] On Behalf Of Billy Huynh >Sent: Wednesday, 29 October, 2014 20:09 >To: General Discussion of SQLite Database >Subject: Re: [sqlite] New kids on block the SQLite Master Suite. > >Hi Keith, >Thank you for your feedback. The SQLite Master Suite source codes are >very primitive. In theory, it can be compiled with the earlier compiler >and run at all Windows OS. However, we've built the SQLite Master Suite >with Visual Studio 2012 and VS2012 has stopped supporting any OS older >than XP. We did not know this fact until we purchase the license from >Microsoft. In the near future, I will try to make the program available >for the older version of Windows. >Best Regards, >B. Huynh > >From: sqlite-users-boun...@sqlite.org>on behalf of Keith Medcalf >Sent: Wednesday, October 29, 2014 8:49 PM >To: General Discussion of SQLite Database >Subject: Re: [sqlite] New kids on block the SQLite Master Suite. > >Microsoft takes special care in bug-for-bug compatibility, so win32 >programs are pretty much guaranteed to run on any version of the OS that >is equal or greater than the WINVER setting on which it was compiled. If >it runs on W2K3 then it was compiled with WINVER set to 0x0502 (but >perhaps was set to an earlier compatibility in which case it will work >back to that corresponding version) and will run on any version of >Windows currently available, including ones currently in development >(Windows 10/2015 server/client). > >"Support", you must understand, is usually a marketroid term which >translates into English as "make money from". > >Software is not "supported" on new versions of operating systems because >the vendor cannot "make money from" that state of affairs and thus >deliberately designs the software so that they can provide "supported" >versions that they can "make money from". Some authors and vendors make >money from providing value. Others have no choice but to resort to >artifice and deceit. > >I'm sorry to hear that you have more experience dealing with the latter >than the former. > >>-Original Message- >>From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users- >>boun...@sqlite.org] On Behalf Of jonathon >>Sent: Wednesday, 29 October, 2014 18:16 >>To: sqlite-users@sqlite.org >>Subject: Re: [sqlite] New kids on block the SQLite Master Suite. >> >> >> >>On 29/10/14 19:46, Billy Huynh wrote: >> >>> the SQLite Master Suite. >>> It mainly designed to handle a very large database file with lightning >>fast import and export of data and >> >>Support for Windows Server 2003, which EOLs on Bastille Day 2015, but no >>support for Windows Server 2012? >> >>If that really is the case, then you just shot yourself in the foot. >>No rational Sysadmin is going to install something on a platform that >>they will be migrating away from within a year. (Admins of legacy >>hardware and software won't install any new software, because they won't >>be able to fix any resulting issues.) >> >>jonathon >> >> > > > > >___ >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
Re: [sqlite] New kids on block the SQLite Master Suite.
FYI, you can support XP when building with VS2012 if you have VS2012 SP3 installed (which you probably do if you've installed current stuff), and set the 'platform toolset' (under project properties, configuration properties, general) to 'v110_xp' (I don't have it in front of me, this is from memory). It was a bug when vs2012 first came out, but they fixed it with sp3, and word on the streets is that it works out-of-box with 2013. > -Original Message- > From: sqlite-users-boun...@sqlite.org > [mailto:sqlite-users-boun...@sqlite.org] On Behalf Of Billy Huynh > Sent: Wednesday, October 29, 2014 9:09 PM > To: General Discussion of SQLite Database > Subject: Re: [sqlite] New kids on block the SQLite Master Suite. > > > Hi Keith, > Thank you for your feedback. The SQLite Master Suite source > codes are very primitive. In theory, it can be compiled with > the earlier compiler and run at all Windows OS. However, > we've built the SQLite Master Suite with Visual Studio 2012 > and VS2012 has stopped supporting any OS older than XP. We > did not know this fact until we purchase the license from > Microsoft. In the near future, I will try to make the program > available for the older version of Windows. > Best Regards, > B. Huynh ... ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] New kids on block the SQLite Master Suite.
Hi Simon, Your suggestions are invaluable. In fact, I'm going to change things around with your inputs soon. Thank you very much. Best regards, Billy From: sqlite-users-boun...@sqlite.orgon behalf of Simon Slavin Sent: Wednesday, October 29, 2014 6:30 PM To: General Discussion of SQLite Database Subject: Re: [sqlite] New kids on block the SQLite Master Suite. On 29 Oct 2014, at 7:46pm, Billy Huynh wrote: > Please check it out by visiting http://www.aimtelligentsw.com? A few quick tips: * Say right up front which operating systems your application runs on. * What's Windows 2003 ? * On the download page, explain what can be done with the 'Trial version' without obtaining a license. Is it hampered in any way ? * Screenshots, screenshots, screenshots. People want to judge what the software can do from screenshots. They will read your feature list only after that. The ones you have included are fine, but they need to be seen first, up top, not after an extra click. Also, I would advise figuring out whether your site is about your company or the one piece of software. The different menus give a mixed message: one explicitly mentions the software title, others don't mention it. It doesn't matter which you choose, but you should be consistent. Good luck with your product. Simon. ___ 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
Re: [sqlite] New kids on block the SQLite Master Suite.
Hi Jonathon, Thank you for your feedback. It supposed to work on any Windows version from XP and up. SMS was built with VS2012 and VS2012 on supports from XP and up. Best regards, B. Huynh From: sqlite-users-boun...@sqlite.orgon behalf of jonathon Sent: Wednesday, October 29, 2014 8:16 PM To: sqlite-users@sqlite.org Subject: Re: [sqlite] New kids on block the SQLite Master Suite. On 29/10/14 19:46, Billy Huynh wrote: > the SQLite Master Suite. > It mainly designed to handle a very large database file with lightning fast > import and export of data and Support for Windows Server 2003, which EOLs on Bastille Day 2015, but no support for Windows Server 2012? If that really is the case, then you just shot yourself in the foot. No rational Sysadmin is going to install something on a platform that they will be migrating away from within a year. (Admins of legacy hardware and software won't install any new software, because they won't be able to fix any resulting issues.) jonathon ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] New kids on block the SQLite Master Suite.
Hi Keith, Thank you for your feedback. The SQLite Master Suite source codes are very primitive. In theory, it can be compiled with the earlier compiler and run at all Windows OS. However, we've built the SQLite Master Suite with Visual Studio 2012 and VS2012 has stopped supporting any OS older than XP. We did not know this fact until we purchase the license from Microsoft. In the near future, I will try to make the program available for the older version of Windows. Best Regards, B. Huynh From: sqlite-users-boun...@sqlite.orgon behalf of Keith Medcalf Sent: Wednesday, October 29, 2014 8:49 PM To: General Discussion of SQLite Database Subject: Re: [sqlite] New kids on block the SQLite Master Suite. Microsoft takes special care in bug-for-bug compatibility, so win32 programs are pretty much guaranteed to run on any version of the OS that is equal or greater than the WINVER setting on which it was compiled. If it runs on W2K3 then it was compiled with WINVER set to 0x0502 (but perhaps was set to an earlier compatibility in which case it will work back to that corresponding version) and will run on any version of Windows currently available, including ones currently in development (Windows 10/2015 server/client). "Support", you must understand, is usually a marketroid term which translates into English as "make money from". Software is not "supported" on new versions of operating systems because the vendor cannot "make money from" that state of affairs and thus deliberately designs the software so that they can provide "supported" versions that they can "make money from". Some authors and vendors make money from providing value. Others have no choice but to resort to artifice and deceit. I'm sorry to hear that you have more experience dealing with the latter than the former. >-Original Message- >From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users- >boun...@sqlite.org] On Behalf Of jonathon >Sent: Wednesday, 29 October, 2014 18:16 >To: sqlite-users@sqlite.org >Subject: Re: [sqlite] New kids on block the SQLite Master Suite. > > > >On 29/10/14 19:46, Billy Huynh wrote: > >> the SQLite Master Suite. >> It mainly designed to handle a very large database file with lightning >fast import and export of data and > >Support for Windows Server 2003, which EOLs on Bastille Day 2015, but no >support for Windows Server 2012? > >If that really is the case, then you just shot yourself in the foot. >No rational Sysadmin is going to install something on a platform that >they will be migrating away from within a year. (Admins of legacy >hardware and software won't install any new software, because they won't >be able to fix any resulting issues.) > >jonathon > > ___ 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
Re: [sqlite] New kids on block the SQLite Master Suite.
Microsoft takes special care in bug-for-bug compatibility, so win32 programs are pretty much guaranteed to run on any version of the OS that is equal or greater than the WINVER setting on which it was compiled. If it runs on W2K3 then it was compiled with WINVER set to 0x0502 (but perhaps was set to an earlier compatibility in which case it will work back to that corresponding version) and will run on any version of Windows currently available, including ones currently in development (Windows 10/2015 server/client). "Support", you must understand, is usually a marketroid term which translates into English as "make money from". Software is not "supported" on new versions of operating systems because the vendor cannot "make money from" that state of affairs and thus deliberately designs the software so that they can provide "supported" versions that they can "make money from". Some authors and vendors make money from providing value. Others have no choice but to resort to artifice and deceit. I'm sorry to hear that you have more experience dealing with the latter than the former. >-Original Message- >From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users- >boun...@sqlite.org] On Behalf Of jonathon >Sent: Wednesday, 29 October, 2014 18:16 >To: sqlite-users@sqlite.org >Subject: Re: [sqlite] New kids on block the SQLite Master Suite. > > > >On 29/10/14 19:46, Billy Huynh wrote: > >> the SQLite Master Suite. >> It mainly designed to handle a very large database file with lightning >fast import and export of data and > >Support for Windows Server 2003, which EOLs on Bastille Day 2015, but no >support for Windows Server 2012? > >If that really is the case, then you just shot yourself in the foot. >No rational Sysadmin is going to install something on a platform that >they will be migrating away from within a year. (Admins of legacy >hardware and software won't install any new software, because they won't >be able to fix any resulting issues.) > >jonathon > > ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] v3.4.0 of DB Browser for SQLite released
On 2014-10-29 23:45, jus...@postgresql.org wrote: Hi everyone, We've (finally) released version 3.4.0 of DB Browser for SQLite. This is the cross platform GUI application that was known for many years as "SQLite Database Browser" before the recent rename. Downloads for Windows and OSX here: https://github.com/sqlitebrowser/sqlitebrowser/releases Just to point out it also works on Linux, FreeBSD, and pretty likely others. (uses Qt and is written with fairly cross platform code) Ubuntu has older packages available, but they should be getting updated for 3.4.0 soon-ish. You can compile it yourself very easily though. Instructions here if it helps: https://github.com/sqlitebrowser/sqlitebrowser/blob/master/BUILDING.md + Justin ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] New kids on block the SQLite Master Suite.
On Thursday, October 30, 2014 12:16:17 AM jonathon wrote: > On 29/10/14 19:46, Billy Huynh wrote: > > the SQLite Master Suite. > > It mainly designed to handle a very large database file with lightning > > fast import and export of data and > Support for Windows Server 2003, which EOLs on Bastille Day 2015, but no > support for Windows Server 2012? > > If that really is the case, then you just shot yourself in the foot. > No rational Sysadmin is going to install something on a platform that > they will be migrating away from within a year. (Admins of legacy > hardware and software won't install any new software, because they won't > be able to fix any resulting issues.) > > jonathon I won'tbe using it as I'm doing Linux. Pity. Mark ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] New kids on block the SQLite Master Suite.
On 29/10/14 19:46, Billy Huynh wrote: > the SQLite Master Suite. > It mainly designed to handle a very large database file with lightning fast > import and export of data and Support for Windows Server 2003, which EOLs on Bastille Day 2015, but no support for Windows Server 2012? If that really is the case, then you just shot yourself in the foot. No rational Sysadmin is going to install something on a platform that they will be migrating away from within a year. (Admins of legacy hardware and software won't install any new software, because they won't be able to fix any resulting issues.) jonathon signature.asc Description: OpenPGP digital signature ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Index usage for order by and where clauses
On Wednesday, 29 October, 2014 07:47, Clemens Ladisch said: >Baruch Burstein wrote: >> If I have an index on table1(colA, colB), will it be used for both the >> where and the order by in either of these cases: >> select * from table1 where colA=1 order by colB; >> select * from table1 where colB=1 order by colA; >$ sqlite3 >sqlite> create table table1(colA, colB, [...]); >sqlite> create index i on table1(colA, colB); >sqlite> explain query plan select * from table1 where colA=1 order by >colB; >0|0|0|SEARCH TABLE table1 USING INDEX i (colA=?) >sqlite> explain query plan select * from table1 where colB=1 order by >colA; >0|0|0|SCAN TABLE table1 USING INDEX i >In the second query, the database reads colB1 from the index, but >this happens for _all_ rows, so the WHERE is not sped up. That depends on your definition of "sped up", the hit rate of the where clause, and the size of the rows in the underlying table. Since the index contains only a couple of bytes of data it can most likely be scanned far faster than the underlying table rows, and the result set does not need to be sorted before being returned. For five rows it will make no difference. For thousands or millions of rows the difference will be significant. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] v3.4.0 of DB Browser for SQLite released
Hi everyone, We've (finally) released version 3.4.0 of DB Browser for SQLite. This is the cross platform GUI application that was known for many years as "SQLite Database Browser" before the recent rename. Downloads for Windows and OSX here: https://github.com/sqlitebrowser/sqlitebrowser/releases :) Interesting FYI - Pretty much as soon as we renamed away from "SQLite Database Browser", the RazorSQL guys seem to have put up a page calling their (proprietary) application by that name as well. Marketing ploy to get ranked higher in Google or something. Ugh. :/ Regards and best wishes, Justin Clift ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Clarification on sqlite handling of mixed aggregate and non-aggregate columns
On 10/29/2014 5:42 PM, Baruch Burstein wrote: SELECT max(a), b FROM t WHERE a<50; Is there some way to filter *after* this is applied? Wrap it in another select: select * from ( SELECT max(a) maxa, b FROM t WHERE a<50 ) where b is not null; -- Igor Tandetnik ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] New kids on block the SQLite Master Suite.
On 29 Oct 2014, at 7:46pm, Billy Huynhwrote: > Please check it out by visiting http://www.aimtelligentsw.com? A few quick tips: * Say right up front which operating systems your application runs on. * What's Windows 2003 ? * On the download page, explain what can be done with the 'Trial version' without obtaining a license. Is it hampered in any way ? * Screenshots, screenshots, screenshots. People want to judge what the software can do from screenshots. They will read your feature list only after that. The ones you have included are fine, but they need to be seen first, up top, not after an extra click. Also, I would advise figuring out whether your site is about your company or the one piece of software. The different menus give a mixed message: one explicitly mentions the software title, others don't mention it. It doesn't matter which you choose, but you should be consistent. Good luck with your product. Simon. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] New kids on block the SQLite Master Suite.
Hi every one, After years hard at work, Aimtelligent Software has produced its first product, the SQLite Master Suite. We proudly present this product to the public for we think that it will be adapted widely by SQLite 3 users. Performance and simplicity are the core features of this product. It mainly designed to handle a very large database file with lightning fast import and export of data and intuitive GUI. Please check it out by visiting http://www.aimtelligentsw.com? or http://www.download.com use keyword 'Sqlite master suite' to search. Best regards, B. Huynh ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Clarification on sqlite handling of mixed aggregate and non-aggregate columns
On Wed, Oct 29, 2014 at 8:43 PM, Richard Hippwrote: > > If I have a table, "t", with 2 columns, "a" and "b". Assuming that "a" > is a > > unique number, will the following query always return the whole row (that > > is, with the correct "b" column) where "a" is the highest number below > 50? > > > > SELECT max(a), b FROM t WHERE a<50; > > > That is what it is suppose to do, yes. > Is there some way to filter *after* this is applied? For example, say in the above query I only want the rows where "b" is not null (side question: What is the difference between "ISNULL" \ "NOTNULL" and "IS NULL" \ "IS NOT NULL"?). So for this data: a | b --+-- 30|10 40|NULL I will get no results, but for a | b --+-- 30|NULL 40|10 I will get 40|10 -- ˙uʍop-ǝpısdn sı ɹoʇıuoɯ ɹnoʎ 'sıɥʇ pɐǝɹ uɐɔ noʎ ɟı ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Clarification on sqlite handling of mixed aggregate and non-aggregate columns
On Wed, 29 Oct 2014 20:38:07 +0200 Baruch Bursteinwrote: > If I have a table, "t", with 2 columns, "a" and "b". Assuming that > "a" is a unique number, will the following query always return the > whole row (that is, with the correct "b" column) where "a" is the > highest number below 50? > > SELECT max(a), b FROM t WHERE a<50; Standard syntax would be select * from t where a = (select max(a) from t where a < 50); If several rows meet the criteria (have the same value of "a"), you'll get all of them. If that's not what you want, you need more criteria, e.g., select a, min(b) as "first b" from t where a = (select max(a) from t where a < 50) group by a; Interestingly, your query should be expressible as an existence test, select * from t as T where exists ( select 1 from t where a < 50 having max(a) = T.a ); but in SQLite that produces a syntax error, Error: near line 15: a GROUP BY clause is required before HAVING I suggest that's an unnecessary requirement. Lack of a GROUP BY -- combined with a lack of column names in the SELECT clause -- is a truth test: it either produces a row or not. In fact, the very strange select min(b) from t having max(a) = 50; is permissible afaik by the standard. (Just an illustration, not your query.) --jkl ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Clarification on sqlite handling of mixed aggregate and non-aggregate columns
On Wed, Oct 29, 2014 at 4:28 PM, Staffan Tylenwrote: > But if several rows have the same a value as the max value then the b value > will be arbitrary, or? > Then b will be from one of the rows for which a is maximal - but you don't know which one. Similarly, if you say: SELECT max(a), max(c), min(d), max(e+f), b FROM table WHERE ...; Then the b value will be from one of the rows where either a was maximal or c was maximal or d was minimal or e+f was maximal - but if there are multiple rows that meet that criterion, you don't know which row you'll get. > > Staffan > > > On Wed, Oct 29, 2014 at 7:43 PM, Richard Hipp wrote: > > > On Wed, Oct 29, 2014 at 2:38 PM, Baruch Burstein > > wrote: > > > > > Hi, > > > > > > If I have a table, "t", with 2 columns, "a" and "b". Assuming that "a" > > is a > > > unique number, will the following query always return the whole row > (that > > > is, with the correct "b" column) where "a" is the highest number below > > 50? > > > > > > SELECT max(a), b FROM t WHERE a<50; > > > > > > > > That is what it is suppose to do, yes. > > > > Note that SQL is unique among SQL database engines in supporting this > > behavior. All other SQL database engines (that I know about) will either > > report the query above as an error, because column b is not in the GROUP > BY > > clause and is not inside an aggregate function, or will return b from an > > arbitrary row, not necessarily the row on which a is maximal. > > > > -- > > D. Richard Hipp > > d...@sqlite.org > > ___ > > 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 > -- D. Richard Hipp d...@sqlite.org ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Clarification on sqlite handling of mixed aggregate and non-aggregate columns
But if several rows have the same a value as the max value then the b value will be arbitrary, or? Staffan On Wed, Oct 29, 2014 at 7:43 PM, Richard Hippwrote: > On Wed, Oct 29, 2014 at 2:38 PM, Baruch Burstein > wrote: > > > Hi, > > > > If I have a table, "t", with 2 columns, "a" and "b". Assuming that "a" > is a > > unique number, will the following query always return the whole row (that > > is, with the correct "b" column) where "a" is the highest number below > 50? > > > > SELECT max(a), b FROM t WHERE a<50; > > > > > That is what it is suppose to do, yes. > > Note that SQL is unique among SQL database engines in supporting this > behavior. All other SQL database engines (that I know about) will either > report the query above as an error, because column b is not in the GROUP BY > clause and is not inside an aggregate function, or will return b from an > arbitrary row, not necessarily the row on which a is maximal. > > -- > D. Richard Hipp > d...@sqlite.org > ___ > 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
Re: [sqlite] Database is locked exceptions
On 2014-10-29, 12:13 PM, Mike McWhinney wrote: System.Windows.Forms.Control.ControlNativeWindow.OnThreadException(Exception e) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData) at I'm not very knowledgeable about Windows forms but if you are writing the SQLite database from multiple threads, that could be the reason. The main reasons I've seen this happen are when something is trying to write to the database when something else has it open for a read. If you are using threads, then ensure that reader threads exhaust their result sets. Unfortunately some third party libraries do lazy loading which doesn't work well with SQLite. Pseudo-code: # guithread.pseudo def fetchResults(query): while(query.hasMore()) query.fetchMore() # without this, the sqlite result is active... # writethread.pseudo def execQuery(query): query.exec() # ...which would lock this If you are not using threads, then it is possible that having the DB itself on a network share is causing the problem. I seem to recall some issues along these lines in the docs but I don't have any personal experience. Sohail ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Clarification on sqlite handling of mixed aggregate and non-aggregate columns
On Wed, Oct 29, 2014 at 2:38 PM, Baruch Bursteinwrote: > Hi, > > If I have a table, "t", with 2 columns, "a" and "b". Assuming that "a" is a > unique number, will the following query always return the whole row (that > is, with the correct "b" column) where "a" is the highest number below 50? > > SELECT max(a), b FROM t WHERE a<50; > > That is what it is suppose to do, yes. Note that SQL is unique among SQL database engines in supporting this behavior. All other SQL database engines (that I know about) will either report the query above as an error, because column b is not in the GROUP BY clause and is not inside an aggregate function, or will return b from an arbitrary row, not necessarily the row on which a is maximal. -- D. Richard Hipp d...@sqlite.org ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] Clarification on sqlite handling of mixed aggregate and non-aggregate columns
Hi, If I have a table, "t", with 2 columns, "a" and "b". Assuming that "a" is a unique number, will the following query always return the whole row (that is, with the correct "b" column) where "a" is the highest number below 50? SELECT max(a), b FROM t WHERE a<50; -- ˙uʍop-ǝpısdn sı ɹoʇıuoɯ ɹnoʎ 'sıɥʇ pɐǝɹ uɐɔ noʎ ɟı ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Database is locked exceptions
On 29 Oct 2014, at 4:13pm, Mike McWhinneywrote: > "URI=file:mydb.db; default timeout=10; Pooling=True; Max Pool Size=100;"; Can you please change your timeout to 1 (really, 1ms == 10 seconds) and see if this makes the problems go away ? It may not be necessary to leave the setting like that. But the information about whether this does or doesn't solve the problem may tell us what the problem is. > One thing is that I have tried a method where I open the database and leave > it open through out the life > of the program (open it when I start the program and close on exit). Should I > perhaps change this so that > I open the database, perform the query, then close it right away? One usually keeps the database open for the life of the program, the way you have it working already. So lets try other solutions first. Simon. ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] Database is locked exceptions
Hello, I have written a program in C# Visual Studio Winforms. In general the SQLite database is working quite well. However, lately we have been plagued with database locking errors: Here is the exeption: database is locked database is locked at System.Data.SQLite.SQLite3.Step(SQLiteStatement stmt) at System.Data.SQLite.SQLiteDataReader.NextResult() at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave) at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior) at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery(CommandBehavior behavior) at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery() at WindowsApplication1.Form1.logExceptionToTable() at WindowsApplication1.Form1.MyExceptionHandler(Object sender, ThreadExceptionEventArgs e) at System.Windows.Forms.Application.ThreadContext.OnThreadException(Exception t) at System.Windows.Forms.Control.WndProcException(Exception e) at System.Windows.Forms.Control.ControlNativeWindow.OnThreadException(Exception e) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg) at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData) at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context) at System.Windows.Forms.Application.RunDialog(Form form) at System.Windows.Forms.Form.ShowDialog(IWin32Window owner) at System.Windows.Forms.Form.ShowDialog() at WindowsApplication1.LabTestPatientForm.enterTestDataButton_Click(Object sender, EventArgs e) at System.Windows.Forms.Control.OnClick(EventArgs e) at DevComponents.DotNetBar.ButtonX.OnClick(EventArgs e) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at DevComponents.DotNetBar.ButtonX.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) The database resides on a network on a Windows Server 2008 R2 system. The users have full read/write permissions to the database file. The code that I'm using to access the database is: OMConnection.sqConn = new SQLiteConnection( "URI=file:mydb.db; default timeout=10; Pooling=True; Max Pool Size=100;"; sqConn.Open(); string sql = "SELECT " + "*" + " FROM APPOINTMENTTYPES"; SQLiteCommand cmd = OMConnection.sqConn.CreateCommand(); cmd.CommandText = sql; cmd.CommandType = CommandType.Text; SQLiteDataReader dr = cmd.ExecuteReader(); DataTable myTable = new DataTable(); myTable.Load(dr); //put the categories into the for (int rowIndex = 0; rowIndex < myTable.Rows.Count; rowIndex++) { dataSet1.Tables["ReasonForVisit"].Rows.Add(""); dataSet1.Tables["ReasonForVisit"].Rows[rowIndex]["ReasonForVisitName"] = myTable.Rows[rowIndex]["Name"].ToString().Trim(); dataSet1.Tables["ReasonForVisit"].Rows[rowIndex]["Duration"] = myTable.Rows[rowIndex]["Duration"]; } myTable.Dispose(); OMConnection.sqConn.Close(); OMConnection.sqConn.Dispose(); OMConnection.sqConn = null; The thing is, the database locking errors are random and do not always occur. I am using the c# ADO provider, version 1.0.94.0 (version 3.8.6 of SQLite). One thing is that I have tried a method where I open the database and leave it open through out the life of the program (open it when I start the program and close on exit). Should I perhaps change this so that I open the database, perform the query, then close it right away? Thanks Mike ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] sqlite3.c in a library - api rename
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 10/28/2014 08:18 PM, Ward Willats wrote: > I am using the amalgamation in a C++ library statically linked into > other people's applications. > > Is there a way to namespace and/or macro and/or let C++ do its > name-mangling thing to all the identifiers (by running the CPP > compiler and turning __cplusplus off) so only my library > translation units can use this "secret" version? (Or, more like, so > the host app doesn't accidentally use my version.) I have another approach to this that works well. All of my code that interacts with SQLite is in one file. At the top of the file I do this: #define SQLITE_API static #define SQLITE_EXTERN static #include "sqlite3.c" The rest of the file references the sqlite3 api as normal. None of the symbols leak, and it is a little faster as the compiler can inline static methods. Roger -BEGIN PGP SIGNATURE- Version: GnuPG v1 iEYEARECAAYFAlRRB0UACgkQmOOfHg372QSELQCgoWKxiyy2RHbmZr5VKAjal/jf 3iwAoK+B9xnnME9Jg+08XIt7PB+rYrl/ =Gwsy -END PGP SIGNATURE- ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Index usage for order by and where clauses
Baruch Burstein wrote: > If I have an index on table1(colA, colB), will it be used for both the > where and the order by in either of these cases: > > select * from table1 where colA=1 order by colB; > select * from table1 where colB=1 order by colA; $ sqlite3 sqlite> create table table1(colA, colB, [...]); sqlite> create index i on table1(colA, colB); sqlite> explain query plan select * from table1 where colA=1 order by colB; 0|0|0|SEARCH TABLE table1 USING INDEX i (colA=?) sqlite> explain query plan select * from table1 where colB=1 order by colA; 0|0|0|SCAN TABLE table1 USING INDEX i In the second query, the database reads colB1 from the index, but this happens for _all_ rows, so the WHERE is not sped up. Regards, Clemens ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] Index usage for order by and where clauses
Hi, If I have an index on table1(colA, colB), will it be used for both the where and the order by in either of these cases: select * from table1 where colA=1 order by colB; select * from table1 where colB=1 order by colA; -- ˙uʍop-ǝpısdn sı ɹoʇıuoɯ ɹnoʎ 'sıɥʇ pɐǝɹ uɐɔ noʎ ɟı ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] inserted row isn't deleted after rollback?
On Wed, Oct 29, 2014 at 6:35 AM, d...@gmx.comwrote: > Hello! > > I have met the situation, which looks like sqlit3 bug. The full script > can be found at [1]. To reproduce it, I just type: > > sqlite3 -batch /tmp/db-2.tmp < /tmp/x.sql > > Where /tmp/x.sql is the saved to disk script [1]. > > So, the essential problem lies in the last lines: > > PRAGMA foreign_keys=ON; > PRAGMA journal_mode = DELETE; > BEGIN; > INSERT INTO "order_item_file" ( "context", "file_id", "order_item_id") > VALUES ( 'page_2', 4, 1 ); > ROLLBACK; > SELECT * FROM "order_item_file"; > > I expected, that it should delete the inserted row after rollback, but > it doesn't . What is the reason for that? > The row exists before the start of the transaction, which you can see if you insert another SELECT before the BEGIN. -- D. Richard Hipp d...@sqlite.org ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] inserted row isn't deleted after rollback?
Hello! I have met the situation, which looks like sqlit3 bug. The full script can be found at [1]. To reproduce it, I just type: sqlite3 -batch /tmp/db-2.tmp < /tmp/x.sql Where /tmp/x.sql is the saved to disk script [1]. So, the essential problem lies in the last lines: PRAGMA foreign_keys=ON; PRAGMA journal_mode = DELETE; BEGIN; INSERT INTO "order_item_file" ( "context", "file_id", "order_item_id") VALUES ( 'page_2', 4, 1 ); ROLLBACK; SELECT * FROM "order_item_file"; I expected, that it should delete the inserted row after rollback, but it doesn't . What is the reason for that? Thanks! [1] https://gist.github.com/basiliscos/16e4027c4a7f4cfbcfe6 -- Best regards, Bασιλίσκος Arcticus ὑπέρnihilisticus (aka Ivan Baidakou)___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] problem trigger
thanks Simon, I´ll try later and then I´ll tell you 2014-10-28 17:11 GMT-03:00 Simon Slavin: > > On 28 Oct 2014, at 8:06pm, pablo Van wrote: > > > WHEN new.DiaHs_Inicio not between (old.DiaHs_Inicio and old.DiaHs_Fin) > > I do not think SQLite supports NOT BETWEEN. I would change it to > something like > > WHEN (new.DiaHs_Inicio < old.DiaHs_Inicio) OR (new.DiaHs_Inicio > > old.DiaHs_Fin) > > Simon. > ___ > 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