Commit Graph

11203 Commits

Author SHA1 Message Date
Tatsuo Ishii
df4cba68cf Commit Patrice's patches except:
> - corrects a bit the UTF-8 code from Tatsuo to allow Unicode 3.1
>  characters (characters with values >= 0x10000, which are encoded on
>  four bytes).

Also, update mb/expected/unicode.out. This is necessary since the
patches affetc the result of queries using UTF-8.
---------------------------------------------------------------
Hi,

I should have sent the patch earlier, but got delayed by other stuff.
Anyway, here is the patch:

- most of the functionality is only activated when MULTIBYTE is
  defined,

- check valid UTF-8 characters, client-side only yet, and only on
  output, you still can send invalid UTF-8 to the server (so, it's
  only partly compliant to Unicode 3.1, but that's better than
  nothing).

- formats with the correct number of columns (that's why I made it in
  the first place after all), but only for UNICODE. However, the code
  allows to plug-in routines for other encodings, as Tatsuo did for
  the other multibyte functions.

- corrects a bit the UTF-8 code from Tatsuo to allow Unicode 3.1
  characters (characters with values >= 0x10000, which are encoded on
  four bytes).

- doesn't depend on the locale capabilities of the glibc (useful for
  remote telnet).

I would like somebody to check it closely, as it is my first patch to
pgsql.  Also, I created dummy .orig files, so that the two files I
created are included, I hope that's the right way.

Now, a lot of functionality is NOT included here, but I will keep that
for 7.3 :) That includes all string checking on the server side (which
will have to be a bit more optimised ;) ), and the input checking on
the client side for UTF-8, though that should not be difficult. It's
just to send the strings through mbvalidate() before sending them to
the server. Strong checking on UTF-8 strings is mandatory to be
compliant with Unicode 3.1+ .

Do I have time to look for a patch to include iso-8859-15 for 7.2 ?
The euro is coming 1. january 2002 (before 7.3 !) and over 280
millions people in Europe will need the euro sign and only iso-8859-15
and iso-8859-16 have it (and unfortunately, I don't think all Unices
will switch to Unicode in the meantime)....

err... yes, I know that this is not every single person in Europe that
uses PostgreSql, so it's not exactly 280m, but it's just a matter of
time ! ;)

I'll come back (on pgsql-hackers) later to ask a few questions
regarding the full unicode support (normalisation, collation,
regexes,...) on the server side :)

Here is the patch !

Patrice.

--
Patrice HÉDÉ ------------------------------- patrice à islande org -----
  --  Isn't it weird  how scientists  can imagine  all the matter of the
universe exploding out of a dot smaller than the head of a pin, but they
can't come up with a more evocative name for it than "The Big Bang" ?
  -- What would _you_ call the creation of the universe ?
  -- "The HORRENDOUS SPACE KABLOOIE !"               - Calvin and Hobbes
------------------------------------------ http://www.islande.org/ -----
2001-10-15 01:25:10 +00:00
Tatsuo Ishii
d07bacd54a Add UTF-8 char >= 0x10000 check 2001-10-15 01:19:15 +00:00
Tom Lane
9bc15d499d Update examples of type coercion rules --- some of them no longer worked
as the example claimed, because of changes elsewhere in the system.
2001-10-15 01:00:59 +00:00
Tom Lane
e3b3eb20a4 Synchronize with main parser's keyword list (someone didn't check his
last commit very carefully...)
2001-10-15 00:06:04 +00:00
Bruce Momjian
360e61e1f5 Update FAQ. 2001-10-14 23:27:31 +00:00
Michael Meskes
1ebc028cbc - Fixed GRANT statement.
- Synced preproc.y with gram.y.
2001-10-14 12:07:57 +00:00
Tom Lane
e482dcb0a4 Make selectivity routines cope gracefully with NaNs, infinities, and
NUMERIC values that are out of the range of 'double'.  Per trouble
report from Mike Quinn.
2001-10-13 23:32:34 +00:00
Peter Eisentraut
d1c6983899 Fix logic in insert() function. 2001-10-13 19:16:32 +00:00
Tom Lane
9ca41c0413 Fixing closed-path intersection logic causes this test to find more
streets than it used to...
2001-10-13 17:41:11 +00:00
Tom Lane
cf5dc330b9 path_inter, path_distance, path_length, dist_ppath now do the right
things with closed paths --- ie, include the closing line segment in
their calculations.  Per bug report from Curtis Barrett 9-Oct-01.
2001-10-13 17:40:24 +00:00
Tom Lane
58dc94abac Add missing prototype to suppress gcc warning. 2001-10-13 16:34:08 +00:00
Tom Lane
f42b88d1b4 Residual cleanup from making pltcl unknown support always enabled. 2001-10-13 15:24:23 +00:00
Tom Lane
b2c37b4c51 Autoconf. 2001-10-13 15:20:51 +00:00
Bruce Momjian
657d0044b0 Update FAQ. 2001-10-13 05:27:05 +00:00
Bruce Momjian
46712990bd More keyword uppercasing. 2001-10-13 04:58:35 +00:00
Bruce Momjian
8123d8f150 Here are few more translated messages into Russian
for the PG_DUMP component.

Please apply to </src/bin/pg_dump/ru.po>

Serguei A. Mokhov
2001-10-13 04:25:27 +00:00
Bruce Momjian
1d3a47af0c Attached patch for unconditional enabling of pltcl-unknown support.
Enabling this feature adds very light overhead of 1 select from pg_class on
first using of pl/tcl in backend if unknown suppport is really unused.
But pl/tcl with this support has very improved functionality.

