Re: [sqlite] New kids on block the SQLite Master Suite.

2014-10-29 Thread Billy Huynh
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.org  on 
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.

2014-10-29 Thread Billy Huynh
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.org  on 
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.

2014-10-29 Thread Keith Medcalf

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.

2014-10-29 Thread dave
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.

2014-10-29 Thread Billy Huynh
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.org  on 
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.

2014-10-29 Thread Billy Huynh
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.org  on 
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.

2014-10-29 Thread Billy Huynh
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


Re: [sqlite] New kids on block the SQLite Master Suite.

2014-10-29 Thread Keith Medcalf

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

2014-10-29 Thread justin

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.

2014-10-29 Thread Mark Halegua
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.

2014-10-29 Thread jonathon


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

2014-10-29 Thread Keith Medcalf

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

2014-10-29 Thread justin

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

2014-10-29 Thread Igor Tandetnik

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.

2014-10-29 Thread Simon Slavin

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] New kids on block the SQLite Master Suite.

2014-10-29 Thread Billy Huynh
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

2014-10-29 Thread Baruch Burstein
On Wed, Oct 29, 2014 at 8:43 PM, Richard Hipp  wrote:

> > 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

2014-10-29 Thread James K. Lowden
On Wed, 29 Oct 2014 20:38:07 +0200
Baruch Burstein  wrote:

> 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

2014-10-29 Thread Richard Hipp
On Wed, Oct 29, 2014 at 4:28 PM, Staffan Tylen 
wrote:

> 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

2014-10-29 Thread Staffan Tylen
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 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


Re: [sqlite] Database is locked exceptions

2014-10-29 Thread Sohail Somani

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

2014-10-29 Thread Richard Hipp
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] Clarification on sqlite handling of mixed aggregate and non-aggregate columns

2014-10-29 Thread Baruch Burstein
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

2014-10-29 Thread Simon Slavin

On 29 Oct 2014, at 4:13pm, Mike McWhinney  wrote:

> "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

2014-10-29 Thread Mike McWhinney
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

2014-10-29 Thread Roger Binns
-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

2014-10-29 Thread Clemens Ladisch
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

2014-10-29 Thread Baruch Burstein
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?

2014-10-29 Thread Richard Hipp
On Wed, Oct 29, 2014 at 6:35 AM, d...@gmx.com  wrote:

> 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?

2014-10-29 Thread d...@gmx.com
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

2014-10-29 Thread pablo Van
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