List:Commits« Previous MessageNext Message »
From:Peter Gulutzan Date:July 15 2009 5:43pm
Subject:Re: WL#2649
View as plain text  
Hi Øystein,

Øystein Grøvlen wrote:
> Peter Gulutzan wrote:
>> Perhaps the confusion is caused by the use of names like 'val_ascii'.
>> Since digits and basic punctuation are all in the ascii repertoire, it's
>> of course
>> true that the result happens to be in ascii. It also happens to be in
>> latin2, or
>> any other 8-bit character set that MySQL supports. If somebody wants to
>> say "this value is ascii", that's fine, and trivial, and has nothing to
>> do with
>> the worklog task requirement.
> 
> Peter, Sergei, and Bar
> 
> I owe you all an apology.  After reading the above, and experimenting
> with the patch, I finally understood what Bar has been trying to tell
> me all the time.  Part of the problem was that I did not quite
> understand what ascii repertoire meant.  I now understand that the
> val_str_ascii methods is an optimization used on intermediate results
> that are guaranteed to only contain ascii.
> 
> On the other hand, my experiments revealed a change of behavior: The
> collation reported to the client for types that are not strings have
> changed.  Is this OK?
> Below some examples are shown (default character set is latin2).
> 
>       With 2649 patch                    Without 2649 patch
>       ===============                    ===================
> mysql> select 1;                      mysql> select 1;
> Field   1:  `1`                       Field   1:  `1`
> Catalog:    `def`                     Catalog:    `def`
> Database:   ``                        Database:   ``
> Table:      ``                        Table:      ``
> Org_table:  ``                        Org_table:  ``
> Type:       LONGLONG                  Type:       LONGLONG
> Collation:  latin2_general_ci (9)     Collation:  binary (63)
> Length:     1                         Length:     1
> Max_length: 1                         Max_length: 1
> Decimals:   0                         Decimals:   0
> Flags:      NOT_NULL NUM              Flags:      NOT_NULL BINARY NUM
> 
> 
> +---+                                 +---+
> | 1 |                                 | 1 |
> +---+                                 +---+
> | 1 |                                 | 1 |
> +---+                                 +---+
> 1 row in set (0.00 sec)               1 row in set (0.00 sec)
> 
> mysql> select curdate();              mysql> select curdate();
> Field   1:  `curdate()`               Field   1:  `curdate()`
> Catalog:    `def`                     Catalog:    `def`
> Database:   ``                        Database:   ``
> Table:      ``                        Table:      ``
> Org_table:  ``                        Org_table:  ``
> Type:       DATE                      Type:       DATE
> Collation:  latin2_general_ci (9)     Collation:  binary (63)
> Length:     10                        Length:     10
> Max_length: 10                        Max_length: 10
> Decimals:   0                         Decimals:   0
> Flags:      NOT_NULL                  Flags:      NOT_NULL BINARY
> 
> 
> +------------+                        +------------+
> | curdate()  |                        | curdate()  |
> +------------+                        +------------+
> | 2009-07-03 |                        | 2009-07-03 |
> +------------+                        +------------+
> 1 row in set (0.00 sec)               1 row in set (0.00 sec)
> 
> mysql> select INET_ATON('10.10.0.1'); mysql> select INET_ATON('10.10.0.1');
> Field   1:  `INET_ATON('10.10.0.1')`  Field   1:  `INET_ATON('10.10.0.1')`
> Catalog:    `def`                     Catalog:    `def`
> Database:   ``                        Database:   ``
> Table:      ``                        Table:      ``
> Org_table:  ``                        Org_table:  ``
> Type:       LONGLONG                  Type:       LONGLONG
> Collation:  latin2_general_ci (9)     Collation:  binary (63)
> Length:     21                        Length:     21
> Max_length: 9                         Max_length: 9
> Decimals:   0                         Decimals:   0
> Flags:      UNSIGNED NUM              Flags:      UNSIGNED BINARY NUM
> 
> 
> +------------------------+            +------------------------+
> | INET_ATON('10.10.0.1') |            | INET_ATON('10.10.0.1') |
> +------------------------+            +------------------------+
> |              168427521 |            |              168427521 |
> +------------------------+            +------------------------+
> 1 row in set (0.00 sec)               1 row in set (0.00 sec)
> 
> mysql>                                mysql>
> 
> -- 
> Øystein

That is not okay.
A patch for WL#2649 should not have any of the above effects.
As WL#2649 text says:
"Only functions which meet the criteria in this worklog task description
are affected by this task."

Peter Gulutzan
Sun Microsystems / MySQL


Thread
bzr commit into mysql-6.0 branch (bar:2701) WL#2649Alexander Barkov4 Mar
  • Re: bzr commit into mysql-6.0 branch (bar:2701) WL#2649Øystein Grøvlen24 Apr
    • Re: bzr commit into mysql-6.0 branch (bar:2701) WL#2649Alexander Barkov29 Apr
      • Re: bzr commit into mysql-6.0 branch (bar:2701) WL#2649Øystein Grøvlen5 May
        • WL#2649Alexander Barkov19 Jun
          • Re: WL#2649Øystein Grøvlen25 Jun
            • Re: WL#2649Alexander Barkov25 Jun
              • Re: WL#2649Øystein Grøvlen25 Jun
                • Re: WL#2649Peter Gulutzan29 Jun
                  • Re: WL#2649Øystein Grøvlen1 Jul
                    • Re: WL#2649Peter Gulutzan2 Jul
                      • Re: WL#2649Øystein Grøvlen3 Jul
                        • Re: WL#2649Peter Gulutzan15 Jul
                        • Re: WL#2649Alexander Barkov20 Aug
                        • Re: WL#2649Alexander Barkov20 Aug
                          • Re: WL#2649Øystein Grøvlen21 Aug
    • Re: bzr commit into mysql-6.0 branch (bar:2701) WL#2649Alexander Barkov5 May
      • Re: bzr commit into mysql-6.0 branch (bar:2701) WL#2649Alexander Barkov5 May
        • Re: bzr commit into mysql-6.0 branch (bar:2701) WL#2649Øystein Grøvlen6 May
      • Re: bzr commit into mysql-6.0 branch (bar:2701) WL#2649Øystein Grøvlen6 May