Patch includes changes to documentation.
2001-10-13 04:23:50 +00:00
Bruce Momjian
36458b93e0 Update FAQ. 2001-10-13 03:53:45 +00:00
Bruce Momjian
db7aa99fb9 Update FAQ. 2001-10-13 03:37:42 +00:00
Bruce Momjian
dac9f40ba8 Mention createlang when language not installed, per problem report. 2001-10-13 01:35:25 +00:00
Bruce Momjian
cdd4379394 Update FAQ. 2001-10-13 01:32:47 +00:00
Bruce Momjian
0818073894 More uppercasing. 2001-10-12 23:34:30 +00:00
Bruce Momjian
705869dd17 Uppercase keywords where appropriate. 2001-10-12 23:32:34 +00:00
Tom Lane
b57705673d txtidx datatype for full text indexing with GiST.
From Oleg Bartunov and Teodor Sigaev.
2001-10-12 23:19:09 +00:00
Bruce Momjian
c24216bea8 Fix reverse FOR loop to work properly, uppercase cleanup in file. 2001-10-12 21:19:09 +00:00
Bruce Momjian
ec614c9872 Remove locale/multibyte in HISTORY file, for Tatsuo. 2001-10-12 17:46:00 +00:00
Bruce Momjian
c0b2bbf42e Add WAL mmap() mention. 2001-10-12 17:35:10 +00:00
Bruce Momjian
68966634b2 Update TODO list. 2001-10-12 17:34:36 +00:00
Bruce Momjian
6790f21441 Update TODO list. 2001-10-12 17:33:46 +00:00
Bruce Momjian
63a22cd2dd Update TODO list. 2001-10-12 17:28:41 +00:00
Bruce Momjian
129b19f685 Update TODO list. 2001-10-12 17:23:04 +00:00
Bruce Momjian
d8f88f01f0 Update TODO list. 2001-10-12 16:29:36 +00:00
Bruce Momjian
010e8144cd Update TODO list. 2001-10-12 16:14:17 +00:00
Bruce Momjian
7d9d026323 Update TODO list. 2001-10-12 16:13:48 +00:00
Bruce Momjian
7bce3e95cf Remove mutex mention. Fixed now. 2001-10-12 16:10:51 +00:00
Bruce Momjian
182722f737 Update TODO list. 2001-10-12 16:07:34 +00:00
Hiroshi Inoue
0420342af1 Update the version of psqlodbc driver. 2001-10-12 09:41:49 +00:00
Bruce Momjian
ffcad12769 Update TODO list. 2001-10-12 02:50:48 +00:00
Tatsuo Ishii
f426465ba9 Add a new function "pg_client_encoding" which returns the current client
side encoding name. This is necessary for client API's such as JDBC
to perform correct encoding conversions. See my email "[HACKERS]
pg_client_encoding" 10 Sep 2001.
2001-10-12 02:08:34 +00:00
Hiroshi Inoue
9d13fcf0af Fix the bug reported by Chris Lee. 2001-10-12 01:08:51 +00:00
Tom Lane
f9e6e27c87 Break transformCreateStmt() into multiple routines and make
transformAlterStmt() use these routines, instead of having lots of
duplicate (not to mention should-have-been-duplicate) code.
Adding a column with a CHECK constraint actually works now,
and the tests to reject unsupported DEFAULT and NOT NULL clauses
actually fire now.  ALTER TABLE ADD PRIMARY KEY works, modulo
having to have created the column(s) NOT NULL already.
2001-10-12 00:07:15 +00:00
Bruce Momjian
e98476eb03 Document use of GEQO param in subquery pullups. 2001-10-11 21:16:26 +00:00
Bruce Momjian
9e642cd7ef Update TODO list. 2001-10-11 20:40:38 +00:00
Bruce Momjian
c19ff887c6 Add documention for ecpg -209 error. 2001-10-11 20:25:42 +00:00
Tom Lane
97d0c8b219 Suppress gcc warnings. 2001-10-11 18:06:52 +00:00
Bruce Momjian
78f7ba13cb Tatsuo Ishii <t-ishii@sra.co.jp> writes:
> As you can see, psql reconnect as any user if the password is same as
> foo. Of course this is due to the careless password setting, but I
> think it's better to prompt ANY TIME the user tries to switch to
> another user. Comments?

Yeah, I agree.  Looks like a simple change in dbconnect():

    /*
     * Use old password if no new one given (if you didn't have an old
     * one, fine)
     */
    if (!pwparam && oldconn)
        pwparam = PQpass(oldconn);

to

    /*
     * Use old password (if any) if no new one given and we are
     * reconnecting as same user
     */
    if (!pwparam && oldconn && PQuser(oldconn) && userparam &&
        strcmp(PQuser(oldconn), userparam) == 0)
        pwparam = PQpass(oldconn);

                        regards, tom lane
2001-10-11 16:54:18 +00:00
Bruce Momjian
b0c4598c66 Update TODO list. 2001-10-11 16:35:50 +00:00
Bruce Momjian
95c18db868 Remove mention of "pg_result -list" becuase it is not implemented, per
Tatsuo.
2001-10-11 16:30:41 +00:00
Tatsuo Ishii
51053d3216 Add support for ISO-8859-6 to 16 2001-10-11 14:20:35 +00:00
Peter Eisentraut
371f49bf9f Remove gratuitous discrepancy between extract() and date_part(),
regarding timezone_hour, timezone_minute vs. tz_hour, tz_minute.
Document the former.
2001-10-10 00:02:42 +00:00