Re: DBD::mysql path forward

"H.Merijn Brand" <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.general,gmane.comp.lang.perl.modules.dbi.sybase.devel
Message-ID <[email protected]>
On Thu, 14 Sep 2017 09:44:54 +0200, [email protected] wrote:

> > BYTE/BLOB/TEXT tests require three types of data
> > 
> > • Pure ASCII
> > • Correct UTF-8 (with complex combinations)  
> 
> subtest: Correct UTF-8 TEXT with only code points in range U+00 .. U+7F (ASCII subset)
> subtest: Correct UTF-8 TEXT with only code points in range U+00 .. U+FF (Latin1 subset)

ASCII:		  U+000000 .. U+00007F
iso-8859-*:	+ U+000080 .. U+0000FF (includes cp1252)
iso-10646:	+ U+000100 .. U+0007FF
		+ U+000800 .. U+00D7FF
		+ U+00E000 .. U+00FFFF
utf-8 1):	+ U+010000 .. U+10FFFF
		+ surrogates
		+ bidirectionality
		+ normalization
		+ collation (order by)

1) some iso-10646 implementations already support supplementary
   codepoints. Depends on the version of the standard

With 100% Unicode, data my go bust if stored in UTF-8 fields

Unify defines a "correct" order of combined characters. I don't know
exactly what the order is, but if a letter has more than one combined
characters in it, like

 ờ U01edd \N{LATIN SMALL LETTER O WITH HORN AND GRAVE}
 ȭ U0022d \N{LATIN SMALL LETTER O WITH TILDE AND MACRON}

inserting "LATIN SMALL LETTER O" "WITH GRAVE" "WITH HORN"
is allowed to return as "LATIN SMALL LETTER O" "WITH HORN" "WITH GRAVE"
or as "LATIN SMALL LETTER O WITH GRAVE" "WITH HORN" or
"LATIN SMALL LETTER O WITH HORN" "WITH GRAVE" or
"LATIN SMALL LETTER O WITH HORN AND GRAVE"

They all represent the same grapheme. From a user perpective when
dealing with Unicode, that is fine. From a testing purpose this is
not :(

So, *if* you test with combining characters (that do not represent in a
single codepoint) make sure it matches the Unicode defined order

FYI This is why I still don't support *real* binary in perl6' Text::CSV

-- 
H.Merijn Brand  http://tux.nl   Perl Monger  http://amsterdam.pm.org/
using perl5.00307 .. 5.27   porting perl5 on HP-UX, AIX, and openSUSE
http://mirrors.develooper.com/hpux/        http://www.test-smoke.org/
http://qa.perl.org   http://www.goldmark.org/jeff/stupid-disclaimers/
signature.asc (application/pgp-signature, 473 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJZulOMAAoJEAOhR6E+XcCYAtMH/RlkHA5ygUP0V8nLeSi2Ssoc
iryQVbJ6yNS6MhW6PC9Wp062It6AC1Fuc5fxM+ht0w1324+UevK8k2U6eM8TdqVz
tl6WzFPkvVGz9UwQ0X83z5tWM/PYXiEegD1/niYSe0cAoWqPnDaRj8YgUHDFwuuI
RuGr9BpipLblFpaAL1tMmwxDg9tsKopwigrQzEc+uMKUMrwepKed0VwrQ1gU1cDD
kdFz3aPMEwh9M6FJ8nAZtOUbvrvbnayp4sHpe2s2KFJwBR4ffTsdIY53MeVYusHv
9usHe7pq7aC5tD3YWN5tJCYpCYKtPYeiY5zp8S4KLnNlUHChFjeMRVgZG6pq+mI=
=pass
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.