1 |
Thomas Beaudry wrote: |
2 |
> |
3 |
>> > I'm with Marko. The use flag should be unicode. More accurate |
4 |
>> > description of what it's for even if people are only using it for |
5 |
>> > CJK support at the moment. |
6 |
>> |
7 |
>> The reason that CJK was chosen was that untill postgresql, I have only |
8 |
>> ever seen --enable-multibyte used for adding Asian font capabilities. It |
9 |
>> wasn't till this response that I was even aware that postgresql used it |
10 |
>> to add support for unicode (and others as well). I'll have to look at |
11 |
>> this issue in more depth because on occasion adding Asian support |
12 |
>> sometimes kills Russian or Greek support. May have to add an additional |
13 |
>> flag. |
14 |
|
15 |
So, when someone wants russian and greek (together->unicode) in |
16 |
postgresql it has to enable CJK and then possibly break some other |
17 |
applications which have nothing to do with pgsql. |
18 |
|
19 |
>> |
20 |
>> Unicode in this case is better, but not actually more accurate as |
21 |
>> unicode is just 1 of many encodings that postgresql activate with |
22 |
>> --enable-multibyte. multibyte or i18n might be more appropriate? |
23 |
|
24 |
I use always unicode inside the database because the client can choose |
25 |
the encoding for the connection and an eventual conversion happens on |
26 |
the fly. But someone may want to store the data internally in a specific |
27 |
encoding for performance issues. |
28 |
Automatic conversion can be disabled (and this saves performance and code |
29 |
size). |
30 |
This make me think about the possibility to have a finer granularity |
31 |
in configuring an ebuild: |
32 |
|
33 |
1) Combinations of global use flags activate a ebuild-local use flag. |
34 |
2) ebuild-local use flags have effect only on a given ebuild |
35 |
|
36 |
for example: |
37 |
|
38 |
global use flag: "unicode" -> local flag: "postgresql/multibyte" |
39 |
global use flag: "cjk" -> local flag: "postgresql/multibyte" |
40 |
|
41 |
pseudo code in ebuild: if use unicode or use then multibyte |
42 |
|
43 |
"local" (a better name...) use flags are like use flags but prefixed |
44 |
with the ebuild name path. |
45 |
|
46 |
/etc/make.conf: USE="... cjk -postgresql/unicode-conversion" |
47 |
|
48 |
this flags enable multibyte for Chinese-Japanese-Korean but |
49 |
without the overhead of conversions to other encodings. |
50 |
|
51 |
If this make sense to you I will elaborate it better and send |
52 |
a feature bug. But if it is stupid tell me now :-) |
53 |
|
54 |
> |
55 |
> Multibyte sounds like the best to me. i18n uses both single- and multi- |
56 |
> byte fonts so wouldn't be entirely accurate. |
57 |
|
58 |
Multibyte is not bad as it is a 1-to-1 mapping with the configure flag, |
59 |
but I think i may be confusing. The word "multibyte" doesn't associate |
60 |
with text and encoding but to actual implementation. |
61 |
|
62 |
Marko |