[sqlite] FTS tokenize=unicode61: "full" or "simple" case folding?

2016-03-21 Thread Tomash Brechko
Hello,

https://www.sqlite.org/fts3.html#tokenizer page says that unicode61
tokenizer implements _full_ case folding (it doesn't emphasize the word,
but it's there).  ftp://unicode.org/Public/6.1.0/ucd/CaseFolding.txt has
the following rules:

-- cut --
...
00DF; F; 0073 0073; # LATIN SMALL LETTER SHARP S
...
1E9E; F; 0073 0073; # LATIN CAPITAL LETTER SHARP S
1E9E; S; 00DF; # LATIN CAPITAL LETTER SHARP S
...
-- cut --

I.e. in _full_ case folding both "?" (U+1E9E) and "?" (U+00DF) are mapped
to "ss", whereas in _simple_ case folding first one is mapped to the
second.  SQLite 3.11.0 works according to simple rules:

-- cut --
CREATE VIRTUAL TABLE t USING fts3tokenize(unicode61);
SELECT token FROM t WHERE input = "? ?";
-- cut --
gives
-- cut--
?
?
-- cut--

So which one is correct, documentation or implementation?  I also wonder
what a native German speaker would expect in full-text search case?
(Google gives different result counts for "Schlo?" and "Schloss", which
actually surprises me a bit).

-- 
  Tomash Brechko


[sqlite] FTS tokenize=unicode61: "full" or "simple" case folding?

2016-03-21 Thread Matthias-Christian Ott
On 2016-03-21 20:43, Tomash Brechko wrote:
> Hello,
> 
> https://www.sqlite.org/fts3.html#tokenizer page says that unicode61
> tokenizer implements _full_ case folding (it doesn't emphasize the word,
> but it's there).  ftp://unicode.org/Public/6.1.0/ucd/CaseFolding.txt has
> the following rules:
> 
> -- cut --
> ...
> 00DF; F; 0073 0073; # LATIN SMALL LETTER SHARP S
> ...
> 1E9E; F; 0073 0073; # LATIN CAPITAL LETTER SHARP S
> 1E9E; S; 00DF; # LATIN CAPITAL LETTER SHARP S
> ...
> -- cut --
> 
> I.e. in _full_ case folding both "?" (U+1E9E) and "?" (U+00DF) are mapped
> to "ss", whereas in _simple_ case folding first one is mapped to the
> second.  SQLite 3.11.0 works according to simple rules:
> 
> -- cut --
> CREATE VIRTUAL TABLE t USING fts3tokenize(unicode61);
> SELECT token FROM t WHERE input = "? ?";
> -- cut --
> gives
> -- cut--
> ?
> ?
> -- cut--
> 
> So which one is correct, documentation or implementation?  I also wonder
> what a native German speaker would expect in full-text search case?
> (Google gives different result counts for "Schlo?" and "Schloss", which
> actually surprises me a bit).

The character "?" was often not present in fonts, is not included in
ISO/IEC 8859-1:1998 and is not historically and commonly used in German
(the German Wikipedia and the articles' references can explain this
better than I can). It was just "recently" added Unicode 5.1 in 2008. It
is common to either capitalize ? as SS or SZ (to avoid ambiguities) in
all-caps titles. I think it's uncertain whether ? will be widely used.

If I understand Unicode case folding correctly, it exists to be able to
compare Unicode strings case-insensitively by converting them into a
canonical form. So simple case seems correct, as ? would be folded to ?.
However, if you keep in mind the old orthography (before 1996) and want
to know what makes sense for a search engine, full case folding makes
more sense. As you noted "Schlo?" and "Schloss" should return the same
results for non-verbatim searches as such distinction would seemingly
only be relevant to linguists or historians but not for every day use
and business information systems.

The Unicode standard is unfortunately vague about what it wants to
achieve by case folding and what thoughts went into the case folding
table. Perhaps you should ask on the Unicode mailing list.

You didn't describe your use-case but I would also generally advice to
use a phonetic algorithm for German to canonicalize words for
non-verbatim searches instead of case folding. It gives better results
and most German speakers I know appreciate the phonetic corrections of
popular Internet search engines for non-verbatim searches.

I hope this helps. Maybe it also helps to consult a linguist for
building a non-simplistic search engine for German. For example, you
have to perform compound splitting, stemming and some form of
grammatical analysis at some point.

- Matthias-Christian


[sqlite] Article about pointer abuse in SQLite

2016-03-21 Thread J Decker
On Mon, Mar 21, 2016 at 8:40 PM, Scott Doctor  wrote:
> you are missing
>
> using System;

whatever.  It still fails because it says the variable is
uninitilalized.  THe only thing that doesn't is actually running it.

That same pattern not matter what the language triggers warning/error checkers
>
> 
> Scott Doctor
> scott at scottdoctor.com
> --
>
>
> On 3/21/2016 5:21 PM, J Decker wrote:
>>
>> So far I just see analysis tools fail for the same sorts of valid code...
>>
>> this is a bit of C# but the same idea causes the same warnings and
>> there's nothign tecniclally wrong with this.
>>
>>
>>
>> class test
>> {
>> struct large_struct { public int x; }
>> bool arbitrary_true_false = true;
>> void method()
>> {
>>bool initialized = false;
>>large_struct s;
>>if( arbitrary_true_false )
>>{
>>   initialized = true;
>>   s.x = 1;
>>}
>>if( initialized )
>>{
>>   Console.WriteLine( "this fails(during compile) as
>> uninitialized: {0}", s.x );
>>}
>> }
>> }
>>
>> On Mon, Mar 21, 2016 at 4:35 PM, James K. Lowden
>>  wrote:
>>>
>>> On Mon, 21 Mar 2016 13:48:06 -0700
>>> Scott Perry  wrote:
>>>
 Compilers allow you to choose your standard; --std=c11 means
 something very specific (and unchanging)
>>>
>>> They do.  And that covers what the standard covers.  The standard also
>>> has limits.  It includes constructs that are syntactically permitted
>>> but whose behavior is left undefined, known by the scarred as "UB" for
>>> "undefined behavior". An example from Clang's discussion is
>>>
>>>  int i = 10 << 31;
>>>
>>> The standard says << is a shift operator.  It places no limit on the
>>> number of bits to be shifted.  If that number is so large that the
>>> product cannot be represented by the assigned variable, that is *not*
>>> an error.  The standard allows the compiler to do anything or nothing
>>> with it.  As you may imagine, the varieties of anything and nothing are
>>> many.
>>>
>>> Compiler writers are well aware that "nothing" is faster done than
>>> "something".  Over time, they have gotten more aggressive in simply
>>> deleting UB code.  As a consequence, programmers who thought they wrote
>>> standards-conforming code get burned when they upgrade/change
>>> compilers.  Mysterious and sometimes subtle errors are introduced by
>>> the compiler for the user's benefit.
>>>
>>> Your googlefu will turn up lots of discussion.  One I liked that wasn't
>>> on Page 1:
>>>
>>>
>>> http://blog.frama-c.com/index.php?post/2013/10/09/Overflow-float-integer
>>>
>>> --jkl
>>> ___
>>> sqlite-users mailing list
>>> sqlite-users at mailinglists.sqlite.org
>>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>>
>> ___
>> sqlite-users mailing list
>> sqlite-users at mailinglists.sqlite.org
>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>>
>>
>
> ___
> sqlite-users mailing list
> sqlite-users at mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


[sqlite] Article about pointer abuse in SQLite

2016-03-21 Thread Scott Doctor
you are missing

using System;


Scott Doctor
scott at scottdoctor.com
--

On 3/21/2016 5:21 PM, J Decker wrote:
> So far I just see analysis tools fail for the same sorts of valid code...
>
> this is a bit of C# but the same idea causes the same warnings and
> there's nothign tecniclally wrong with this.
>
>
>
> class test
> {
> struct large_struct { public int x; }
> bool arbitrary_true_false = true;
> void method()
> {
>bool initialized = false;
>large_struct s;
>if( arbitrary_true_false )
>{
>   initialized = true;
>   s.x = 1;
>}
>if( initialized )
>{
>   Console.WriteLine( "this fails(during compile) as
> uninitialized: {0}", s.x );
>}
> }
> }
>
> On Mon, Mar 21, 2016 at 4:35 PM, James K. Lowden
>  wrote:
>> On Mon, 21 Mar 2016 13:48:06 -0700
>> Scott Perry  wrote:
>>
>>> Compilers allow you to choose your standard; --std=c11 means
>>> something very specific (and unchanging)
>> They do.  And that covers what the standard covers.  The standard also
>> has limits.  It includes constructs that are syntactically permitted
>> but whose behavior is left undefined, known by the scarred as "UB" for
>> "undefined behavior". An example from Clang's discussion is
>>
>>  int i = 10 << 31;
>>
>> The standard says << is a shift operator.  It places no limit on the
>> number of bits to be shifted.  If that number is so large that the
>> product cannot be represented by the assigned variable, that is *not*
>> an error.  The standard allows the compiler to do anything or nothing
>> with it.  As you may imagine, the varieties of anything and nothing are
>> many.
>>
>> Compiler writers are well aware that "nothing" is faster done than
>> "something".  Over time, they have gotten more aggressive in simply
>> deleting UB code.  As a consequence, programmers who thought they wrote
>> standards-conforming code get burned when they upgrade/change
>> compilers.  Mysterious and sometimes subtle errors are introduced by
>> the compiler for the user's benefit.
>>
>> Your googlefu will turn up lots of discussion.  One I liked that wasn't
>> on Page 1:
>>
>>  
>> http://blog.frama-c.com/index.php?post/2013/10/09/Overflow-float-integer
>>
>> --jkl
>> ___
>> sqlite-users mailing list
>> sqlite-users at mailinglists.sqlite.org
>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
> ___
> sqlite-users mailing list
> sqlite-users at mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>
>



[sqlite] Reserved column names

2016-03-21 Thread James K. Lowden
On Mon, 21 Mar 2016 11:32:28 +0100
Dominique Devienne  wrote:

> > Explicitly documented by SQLite:
> >
> 
> And? That's still non-SQL standard.
> 
> SQLite tries to be compatible with non-standard extensions from
> various popular RDBMS', but when a standard alternative exists, it
> should be preferred IMHO. 

Roger's APSW is SQLIte specific.  It's pretty easy to imagine, isn't
it, that 

char sql[] = "select [col] from [foo]";

is easier for him to use than

char sql[] = "select \"col\" from \"foo\"";

even if he's not using C?  

I would certainly advise (and often do) anyone using SQL to learn to
distinguish between standard SQL and any given product's deviations
from it.  Favoring standard constructs helps avoid weird corners and
style.  

But machine-generated code inside a driver specifically for SQLite?
Hard to see who benefits, one way or the other.  

--jkl


[sqlite] Article about pointer abuse in SQLite

2016-03-21 Thread James K. Lowden
On Mon, 21 Mar 2016 13:48:06 -0700
Scott Perry  wrote:

> Compilers allow you to choose your standard; --std=c11 means
> something very specific (and unchanging) 

They do.  And that covers what the standard covers.  The standard also
has limits.  It includes constructs that are syntactically permitted
but whose behavior is left undefined, known by the scarred as "UB" for
"undefined behavior". An example from Clang's discussion is

int i = 10 << 31;

The standard says << is a shift operator.  It places no limit on the
number of bits to be shifted.  If that number is so large that the
product cannot be represented by the assigned variable, that is *not*
an error.  The standard allows the compiler to do anything or nothing
with it.  As you may imagine, the varieties of anything and nothing are
many.  

Compiler writers are well aware that "nothing" is faster done than
"something".  Over time, they have gotten more aggressive in simply
deleting UB code.  As a consequence, programmers who thought they wrote
standards-conforming code get burned when they upgrade/change
compilers.  Mysterious and sometimes subtle errors are introduced by
the compiler for the user's benefit.  

Your googlefu will turn up lots of discussion.  One I liked that wasn't
on Page 1:

http://blog.frama-c.com/index.php?post/2013/10/09/Overflow-float-integer

--jkl


[sqlite] Article about pointer abuse in SQLite

2016-03-21 Thread J Decker
So far I just see analysis tools fail for the same sorts of valid code...

this is a bit of C# but the same idea causes the same warnings and
there's nothign tecniclally wrong with this.



class test
{
   struct large_struct { public int x; }
   bool arbitrary_true_false = true;
   void method()
   {
  bool initialized = false;
  large_struct s;
  if( arbitrary_true_false )
  {
 initialized = true;
 s.x = 1;
  }
  if( initialized )
  {
 Console.WriteLine( "this fails(during compile) as
uninitialized: {0}", s.x );
  }
   }
}

On Mon, Mar 21, 2016 at 4:35 PM, James K. Lowden
 wrote:
> On Mon, 21 Mar 2016 13:48:06 -0700
> Scott Perry  wrote:
>
>> Compilers allow you to choose your standard; --std=c11 means
>> something very specific (and unchanging)
>
> They do.  And that covers what the standard covers.  The standard also
> has limits.  It includes constructs that are syntactically permitted
> but whose behavior is left undefined, known by the scarred as "UB" for
> "undefined behavior". An example from Clang's discussion is
>
> int i = 10 << 31;
>
> The standard says << is a shift operator.  It places no limit on the
> number of bits to be shifted.  If that number is so large that the
> product cannot be represented by the assigned variable, that is *not*
> an error.  The standard allows the compiler to do anything or nothing
> with it.  As you may imagine, the varieties of anything and nothing are
> many.
>
> Compiler writers are well aware that "nothing" is faster done than
> "something".  Over time, they have gotten more aggressive in simply
> deleting UB code.  As a consequence, programmers who thought they wrote
> standards-conforming code get burned when they upgrade/change
> compilers.  Mysterious and sometimes subtle errors are introduced by
> the compiler for the user's benefit.
>
> Your googlefu will turn up lots of discussion.  One I liked that wasn't
> on Page 1:
>
> 
> http://blog.frama-c.com/index.php?post/2013/10/09/Overflow-float-integer
>
> --jkl
> ___
> sqlite-users mailing list
> sqlite-users at mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


[sqlite] Article about pointer abuse in SQLite

2016-03-21 Thread Scott Robison
On Mar 21, 2016 2:48 PM, "Scott Perry"  wrote:
>
> On Mar 21, 2016, at 3:17 AM, Klaas Van B.  wrote:
> >
> >>> On 3/19/16, James K. Lowden  wrote:
> >
> >>> ... If the correctness of the code is
> >>> subject to change by the compiler's interpretation of the language,
how
> >>> is the programmer to prevent it?
> >
> >> On Sat, 19 Mar 2016 15:50:43 -0400 Richard Hipp  wrote:
> >
> >> ... But subsequent revisions of the
> >> C-language standards changed that.  How does one write code that will
> >> comply with language standards that keep changing out from under you?
> >
> > It's like trying to live according to the law while they're changing
the constitution.
>
> This is a false dichotomy. Compilers allow you to choose your standard;
--std=c11 means something very specific (and unchanging) about the
behaviour you can expect to be defined.

Unfortunately, gcc library header files warn about perfectly valid code in
C89 mode due to changes in C99. It's not a big deal until people take
compiler warnings as prima facie evidence that code is broken.


[sqlite] FTS tokenize=unicode61: "full" or "simple" case folding?

2016-03-21 Thread Richard Hipp
On 3/21/16, Tomash Brechko  wrote:
> Hello,
>
> https://www.sqlite.org/fts3.html#tokenizer page says that unicode61
> tokenizer implements _full_ case folding (it doesn't emphasize the word,
> but it's there).

That is a documentation error.  It has now been fixed.  Thanks.

Probably the error originates with our thinking of "full" in the sense
of "more than just ASCII", rather than the official unicode definition
of "full" which is "it can possibly change the number of code points".

-- 
D. Richard Hipp
drh at sqlite.org


[sqlite] Reserved column names

2016-03-21 Thread Dominique Devienne
On Mon, Mar 21, 2016 at 12:18 PM, Stephen Chrzanowski 
wrote:

> AFAIK, SQLite comes from the grass roots of PostgreSQL.  Whatever
> 'standards' it adheres to, SQLite goes by.  As a fact, I don't know what
> those standards are, and I don't care what they are.  The documentation on
> SQLite.org says "This is how you use it", so that's how I'll use it.
>

And it does say it supports double-quoted idents too, doesn't it.

Which happens to be the only form common to all RDBMS' listed
(according to that link), and what the SQL standard mandates.

So what's not to like? --DD


[sqlite] Article about pointer abuse in SQLite

2016-03-21 Thread Scott Perry
On Mar 21, 2016, at 1:48 PM, Scott Perry  wrote:
> 
> On Mar 21, 2016, at 3:17 AM, Klaas Van B.  wrote:
>> 
 On 3/19/16, James K. Lowden  wrote:
>> 
 ... If the correctness of the code is
 subject to change by the compiler's interpretation of the language, how
 is the programmer to prevent it?
>> 
>>> On Sat, 19 Mar 2016 15:50:43 -0400 Richard Hipp  wrote:
>> 
>>> ... But subsequent revisions of the
>>> C-language standards changed that.  How does one write code that will
>>> comply with language standards that keep changing out from under you?
>> 
>> It's like trying to live according to the law while they're changing the 
>> constitution.
> 
> This is a false dichotomy. Compilers allow you to choose your standard; 
> --std=c11 means something very specific (and unchanging) about the behaviour 
> you can expect to be defined.

(and yes, I did mean to say false equivalence in my response)


[sqlite] Article about pointer abuse in SQLite

2016-03-21 Thread Scott Perry
On Mar 21, 2016, at 3:17 AM, Klaas Van B.  wrote:
> 
>>> On 3/19/16, James K. Lowden  wrote:
> 
>>> ... If the correctness of the code is
>>> subject to change by the compiler's interpretation of the language, how
>>> is the programmer to prevent it?
> 
>> On Sat, 19 Mar 2016 15:50:43 -0400 Richard Hipp  wrote:
> 
>> ... But subsequent revisions of the
>> C-language standards changed that.  How does one write code that will
>> comply with language standards that keep changing out from under you?
> 
> It's like trying to live according to the law while they're changing the 
> constitution.

This is a false dichotomy. Compilers allow you to choose your standard; 
--std=c11 means something very specific (and unchanging) about the behaviour 
you can expect to be defined.


[sqlite] windows 10 with System.Data.SQLite

2016-03-21 Thread Hinrich Aue
Hello list,

we are using System.Data.SQLite 1.0.80.0 in our product.
Does this version support windows 10?

Thx,
Hinrich

Hinrich Aue
Sr. Software Engineer
Kofax Development GmbH

Wentzinger Strasse 19
79106 Freiburg
Germany

Tel: +49 761 452 69 57234
Fax: +49 761 452 69 58734
Hinrich.Aue at kofax.com

blog | twitter | 
linkedin | 
facebook | talent 
network



This communication is only for the use of the intended recipient. It may 
contain confidential or proprietary information. If you are not the intended 
recipient or have received this communication in error, please notify the 
sender via phone and destroy this communication immediately.
Kofax Development GmbH
Sitz der Gesellschaft: Freiburg i. Brg.
Registergericht: Amtsgericht Freiburg i.Br.
Registernummer: HRB 7007
Gesch?ftsf?hrer: Bradford Weller, Christian Hefner, Daniel Geiger


[sqlite] Linux .so files for 3.12

2016-03-21 Thread Simon Slavin

On 20 Mar 2016, at 10:35pm, jeremydcn  wrote:

> for something like sqliteman or sqlitemanager (i feel the shame) and maybe 
> other packages they don't seem 3.12 aware even though I have put a symlink 
> named sqlite3 pointing to sqlite3.12 in /usr/bin and there are no other 
> sqlite3 on the machine.

The SQLite library is not generally used as a shared resource.  There's no 
standard way for an application 'the SQLite library' on your computer.  Indeed 
you probably have numerous programs on your computer each using their own copy 
of SQLite.

Instead it is compiled directly into the programs which use it.  So you would 
have to wait for copies of those programs which have been updated for those 
versions of SQLite.

Simon.


[sqlite] Reserved column names

2016-03-21 Thread Dominique Devienne
On Mon, Mar 21, 2016 at 11:01 AM, Cezary H. Noweta 
wrote:

> On 2016-03-21 08:57, Dominique Devienne wrote:
>
>> Seems like using square-brackets instead of double-quotes is non-standard:
>>
>> https://en.wikibooks.org/wiki/SQL_Dialects_Reference/Data_structure_definition/Delimited_identifiers
>>
>
> Explicitly documented by SQLite:
>

And? That's still non-SQL standard.

SQLite tries to be compatible with non-standard extensions
from various popular RDBMS', but when a standard alternative
exists, it should be preferred IMHO. --DD


[sqlite] Reserved column names

2016-03-21 Thread Cezary H. Noweta
Hello,

On 2016-03-21 08:57, Dominique Devienne wrote:
> Seems like using square-brackets instead of double-quotes is non-standard:
> https://en.wikibooks.org/wiki/SQL_Dialects_Reference/Data_structure_definition/Delimited_identifiers

Explicitly documented by SQLite:

http://sqlite.org/lang_keywords.html

-- best regards

Cezary H. Noweta


[sqlite] Possible bug in the SQL parser

2016-03-21 Thread João Ramos
Sorry for the late reply. That output (--1 etc.) was me manually
"formatting" the results.
I came across this issue using SQLiteStudio v3.0.7 on Windows. I just
create a new DB and run that script: it outputs two rows, with one column
each, with the values 1 and 2 respectively, instead of an error.


On Mon, Feb 29, 2016 at 11:18 AM, R Smith  wrote:

>
>
> On 2016/02/29 12:49 PM, Jo?o Ramos wrote:
>
>> Maybe this has been fixed then? This is what I'm getting:
>>
>> select sqlite_version(); -- 3.8.10
>>
>> select sqlite_source_id(); -- 2015-05-04 19:13:25
>> 850c11866686a7b39d7b163fb60898c11283688e
>>
>>
>> WITH
>>
>> tA(id, name) AS
>>
>> (
>>
>> SELECT 1, "a" UNION ALL SELECT 2, "b"
>>
>> ),
>>
>> tB(name) AS
>>
>> (
>>
>> SELECT "a" UNION ALL SELECT "b"
>>
>> )
>>
>> SELECT tB.id FROM tA INNER JOIN tB ON (tA.name = tB.name);
>>
>>
>> -- 1
>>
>> -- 2
>>
>
> This output ( -- 1 etc.) looks like it is produced by some SQLite
> interface type thing or perhaps an admin tool, it doesn't look like the
> SQLite cli, so maybe there's possibly something wrong there? Many of those
> tools substitute the column names a bit in queries.
>
> Show us the exact tool you use to get it and also the OS version etc.
> please.
>
>
> ___
> sqlite-users mailing list
> sqlite-users at mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>



-- 
*Jo?o Ramos*


[sqlite] keep out focus

2016-03-21 Thread hfiandor
Dear sirs>



I have a button previously focused. When the action was completed and the
promt was sended to other position in the MainMenu, the button remain
indicating the focus. Please, I want to know how to unfocus the button.



Thanks in advance,



yours

Ing. H?ctor F. Fiandor Rosario





[sqlite] Article about pointer abuse in SQLite

2016-03-21 Thread Klaas Van B.
>> On 3/19/16, James K. Lowden  wrote:

>> ... If the correctness of the code is
>> subject to change by the compiler's interpretation of the language, how
>> is the programmer to prevent it?

> On Sat, 19 Mar 2016 15:50:43 -0400 Richard Hipp  wrote:

> ... But subsequent revisions of the
> C-language standards changed that.  How does one write code that will
> comply with language standards that keep changing out from under you?

It's like trying to live according to the law while they're changing the 
constitution.


Kind regards/Vriendelijke groeten.
Klaas `Z4us` Van B., CEO/CIO LI#437429414


[sqlite] Reserved column names

2016-03-21 Thread Roger Binns
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 21/03/16 03:32, Dominique Devienne wrote:
> SQLite tries to be compatible with non-standard extensions from
> various popular RDBMS', but when a standard alternative exists, it
> should be preferred IMHO. --DD

That depends on the code and project.  In my case the code is not
database independent nor is it intended to be.  (If I wanted that I'd
use or reinvent something like SQLAlchemy.)

The code also depends on the SQLite "dynamic typing" feature - that
the type belongs to the value, not the column or variable it is being
stored in.  This matches exactly how Python does typing as well as the
real world data I work with.(*)

The SQLite API also has progress hooks, a transaction model
(savepoints), backup API and numerous other unique to it features.
When using SQLite I use it to the full extent appropriate.

(*) Please don't derail this about typing.  Dynamic typing and strong
typing are not the same thing, although Python has both and SQLite
mostly only has the former.

Roger

-BEGIN PGP SIGNATURE-
Version: GnuPG v2

iEYEARECAAYFAlbwK1sACgkQmOOfHg372QQK2wCfdoUaHyORGq00BmWAOF4r3rdQ
SNYAnAnMR0EB7Ny38bnqrMcGL+MwAoJU
=DeUQ
-END PGP SIGNATURE-


[sqlite] Linux .so files for 3.12

2016-03-21 Thread jeremydcn
hi, I am new to the list so will demonstrate ignorance right of the bat.

have compiled 3.12 from source under Ubuntu 14.04 x86 and all good. recursion 
works as advertised.

for something like sqliteman or sqlitemanager (i feel the shame) and maybe 
other packages they don't seem 3.12 aware even though I have put a symlink 
named sqlite3 pointing to sqlite3.12 in /usr/bin and there are no other sqlite3 
on the machine.

do I need to generate .so files for this. would this even work or just bring 
3.8.2 dependent code crashing to its knees.

there is no 'make install' in the instructions so I have assumed the 
amalgamation has everything needed (outside of tools). 

many thanks.


[sqlite] Reserved column names

2016-03-21 Thread Dominique Devienne
On Sat, Mar 19, 2016 at 11:56 PM, Roger Binns  wrote:

> -BEGIN PGP SIGNED MESSAGE-
> My rule of thumb is to always quote (using square brackets) when the
> query is generated by code, and only quote where reasonable when the
> query is written by a human.
>

Seems like using square-brackets instead of double-quotes is non-standard:
https://en.wikibooks.org/wiki/SQL_Dialects_Reference/Data_structure_definition/Delimited_identifiers

Works in SQLite of course, and in MS SQL Server, but is probably not good
general advice. --DD


[sqlite] Reserved column names

2016-03-21 Thread Stephen Chrzanowski
AFAIK, SQLite comes from the grass roots of PostgreSQL.  Whatever
'standards' it adheres to, SQLite goes by.  As a fact, I don't know what
those standards are, and I don't care what they are.  The documentation on
SQLite.org says "This is how you use it", so that's how I'll use it.

Besides, SQL-xx, although called 'standards' are pretty much guidelines.
Between the 4 major DB engines (MSSQL, PGSQL, MYSQL, and SQLite) all of
them have their own tweaks and twists and methods of doing stuff.  I've
never used PGSQL beyond maybe two queries, but, getting a dump from one
engine to another always requires some sort of hacking, or, change of code,
or whatever you want to call it, to get the dump to work successfully.
Mostly it is with initialization functions, but even with table creation
and structures, I've found 'issues' I have to tackle on occasion.

On Mon, Mar 21, 2016 at 6:32 AM, Dominique Devienne 
wrote:

> On Mon, Mar 21, 2016 at 11:01 AM, Cezary H. Noweta 
> wrote:
>
> > On 2016-03-21 08:57, Dominique Devienne wrote:
> >
> >> Seems like using square-brackets instead of double-quotes is
> non-standard:
> >>
> >>
> https://en.wikibooks.org/wiki/SQL_Dialects_Reference/Data_structure_definition/Delimited_identifiers
> >>
> >
> > Explicitly documented by SQLite:
> >
>
> And? That's still non-SQL standard.
>
> SQLite tries to be compatible with non-standard extensions
> from various popular RDBMS', but when a standard alternative
> exists, it should be preferred IMHO. --DD
> ___
> sqlite-users mailing list
> sqlite-users at mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>


[sqlite] windows 10 with System.Data.SQLite

2016-03-21 Thread Joe Mistachkin

Hinrich Aue wrote:
> 
> we are using System.Data.SQLite 1.0.80.0 in our product.
> Does this version support windows 10? 
> 

First of all, version 1.0.80.0 is almost 4 years old now and MANY
improvements have been made since then, including bug fixes.  The
current release is 1.0.99.0.

If possible, please consider updating to the latest version.

That being said, I don't know of any specific reason that version
1.0.80.0 would not work on Windows 10.

--
Joe Mistachkin