Re: [v9.2] make_greater_string() does not return a string in some cases

From: Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)oss(dot)ntt(dot)co(dot)jp>
To: robertmhaas(at)gmail(dot)com
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: [v9.2] make_greater_string() does not return a string in some cases
Date: 2011-10-07 04:22:46
Message-ID: 20111007.132246.187325868.horiguchi.kyotaro@oss.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

Thank you for reviewing.

The new version of this patch is attached to this message.

> > But it seems to me that if the datatype is BYTEAOID then
> > there's no need to restore anything at all, because we're not
> > going to call pg_mbcliplen() in that case anyway.  So I think
> > the logic here can be simplified.

I agree with you. The original code does not restore the changed
byte. I removed the lastchar preservation from
make_greater_string().

> > Also, you haven't completely fixed the style issues.  Function
> > definitions should look like this:
..
> > Opening curly braces should be on a line by themselves, not at the end
> > of the preceding if, while, etc. line.
> >
> > "finnaly" is spelled incorrectly.

I'm very sorry for left mixed defferent style a lot. I think
I've done the correction of the styles for function definition
and braces. The misspelled word is removed with whole sentense
because re-cheking just before return had been removed.

> Oh, and there's this:
>
> wchar.c: In function ‘pg_utf8_increment’:
> wchar.c:1376: warning: unused variable ‘success’
> wchar.c: In function ‘pg_eucjp_increment’:
> wchar.c:1433: warning: unused variable ‘success’

Oops... I have rebased the patch and removed all warnings.
make check has been passed all-ok.

I confirmed that the planner decides to use index with proper
boundaries for like expression with the certain characters on
problematic code point, on the database encodings both UTF-8 and
EUC-JP with the database locale is C, and database locale is
ja_JP.UTF8. And also for bytea ends with 0xff and 0x00, 0x01.

This is the third version of the patch.

Regards,

--
Kyotaro Horiguchi
NTT Open Source Software Center

Attachment Content-Type Size
charinc_20111007_v3.patch text/x-patch 8.7 KB

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Sergey 2011-10-07 07:29:39 BUG #6242: ERROR: unexpected CASE WHEN clause: 333
Previous Message Daniel Cristian Cruz 2011-10-06 18:36:42 Re: BUG #6226: Broken foreign key stored on database (parent deleted with children still readable, BUG#6225 Update)

Browse pgsql-hackers by date

  From Date Subject
Next Message Nikhil Sontakke 2011-10-07 06:28:00 Re: Review: Non-inheritable check constraints
Previous Message Jeff Davis 2011-10-07 03:41:42 Re: Range Types - typo + NULL string constructor