Documentation Source Text

Check-in [668f102220]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Update the FAQ to talk about unicode case conversions and comparisons.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 668f102220a56d272158d691168c52f6448ed43b
User & Date: drh 2008-08-12 16:12:51.000
Context
2008-08-12
18:10
Updates to the LIKE and GLOB documentation. CVSTrac ticket #3290. (check-in: ec08a46c8b user: drh tags: trunk)
16:12
Update the FAQ to talk about unicode case conversions and comparisons. (check-in: 668f102220 user: drh tags: trunk)
00:27
Continuing work on language syntax requirements. (check-in: ac58d1c1e9 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to pages/faq.in.
431
432
433
434
435
436
437


























438
439
440
441
442
443
444
  benign warnings mask real warnings that might arise in future changes.
  This is true enough.  But in reply, the developers observe that all
  warnings have already been fixed in the
  compilers used for SQLite development (various versions of GCC).
  Compiler warnings only arise from compilers that the developers do
  not have access to.</p>
}



























# End of questions and answers.
#############

hd_puts {<h2>Frequently Asked Questions</h2>}

hd_puts {<oL>}







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
  benign warnings mask real warnings that might arise in future changes.
  This is true enough.  But in reply, the developers observe that all
  warnings have already been fixed in the
  compilers used for SQLite development (various versions of GCC).
  Compiler warnings only arise from compilers that the developers do
  not have access to.</p>
}

faq {
  Case-insensitive matching of Unicode characters does not work.
} {
  The default configuration of SQLite only supports case-insensitive
  comparisons of ASCII characters.  The reason for this is that doing
  full unicode case-insensitive comparisons and case conversions 
  requires tables and logic that would nearly double the size of
  the SQLite library.  The
  SQLite developers reason that any application that needs full
  unicode case support probably already has the necessary tables and
  functions and so SQLite should not take up space to 
  duplicate this ability.</p>

  <p>Instead of providing full unicode case support by default, 
  SQLite provides the ability to link against external
  unicode comparison and conversion routines.
  The application can overload the built-in [NOCASE] collating
  sequence (using [sqlite3_create_collation()]) and the built-in
  [like()], [upper()], and [lower()] functions
  (using [sqlite3_create_function()]).  
  The SQLite source code includes an "ICU" extension that does 
  these overloads.  Or, developers can write their own overloads
  based on their own unicode-aware comparison routines already
  contained within their project.
}

# End of questions and answers.
#############

hd_puts {<h2>Frequently Asked Questions</h2>}

hd_puts {<oL>}