List:Commits« Previous MessageNext Message »
From:Alexander Barkov Date:August 20 2009 10:22am
Subject:Re: WL#2649
View as plain text  
Hi Øystein,

I'm sorry for delay with this WL.
I rewrote the patch from scratch. Details in a separate letter.

Please find some answers below:


Ø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.

Right.

> 
> 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).

Yes, these result changes look correct.

> 
>       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
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