Mysql g11n Excerpt 5.6 en.a4

148
7/29/2019 Mysql g11n Excerpt 5.6 en.a4 http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 1/148 MySQL Globalization

Transcript of Mysql g11n Excerpt 5.6 en.a4

Page 1: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 1/148

MySQL Globalization

Page 2: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 2/148

MySQL Globalization

Abstract

This is the MySQL Globalization extract from the MySQL 5.6 Reference Manual.

Document generated on: 2013-02-27 (revision: 34508)

Page 3: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 3/148

MySQL Globalization

5.2. String Collating Support for Complex Character Sets ........ ......... ........ ........ ........ ........ .... 595.3. Multi-Byte Character Support for Complex Character Sets .............................................. 60

6. Adding a Collation to a Character Set ...................................................................................... 616.1. Collation Implementation Types ........ ........ ........ ......... ........ ........ ........ ......... ........ ........ .. 626.2. Choosing a Collation ID ................................................................................................ 646.3. Adding a Simple Collation to an 8-Bit Character Set ........ ........ ........ ......... ........ ........ ..... 656.4. Adding a UCA Collation to a Unicode Character Set ...................................................... 66

6.4.1. Defining a UCA Collation using LDML Syntax ..................................................... 676.4.2. LDML Syntax Supported in MySQL .................................................................... 686.4.3. Diagnostics During Index.xml Parsing ............................................................. 72

7. MySQL Server Time Zone Support .......................................................................................... 73

7.1. Staying Current with Time Zone Changes ..................................................................... 757.2. Time Zone Leap Second Support ................................................................................. 76

8. MySQL Server Locale Support ................................................................................................ 79A. Licenses for Third-Party Components ...................................................................................... 83

A.1. Ant-Contrib License ...................................................................................................... 86A.2. ANTLR 3.3 License ...................................................................................................... 86A.3. Boost Library License .................................................................................................. 87A.4. c3p0 JDBC Library License .......................................................................................... 87A.5. dtoa.c License .......................................................................................................... 88

A.6. Editline Library (libedit) License ............................................................................... 88A.7. Facebook Fast Checksum Patch License ...................................................................... 91A.8. Facebook Patches License ........................................................................................... 92A.9. FindGTest.cmake License ........................................................................................ 92A.10. Fred Fish's Dbug Library License ................................................................................ 93A.11. getarg License ......................................................................................................... 94A.12. GLib License (for MySQL Proxy) ................................................................................ 94A.13. GNU General Public License Version 2.0, June 1991 ................................................... 95

A.14. GNU General Public License Version 3.0, 29 June 2007 and GCC Runtime LibraryException Version 3.1, 31 March 2009 ............................................................................... 100A.15. GNU Lesser General Public License Version 2.1, February 1999 ................................ 111A.16. GNU Libtool License ................................................................................................ 118A.17. GNU Readline License ............................................................................................. 119A.18. GNU Standard C++ Library (libstdc++) License .......................................................... 119A.19. Google Controlling Master Thread I/O Rate Patch License ......................................... 120A.20. Google Perftools (TCMalloc utility) License ................................................................ 121A.21. Google SMP Patch License ...................................................................................... 121

A.22. jboss-common-jdbc-wrapper.jar License .................................................................... 122A.23. lib_sql.cc License ............................................................................................... 122A.24. Libaio License .......................................................................................................... 122A.25. libevent License ................................................................................................... 123A.26. Libiconv License ...................................................................................................... 124A.27. libintl License ..................................................................................................... 125A 28 Linux-PAM License 125

Page 4: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 4/148

MySQL Globalization

A.43. Richard A. O'Keefe String Library License ............. ......... ........ ........ ........ ......... ........ .. 136A.44. SHA-1 in C License ................................................................................................. 137

A.45. Simple Logging Facade for Java (SLF4J) License ...................................................... 137A.46. Unicode Data Files ................................................................................................... 137A.47. zlib License ........................................................................................................... 138A.48. ZLIB.NET License .................................................................................................... 138

Page 5: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 5/148

Page 6: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 6/148

Preface and Legal Notices

This is the MySQL Globalization extract from the MySQL 5.6 Reference Manual.

Legal Notices

Copyright © 1997, 2013, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containingrestrictions on use and disclosure and are protected by intellectual property laws. Except as expresslypermitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate,

broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in anyform, or by any means. Reverse engineering, disassembly, or decompilation of this software, unlessrequired by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this software or related documentation is delivered to the U.S. Government or anyone licensing it onbehalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation andtechnical data delivered to U.S. Government customers are "commercial computer software" or"commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, andadaptation shall be subject to the restrictions and license terms set forth in the applicable Governmentcontract, and, to the extent applicable by the terms of the Government contract, the additional rights setforth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc.,500 Oracle Parkway, Redwood City, CA 94065.

This software is developed for general use in a variety of information management applications. It is notdeveloped or intended for use in any inherently dangerous applications, including applications whichmay create a risk of personal injury. If you use this software in dangerous applications, then you shallbe responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure thesafe use of this software. Oracle Corporation and its affiliates disclaim any liability for any damagescaused by use of this software in dangerous applications.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. MySQL is a trademark

of Oracle Corporation and/or its affiliates, and shall not be used without Oracle's express writtenauthorization. Other names may be trademarks of their respective owners.

This software and documentation may provide access to or information on content, products, andservices from third parties. Oracle Corporation and its affiliates are not responsible for and expresslydisclaim all warranties of any kind with respect to third-party content, products, and services. OracleCorporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to

Page 7: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 7/148

Legal Notices

not publish or distribute this documentation in any form or on any media, except if you distribute thedocumentation in a manner similar to how Oracle disseminates it (that is, electronically for download

on a Web site with the software) or on a CD-ROM or similar medium, provided however that thedocumentation is disseminated together with the software on the same medium. Any other use, suchas any dissemination of printed copies or use of this documentation, in whole or in part, in anotherpublication, requires the prior written consent from an authorized representative of Oracle. Oracle and/ or its affiliates reserve any and all rights to this documentation not expressly granted above.

For more information on the terms of this license, or for details on how the MySQL documentation isbuilt and produced, please visit MySQL Contact & Questions.

For additional licensing information, including licenses for third-party libraries used by MySQL products,see Preface and Legal Notices.

For help with using MySQL, please visit either the MySQL Forums or MySQL Mailing Lists where youcan discuss your issues with other MySQL users.

For additional documentation on MySQL products, including translations of the documentation intoother languages, and downloadable versions in variety of formats, including HTML and PDF formats,see the MySQL Documentation Library.

Page 8: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 8/148

Chapter 1. Globalization

This chapter covers issues of globalization, which includes internationalization (MySQL's capabilitiesfor adapting to local use) and localization (selecting particular local conventions):

• MySQL support for character sets in SQL statements.

• How to configure the server to support different character sets.

• Selecting the language for error messages.

• How to set the server's time zone and enable per-connection time zone support.

• Selecting the locale for day and month names.

Page 9: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 9/148

Page 10: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 10/148

Character Sets and Collations in General

server, database, table, and column level. MySQL supports the use of character sets for the MyISAM,MEMORY, and InnoDB storage engines.

This chapter discusses the following topics:

• What are character sets and collations?

• The multiple-level default system for character set assignment.

• Syntax for specifying character sets and collations.

• Affected functions and operations.

• Unicode support.

• The character sets and collations that are available, with notes.

Character set issues affect not only data storage, but also communication between client programs andthe MySQL server. If you want the client program to communicate with the server using a characterset different from the default, you'll need to indicate which one. For example, to use the utf8 Unicodecharacter set, issue this statement after connecting to the server:

SET NAMES 'utf8';

For more information about configuring character sets for application use and character set-relatedissues in client/server communication, see Section 2.5, “Configuring the Character Set and Collation forApplications”, and Section 2.4, “Connection Character Sets and Collations”.

2.1. Character Sets and Collations in General

A character set is a set of symbols and encodings. A collation is a set of rules for comparing characters

in a character set. Let's make the distinction clear with an example of an imaginary character set.

Suppose that we have an alphabet with four letters: “A”, “B”, “a”, “b”. We give each letter a number: “A”= 0, “B” = 1, “a” = 2, “b” = 3. The letter “A” is a symbol, the number 0 is the encoding for “A”, and thecombination of all four letters and their encodings is a character set.

Suppose that we want to compare two string values, “A” and “B”. The simplest way to do this is to lookat the encodings: 0 for “A” and 1 for “B”. Because 0 is less than 1, we say “A” is less than “B”. Whatwe've just done is apply a collation to our character set. The collation is a set of rules (only one rule in

this case): “compare the encodings.” We call this simplest of all possible collations a binary collation.

But what if we want to say that the lowercase and uppercase letters are equivalent? Then we wouldhave at least two rules: (1) treat the lowercase letters “a” and “b” as equivalent to “A” and “B”; (2) thencompare the encodings. We call this a case-insensitive collation. It is a little more complex than abinary collation.

Page 11: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 11/148

Specifying Character Sets and Collations

Collation Meaning

latin1_bin Binary according to latin1 encoding

latin1_general_ci Multilingual (Western European)

latin1_general_cs Multilingual (ISO Western European), case sensitive

latin1_spanish_ci Modern Spanish

Collations have these general characteristics:

• Two different character sets cannot have the same collation.

• Each character set has one collation that is the default collation . For example, the default collation forlatin1 is latin1_swedish _ci. The output for SHOW CHARACTER SET indicates which collationis the default for each displayed character set.

• There is a convention for collation names: They start with the name of the character set with whichthey are associated, they usually include a language name, and they end with _ci (case insensitive),

 _cs (case sensitive), or _bin (binary).

In cases where a character set has multiple collations, it might not be clear which collation is most

suitable for a given application. To avoid choosing the wrong collation, it can be helpful to performsome comparisons with representative data values to make sure that a given collation sorts values theway you expect.

Collation-Charts.Org is a useful site for information that shows how one collation compares to another.

2.3. Specifying Character Sets and Collations

There are default settings for character sets and collations at four levels: server, database, table,and column. The description in the following sections may appear complex, but it has been found inpractice that multiple-level defaulting leads to natural and obvious results.

CHARACTER SET is used in clauses that specify a character set. CHARSET can be used as a synonymfor CHARACTER SET.

Character set issues affect not only data storage, but also communication between client programs andthe MySQL server. If you want the client program to communicate with the server using a characterset different from the default, you'll need to indicate which one. For example, to use the utf8 Unicode

character set, issue this statement after connecting to the server:

SET NAMES 'utf8';

For more information about character set-related issues in client/server communication, seeSection 2.4, “Connection Character Sets and Collations”.

Page 12: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 12/148

Database Character Set and Collation

shell> mysqld --character-set-server=latin1 \

  --collation-server=latin1_swedish_ci

One way to change the settings is by recompiling. To change the default server character set andcollation when building from sources, use the DEFAULT_CHARSET and DEFAULT_COLLATIONoptionsfor CMake. For example:

shell> cmake . -DDEFAULT_ CHARSET=latin1

Or:

shell> cmake . -DDEFAULT_CHARSET=latin1 \

  -DDEFAULT_COLLATION=latin1_german1_ci

Both mysqld and CMake verify that the character set/collation combination is valid. If not, eachprogram displays an error message and terminates.

The server character set and collation are used as default values if the database character set andcollation are not specified in CREATE DATABASE statements. They have no other purpose.

The current server character set and collation can be determined from the values of thecharacter_set_server and collation_server system variables. These variables can be

changed at runtime.

2.3.2. Database Character Set and Collation

Every database has a database character set and a database collation. The CREATE DATABASE andALTER DATABASE statements have optional clauses for specifying the database character set andcollation:

CREATE DATABASE db_name

[[DEFAULT] CHARACTER SET charset_name][[DEFAULT] COLLATE collation_name]

ALTER DATABASE db_name

[[DEFAULT] CHARACTER SET charset_name]

[[DEFAULT] COLLATE collation_name]

The keyword SCHEMA can be used instead of DATABASE.

All database options are stored in a text file named db.opt that can be found in the databasedirectory.

The CHARACTER SET and COLLATE clauses make it possible to create databases with differentcharacter sets and collations on the same MySQL server.

Example:

CREATE DATABASE db_name CHARACTER SET latin1 COLLATE latin1_swedish_ci;

Page 13: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 13/148

Table Character Set and Collation

The character set and collation for the default database can be determined from the values of thecharacter_set_database and collation_database system variables. The server sets thesevariables whenever the default database changes. If there is no default database, the variables havethe same value as the corresponding server-level system variables, character_set_server and

collation_server .

2.3.3. Table Character Set and Collation

Every table has a table character set and a table collation. The CREATE TABLE and ALTER TABLE

statements have optional clauses for specifying the table character set and collation:

CREATE TABLE tbl_name (column_list)

[[DEFAULT] CHARACTER SET charset_name]

[COLLATE collation_name]]

ALTER TABLE tbl_name

[[DEFAULT] CHARACTER SET charset_name]

[COLLATE collation_name]

Example:

CREATE TABLE t1 ( ... )

CHARACTER SET latin1 COLLATE latin1_danish_ci;

MySQL chooses the table character set and collation in the following manner:

• If both CHARACTER SET X and COLLATE Y are specified, character set X and collation Y are used.

• If CHARACTER SET X  is specified without COLLATE, character set X and its default collation areused. To see the default collation for each character set, use the SHOW COLLATION statement.

• If COLLATE Y  is specified without CHARACTER SET, the character set associated with Y and

collation Y are used.

• Otherwise, the database character set and collation are used.

The table character set and collation are used as default values for column definitions if the columncharacter set and collation are not specified in individual column definitions. The table character setand collation are MySQL extensions; there are no such things in standard SQL.

2.3.4. Column Character Set and Collation

Every “character” column (that is, a column of type CHAR, VARCHAR, or TEXT) has a column characterset and a column collation. Column definition syntax for CREATE TABLE and ALTER TABLE hasoptional clauses for specifying the column character set and collation:

col_name {CHAR | VARCHAR | TEXT} (col_length)

[CHARACTER SET charset name]

Page 14: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 14/148

Character String Literal Character Set and Collation

col1 VARCHAR(5)CHARACTER SET latin1

COLLATE latin1_swedish_ci;

MySQL chooses the column character set and collation in the following manner:

• If both CHARACTER SET X and COLLATE Y are specified, character set X and collation Y are used.

CREATE TABLE t1(

col1 CHAR(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci

) CHARACTER SET latin1 COLLATE latin1_bin;

The character set and collation are specified for the column, so they are used. The column hascharacter set utf8 and collation utf8_unicode_ci.

• If CHARACTER SET X  is specified without COLLATE, character set X and its default collation areused.

CREATE TABLE t1

(

col1 CHAR(10) CHARACTER SET utf8) CHARACTER SET latin1 COLLATE latin1_bin;

The character set is specified for the column, but the collation is not. The column has character set

utf8 and the default collation for utf8, which is utf8_general_ci. To see the default collation foreach character set, use the SHOW COLLATION statement.

• If COLLATE Y  is specified without CHARACTER SET, the character set associated with Y andcollation Y are used.

CREATE TABLE t1(

col1 CHAR(10) COLLATE utf8_polish_ci

) CHARACTER SET latin1 COLLATE latin1_bin;

The collation is specified for the column, but the character set is not. The column has collationutf8_polish_ci and the character set is the one associated with the collation, which is utf8.

• Otherwise, the table character set and collation are used.

CREATE TABLE t1

( col1 CHAR(10)

) CHARACTER SET latin1 COLLATE latin1_bin;

Neither the character set nor collation are specified for the column, so the table defaults are used.The column has character set latin1 and collation latin1_bin.

Th d l t d d SQL

Page 15: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 15/148

Character String Literal Character Set and Collation

SELECT _latin1'string ';SELECT _latin1'string ' COLLATE latin1_danish_ci;

For the simple statement SELECT 'string ', the string has the character set and collation defined bythe character_set_connection and collation_connection system variables.

The _ charset_name expression is formally called an introducer . It tells the parser, “the string that isabout to follow uses character set X .” Because this has confused people in the past, we emphasizethat an introducer does not change the string to the introducer character set like CONVERT() would do.It does not change the string's value, although padding may occur. The introducer is just a signal. Anintroducer is also legal before standard hex literal and numeric hex literal notation (x'literal' and

0xnnnn), or before bit-field literal notation (b'literal' and 0bnnnn).

Examples:

SELECT _latin1 x'AABBCC';

SELECT _latin1 0xAABBCC;SELECT _latin1 b'1100011';

SELECT _latin1 0b1100011;

MySQL determines a literal's character set and collation in the following manner:

• If both  _X and COLLATE Y are specified, character set X and collation Y are used.

• If  _X  is specified but COLLATE is not specified, character set X and its default collation are used. Tosee the default collation for each character set, use the SHOW COLLATION statement.

• Otherwise, the character set and collation given by the character_set_connection and

collation_connection system variables are used.

Examples:

• A string with latin1 character set and latin1_german1_ci collation:

SELECT _latin1'Müller' COLLATE latin1_german1_ci;

• A string with latin1 character set and its default collation (that is, latin1_swedish_ci):

SELECT _latin1'Müller';

• A string with the connection default character set and collation:

SELECT 'Müller';

Character set introducers and the COLLATE clause are implemented according to standard SQLspecifications.

A i d i di h h f h f ll i i b d h h h

Page 16: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 16/148

National Character Set

| HEX('à\n') | HEX(_sjis'à\n') |+------------+-----------------+

| E00A | E00A |

+------------+-----------------+1 row in set (0.00 sec)

Here, “à” (hex value E0) is followed by “\n”, the escape sequence for newline. The escape sequenceis interpreted using the character_set_connection value of latin1 to produce a literal newline(hex value 0A). This happens even for the second string. That is, the introducer of _sjis does notaffect the parser's escape processing.

Example 2:

mysql> SET NAMES sjis;

Query OK, 0 rows affected (0.00 sec)mysql> SELECT HEX('à\n'), HEX(_latin1'à\n');

+------------+-------------------+

| HEX('à\n') | HEX(_latin1'à\n') |

+------------+-------------------+| E05C6E | E05C6E |

+------------+-------------------+

1 row in set (0.04 sec)

Here, character_set_connection is sjis, a character set in which the sequence of “à” followedby “\” (hex values 05 and 5C) is a valid multi-byte character. Hence, the first two bytes of the stringare interpreted as a single sjis character, and the “\” is not interpreted as an escape character. Thefollowing “n” (hex value 6E) is not interpreted as part of an escape sequence. This is true even for thesecond string; the introducer of _latin1 does not affect escape processing.

2.3.6. National Character Set

Standard SQL defines NCHAR or NATIONAL CHAR as a way to indicate that a CHAR column should usesome predefined character set. MySQL 5.6 uses utf8 as this predefined character set. For example,these data type declarations are equivalent:

CHAR(10) CHARACTER SET utf8

NATIONAL CHARACTER(10)

NCHAR(10)

As are these:

VARCHAR(10) CHARACTER SET utf8

NATIONAL VARCHAR(10)

NCHAR VARCHAR(10)NATIONAL CHARACTER VARYING(10)

NATIONAL CHAR VARYING(10)

You can use N'literal' (or n'literal') to create a string in the national character set. Thesestatements are equivalent:

Page 17: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 17/148

Compatibility with Other DBMSs

(c1 CHAR(10) CHARACTER SET latin1 COLLATE latin1_german1_ci

) DEFAULT CHARACTER SET latin2 COLLATE latin2_bin;

Here we have a column with a latin1 character set and a latin1_german1_ci collation. Thedefinition is explicit, so that is straightforward. Notice that there is no problem with storing a latin1

column in a latin2 table.

Example 2: Table and Column Definition

CREATE TABLE t1

(c1 CHAR(10) CHARACTER SET latin1

) DEFAULT CHARACTER SET latin1 COLLATE latin1_danish_ci;

This time we have a column with a latin1 character set and a default collation. Although itmight seem natural, the default collation is not taken from the table level. Instead, because thedefault collation for latin1 is always latin1_swedish_ci , column c1 has a collation oflatin1_swedish_ci (not latin1_danish_ci).

Example 3: Table and Column Definition

CREATE TABLE t1(

c1 CHAR(10)

) DEFAULT CHARACTER SET latin1 COLLATE latin1_danish_ci;

We have a column with a default character set and a default collation. In this circumstance, MySQLchecks the table level to determine the column character set and collation. Consequently, the characterset for column c1 is latin1 and its collation is latin1_danish_ci .

Example 4: Database, Table, and Column Definition

CREATE DATABASE d1

DEFAULT CHARACTER SET latin2 COLLATE latin2_czech_ci;

USE d1;CREATE TABLE t1

(

c1 CHAR(10)

);

We create a column without specifying its character set and collation. We're also not specifying a

character set and a collation at the table level. In this circumstance, MySQL checks the databaselevel to determine the table settings, which thereafter become the column settings.) Consequently, thecharacter set for column c1 is latin2 and its collation is latin2_czech_ci.

2.3.8. Compatibility with Other DBMSs

Page 18: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 18/148

Connection Character Sets and Collations

Additional character set and collation system variables are involved in handling traffic for theconnection between a client and the server. Every client has connection-related character set andcollation system variables.

A “connection” is what you make when you connect to the server. The client sends SQL statements,such as queries, over the connection to the server. The server sends responses, such as result sets orerror messages, over the connection back to the client. This leads to several questions about characterset and collation handling for client connections, each of which can be answered in terms of systemvariables:

• What character set is the statement in when it leaves the client?

The server takes the character_set_client system variable to be the character set in whichstatements are sent by the client.

• What character set should the server translate a statement to after receiving it?

For this, the server uses the character_set_connection and collation_connection

system variables. It converts statements sent by the client from character_set_client

to character_set_connection (except for string literals that have an introducer such as

 _latin1 or _utf8). collation_connection is important for comparisons of literal strings. For

comparisons of strings with column values, collation_connection does not matter becausecolumns have their own collation, which has a higher collation precedence.

• What character set should the server translate to before shipping result sets or error messages backto the client?

The character_set_results system variable indicates the character set in which the serverreturns query results to the client. This includes result data such as column values, and resultmetadata such as column names and error messages.

Clients can fine-tune the settings for these variables, or depend on the defaults (in which case, you canskip the rest of this section). If you do not use the defaults, you must change the character settings for each connection to the server.

Two statements affect the connection-related character set variables as a group:

• SET NAMES 'charset_name' [COLLATE 'collation_name']

SET NAMES indicates what character set the client will use to send SQL statements to the server.Thus, SET NAMES 'cp1251' tells the server, “future incoming messages from this client are incharacter set cp1251.” It also specifies the character set that the server should use for sendingresults back to the client. (For example, it indicates what character set to use for column values if youuse a SELECT statement.)

A SET NAMES 'charset_name' statement is equivalent to these three statements:

Page 19: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 19/148

Connection Character Sets and Collations

SET character_set_client = charset_name;

SET character_set_results = charset_name;

SET collation_connection = @@collation_database;

Setting collation_connection also implicitly sets character_set_connectionto the character set associated with the collation (equivalent to executing SET

character_set_connection = @@character_set_database). It is unnecessary to setcharacter_set_connection explicitly.

Note

ucs2, utf16, utf16le, and utf32 cannot be used as a client character set,which means that they do not work for SET NAMES or SET CHARACTER SET.

The MySQL client programs mysql, mysqladmin, mysqlcheck, mysqlimport, and mysqlshow

determine the default character set to use as follows:

• In the absence of other information, the programs use the compiled-in default character set, usuallylatin1.

• The programs can autodetect which character set to use based on the operating system setting,such as the value of the LANG or LC_ALL locale environment variable on Unix systems or the code

page setting on Windows systems. For systems on which the locale is available from the OS, theclient uses it to set the default character set rather than using the compiled-in default. For example,setting LANG to ru_RU.KOI8-R causes the koi8r character set to be used. Thus, users canconfigure the locale in their environment for use by MySQL clients.

The OS character set is mapped to the closest MySQL character set if there is no exact match. Ifthe client does not support the matching character set, it uses the compiled-in default. For example,

ucs2 is not supported as a connection character set.

C applications can use character set autodetection based on the OS setting by invokingmysql_options() as follows before connecting to the server:

mysql_options(mysql,

MYSQL_SET_CHARSET_NAME,

MYSQL_AUTODETECT_CHARSET_NAME);

• The programs support a --default-character-set option, which enables users to specify thecharacter set explicitly to override whatever default the client otherwise determines.

When a client connects to the server, it sends the name of the character set that it wants to use.The server uses the name to set the character_set_client , character_set_results , andcharacter_set_connection system variables. In effect, the server performs a SET NAMES

operation using the character set name.

With the mysql client, to use a character set different from the default, you could explicitly executeSET NAMES every time you start up. To accomplish the same result more easily, add the --default-

Page 20: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 20/148

Configuring the Character Set and Collation for Applications

Example: Suppose that column1 is defined as CHAR(5) CHARACTER SET latin2. If you do not saySET NAMES or SET CHARACTER SET, then for SELECT column1 FROM t, the server sends backall the values for column1 using the character set that the client specified when it connected. On the

other hand, if you say SET NAMES 'latin1' or SET CHARACTER SET latin1 before issuing theSELECT statement, the server converts the latin2 values to latin1 just before sending results back.Conversion may be lossy if there are characters that are not in both character sets.

If you want the server to perform no conversion of result sets or error messages, setcharacter_set_results to NULL or binary:

SET character_set_results = NULL;

To see the values of the character set and collation system variables that apply to your connection, usethese statements:

SHOW VARIABLES LIKE 'character_set%';

SHOW VARIABLES LIKE 'collation%';

You must also consider the environment within which your MySQL applications execute. SeeSection 2.5, “Configuring the Character Set and Collation for Applications”.

For more information about character sets and error messages, see Section 2.6, “Character Set for

Error Messages”.

2.5. Configuring the Character Set and Collation for Applications

For applications that store data using the default MySQL character set and collation (latin1,latin1_swedish_ci), no special configuration should be needed. If applications require data storageusing a different character set or collation, you can configure character set information several ways:

• Specify character settings per database. For example, applications that use one database mightrequire utf8, whereas applications that use another database might require sjis.

• Specify character settings at server startup. This causes the server to use the given settings for allapplications that do not make other arrangements.

• Specify character settings at configuration time, if you build MySQL from source. This causes theserver to use the given settings for all applications, without having to specify them at server startup.

When different applications require different character settings, the per-database technique provides

a good deal of flexibility. If most or all applications use the same character set, specifying charactersettings at server startup or configuration time may be most convenient.

For the per-database or server-startup techniques, the settings control the character set fordata storage. Applications must also tell the server which character set to use for client/servercommunications, as described in the following instructions.

Page 21: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 21/148

Collation Issues

The server constructs error messages as follows:

• The message template uses UTF-8.

• Parameters in the message template are replaced with values that apply to a specific erroroccurrence:

• Identifiers such as table or column names use UTF-8 internally so they are copied as is.

• Character (nonbinary) string values are converted from their character set to UTF-8.

• Binary string values are copied as is for bytes in the range 0x20 to 0x7E, and using \x hex

encoding for bytes outside that range. For example, if a duplicate-key error occurs for an attemptto insert 0x41CF9F into a VARBINARY unique column, the resulting error message uses UTF-8with some bytes hex encoded:

Duplicate entry 'A\xC3\x9F' for key 1

To return a message to the client after it has been constructed, the server converts it fromUTF-8 to the character set specified by the character_set_results system variable. If

character_set_results has a value of NULL or binary, no conversion occurs. No conversion

occurs if the variable value is utf8, either, because that matches the original error message characterset.

For characters that cannot be represented in character_set_results , some encoding may occurduring the conversion. The encoding uses Unicode code point values:

• Characters in the Basic Multilingual Plane (BMP) range (0x0000 to 0xFFFF) are written using

\nnnn notation.

• Characters outside the BMP range (0x01000 to 0x10FFFF) are written using \+nnnnnn notation.

Clients can set character_set_results to control the character set in which they receive errormessages. The variable can be set directly, or indirectly by means such as SET NAMES. For moreinformation about character_set_results, see Section 2.4, “Connection Character Sets andCollations”.

The encoding that occurs during the conversion to character_set_results before returning errormessages to clients can result in different message content compared to earlier versions (before

MySQL 5.5). For example, if an error occurs for an attempt to drop a table named ペ (KATAKANALETTER PE) and character_set_results is a character set such as latin1 that does not containthat character, the resulting message sent to the client has an encoded table name:

ERROR 1051 (42S02): Unknown table '\30DA'

Before MySQL 5 5 the name is not encoded:

Page 22: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 22/148

Using COLLATE in SQL Statements

• A name ending in _bin indicates a binary collation. Character comparisons are based on characterbinary code values.

• Unicode collation names may include a version number to indicate the version of the UnicodeCollation Algorithm (UCA) on which the collation is based. UCA-based collations without a versionnumber in the name use the version-4.0.0 UCA weight keys: http://www.unicode.org/Public/ UCA/4.0.0/allkeys-4.0.0.txt. A collation name such as utf8_unicode_520_ci is based on UCA5.2.0 weight keys: http://www.unicode.org/Public/UCA/5.2.0/allkeys.txt.

2.7.2. Using COLLATE in SQL Statements

With the COLLATE clause, you can override whatever the default collation is for a comparison.

COLLATE may be used in various parts of SQL statements. Here are some examples:

• With ORDER BY:

SELECT k

FROM t1

ORDER BY k COLLATE latin1_german2_ci;

• With AS:

SELECT k COLLATE latin1_german2_ci AS k1FROM t1

ORDER BY k1;

• With GROUP BY:

SELECT k

FROM t1

GROUP BY k COLLATE latin1_german2_ci;

• With aggregate functions:

SELECT MAX(k COLLATE latin1_german2_ci)

FROM t1;

• With DISTINCT:

SELECT DISTINCT k COLLATE latin1_german2_ci

FROM t1;

• With WHERE:

SELECT *

FROM t1

WHERE _latin1 'Müller' COLLATE latin1_german2_ci = k;

SELECT *

FROM t1

Page 23: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 23/148

Collations Must Be for the Right Character Set

2.7.4. Collations Must Be for the Right Character Set

Each character set has one or more collations, but each collation is associated with one and only onecharacter set. Therefore, the following statement causes an error message because the latin2_bin

collation is not legal with the latin1 character set:

mysql> SELECT _latin1 'x' COLLATE latin2_bin;

ERROR 1253 (42000): COLLATION 'latin2_bin' is not valid

for CHARACTER SET 'latin1'

2.7.5. Collation of Expressions

In the great majority of statements, it is obvious what collation MySQL uses to resolve a comparisonoperation. For example, in the following cases, it should be clear that the collation is the collation ofcolumn charset_name:

SELECT x FROM T ORDER BY x;

SELECT x FROM T WHERE x = x;

SELECT DISTINCT x FROM T;

However, with multiple operands, there can be ambiguity. For example:

SELECT x FROM T WHERE x = 'Y';

Should the comparison use the collation of the column x, or of the string literal 'Y'? Both x and 'Y'

have collations, so which collation takes precedence?

Standard SQL resolves such questions using what used to be called “coercibility” rules. MySQLassigns coercibility values as follows:

• An explicitCOLLATE

clause has a coercibility of 0. (Not coercible at all.)

• The concatenation of two strings with different collations has a coercibility of 1.

• The collation of a column or a stored routine parameter or local variable has a coercibility of 2.

• A “system constant” (the string returned by functions such as USER() or VERSION()) has acoercibility of 3.

• The collation of a literal has a coercibility of 4.

• NULL or an expression that is derived from NULL has a coercibility of 5.

MySQL uses coercibility values with the following rules to resolve ambiguities:

• Use the collation with the lowest coercibility value.

Page 24: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 24/148

The _bin and binary Collations

nonbinary and binary strings evaluate the operands as binary strings, except that it is for collationsrather than data types.

Although automatic conversion is not in the SQL standard, the SQL standard document does say thatevery character set is (in terms of supported characters) a “subset” of Unicode. Because it is a well-known principle that “what applies to a superset can apply to a subset,” we believe that a collation forUnicode can apply for comparisons with non-Unicode strings.

Examples:

Comparison Collation Used

column1 = 'A' Use collation of column1column1 = 'A' COLLATE x Use collation of 'A' COLLATE x

column1 COLLATE x = 'A' COLLATE y Error

The COERCIBILITY() function can be used to determine the coercibility of a string expression:

mysql> SELECT COERCIBILITY('A' COLLATE latin1_swedish_ci);

-> 0

mysql> SELECT COERCIBILITY(VERSION());

-> 3mysql> SELECT COERCIBILITY('A');

-> 4

See Information Functions.

For implicit conversion of a numeric or temporal value to a string, such as occurs for the argument 1 inthe expression CONCAT(1, 'abc'), the result is a character (nonbinary) string that has a characterset and collation determined by the character_set_connection and collation_connection

system variables. See Type Conversion in Expression Evaluation.

2.7.6. The _bin and binary Collations

This section describes how _bin collations for nonbinary strings differ from the binary “collation” forbinary strings.

Nonbinary strings (as stored in the CHAR, VARCHAR, and TEXT data types) have a character set andcollation. A given character set can have several collations, each of which defines a particular sorting

and comparison order for the characters in the set. One of these is the binary collation for the characterset, indicated by a _bin suffix in the collation name. For example, latin1 and utf8 have binarycollations named latin1_bin and utf8_bin.

Binary strings (as stored in the BINARY, VARBINARY, and BLOB data types) have no character setor collation in the sense that nonbinary strings do. (Applied to a binary string, the CHARSET() and

Page 25: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 25/148

The _bin and binary Collations

• When assigning column values from another column that has a different character set:

UPDATE t1 SET utf8_bin_column=latin1_column;

INSERT INTO t1 (latin1_column) SELECT utf8_bin_column FROM t2;

• When assigning column values for INSERT or UPDATE using a string literal:

SET NAMES latin1;

INSERT INTO t1 (utf8_bin_column) VALUES ('string-in-latin1');

• When sending results from the server to a client:

SET NAMES latin1;

SELECT utf8_bin_column FROM t2;

For binary string columns, no conversion occurs. For the preceding cases, the string value is copiedbyte-wise.

Lettercase conversion. Collations provide information about lettercase of characters, so charactersin a nonbinary string can be converted from one lettercase to another, even for _bin collations thatignore lettercase for ordering:

mysql> SET NAMES latin1 COLLATE latin1_bin;

Query OK, 0 rows affected (0.02 sec)

mysql> SELECT LOWER('aA'), UPPER('zZ');

+-------------+-------------+| LOWER('aA') | UPPER('zZ') |

+-------------+-------------+

| aa | ZZ |

+-------------+-------------+1 row in set (0.13 sec)

The concept of lettercase does not apply to bytes in a binary string. To perform lettercase conversion,

the string must be converted to a nonbinary string:

mysql> SET NAMES binary;

Query OK, 0 rows affected (0.00 sec)mysql> SELECT LOWER('aA'), LOWER(CONVERT('aA' USING latin1));

+-------------+-----------------------------------+

| LOWER('aA') | LOWER(CONVERT('aA' USING latin1)) |+-------------+-----------------------------------+

| aA | aa |

+-------------+-----------------------------------+

1 row in set (0.00 sec)

Trailing space handling in comparisons. Nonbinary strings have PADSPACE behavior for allcollations, including _bin collations. Trailing spaces are insignificant in comparisons:

mysql> SET NAMES utf8 COLLATE utf8_bin;

Query OK, 0 rows affected (0.00 sec)

Page 26: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 26/148

The BINARY Operator

1 row in set (0.00 sec)

Trailing space handling for inserts and retrievals. CHAR(N ) columns store nonbinary strings.

Values shorter than N characters are extended with spaces on insertion. For retrieval, trailing spacesare removed.

BINARY(N ) columns store binary strings. Values shorter than N bytes are extended with 0x00 byteson insertion. For retrieval, nothing is removed; a value of the declared length is always returned.

mysql> CREATE TABLE t1 (

-> a CHAR(10) CHARACTER SET utf8 COLLATE utf8_bin,

->  b BINARY(10)

-> );

Query OK, 0 rows affected (0.09 sec)mysql> INSERT INTO t1 VALUES ('a','a');

Query OK, 1 row affected (0.01 sec)

mysql> SELECT HEX(a), HEX(b) FROM t1;

+--------+----------------------+| HEX(a) | HEX(b) |

+--------+----------------------+

| 61 | 61000000000000000000 |

+--------+----------------------+1 row in set (0.04 sec)

2.7.7. The BINARY Operator

The BINARY operator casts the string following it to a binary string. This is an easy way to force acomparison to be done byte by byte rather than character by character. BINARY also causes trailingspaces to be significant.

mysql> SELECT 'a' = 'A';

-> 1

mysql> SELECT BINARY 'a' = 'A';

-> 0mysql> SELECT 'a' = 'a ';

-> 1mysql> SELECT BINARY 'a' = 'a ';

-> 0

BINARY str  is shorthand for CAST(str  AS BINARY).

The BINARY attribute in character column definitions has a different effect. A character columndefined with the BINARY attribute is assigned the binary collation of the column character set. Every

character set has a binary collation. For example, the binary collation for the latin1 character setis latin1_bin, so if the table default character set is latin1, these two column definitions areequivalent:

CHAR(10) BINARY

CHAR(10) CHARACTER SET latin1 COLLATE latin1_bin

E l f h Eff f C ll i

Page 27: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 27/148

Examples of the Effect of Collation

TEXT CHARACTER SET binaryBLOB

2.7.8. Examples of the Effect of CollationExample 1: Sorting German Umlauts

Suppose that column X in table T has these latin1 column values:

MufflerMüller

MX Systems

MySQL

Suppose also that the column values are retrieved using the following statement:

SELECT X FROM T ORDER BY X COLLATE collation_name;

The following table shows the resulting order of the values if we use ORDER BY with different collations.

latin1_swedish_ci latin1_german1_ci latin1_german2_ci

Muffler Muffler Müller

MX Systems Müller Muffler

Müller MX Systems MX Systems

MySQL MySQL MySQL

The character that causes the different sort orders in this example is the U with two dots over it (ü),which the Germans call “U-umlaut.”

• The first column shows the result of the SELECT using the Swedish/Finnish collating rule, which saysthat U-umlaut sorts with Y.

• The second column shows the result of the SELECT using the German DIN-1 rule, which says that U-umlaut sorts with U.

• The third column shows the result of the SELECT using the German DIN-2 rule, which says that U-umlaut sorts with UE.

Example 2: Searching for German Umlauts

Suppose that you have three tables that differ only by the character set and collation used:

mysql> SET NAMES utf8;

mysql> CREATE TABLE german1 (

-> c CHAR(10)

-> ) CHARACTER SET latin1 COLLATE latin1_german1_ci;

Collation and INFORMATION SCHEMA Searches

Page 28: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 28/148

Collation and INFORMATION_SCHEMA Searches

+------+| c |

+------+

| Bar |

| Bär |+------+

mysql> SELECT * FROM german2 WHERE c = 'Bär';

+------+| c |

+------+

| Bär |

+------+mysql> SELECT * FROM germanutf8 WHERE c = 'Bär';

+------+

| c |

+------+| Bar |

| Bär |

+------+

This is not a bug but rather a consequence of the sorting properties of latin1_german1_ciand

utf8_unicode_ci (the sorting shown is done according to the German DIN 5007 standard).

2.7.9. Collation and INFORMATION_SCHEMA Searches

String columns in INFORMATION_SCHEMA tables have a collation of utf8_general_ci, which iscase insensitive. However, searches in INFORMATION_SCHEMA string columns are also affected by filesystem case sensitivity. For values that correspond to objects that are represented in the file system,such as names of databases and tables, searches may be case sensitive if the file system is casesensitive. This section describes how to work around this issue if necessary; see also Bug #34921.

Suppose that a query searches the SCHEMATA.SCHEMA_NAME column for the test database. OnLinux, file systems are case sensitive, so comparisons of SCHEMATA.SCHEMA_NAME with 'test'

match, but comparisons with 'TEST' do not:

mysql> SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA 

-> WHERE SCHEMA_NAME = 'test';

+-------------+

| SCHEMA_NAME |

+-------------+| test |

+-------------+

1 row in set (0.01 sec)mysql> SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA 

-> WHERE SCHEMA_NAME = 'TEST';

Empty set (0.00 sec)

On Windows or Mac OS X where file systems are not case sensitive, comparisons match both 'test'

and 'TEST':

l SELECT SCHEMA NAME FROM INFORMATION SCHEMA SCHEMATA

String Repertoire

Page 29: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 29/148

String Repertoire

This behavior occurs because the utf8_general_ci collation is not used forINFORMATION_SCHEMA queries when searching the file system for database objects. It is a result ofoptimizations implemented for INFORMATION_SCHEMA searches in MySQL. For information about

these optimizations, see Optimizing INFORMATION_SCHEMA Queries.

Searches in INFORMATION_SCHEMA string columns for values that refer to INFORMATION_SCHEMA

itself do use the utf8_general_ci collation because INFORMATION_SCHEMA is a “virtual” databaseand is not represented in the file system. For example, comparisons with SCHEMATA.SCHEMA_NAME

match 'information_schema' or 'INFORMATION_SCHEMA' regardless of platform:

mysql> SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA 

-> WHERE SCHEMA_NAME = 'information_schema';

+--------------------+

| SCHEMA_NAME |+--------------------+

| information_schema |

+--------------------+1 row in set (0.00 sec)

mysql> SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA 

-> WHERE SCHEMA_NAME = 'INFORMATION_SCHEMA';

+--------------------+

| SCHEMA_NAME |

+--------------------+

| information_schema |+--------------------+

1 row in set (0.00 sec)

If the result of a string operation on an INFORMATION_SCHEMA column differs from expectations, aworkaround is to use an explicit COLLATE clause to force a suitable collation (Section 2.7.2, “Using

COLLATE in SQL Statements”). For example, to perform a case-insensitive search, use COLLATE withthe INFORMATION_SCHEMA column name:

mysql> SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA 

-> WHERE SCHEMA_NAME COLLATE utf8_general_ci = 'test';

+-------------+

| SCHEMA_NAME |+-------------+

| test |

+-------------+1 row in set (0.00 sec)

mysql> SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA 

-> WHERE SCHEMA_NAME COLLATE utf8_general_ci = 'TEST';

| SCHEMA_NAME |+-------------+

| test |+-------------+

1 row in set (0.00 sec)

You can also use the UPPER() or LOWER() function:

WHERE UPPER(SCHEMA_NAME) = 'TEST'

WHERE LOWER(SCHEMA NAME) 'test'

String Repertoire

Page 30: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 30/148

String Repertoire

The repertoire of a character set is the collection of characters in the set.

String expressions have a repertoire attribute, which can have two values:

• ASCII: The expression can contain only characters in the Unicode range U+0000 to U+007F.

• UNICODE: The expression can contain characters in the Unicode range U+0000 to U+FFFF.

The ASCII range is a subset of UNICODE range, so a string with ASCII repertoire can be convertedsafely without loss of information to the character set of any string with UNICODE repertoire or to acharacter set that is a superset of ASCII. (All MySQL character sets are supersets of ASCII with the

exception of swe7, which reuses some punctuation characters for Swedish accented characters.) Theuse of repertoire enables character set conversion in expressions for many cases where MySQL wouldotherwise return an “illegal mix of collations” error.

The following discussion provides examples of expressions and their repertoires, and describes howthe use of repertoire changes string expression evaluation:

• The repertoire for string constants depends on string content:

SET NAMES utf8; SELECT 'abc';

SELECT _utf8'def';SELECT N'MySQL';

Although the character set is utf8 in each of the preceding cases, the strings do not actually containany characters outside the ASCII range, so their repertoire is ASCII rather than UNICODE.

• Columns having the ascii character set have ASCII repertoire because of their character set. Inthe following table, c1 has ASCII repertoire:

CREATE TABLE t1 (c1 CHAR(1) CHARACTER SET ascii);

The following example illustrates how repertoire enables a result to be determined in a case wherean error occurs without repertoire:

CREATE TABLE t1 (c1 CHAR(1) CHARACTER SET latin1,

c2 CHAR(1) CHARACTER SET ascii

);INSERT INTO t1 VALUES ('a','b');

SELECT CONCAT(c1,c2) FROM t1;

Without repertoire, this error occurs:

ERROR 1267 (HY000): Illegal mix of collations (latin1_swedish_ci,IMPLICIT)

and (ascii_general_ci,IMPLICIT) for operation 'concat'

Using repertoire subset to superset (ascii to latin1) conversion can occur and a result is

Operations Affected by Character Set Support

Page 31: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 31/148

Operations Affected by Character Set Support

Use of repertoire changes how MySQL evaluates the following example:

SET NAMES ascii;

CREATE TABLE t1 (a INT, b VARCHAR(10) CHARACTER SET latin1);INSERT INTO t1 VALUES (1,'b');

SELECT CONCAT(FORMAT(a, 4), b) FROM t1;

Without repertoire, this error occurs:

ERROR 1267 (HY000): Illegal mix of collations (ascii_general_ci,COERCIBLE)and (latin1_swedish_ci,IMPLICIT) for operation 'concat'

With repertoire, a result is returned:

+-------------------------+| CONCAT(FORMAT(a, 4), b) |

+-------------------------+

| 1.0000b |

+-------------------------+

• Functions with two or more string arguments use the “widest” argument repertoire for the resultrepertoire (UNICODE is wider than ASCII). Consider the following CONCAT() calls:

CONCAT(_ucs2 0x0041, _ucs2 0x0042)

CONCAT(_ucs2 0x0041, _ucs2 0x00C2)

For the first call, the repertoire is ASCII because both arguments are within the range of the ascii

character set. For the second call, the repertoire is UNICODE because the second argument isoutside the ascii character set range.

• The repertoire for function return values is determined based only on the repertoire of the argumentsthat affect the result's character set and collation.

IF(column1 < column2, 'smaller', 'greater')

The result repertoire is ASCII because the two string arguments (the second argument and the thirdargument) both have ASCII repertoire. The first argument does not matter for the result repertoire,even if the expression uses string values.

2.9. Operations Affected by Character Set Support

This section describes operations that take character set information into account.

2.9.1. Result Strings

MySQL has many operators and functions that return a string. This section answers the question: Whatis the character set and collation of such a string?

For simple functions that take string input and return a string result as output the output's character

CONVERT() and CAST()

Page 32: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 32/148

() ()

| CHARSET(BINARY 'a') | COLLATION(BINARY 'a') |+---------------------+-----------------------+

| binary | binary |

+---------------------+-----------------------+

For operations that combine multiple string inputs and return a single string output, the “aggregationrules” of standard SQL apply for determining the collation of the result:

• If an explicit COLLATE X occurs, use X .

• If explicit COLLATE X and COLLATE Y occur, raise an error.

• Otherwise, if all collations are X , use X .

• Otherwise, the result has no collation.

For example, with CASE ... WHEN a THEN b WHEN b THEN c COLLATE X  END, the resultingcollation is X . The same applies for UNION, ||, CONCAT(), ELT(), GREATEST(), IF(), and

LEAST().

For operations that convert to character data, the character set and collation of the stringsthat result from the operations are defined by the character_set_connection and

collation_connection system variables. This applies only to CAST(), CONV(), FORMAT(),

HEX(), and SPACE().

If you are uncertain about the character set or collation of the result returned by a string function, youcan use the CHARSET() or COLLATION() function to find out:

mysql> SELECT USER(), CHARSET(USER()), COLLATION(USER());

+----------------+-----------------+-------------------+

| USER() | CHARSET(USER()) | COLLATION(USER()) |

+----------------+-----------------+-------------------+| test@localhost | utf8 | utf8_general_ci |

+----------------+-----------------+-------------------+

2.9.2. CONVERT() and CAST()

CONVERT() provides a way to convert data between different character sets. The syntax is:

CONVERT(expr  USING transcoding_name)

In MySQL, transcoding names are the same as the corresponding character set names.

Examples:

SELECT CONVERT(_latin1'Müller' USING utf8);

INSERT INTO utf8table (utf8column)SELECT CONVERT(latin1field USING utf8) FROM latin1table;

CONVERT(... USING ...) is implemented according to the standard SQL specification.

SHOW Statements and INFORMATION_SCHEMA

Page 33: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 33/148

SELECT CAST(_latin1'test' AS CHAR CHARACTER SET utf8) COLLATE utf8_bin;

2.9.3. SHOW Statements and INFORMATION_SCHEMA 

Several SHOW statements provide additional character set information. These include SHOW

CHARACTER SET, SHOW COLLATION, SHOW CREATE DATABASE, SHOW CREATE TABLE and SHOW

COLUMNS. These statements are described here briefly. For more information, see SHOW Syntax.

INFORMATION_SCHEMA has several tables that contain information similar to that displayedby the SHOW statements. For example, the CHARACTER_SETS and COLLATIONS tablescontain the information displayed by SHOW CHARACTER SET and SHOW COLLATION. See

INFORMATION_SCHEMA Tables.

The SHOW CHARACTER SET statement shows all available character sets. It takes an optional LIKEclause that indicates which character set names to match. For example:

mysql> SHOW CHARACTER SET LIKE 'latin%';

+---------+-----------------------------+-------------------+--------+| Charset | Description | Default collation | Maxlen |

+---------+-----------------------------+-------------------+--------+

| latin1 | cp1252 West European | latin1_swedish_ci | 1 |

| latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 |

| latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 || latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 |

+---------+-----------------------------+-------------------+--------+

The output from SHOW COLLATION includes all available character sets. It takes an optional LIKEclause that indicates which collation names to match. For example:

mysql> SHOW COLLATION LIKE 'latin1%';

+-------------------+---------+----+---------+----------+---------+| Collation | Charset | Id | Default | Compiled | Sortlen |

+-------------------+---------+----+---------+----------+---------+| latin1_german1_ci | latin1 | 5 | | | 0 || latin1_swedish_ci | latin1 | 8 | Yes | Yes | 0 |

| latin1_danish_ci | latin1 | 15 | | | 0 |

| latin1_german2_ci | latin1 | 31 | | Yes | 2 |

| latin1_bin | latin1 | 47 | | Yes | 0 || latin1_general_ci | latin1 | 48 | | | 0 |

| latin1_general_cs | latin1 | 49 | | | 0 |

| latin1_spanish_ci | latin1 | 94 | | | 0 |

+-------------------+---------+----+---------+----------+---------+

SHOW CREATE DATABASE displays the CREATE DATABASE statement that creates a given database:

mysql> SHOW CREATE DATABASE test;

+----------+-----------------------------------------------------------------+

| Database | Create Database |

+----------+-----------------------------------------------------------------+

| test | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET latin1 */ |

Unicode Support

Page 34: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 34/148

Collation: NULLNull: NO

Key: PRI

Default: NULL

Extra: auto_incrementPrivileges: select,insert,update,references

Comment:

*************************** 2. row ***************************Field: name

Type: char(60)

Collation: latin1_swedish_ci

Null: NOKey:

Default:

Extra:

Privileges: select,insert,update,referencesComment:

The character set is not part of the display but is implied by the collation name.

2.10. Unicode Support

The initial implementation of Unicode support (in MySQL 4.1) included two character sets for storingUnicode data:

• ucs2, the UCS-2 encoding of the Unicode character set using 16 bits per character.

• utf8, a UTF-8 encoding of the Unicode character set using one to three bytes per character.

These two character sets support the characters from the Basic Multilingual Plane (BMP) of UnicodeVersion 3.0. BMP characters have these characteristics:

• Their code values are between 0 and 65535 (or U+0000 .. U+FFFF).

• They can be encoded with a fixed 16-bit word, as in ucs2.

• They can be encoded with 8, 16, or 24 bits, as in utf8.

• They are sufficient for almost all characters in major languages.

Characters not supported by the aforementioned character sets include supplementary characters thatlie outside the BMP. Characters outside the BMP compare as REPLACEMENT CHARACTER andconvert to '?' when converted to a Unicode character set.

In MySQL 5.6, Unicode support includes supplementary characters, which requires new character setsthat have a broader range and therefore take more space. The following table shows a brief featurecomparison of previous and current Unicode support.

Before MySQL 5.5 MySQL 5.5 and up

Page 35: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 35/148

Appendix A. Licenses for Third-Party Components

Table of Contents

A.1. Ant-Contrib License .............................................................................................................. 86A.2. ANTLR 3.3 License .............................................................................................................. 86A.3. Boost Library License .......................................................................................................... 87A.4. c3p0 JDBC Library License .................................................................................................. 87A.5. dtoa.c License .................................................................................................................. 88

A.6. Editline Library (libedit) License ....................................................................................... 88A.7. Facebook Fast Checksum Patch License .............................................................................. 91A.8. Facebook Patches License ................................................................................................... 92A.9. FindGTest.cmake License ................................................................................................ 92A.10. Fred Fish's Dbug Library License ....................................................................................... 93A.11. getarg License ................................................................................................................. 94A.12. GLib License (for MySQL Proxy) ........................................................................................ 94A.13. GNU General Public License Version 2.0, June 1991 .......................................................... 95A.14. GNU General Public License Version 3.0, 29 June 2007 and GCC Runtime Library

Exception Version 3.1, 31 March 2009 ....................................................................................... 100A.15. GNU Lesser General Public License Version 2.1, February 1999 ........................................ 111A.16. GNU Libtool License ........................................................................................................ 118A.17. GNU Readline License ..................................................................................................... 119A.18. GNU Standard C++ Library (libstdc++) License ................................................................. 119A.19. Google Controlling Master Thread I/O Rate Patch License ................................................. 120A.20. Google Perftools (TCMalloc utility) License ........................................................................ 121A.21. Google SMP Patch License .............................................................................................. 121A.22. jboss-common-jdbc-wrapper.jar License ............................................................................ 122

A.23. lib_ sql.cc License ....................................................................................................... 122A.24. Libaio License .................................................................................................................. 122A.25. libevent License ........................................................................................................... 123A.26. Libiconv License .............................................................................................................. 124A.27. libintl License ............................................................................................................. 125A.28. Linux-PAM License .......................................................................................................... 125A.29. LPeg Library License ....................................................................................................... 126A.30. Lua (liblua) License .......................................................................................................... 126A.31. LuaFileSystem Library License ..................................................................................... 127A.32. md5 (Message-Digest Algorithm 5) License .... ........ ........ ................................................... 127A.33. memcached License ......................................................................................................... 127A.34. mkpasswd.pl License ..................................................................................................... 128A.35. nt_servc (Windows NT Service class library) License .................................. ....................... 131A.36. OpenPAM License ........................................................................................................... 132A 37 OpenSSL 1 0 License 132

MySQL 5.6

Page 36: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 36/148

components require that their licensing terms be included in the documentation of products that includethem. Cross references to these licensing terms are given with the applicable items in the list.

• GroupLens Research Project

The MySQL Quality Assurance team would like to acknowledge the use of the MovieLens Data Sets(10 million ratings and 100,000 tags for 10681 movies by 71567 users) to help test MySQL productsand to thank the GroupLens Research Project at the University of Minnesota for making the datasets available.

MySQL 5.6

• Section A.3, “Boost Library License”• Section A.5, “dtoa.c License”

• Section A.6, “Editline Library (libedit) License”

• Section A.7, “Facebook Fast Checksum Patch License”

• Section A.8, “Facebook Patches License”

• Section A.9, “FindGTest.cmake License”

• Section A.10, “Fred Fish's Dbug Library License”

• Section A.11, “getarg License”

• Section A.13, “GNU General Public License Version 2.0, June 1991”

• Section A.14, “GNU General Public License Version 3.0, 29 June 2007 and GCC Runtime LibraryException Version 3.1, 31 March 2009”

• Section A.15, “GNU Lesser General Public License Version 2.1, February 1999”

• Section A.17, “GNU Readline License”

• Section A.18, “GNU Standard C++ Library (libstdc++) License”

• Section A.19, “Google Controlling Master Thread I/O Rate Patch License”

• Section A.20, “Google Perftools (TCMalloc utility) License”

• Section A.21, “Google SMP Patch License”

• Section A.23, “lib_sql.cc License”

• Section A.24, “Libaio License”

• Section A 25 “lib t License”

MySQL Connector/C

Page 37: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 37/148

• Section A.40, “Red HAT RPM Spec File License”

• Section A.41, “RegEX-Spencer Library License”

• Section A.42, “RFC 3174 - US Secure Hash Algorithm 1 (SHA1) License”

• Section A.43, “Richard A. O'Keefe String Library License”

• Section A.44, “SHA-1 in C License”

• Section A.46, “Unicode Data Files”

• Section A.47, “zlib License”

MySQL Connector/C

• Section A.10, “Fred Fish's Dbug Library License”

• Section A.41, “RegEX-Spencer Library License”

• Section A.42, “RFC 3174 - US Secure Hash Algorithm 1 (SHA1) License”

• Section A.47, “zlib License”

MySQL Connector/C++

• Section A.3, “Boost Library License”

• Section A.37, “OpenSSL v1.0 License”

MySQL Connector/J

• Section A.1, “Ant-Contrib License”

• Section A.4, “c3p0 JDBC Library License”

• Section A.15, “GNU Lesser General Public License Version 2.1, February 1999”

• Section A.22, “jboss-common-jdbc-wrapper.jar License”

• Section A.45, “Simple Logging Facade for Java (SLF4J) License”

MySQL Connector/Net

• Section A.2, “ANTLR 3.3 License”

• Section A.42, “RFC 3174 - US Secure Hash Algorithm 1 (SHA1) License”

Ant-Contrib License

Page 38: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 38/148

• Section A.25, “libevent License”

• Section A.26, “Libiconv License”

• Section A.27, “libintl License”

• Section A.29, “LPeg Library License”

• Section A.30, “Lua (liblua) License”

• Section A.31, “LuaFileSystem Library License”

• Section A.38, “PCRE License”

A.1. Ant-Contrib License

The following software may be included in this product: Ant-Contrib

Ant-ContribCopyright (c) 2001-2003 Ant-Contrib project. All rights reserved.

Licensed under the Apache 1.1 License Agreement, a copy of which is reproduced below.

The Apache Software License, Version 1.1

Copyright (c) 2001-2003 Ant-Contrib project. All rights reserved.

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditions

are met:

1. Redistributions of source code must retain the above copyright

notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyrightnotice, this list of conditions and the following disclaimer in

the documentation and/or other materials provided with thedistribution.

3. The end-user documentation included with the redistribution, if

any, must include the following acknowlegement:

"This product includes software developed by theAnt-Contrib project (http://sourceforge.net/projects/ant-contrib)."

Alternately, this acknowlegement may appear in the software itself,

if and wherever such third-party acknowlegements normally appear.

4. The name Ant-Contrib must not be used to endorse or promote

products derived from this software without prior written

permission. For written permission, please contact

[email protected].

5. Products derived from this software may not be called "Ant-Contrib"

nor may "Ant-Contrib" appear in their names without prior writtenpermission of the Ant-Contrib project.

dtoa.c License

Page 39: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 39/148

If you do not wish to install this library, you may remove the file /src/lib/c3p0-0.9.1-pre6.jar ,but the Oracle program might not operate properly or at all without the library.

This component is licensed under Section A.15, “GNU Lesser General Public License Version 2.1,February 1999”.

A.5. dtoa.c License

The following software may be included in this product:

dtoa.c

The author of this software is David M. Gay.

Copyright (c) 1991, 2000, 2001 by Lucent Technologies.

Permission to use, copy, modify, and distribute this software for

any purpose without fee is hereby granted, provided that this entirenotice is included in all copies of any software which is or includes

a copy or modification of this software and in all copies of the

supporting documentation for such software.

THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR

IMPLIED WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT

MAKES ANY REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE

MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULARPURPOSE.

A.6. Editline Library (libedit) License

The following software may be included in this product:

Editline Library (libedit)

Some files are:

Copyright (c) 1992, 1993

The Regents of the University of California. All rights reserved.

This code is derived from software contributed to

Berkeley by Christos Zoulas of Cornell University.

Redistribution and use in source and binary forms,with or without modification, are permitted provided

that the following conditions are met:

1. Redistributions of source code must retain theabove copyright notice, this list of conditions

and the following disclaimer.

Page 40: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 40/148

Facebook Fast Checksum Patch License

Page 41: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 41/148

distribution.3. All advertising materials mentioning features or use of this

software must display the following acknowledgement:

This product includes software developed by the NetBSD

Foundation, Inc. and its contributors.4. Neither the name of The NetBSD Foundation nor the names of its

contributors may be used to endorse or promote products derived

from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND

CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,

INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OFMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS

BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,

OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENTOF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;

OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF

LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDINGNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF

THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

A.7. Facebook Fast Checksum Patch License

The following software may be included in this product:

Facebook Fast Checksum Patch

Copyright (C) 2009-2010 Facebook, Inc. All Rights Reserved.

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice,

this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,this list of conditions and the following disclaimer in the documentation

and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY FACEBOOK, INC. “AS IS” AND ANY EXPRESS ORIMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF

MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO

EVENT SHALL FACEBOOK, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,

PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;

OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,

WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OROTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF

ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Also included:

crc32.c -- compute the CRC-32 of a buf stream

Facebook Patches License

Page 42: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 42/148

Jean-loup Gailly [email protected] Adler [email protected]

A.8. Facebook Patches LicenseThe following software may be included in this product:

Copyright (c) 2012, Facebook, Inc.All rights reserved.

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice,this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,

this list of conditions and the following disclaimer in the documentation

and/or other materials provided with the distribution.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"

AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BELIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR

CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF

SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESSINTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN

CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)

ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE

POSSIBILITY OF SUCH DAMAGE.

A.9. FindGTest.cmake License

The following software may be included in this product:

FindGTest.cmake helper script (part of CMake)

Copyright 2009 Kitware, Inc.Copyright 2009 Philip Lowman

Copyright 2009 Daniel Blezek

Distributed under the OSI-approved BSD License (the "License");see accompanying file Copyright.txt for details.

This software is distributed WITHOUT ANY WARRANTY; without even theimplied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

See the License for more information.

==========================================================================

(To distributed this file outside of CMake, substitute the fullLicense text for the above reference.)

Thanks to Daniel Blezek for the GTEST_ADD_TESTS code

Text of Copyright.txt mentioned above:

Fred Fish's Dbug Library License

Page 43: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 43/148

permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS

"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT

LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FORA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT

HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOTLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,

DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY

THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USEOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

A.10. Fred Fish's Dbug Library LicenseThe following software may be included in this product:

Fred Fish's Dbug Library

N O T I C E

Copyright Abandoned, 1987, Fred Fish

This previously copyrighted work has been placed into the public

domain by the author and may be freely used for any purpose,

private or commercial.

Because of the number of inquiries I was receiving about the use

of this product in commercially developed works I have decided to

simply make it public domain to further its unrestricted use. I

specifically would be most happy to see this material become a

part of the standard Unix distributions by AT&T and the Berkeley

Computer Science Research Group, and a standard part of the GNU

system from the Free Software Foundation.

I would appreciate it, as a courtesy, if this notice is left in

getarg License

Page 44: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 44/148

A.11. getarg License

The following software may be included in this product:

getarg Function (getarg.h, getarg.c files)

Copyright (c) 1997 – 2000 Kungliga Tekniska Högskolan

(Royal Institute of Technology, Stockholm, Sweden).

All rights reserved.

Redistribution and use in source and binary forms, with

or without modification, are permitted provided that the

following conditions are met:

1. Redistributions of source code must retain the above

copyright notice, this list of conditions and the

following disclaimer.2. Redistributions in binary form must reproduce the above

copyright notice, this list of conditions and the following

disclaimer in the documentation and/or other materials

provided with the distribution.3. Neither the name of the Institute nor the names of its

contributors may be used to endorse or promote products

derived from this software without specific prior written

permission.

THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS

"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY

AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO

EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE FOR ANY

DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIALDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE

GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS

INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,

WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDINGNEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF

THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH

DAMAGE.

A.12. GLib License (for MySQL Proxy)

The following software may be included in this product:

GLib

You are receiving a copy of the GLib library in both source

and object code in the following [proxy install dir]/lib/ and

[proxy install dir]/licenses/lgpl folders. The terms of theOracle license do NOT apply to the GLib library; it is licensed

under the following license, separately from the Oracle programs

GNU General Public License Version 2.0, June 1991

Page 45: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 45/148

mysql-proxy-0.8.1-solaris10-x86-64bit/lib/libgmodule-2.0.so.0mysql-proxy-0.8.1-solaris10-x86-64bit/lib/libgmodule-2.0.so.0.1600.6

mysql-proxy-0.8.1-solaris10-x86-64bit/lib/libgthread-2.0.so

mysql-proxy-0.8.1-solaris10-x86-64bit/lib/libgthread-2.0.so.0

mysql-proxy-0.8.1-solaris10-x86-64bit/lib/libgthread-2.0.so.0.1600.6mysql-proxy-0.8.1-solaris10-x86-64bit/licenses/lgpl/glib-2.16.6.tar.gz

This component is licensed under Section A.15, “GNU Lesser General Public License Version 2.1,February 1999”.

A.13. GNU General Public License Version 2.0, June 1991

The following applies to all products licensed under the GNU General

Public License, Version 2.0: You may not use the identified filesexcept in compliance with the GNU General Public License, Version

2.0 (the "License.") You may obtain a copy of the License at

http://www.gnu.org/licenses/gpl-2.0.txt. A copy of the license isalso reproduced below. Unless required by applicable law or agreed

to in writing, software distributed under the License is distributed

on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,

either express or implied. See the License for the specific languagegoverning permissions and limitations under the License.

GNU GENERAL PUBLIC LICENSE

Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.,

51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USAEveryone is permitted to copy and distribute verbatim

copies of this license document, but changing it is not

allowed.

Preamble

The licenses for most software are designed to take away your

freedom to share and change it. By contrast, the GNU General PublicLicense is intended to guarantee your freedom to share and change free

software--to make sure the software is free for all its users. This

General Public License applies to most of the Free Software

Foundation's software and to any other program whose authors commit tousing it. (Some other Free Software Foundation software is covered by

the GNU Lesser General Public License instead.) You can apply it to

your programs, too.

When we speak of free software, we are referring to freedom, not

price. Our General Public Licenses are designed to make sure that you

have the freedom to distribute copies of free software (and charge forthis service if you wish), that you receive source code or can get it

if you want it, that you can change the software or use pieces of it

in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid

anyone to deny you these rights or to ask you to surrender the rights.

GNU General Public License Version 2.0, June 1991

Page 46: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 46/148

original authors' reputations.

Finally, any free program is threatened constantly by software

patents. We wish to avoid the danger that redistributors of a free

program will individually obtain patent licenses, in effect making theprogram proprietary. To prevent this, we have made it clear that any

patent must be licensed for everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and

modification follow.

GNU GENERAL PUBLIC LICENSETERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains

a notice placed by the copyright holder saying it may be distributedunder the terms of this General Public License. The "Program", below,

refers to any such program or work, and a "work based on the Program"

means either the Program or any derivative work under copyright law:that is to say, a work containing the Program or a portion of it,

either verbatim or with modifications and/or translated into another

language. (Hereinafter, translation is included without limitation in

the term "modification".) Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not

covered by this License; they are outside its scope. The act of

running the Program is not restricted, and the output from the Programis covered only if its contents constitute a work based on the

Program (independent of having been made by running the Program).

Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program's

source code as you receive it, in any medium, provided that you

conspicuously and appropriately publish on each copy an appropriatecopyright notice and disclaimer of warranty; keep intact all the

notices that refer to this License and to the absence of any warranty;

and give any other recipients of the Program a copy of this License

along with the Program.

You may charge a fee for the physical act of transferring a copy, and

you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion

of it, thus forming a work based on the Program, and copy and

distribute such modifications or work under the terms of Section 1

above, provided that you also meet all of these conditions:

a) You must cause the modified files to carry prominent notices

stating that you changed the files and the date of any change.

b) You must cause any work that you distribute or publish, that in

whole or in part contains or is derived from the Program or any

part thereof, to be licensed as a whole at no charge to all thirdparties under the terms of this License.

GNU General Public License Version 2.0, June 1991

Page 47: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 47/148

on the Program, the distribution of the whole must be on the terms ofthis License, whose permissions for other licensees extend to the

entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contestyour rights to work written entirely by you; rather, the intent is to

exercise the right to control the distribution of derivative or

collective works based on the Program.

In addition, mere aggregation of another work not based on the Program

with the Program (or with a work based on the Program) on a volume of

a storage or distribution medium does not bring the other work underthe scope of this License.

3. You may copy and distribute the Program (or a work based on it,

under Section 2) in object code or executable form under the terms ofSections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readablesource code, which must be distributed under the terms of Sections

1 and 2 above on a medium customarily used for software

interchange; or,

b) Accompany it with a written offer, valid for at least three

years, to give any third party, for a charge no more than your

cost of physically performing source distribution, a complete

machine-readable copy of the corresponding source code, to bedistributed under the terms of Sections 1 and 2 above on a medium

customarily used for software interchange; or,

c) Accompany it with the information you received as to the offerto distribute corresponding source code. (This alternative is

allowed only for noncommercial distribution and only if you

received the program in object code or executable form with suchan offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for

making modifications to it. For an executable work, complete sourcecode means all the source code for all modules it contains, plus any

associated interface definition files, plus the scripts used to

control compilation and installation of the executable. However, as

a special exception, the source code distributed need not includeanything that is normally distributed (in either source or binary

form) with the major components (compiler, kernel, and so on) of the

operating system on which the executable runs, unless that component

itself accompanies the executable.

If distribution of executable or object code is made by offering

access to copy from a designated place, then offering equivalentaccess to copy the source code from the same place counts as

distribution of the source code, even though third parties are not

compelled to copy the source along with the object code.

4. You may not copy, modify, sublicense, or distribute the Program

except as expressly provided under this License Any attempt

GNU General Public License Version 2.0, June 1991

Page 48: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 48/148

original licensor to copy, distribute or modify the Program subject tothese terms and conditions. You may not impose any further

restrictions on the recipients' exercise of the rights granted herein.

You are not responsible for enforcing compliance by third parties to

this License.

7. If, as a consequence of a court judgment or allegation of patent

infringement or for any other reason (not limited to patent issues),conditions are imposed on you (whether by court order, agreement or

otherwise) that contradict the conditions of this License, they do not

excuse you from the conditions of this License. If you cannot

distribute so as to satisfy simultaneously your obligations under thisLicense and any other pertinent obligations, then as a consequence you

may not distribute the Program at all. For example, if a patent

license would not permit royalty-free redistribution of the Program by

all those who receive copies directly or indirectly through you, thenthe only way you could satisfy both it and this License would be to

refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under

any particular circumstance, the balance of the section is intended to

apply and the section as a whole is intended to apply in other

circumstances.

It is not the purpose of this section to induce you to infringe any

patents or other property right claims or to contest validity of any

such claims; this section has the sole purpose of protecting theintegrity of the free software distribution system, which is

implemented by public license practices. Many people have made

generous contributions to the wide range of software distributed

through that system in reliance on consistent application of thatsystem; it is up to the author/donor to decide if he or she is willing

to distribute software through any other system and a licensee cannot

impose that choice.

This section is intended to make thoroughly clear what is believed to

be a consequence of the rest of this License.

8. If the distribution and/or use of the Program is restricted in

certain countries either by patents or by copyrighted interfaces, the

original copyright holder who places the Program under this License

may add an explicit geographical distribution limitation excludingthose countries, so that distribution is permitted only in or among

countries not thus excluded. In such case, this License incorporates

the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new

versions of the General Public License from time to time. Such new

versions will be similar in spirit to the present version, but maydiffer in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Program

specifies a version number of this License which applies to it and"any later version", you have the option of following the terms and

conditions either of that version or of any later version published by

GNU General Public License Version 2.0, June 1991

Page 49: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 49/148

OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED

WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS

WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OFALL NECESSARY SERVICING, REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO INWRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY

AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU

FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR

CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THEPROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING

RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A

FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF

SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCHDAMAGES.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatestpossible use to the public, the best way to achieve this is to make it

free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safestto attach them to the start of each source file to most effectively

convey the exclusion of warranty; and each file should have at least

the "copyright" line and a pointer to where the full notice is found.

<one line to give the program's name and a brief idea of what it

does.>

Copyright (C) <year> <name of author>

This program is free software; you can redistribute it and/or

modify it under the terms of the GNU General Public License as

published by the Free Software Foundation; either version2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.

You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free Software

Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA

02110-1301 USA.

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like thiswhen it starts in an interactive mode:

GNU General Public License Version 3.0, 29 June 2007 andGCC Runtime Library Exception Version 3.1, 31 March 2009

Page 50: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 50/148

program 'Gnomovision' (which makes passes at compilers) writtenby James Hacker.

<signature of Ty Coon>, 1 April 1989

Ty Coon, President of Vice

This General Public License does not permit incorporating your program

into proprietary programs. If your program is a subroutine library,you may consider it more useful to permit linking proprietary

applications with the library. If this is what you want to do, use

the GNU Lesser General Public License instead of this License.

A.14. GNU General Public License Version 3.0, 29 June 2007 and

GCC Runtime Library Exception Version 3.1, 31 March 2009GNU GENERAL PUBLIC LICENSE

Version 3, 29 June 2007

Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>Everyone is permitted to copy and distribute verbatim copies of

this license document, but changing it is not allowed.

Preamble

The GNU General Public License is a free, copyleft license for

software and other kinds of works.

The licenses for most software and other practical works are

designed to take away your freedom to share and change the works.

By contrast, the GNU General Public License is intended to guaranteeyour freedom to share and change all versions of a program--to make

sure it remains free software for all its users. We, the Free

Software Foundation, use the GNU General Public License for most

of our software; it applies also to any other work released thisway by its authors. You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, notprice. Our General Public Licenses are designed to make sure that

you have the freedom to distribute copies of free software (and

charge for them if you wish), that you receive source code or can

get it if you want it, that you can change the software or usepieces of it in new free programs, and that you know you can do

these things.

To protect your rights, we need to prevent others from denying

you these rights or asking you to surrender the rights. Therefore,you have certain responsibilities if you distribute copies of the

software, or if you modify it: responsibilities to respect the

freedom of others.

For example, if you distribute copies of such a program, whether

gratis or for a fee, you must pass on to the recipients the same

GNU General Public License Version 3.0, 29 June 2007 andGCC Runtime Library Exception Version 3.1, 31 March 2009

i i

Page 51: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 51/148

the aim of protecting users' freedom to change the software. Thesystematic pattern of such abuse occurs in the area of products for

individuals to use, which is precisely where it is most unacceptable.

Therefore, we have designed this version of the GPL to prohibit the

practice for those products. If such problems arise substantiallyin other domains, we stand ready to extend this provision to those

domains in future versions of the GPL, as needed to protect the

freedom of users.

Finally, every program is threatened constantly by software

patents. States should not allow patents to restrict development

and use of software on general-purpose computers, but in those thatdo, we wish to avoid the special danger that patents applied to a

free program could make it effectively proprietary. To prevent

this, the GPL assures that patents cannot be used to render the

program non-free.

The precise terms and conditions for copying, distribution and

modification follow.

TERMS AND CONDITIONS

0. Definitions.

"This License" refers to version 3 of the GNU General Public License.

"Copyright" also means copyright-like laws that apply to other kindsof works, such as semiconductor masks.

"The Program" refers to any copyrightable work licensed under this

License. Each licensee is addressed as "you". "Licensees" and"recipients" may be individuals or organizations.

To "modify" a work means to copy from or adapt all or part of thework in a fashion requiring copyright permission, other than the

making of an exact copy. The resulting work is called a "modified

version" of the earlier work or a work "based on" the earlier work.

A "covered work" means either the unmodified Program or a work based

on the Program.

To "propagate" a work means to do anything with it that, withoutpermission, would make you directly or secondarily liable for

infringement under applicable copyright law, except executing it

on a computer or modifying a private copy. Propagation includes

copying, distribution (with or without modification), making availableto the public, and in some countries other activities as well.

To "convey" a work means any kind of propagation that enables otherparties to make or receive copies. Mere interaction with a user

through a computer network, with no transfer of a copy, is not

conveying.

An interactive user interface displays "Appropriate Legal Notices"

to the extent that it includes a convenient and prominently visible

GNU General Public License Version 3.0, 29 June 2007 andGCC Runtime Library Exception Version 3.1, 31 March 2009

Page 52: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 52/148

The "System Libraries" of an executable work include anything, other

than the work as a whole, that (a) is included in the normal form

of packaging a Major Component, but which is not part of that Major

Component, and (b) serves only to enable use of the work with thatMajor Component, or to implement a Standard Interface for which an

implementation is available to the public in source code form. A

"Major Component", in this context, means a major essential component(kernel, window system, and so on) of the specific operating system

(if any) on which the executable work runs, or a compiler used to

produce the work, or an object code interpreter used to run it.

The "Corresponding Source" for a work in object code form means all

the source code needed to generate, install, and (for an executable

work) run the object code and to modify the work, including scripts

to control those activities. However, it does not include thework's System Libraries, or general-purpose tools or generally

available free programs which are used unmodified in performing

those activities but which are not part of the work. For example,Corresponding Source includes interface definition files associated

with source files for the work, and the source code for shared

libraries and dynamically linked subprograms that the work is

specifically designed to require, such as by intimate data communicationor control flow between those subprograms and other parts of the

work.

The Corresponding Source need not include anything that users canregenerate automatically from other parts of the Corresponding

Source.

The Corresponding Source for a work in source code form is thatsame work.

2. Basic Permissions.

All rights granted under this License are granted for the term of

copyright on the Program, and are irrevocable provided the stated

conditions are met. This License explicitly affirms your unlimitedpermission to run the unmodified Program. The output from running

a covered work is covered by this License only if the output, given

its content, constitutes a covered work. This License acknowledges

your rights of fair use or other equivalent, as provided by copyrightlaw.

You may make, run and propagate covered works that you do not convey,

without conditions so long as your license otherwise remains inforce. You may convey covered works to others for the sole purpose

of having them make modifications exclusively for you, or provide

you with facilities for running those works, provided that youcomply with the terms of this License in conveying all material for

which you do not control copyright. Those thus making or running

the covered works for you must do so exclusively on your behalf,

under your direction and control, on terms that prohibit them frommaking any copies of your copyrighted material outside their

relationship with you

GNU General Public License Version 3.0, 29 June 2007 andGCC Runtime Library Exception Version 3.1, 31 March 2009

or modification of the work as a means of enforcing against the

Page 53: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 53/148

or modification of the work as a means of enforcing, against thework's users, your or third parties' legal rights to forbid

circumvention of technological measures.

4. Conveying Verbatim Copies.

You may convey verbatim copies of the Program's source code as you

receive it, in any medium, provided that you conspicuously andappropriately publish on each copy an appropriate copyright notice;

keep intact all notices stating that this License and any non-permissive

terms added in accord with section 7 apply to the code; keep intact

all notices of the absence of any warranty; and give all recipientsa copy of this License along with the Program.

You may charge any price or no price for each copy that you convey,

and you may offer support or warranty protection for a fee.

5. Conveying Modified Source Versions.

You may convey a work based on the Program, or the modifications

to produce it from the Program, in the form of source code under

the terms of section 4, provided that you also meet all of these

conditions:

a) The work must carry prominent notices stating that you

modified it, and giving a relevant date.

b) The work must carry prominent notices stating that it is

released under this License and any conditions added under

section 7. This requirement modifies the requirement in

section 4 to "keep intact all notices".

c) You must license the entire work, as a whole, under this

License to anyone who comes into possession of a copy. ThisLicense will therefore apply, along with any applicable section 7

additional terms, to the whole of the work, and all its parts,

regardless of how they are packaged. This License gives no

permission to license the work in any other way, but it does notinvalidate such permission if you have separately received it.

d) If the work has interactive user interfaces, each must display

Appropriate Legal Notices; however, if the Program hasinteractive interfaces that do not display Appropriate Legal

Notices, your work need not make them do so.

A compilation of a covered work with other separate and independentworks, which are not by their nature extensions of the covered work,

and which are not combined with it such as to form a larger program,

in or on a volume of a storage or distribution medium, is calledan "aggregate" if the compilation and its resulting copyright are

not used to limit the access or legal rights of the compilation's

users beyond what the individual works permit. Inclusion of a

covered work in an aggregate does not cause this License to applyto the other parts of the aggregate.

GNU General Public License Version 3.0, 29 June 2007 andGCC Runtime Library Exception Version 3.1, 31 March 2009

either (1) a copy of the Corresponding Source for all the

Page 54: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 54/148

either (1) a copy of the Corresponding Source for all thesoftware in the product that is covered by this License, on a

durable physical medium customarily used for software

interchange, for a price no more than your reasonable cost

of physically performing this conveying of source, or (2)access to copy the Corresponding Source from a network server

at no charge.

c) Convey individual copies of the object code with a copy of the

written offer to provide the Corresponding Source. This

alternative is allowed only occasionally and noncommercially, and

only if you received the object code with such an offer, inaccord with subsection 6b.

d) Convey the object code by offering access from a designated

place (gratis or for a charge), and offer equivalent access tothe Corresponding Source in the same way through the same place

at no further charge. You need not require recipients to copy

the Corresponding Source along with the object code. If theplace to copy the object code is a network server, the

Corresponding Source may be on a different server (operated

by you or a third party) that supports equivalent copying

facilities, provided you maintain clear directions next to theobject code saying where to find the Corresponding Source.

Regardless of what server hosts the Corresponding Source, you

remain obligated to ensure that it is available for as long

as needed to satisfy these requirements.

e) Convey the object code using peer-to-peer transmission,

provided you inform other peers where the object code and

Corresponding Source of the work are being offered to thegeneral public at no charge under subsection 6d.

A separable portion of the object code, whose source code is excludedfrom the Corresponding Source as a System Library, need not be

included in conveying the object code work.

A "User Product" is either (1) a "consumer product", which meansany tangible personal property which is normally used for personal,

family, or household purposes, or (2) anything designed or sold for

incorporation into a dwelling. In determining whether a product

is a consumer product, doubtful cases shall be resolved in favorof coverage. For a particular product received by a particular

user, "normally used" refers to a typical or common use of that

class of product, regardless of the status of the particular user

or of the way in which the particular user actually uses, or expectsor is expected to use, the product. A product is a consumer product

regardless of whether the product has substantial commercial,

industrial or non-consumer uses, unless such uses represent theonly significant mode of use of the product.

"Installation Information" for a User Product means any methods,

procedures, authorization keys, or other information required toinstall and execute modified versions of a covered work in that

User Product from a modified version of its Corresponding Source

GNU General Public License Version 3.0, 29 June 2007 andGCC Runtime Library Exception Version 3.1, 31 March 2009

updates for a work that has been modified or installed by the

Page 55: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 55/148

p yrecipient, or for the User Product in which it has been modified

or installed. Access to a network may be denied when the modification

itself materially and adversely affects the operation of the networkor violates the rules and protocols for communication across the

network.

Corresponding Source conveyed, and Installation Information provided,in accord with this section must be in a format that is publicly

documented (and with an implementation available to the public in

source code form), and must require no special password or key for

unpacking, reading or copying.

7. Additional Terms.

"Additional permissions" are terms that supplement the terms ofthis License by making exceptions from one or more of its conditions.

Additional permissions that are applicable to the entire Program

shall be treated as though they were included in this License, tothe extent that they are valid under applicable law. If additional

permissions apply only to part of the Program, that part may be

used separately under those permissions, but the entire Program

remains governed by this License without regard to the additionalpermissions.

When you convey a copy of a covered work, you may at your option

remove any additional permissions from that copy, or from any partof it. (Additional permissions may be written to require their own

removal in certain cases when you modify the work.) You may place

additional permissions on material, added by you to a covered work,

for which you have or can give appropriate copyright permission.

Notwithstanding any other provision of this License, for material

you add to a covered work, you may (if authorized by the copyrightholders of that material) supplement the terms of this License with

terms:

a) Disclaiming warranty or limiting liability differently fromthe terms of sections 15 and 16 of this License; or

b) Requiring preservation of specified reasonable legal notices

or author attributions in that material or in the AppropriateLegal Notices displayed by works containing it; or

c) Prohibiting misrepresentation of the origin of that material,

or requiring that modified versions of such material be markedin reasonable ways as different from the original version; or

d) Limiting the use for publicity purposes of names of licensorsor authors of the material; or

e) Declining to grant rights under trademark law for use of some

trade names, trademarks, or service marks; or

f) Requiring indemnification of licensors and authors of that

GNU General Public License Version 3.0, 29 June 2007 andGCC Runtime Library Exception Version 3.1, 31 March 2009

additional terms that apply to those files, or a notice indicating

Page 56: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 56/148

where to find the applicable terms.

Additional terms, permissive or non-permissive, may be stated inthe form of a separately written license, or stated as exceptions;

the above requirements apply either way.

8. Termination.

You may not propagate or modify a covered work except as expressly

provided under this License. Any attempt otherwise to propagate

or modify it is void, and will automatically terminate your rightsunder this License (including any patent licenses granted under the

third paragraph of section 11).

However, if you cease all violation of this License, then yourlicense from a particular copyright holder is reinstated (a)

provisionally, unless and until the copyright holder explicitly and

finally terminates your license, and (b) permanently, if the copyrightholder fails to notify you of the violation by some reasonable means

prior to 60 days after the cessation.

Moreover, your license from a particular copyright holder isreinstated permanently if the copyright holder notifies you of the

violation by some reasonable means, this is the first time you have

received notice of violation of this License (for any work) from

that copyright holder, and you cure the violation prior to 30 daysafter your receipt of the notice.

Termination of your rights under this section does not terminate

the licenses of parties who have received copies or rights from youunder this License. If your rights have been terminated and not

permanently reinstated, you do not qualify to receive new licenses

for the same material under section 10.

9. Acceptance Not Required for Having Copies.

You are not required to accept this License in order to receive orrun a copy of the Program. Ancillary propagation of a covered work

occurring solely as a consequence of using peer-to-peer transmission

to receive a copy likewise does not require acceptance. However,

nothing other than this License grants you permission to propagate ormodify any covered work. These actions infringe copyright if you do

not accept this License. Therefore, by modifying or propagating a

covered work, you indicate your acceptance of this License to do so.

10. Automatic Licensing of Downstream Recipients.

Each time you convey a covered work, the recipient automaticallyreceives a license from the original licensors, to run, modify and

propagate that work, subject to this License. You are not responsible

for enforcing compliance by third parties with this License.

An "entity transaction" is a transaction transferring control of an

organization or substantially all assets of one or subdividing an

GNU General Public License Version 3.0, 29 June 2007 andGCC Runtime Library Exception Version 3.1, 31 March 2009

11. Patents.

Page 57: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 57/148

A "contributor" is a copyright holder who authorizes use under this

License of the Program or a work on which the Program is based. Thework thus licensed is called the contributor's "contributor version".

A contributor's "essential patent claims" are all patent claims

owned or controlled by the contributor, whether already acquiredor hereafter acquired, that would be infringed by some manner,

permitted by this License, of making, using, or selling its contributor

version, but do not include claims that would be infringed only as

a consequence of further modification of the contributor version.For purposes of this definition, "control" includes the right to

grant patent sublicenses in a manner consistent with the requirements

of this License.

Each contributor grants you a non-exclusive, worldwide, royalty-free

patent license under the contributor's essential patent claims, to

make, use, sell, offer for sale, import and otherwise run, modifyand propagate the contents of its contributor version.

In the following three paragraphs, a "patent license" is any express

agreement or commitment, however denominated, not to enforce apatent (such as an express permission to practice a patent or

covenant not to sue for patent infringement). To "grant" such a

patent license to a party means to make such an agreement or

commitment not to enforce a patent against the party.

If you convey a covered work, knowingly relying on a patent license,

and the Corresponding Source of the work is not available for anyone

to copy, free of charge and under the terms of this License, througha publicly available network server or other readily accessible

means, then you must either (1) cause the Corresponding Source to

be so available, or (2) arrange to deprive yourself of the benefitof the patent license for this particular work, or (3) arrange, in

a manner consistent with the requirements of this License, to extend

the patent license to downstream recipients. "Knowingly relying"

means you have actual knowledge that, but for the patent license,your conveying the covered work in a country, or your recipient's

use of the covered work in a country, would infringe one or more

identifiable patents in that country that you have reason to believe

are valid.

If, pursuant to or in connection with a single transaction or

arrangement, you convey, or propagate by procuring conveyance of,

a covered work, and grant a patent license to some of the partiesreceiving the covered work authorizing them to use, propagate,

modify or convey a specific copy of the covered work, then the

patent license you grant is automatically extended to all recipientsof the covered work and works based on it.

A patent license is "discriminatory" if it does not include within

the scope of its coverage, prohibits the exercise of, or is conditionedon the non-exercise of one or more of the rights that are specifically

granted under this License You may not convey a covered work if

GNU General Public License Version 3.0, 29 June 2007 andGCC Runtime Library Exception Version 3.1, 31 March 2009

If conditions are imposed on you (whether by court order, agreementth i ) th t t di t th diti f thi Li th

Page 58: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 58/148

or otherwise) that contradict the conditions of this License, they

do not excuse you from the conditions of this License. If you

cannot convey a covered work so as to satisfy simultaneously yourobligations under this License and any other pertinent obligations,

then as a consequence you may not convey it at all. For example,

if you agree to terms that obligate you to collect a royalty for

further conveying from those to whom you convey the Program, theonly way you could satisfy both those terms and this License would

be to refrain entirely from conveying the Program.

13. Use with the GNU Affero General Public License.

Notwithstanding any other provision of this License, you have

permission to link or combine any covered work with a work licensed

under version 3 of the GNU Affero General Public License into asingle combined work, and to convey the resulting work. The terms

of this License will continue to apply to the part which is the

covered work, but the special requirements of the GNU Affero GeneralPublic License, section 13, concerning interaction through a network

will apply to the combination as such.

14. Revised Versions of this License.

The Free Software Foundation may publish revised and/or new versions

of the GNU General Public License from time to time. Such new

versions will be similar in spirit to the present version, but maydiffer in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the

Program specifies that a certain numbered version of the GNU GeneralPublic License "or any later version" applies to it, you have the

option of following the terms and conditions either of that numbered

version or of any later version published by the Free SoftwareFoundation. If the Program does not specify a version number of

the GNU General Public License, you may choose any version ever

published by the Free Software Foundation.

If the Program specifies that a proxy can decide which future

versions of the GNU General Public License can be used, that proxy's

public statement of acceptance of a version permanently authorizes

you to choose that version for the Program.

Later license versions may give you additional or different

permissions. However, no additional obligations are imposed on any

author or copyright holder as a result of your choosing to followa later version.

15. Disclaimer of Warranty.

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY

APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT

HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUTWARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT

NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS

GNU General Public License Version 3.0, 29 June 2007 andGCC Runtime Library Exception Version 3.1, 31 March 2009

17. Interpretation of Sections 15 and 16.

Page 59: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 59/148

If the disclaimer of warranty and limitation of liability provided

above cannot be given local legal effect according to their terms,reviewing courts shall apply local law that most closely approximates

an absolute waiver of all civil liability in connection with the

Program, unless a warranty or assumption of liability accompanies a

copy of the Program in return for a fee.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest

possible use to the public, the best way to achieve this is to make

it free software which everyone can redistribute and change underthese terms.

To do so, attach the following notices to the program. It is safestto attach them to the start of each source file to most effectively

state the exclusion of warranty; and each file should have at least

the "copyright" line and a pointer to where the full notice is

found.

<one line to give the program's name and a brief idea of what it does.>

Copyright (C) <year> <name of author>

This program is free software: you can redistribute it and/or

modify it under the terms of the GNU General Public License

as published by the Free Software Foundation, either version 3

of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.

You should have received a copy of the GNU General Public Licensealong with this program. If not, see

<http://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

If the program does terminal interaction, make it output a short

notice like this when it starts in an interactive mode:

<program> Copyright (C) <year> <name of author>

This program comes with ABSOLUTELY NO WARRANTY; for details type 'show w'.

This is free software, and you are welcome to redistribute itunder certain conditions; type 'show c' for details.

The hypothetical commands 'show w' and 'show c' should show the

appropriate parts of the General Public License. Of course, yourprogram's commands might be different; for a GUI interface, you

would use an "about box"

GNU General Public License Version 3.0, 29 June 2007 andGCC Runtime Library Exception Version 3.1, 31 March 2009

Version 3.1, 31 March 2009

Page 60: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 60/148

Copyright © 2009 Free Software Foundation, Inc. <http://fsf.org/>

Everyone is permitted to copy and distribute verbatim copies of

this license document, but changing it is not allowed.

This GCC Runtime Library Exception ("Exception") is an additionalpermission under section 7 of the GNU General Public License, version

3 ("GPLv3"). It applies to a given file (the "Runtime Library")

that bears a notice placed by the copyright holder of the file

stating that the file is governed by GPLv3 along with this Exception.

When you use GCC to compile a program, GCC may combine portions of

certain GCC header files and runtime libraries with the compiled

program. The purpose of this Exception is to allow compilation ofnon-GPL (including proprietary) programs to use, in this way, the

header files and runtime libraries covered by this Exception.

0. Definitions.

A file is an "Independent Module" if it either requires the Runtime

Library for execution after a Compilation Process, or makes use ofan interface provided by the Runtime Library, but is not otherwise

based on the Runtime Library.

"GCC" means a version of the GNU Compiler Collection, with or withoutmodifications, governed by version 3 (or a specified later version)

of the GNU General Public License (GPL) with the option of using

any subsequent versions published by the FSF.

"GPL-compatible Software" is software whose conditions of propagation,

modification and use would permit combination with GCC in accord

with the license of GCC.

"Target Code" refers to output from any compiler for a real or

virtual target processor architecture, in executable form or suitable

for input to an assembler, loader, linker and/or execution phase.Notwithstanding that, Target Code does not include data in any

format that is used as a compiler intermediate representation, or

used for producing a compiler intermediate representation.

The "Compilation Process" transforms code entirely represented in

non-intermediate languages designed for human-written code, and/or

in Java Virtual Machine byte code, into Target Code. Thus, for

example, use of source code generators and preprocessors need notbe considered part of the Compilation Process, since the Compilation

Process can be understood as starting with the output of the

generators or preprocessors.

A Compilation Process is "Eligible" if it is done using GCC, alone

or with other GPL-compatible software, or if it is done without

using any work based on GCC. For example, using non-GPL-compatibleSoftware to optimize any GCC intermediate representations would not

qualify as an Eligible Compilation Process

GNU Lesser General Public License Version 2.1, February 1999

A.15. GNU Lesser General Public License Version 2.1, February

Page 61: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 61/148

y1999

The following applies to all products licensed under the

GNU Lesser General Public License, Version 2.1: You maynot use the identified files except in compliance with

the GNU Lesser General Public License, Version 2.1 (the

"License"). You may obtain a copy of the License athttp://www.gnu.org/licenses/lgpl-2.1.html. A copy of the

license is also reproduced below. Unless required by

applicable law or agreed to in writing, software distributed

under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express

or implied. See the License for the specific language governingpermissions and limitations under the License.

GNU LESSER GENERAL PUBLIC LICENSE

Version 2.1, February 1999

Copyright (C) 1991, 1999 Free Software Foundation, Inc.51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Everyone is permitted to copy and distribute verbatim copies

of this license document, but changing it is not allowed.

[This is the first released version of the Lesser GPL. It also countsas the successor of the GNU Library Public License, version 2, hence

the version number 2.1.]

Preamble

The licenses for most software are designed to take away yourfreedom to share and change it. By contrast, the GNU General Public

Licenses are intended to guarantee your freedom to share and change

free software--to make sure the software is free for all its users.

This license, the Lesser General Public License, applies to somespecially designated software packages--typically libraries--of the

Free Software Foundation and other authors who decide to use it. Youcan use it too, but we suggest you first think carefully about whether

this license or the ordinary General Public License is the better

strategy to use in any particular case, based on the explanations below.

When we speak of free software, we are referring to freedom of use,

not price. Our General Public Licenses are designed to make sure that

you have the freedom to distribute copies of free software (and charge

for this service if you wish); that you receive source code or can get

it if you want it; that you can change the software and use pieces ofit in new free programs; and that you are informed that you can do

these things.

To protect your rights, we need to make restrictions that forbid

distributors to deny you these rights or to ask you to surrender these

rights These restrictions translate to certain responsibilities for

GNU Lesser General Public License Version 2.1, February 1999

that what they have is not the original version, so that the originalauthor's reputation will not be affected by problems that might be

Page 62: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 62/148

introduced by others.

Finally, software patents pose a constant threat to the existence of

any free program. We wish to make sure that a company cannot

effectively restrict the users of a free program by obtaining a

restrictive license from a patent holder. Therefore, we insist thatany patent license obtained for a version of the library must be

consistent with the full freedom of use specified in this license.

Most GNU software, including some libraries, is covered by theordinary GNU General Public License. This license, the GNU Lesser

General Public License, applies to certain designated libraries, and

is quite different from the ordinary General Public License. We use

this license for certain libraries in order to permit linking thoselibraries into non-free programs.

When a program is linked with a library, whether statically or usinga shared library, the combination of the two is legally speaking a

combined work, a derivative of the original library. The ordinary

General Public License therefore permits such linking only if the

entire combination fits its criteria of freedom. The Lesser GeneralPublic License permits more lax criteria for linking other code with

the library.

We call this license the "Lesser" General Public License because itdoes Less to protect the user's freedom than the ordinary General

Public License. It also provides other free software developers Less

of an advantage over competing non-free programs. These disadvantages

are the reason we use the ordinary General Public License for manylibraries. However, the Lesser license provides advantages in certain

special circumstances.

For example, on rare occasions, there may be a special need to

encourage the widest possible use of a certain library, so that it

becomes a de-facto standard. To achieve this, non-free programs

must be allowed to use the library. A more frequent case is thata free library does the same job as widely used non-free libraries.

In this case, there is little to gain by limiting the free library

to free software only, so we use the Lesser General Public License.

In other cases, permission to use a particular library in non-free

programs enables a greater number of people to use a large body of

free software. For example, permission to use the GNU C Library in

non-free programs enables many more people to use the whole GNUoperating system, as well as its variant, the GNU/Linux operating

system.

Although the Lesser General Public License is Less protective of the

users' freedom, it does ensure that the user of a program that is

linked with the Library has the freedom and the wherewithal to run

that program using a modified version of the Library.

The precise terms and conditions for copying distribution and

GNU Lesser General Public License Version 2.1, February 1999

The "Library", below, refers to any such software library or work

Page 63: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 63/148

which has been distributed under these terms. A "work based on the

Library" means either the Library or any derivative work undercopyright law: that is to say, a work containing the Library or a

portion of it, either verbatim or with modifications and/or translatedstraightforwardly into another language. (Hereinafter, translation is

included without limitation in the term "modification".)

"Source code" for a work means the preferred form of the work for

making modifications to it. For a library, complete source code means

all the source code for all modules it contains, plus any associatedinterface definition files, plus the scripts used to control

compilation and installation of the library.

Activities other than copying, distribution and modification are notcovered by this License; they are outside its scope. The act of

running a program using the Library is not restricted, and output from

such a program is covered only if its contents constitute a work basedon the Library (independent of the use of the Library in a tool for

writing it). Whether that is true depends on what the Library does

and what the program that uses the Library does.

1. You may copy and distribute verbatim copies of the Library's

complete source code as you receive it, in any medium, provided that

you conspicuously and appropriately publish on each copy an

appropriate copyright notice and disclaimer of warranty; keep intactall the notices that refer to this License and to the absence of any

warranty; and distribute a copy of this License along with the

Library.

You may charge a fee for the physical act of transferring a copy,

and you may at your option offer warranty protection in exchange for a

fee.

2. You may modify your copy or copies of the Library or any portion

of it, thus forming a work based on the Library, and copy and

distribute such modifications or work under the terms of Section 1above, provided that you also meet all of these conditions:

a) The modified work must itself be a software library.

b) You must cause the files modified to carry prominent notices

stating that you changed the files and the date of any change.

c) You must cause the whole of the work to be licensed at nocharge to all third parties under the terms of this License.

d) If a facility in the modified Library refers to a function or atable of data to be supplied by an application program that uses

the facility, other than as an argument passed when the facility

is invoked, then you must make a good faith effort to ensure that,

in the event an application does not supply such function ortable, the facility still operates, and performs whatever part of

its purpose remains meaningful

GNU Lesser General Public License Version 2.1, February 1999

it.

Th it i t th i t t f thi ti t l i i ht t t

Page 64: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 64/148

Thus, it is not the intent of this section to claim rights or contest

your rights to work written entirely by you; rather, the intent is toexercise the right to control the distribution of derivative or

collective works based on the Library.

In addition, mere aggregation of another work not based on the Librarywith the Library (or with a work based on the Library) on a volume of

a storage or distribution medium does not bring the other work under

the scope of this License.

3. You may opt to apply the terms of the ordinary GNU General Public

License instead of this License to a given copy of the Library. To do

this, you must alter all the notices that refer to this License, so

that they refer to the ordinary GNU General Public License, version 2,instead of to this License. (If a newer version than version 2 of the

ordinary GNU General Public License has appeared, then you can specify

that version instead if you wish.) Do not make any other change inthese notices.

Once this change is made in a given copy, it is irreversible for

that copy, so the ordinary GNU General Public License applies to allsubsequent copies and derivative works made from that copy.

This option is useful when you wish to copy part of the code of

the Library into a program that is not a library.

4. You may copy and distribute the Library (or a portion or

derivative of it, under Section 2) in object code or executable form

under the terms of Sections 1 and 2 above provided that you accompanyit with the complete corresponding machine-readable source code, which

must be distributed under the terms of Sections 1 and 2 above on a

medium customarily used for software interchange.

If distribution of object code is made by offering access to copy

from a designated place, then offering equivalent access to copy the

source code from the same place satisfies the requirement todistribute the source code, even though third parties are not

compelled to copy the source along with the object code.

5. A program that contains no derivative of any portion of theLibrary, but is designed to work with the Library by being compiled or

linked with it, is called a "work that uses the Library". Such a

work, in isolation, is not a derivative work of the Library, and

therefore falls outside the scope of this License.

However, linking a "work that uses the Library" with the Library

creates an executable that is a derivative of the Library (because itcontains portions of the Library), rather than a "work that uses the

library". The executable is therefore covered by this License.

Section 6 states terms for distribution of such executables.

When a "work that uses the Library" uses material from a header file

that is part of the Library the object code for the work may be a

GNU Lesser General Public License Version 2.1, February 1999

6. As an exception to the Sections above, you may also combine orlink a "work that uses the Library" with the Library to produce a

work containing portions of the Library and distribute that work

Page 65: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 65/148

work containing portions of the Library, and distribute that work

under terms of your choice, provided that the terms permitmodification of the work for the customer's own use and reverse

engineering for debugging such modifications.

You must give prominent notice with each copy of the work that theLibrary is used in it and that the Library and its use are covered by

this License. You must supply a copy of this License. If the work

during execution displays copyright notices, you must include the

copyright notice for the Library among them, as well as a referencedirecting the user to the copy of this License. Also, you must do one

of these things:

a) Accompany the work with the complete correspondingmachine-readable source code for the Library including whatever

changes were used in the work (which must be distributed under

Sections 1 and 2 above); and, if the work is an executable linkedwith the Library, with the complete machine-readable "work that

uses the Library", as object code and/or source code, so that the

user can modify the Library and then relink to produce a modified

executable containing the modified Library. (It is understoodthat the user who changes the contents of definitions files in the

Library will not necessarily be able to recompile the application

to use the modified definitions.)

b) Use a suitable shared library mechanism for linking with the

Library. A suitable mechanism is one that (1) uses at run time a

copy of the library already present on the user's computer system,

rather than copying library functions into the executable, and (2)will operate properly with a modified version of the library, if

the user installs one, as long as the modified version is

interface-compatible with the version that the work was made with.

c) Accompany the work with a written offer, valid for at

least three years, to give the same user the materials

specified in Subsection 6a, above, for a charge no morethan the cost of performing this distribution.

d) If distribution of the work is made by offering access to copy

from a designated place, offer equivalent access to copy the abovespecified materials from the same place.

e) Verify that the user has already received a copy of these

materials or that you have already sent this user a copy.

For an executable, the required form of the "work that uses the

Library" must include any data and utility programs needed forreproducing the executable from it. However, as a special exception,

the materials to be distributed need not include anything that is

normally distributed (in either source or binary form) with the major

components (compiler, kernel, and so on) of the operating system onwhich the executable runs, unless that component itself accompanies

the executable

GNU Lesser General Public License Version 2.1, February 1999

Sections above.

b) Give prominent notice with the combined library of the fact

Page 66: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 66/148

b) Give prominent notice with the combined library of the fact

that part of it is a work based on the Library, and explainingwhere to find the accompanying uncombined form of the same work.

8. You may not copy, modify, sublicense, link with, or distribute

the Library except as expressly provided under this License. Anyattempt otherwise to copy, modify, sublicense, link with, or

distribute the Library is void, and will automatically terminate your

rights under this License. However, parties who have received copies,

or rights, from you under this License will not have their licensesterminated so long as such parties remain in full compliance.

9. You are not required to accept this License, since you have not

signed it. However, nothing else grants you permission to modify ordistribute the Library or its derivative works. These actions are

prohibited by law if you do not accept this License. Therefore, by

modifying or distributing the Library (or any work based on theLibrary), you indicate your acceptance of this License to do so, and

all its terms and conditions for copying, distributing or modifying

the Library or works based on it.

10. Each time you redistribute the Library (or any work based on the

Library), the recipient automatically receives a license from the

original licensor to copy, distribute, link with or modify the Library

subject to these terms and conditions. You may not impose any furtherrestrictions on the recipients' exercise of the rights granted herein.

You are not responsible for enforcing compliance by third parties with

this License.

11. If, as a consequence of a court judgment or allegation of patent

infringement or for any other reason (not limited to patent issues),

conditions are imposed on you (whether by court order, agreement orotherwise) that contradict the conditions of this License, they do not

excuse you from the conditions of this License. If you cannot

distribute so as to satisfy simultaneously your obligations under this

License and any other pertinent obligations, then as a consequence youmay not distribute the Library at all. For example, if a patent

license would not permit royalty-free redistribution of the Library by

all those who receive copies directly or indirectly through you, then

the only way you could satisfy both it and this License would be torefrain entirely from distribution of the Library.

If any portion of this section is held invalid or unenforceable under

any particular circumstance, the balance of the section is intendedto apply, and the section as a whole is intended to apply in other

circumstances.

It is not the purpose of this section to induce you to infringe any

patents or other property right claims or to contest validity of any

such claims; this section has the sole purpose of protecting the

integrity of the free software distribution system which isimplemented by public license practices. Many people have made

generous contributions to the wide range of software distributed

GNU Lesser General Public License Version 2.1, February 1999

versions of the Lesser General Public License from time to time.Such new versions will be similar in spirit to the present version,

but may differ in detail to address new problems or concerns.

Page 67: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 67/148

but ay d e deta to add ess e p ob e s o co ce s.

Each version is given a distinguishing version number. If the Library

specifies a version number of this License which applies to it and"any later version", you have the option of following the terms and

conditions either of that version or of any later version published bythe Free Software Foundation. If the Library does not specify a

license version number, you may choose any version ever published by

the Free Software Foundation.

14. If you wish to incorporate parts of the Library into other free

programs whose distribution conditions are incompatible with these,

write to the author to ask for permission. For software which is

copyrighted by the Free Software Foundation, write to the Free

Software Foundation; we sometimes make exceptions for this. Ourdecision will be guided by the two goals of preserving the free status

of all derivatives of our free software and of promoting the sharingand reuse of software generally.

NO WARRANTY

15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO

WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.

EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR

OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANYKIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE

IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR

PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE

LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUMETHE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO INWRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY

AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU

FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR

CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THELIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING

RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A

FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF

SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCHDAMAGES.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Libraries

If you develop a new library, and you want it to be of the greatestpossible use to the public, we recommend making it free software that

everyone can redistribute and change. You can do so by permitting

redistribution under these terms (or, alternatively, under the terms

of the ordinary General Public License).

To apply these terms attach the following notices to the library

GNU Libtool License

You should have received a copy of the GNU Lesser General Public

License along with this library; if not, write to the Free Software

Page 68: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 68/148

Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA02110-1301 USA

Also add information on how to contact you by electronic and paper mail.

You should also get your employer (if you work as a programmer) or your

school, if any, to sign a "copyright disclaimer" for the library, if

necessary. Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright interest in the

library `Frob' (a library for tweaking knobs) written by James

Random Hacker.

<signature of Ty Coon>, 1 April 1990Ty Coon, President of Vice

That's all there is to it!

A.16. GNU Libtool License

The following software may be included in this product:

GNU Libtool (The GNU Portable Library Tool)

If you are receiving a copy of the Oracle software insource code, you are also receiving a copy of two files

(ltmain.sh and ltdl.h) generated by the GNU Libtool in

source code. If you received the Oracle software under

a license other than a commercial (non-GPL) license,then the terms of the Oracle license do NOT apply to

these files from GNU Libtool; they are licensed under

the following licenses, separately from the Oracle

programs you receive.

Oracle elects to use GNU General Public License version

2 (GPL) for any software where a choice of GPL or GNU

Lesser/Library General Public License (LGPL) licenseversions are made available with the language indicating

that GPL/LGPL or any later version may be used, or where

a choice of which version of the GPL/LGPL is applied isunspecified.

From GNU Libtool:

ltmain.sh - Provide generalized library-building supportservices.

NOTE: Changing this file will not affect anything until

you rerun configure.Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004,

2005, 2006, 2007 Free Software Foundation, Inc.

GNU Readline License

if you distribute this file as part of a program thatcontains a configuration script generated by Autoconf,

you may include it under the same distribution terms that

Page 69: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 69/148

you use for the rest of that program.

This component is licensed under Section A.13, “GNU General Public License Version 2.0, June 1991”

A.17. GNU Readline License

The following software may be included in this product:

GNU Readline Library

GNU Readline LibraryWith respect to MySQL Server/Cluster software licensed

under GNU General Public License, you are receiving acopy of the GNU Readline Library in source code. The

terms of any Oracle license that might accompany the

Oracle programs do NOT apply to the GNU Readline Library;

it is licensed under the following license, separatelyfrom the Oracle programs you receive. Oracle elects to

use GNU General Public License version 2 (GPL) for any

software where a choice of GPL license versions are

made available with the language indicating that GPLv2

or any later version may be used, or where a choice ofwhich version of the GPL is applied is unspecified.

This component is licensed under Section A.13, “GNU General Public License Version 2.0, June 1991”

A.18. GNU Standard C++ Library (libstdc++) License

The following software may be included in this product: GNU Standard C++ Library (libstdc++)

This component is licensed under Section A.14, “GNU General Public License Version 3.0, 29 June2007 and GCC Runtime Library Exception Version 3.1, 31 March 2009”.

Additional notices:

==Copyright (c) 1994

Hewlett-Packard Company

Permission to use, copy, modify, distribute and sell this software

and its documentation for any purpose is hereby granted without fee,provided that the above copyright notice appear in all copies and

that both that copyright notice and this permission notice appear

in supporting documentation. Hewlett-Packard Company makes norepresentations about the suitability of this software for any

purpose. It is provided "as is" without express or implied

Google Controlling Master Thread I/O Rate Patch License

shared_count.hpp@ Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.

Page 70: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 70/148

shared_ptr.hppCopyright (C) 1998, 1999 Greg Colvin and Beman Dawes.

Copyright (C) 2001, 2002, 2003 Peter Dimov

weak_ptr.hppCopyright (C) 2001, 2002, 2003 Peter Dimov

enable_shared_from_this.hpp

Copyright (C) 2002 Peter Dimov

Distributed under the Boost Software License, Version 1.0.

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or

organization obtaining a copy of the software and accompanyingdocumentation covered by this license (the "Software") to use,

reproduce, display, distribute, execute, and transmit the Software,

and to prepare derivative works of the Software, and to permit

third-parties to whom the Software is furnished to do so, all subjectto the following:

The copyright notices in the Software and this entire statement,

including the above license grant, this restriction and the followingdisclaimer, must be included in all copies of the Software, in whole

or in part, and all derivative works of the Software, unless such

copies or derivative works are solely in the form of machine-executable

object code generated by a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,

EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OFMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND

NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE

DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER

LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER

DEALINGS IN THE SOFTWARE.

==

==

Copyright (C) 2004 Ami Tavory and Vladimir Dreizin, IBM-HRL.

Permission to use, copy, modify, sell, and distribute this softwareis hereby granted without fee, provided that the above copyright

notice appears in all copies, and that both that copyright notice

and this permission notice appear in supporting documentation. Noneof the above authors, nor IBM Haifa Research Laboratories, make any

representation about the suitability of this software for any

purpose. It is provided "as is" without express or implied warranty.

==

A 19 G l C t lli M t Th d I/O R t P t h Li

Google Perftools (TCMalloc utility) License

documentation and/or other materials provided with the distribution.* Neither the name of the Google Inc. nor the names of its contributors

may be used to endorse or promote products derived from this software

ith t ifi i itt i i

Page 71: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 71/148

without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT

LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESSFOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE

COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,

INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,

BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER

CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT

LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN

ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE

POSSIBILITY OF SUCH DAMAGE.

A.20. Google Perftools (TCMalloc utility) License

The following software may be included in this product:

Google Perftools (TCMalloc utility)

Copyright (c) 1998-2006, Google Inc.

All rights reserved.

Redistribution and use in source and binary forms, with orwithout modification, are permitted provided that the following

conditions are met:

* Redistributions of source code must retain the above

copyright notice, this list of conditions and the following

disclaimer.

* Redistributions in binary form must reproduce the abovecopyright notice, this list of conditions and the following

disclaimer in the documentation and/or other materials providedwith the distribution.

* Neither the name of Google Inc. nor the names of itscontributors may be used to endorse or promote products

derived from this software without specific prior written

permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS

"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT

LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FORA PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT

OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY

THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE

 jboss-common-jdbc-wrapper.jar License

* Redistributions of source code must retain the above copyright

notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright

Page 72: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 72/148

* Redistributions in binary form must reproduce the above copyrightnotice, this list of conditions and the following disclaimer in the

documentation and/or other materials provided with the distribution.* Neither the name of the Google Inc. nor the names of its contributors

may be used to endorse or promote products derived from this softwarewithout specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS

"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOTLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS

FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE

COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,

INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,

BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER

CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICTLIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN

ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE

POSSIBILITY OF SUCH DAMAGE.

A.22. jboss-common-jdbc-wrapper.jar License

You are receiving a copy of jboss-common-jdbc-wrapper.jar in both source and object codein the following /src/lib/jboss-common-jdbc-wrapper.jar . The terms of the Oracle licensedo NOT apply to jboss-common-jdbc-wrapper.jar ; it is licensed under the following license,separately from the Oracle programs you receive. If you do not wish to install this library, you mayremove the file /src/lib/jboss-common-jdbc-wrapper.jar , but the Oracle program might notoperate properly or at all without the library.

This component is licensed under Section A.15, “GNU Lesser General Public License Version 2.1,February 1999”.

A.23. lib_sql.cc License

The following software may be included in this product:

lib_sql.cc

Copyright (c) 2000

SWsoft company

This material is provided "as is", with absolutely no warranty

expressed or implied. Any use is at your own risk.

Permission to use or copy this software for any purpose is hereby

granted without fee provided the above notices are retained on

libevent License

A.25. libevent License

The following software may be included in this product:

Page 73: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 73/148

The following software may be included in this product:

libevent

Copyright (c) 2000-2007 Niels Provos <[email protected]>All rights reserved.

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditionsare met:

1. Redistributions of source code must retain the above copyright

notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyrightnotice, this list of conditions and the following disclaimer in the

documentation and/or other materials provided with the distribution.

3. The name of the author may not be used to endorse or promote productsderived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR

IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIESOF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.

IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,

INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT

NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY

THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OFTHIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE

==

Parts developed by Adam Langley==

==

log.cBased on err.c, which was adapted from OpenBSD libc *err*warncode.

Copyright (c) 2005 Nick Mathewson

Copyright (c) 2000 Dug SongCopyright (c) 1993 The Regents of the University of California.

All rights reserved.

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditions

are met:

1. Redistributions of source code must retain the above copyrightnotice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright

notice, this list of conditions and the following disclaimer in

the documentation and/or other materials provided with thedistribution.

Libiconv License

==min_heap.h

Copyright (c) 2006 Maxim Yegorushkin

Page 74: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 74/148

py g ( ) gAll rights reserved.

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditionsare met:

1. Redistributions of source code must retain the above copyright

notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyrightnotice, this list of conditions and the following disclaimer in

the documentation and/or other materials provided with the

distribution.

3. The name of the author may not be used to endorse or promote

products derived from this software without specific priorwritten permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS

OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED

WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANYDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL

DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE

GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS

INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER

IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OROTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN

IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

==

==

win32.c

Copyright 2000-2002 Niels Provos

Copyright 2003 Michael A. Davis

All rights reserved.

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditions

are met:1. Redistributions of source code must retain the above copyright

notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright

notice, this list of conditions and the following disclaimer inthe documentation and/or other materials provided with the

distribution.

3. The name of the author may not be used to endorse or promoteproducts derived from this software without specific prior

written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESSOR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED

WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

libintl License

You are receiving a copy of the GNU LIBICONV Library. The terms of the Oraclelicense do NOT apply to the GNU LIBICONV Library; it is licensed under the

following license, separately from the Oracle programs you receive. If you do

not wish to install this program, you may delete [agent install

Page 75: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 75/148

dir]/lib/libiconv.* and [agent install dir]/licenses/lgpl/iconv files.

This component is licensed under Section A.15, “GNU Lesser General Public License Version 2.1,February 1999”.

A.27. libintl License

The following software may be included in this product:

libintl

Copyright (C) 1994 X Consortium

 

Permission is hereby granted, free of charge, to any person obtaining a copy of

this software and associated documentation files (the "Software"), to deal inthe Software without restriction, including without limitation the rights to

use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of

the Software, and to permit persons to whom the Software is furnished to do so,

subject to the following conditions: 

The above copyright notice and this permission notice shall be included in all

copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS

FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUMBE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF

CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE

SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

 Except as contained in this notice, the name of the X Consortium shall not be

used in advertising or otherwise to promote the sale, use or other dealings in

this Software without prior written authorization from the X Consortium. FSF changes to this file are in the public domain.

.

Copyright 1996-2007 Free Software Foundation, Inc. Taken from GNU libtool, 2001

Originally by Gordon Matzigkeit <[email protected]>, 1996

This file is free software; the Free Software Foundation gives unlimitedpermission to copy and/or distribute it, with or without modifications, as long

as this notice is preserved.

.You are receiving a copy of the libintl library. The terms of the Oracle licensedo NOT apply to the libintl library; it is licensed under the following license,

separately from the Oracle programs you receive. If you do not wish to install

this program, you may create an "exclude" file and run tar with the X option.

LPeg Library License

1. Redistributions of source code must retain the above copyright

notice, and the entire permission notice in its entirety,

including the disclaimer of warranties.

Page 76: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 76/148

2. Redistributions in binary form must reproduce the above copyright

notice, this list of conditions and the following disclaimer inthe documentation and/or other materials provided with the

distribution.3. The name of the author may not be used to endorse or promote

products derived from this software without specific prior

written permission.

ALTERNATIVELY, this product may be distributed under the terms

of the GNU Public License, in which case the provisions of the

GPL are required INSTEAD OF the above restrictions. (This clause

is necessary due to a potential bad interaction between the GPL

and the restrictions contained in a BSD-style copyright.)

THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIEDWARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES

OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,

INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR

SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)

HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,

STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)

ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISEDOF THE POSSIBILITY OF SUCH DAMAGE.

A.29. LPeg Library License

The following software may be included in this product:

LPeg

Use of any of this software is governed by the terms of the license below:

Copyright © 2008 Lua.org, PUC-Rio.

Permission is hereby granted, free of charge, to any person obtaining a copy ofthis software and associated documentation files (the "Software"), to deal in

the Software without restriction, including without limitation the rights to

use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of

the Software, and to permit persons to whom the Software is furnished to do so,subject to the following conditions:

The above copyright notice and this permission notice shall be included in all

copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESSFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR

COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER

LuaFileSystem Library License

to the following conditions:

The above copyright notice and this permission notice shall be

included in all copies or substantial portions of the Software.

Page 77: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 77/148

 

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES

OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE ANDNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT

HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,

WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OROTHER DEALINGS IN THE SOFTWARE.

A.31. LuaFileSystem Library License

The following software may be included in this product:

LuaFileSystem

Copyright © 2003 Kepler Project.

Permission is hereby granted, free of charge, to any person obtaining

a copy of this software and associated documentation files (the

"Software"), to deal in the Software without restriction, including

without limitation the rights to use, copy, modify, merge, publish,

distribute, sublicense, and/or sell copies of the Software, and topermit persons to whom the Software is furnished to do so, subject

to the following conditions:

The above copyright notice and this permission notice shall be

included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,

EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF

MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR

ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OFCONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION

WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

A.32. md5 (Message-Digest Algorithm 5) License

The following software may be included in this product:

md5 (Message-Digest Algorithm 5)

This code implements the MD5 message-digest algorithm.The algorithm is due to Ron Rivest. This code was

written by Colin Plumb in 1993, no copyright is claimed.

This code is in the public domain; do with it what you wish.

Equivalent code is available from RSA Data Security, Inc.

mkpasswd.pl License

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditions

are met:

Page 78: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 78/148

* Redistributions of source code must retain the above copyrightnotice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above

copyright notice, this list of conditions and the following disclaimer

in the documentation and/or other materials provided with the

distribution.

* Neither the name of the Danga Interactive nor the names of its

contributors may be used to endorse or promote products derived from

this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS

"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOTLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR

A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT

OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOTLIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,

DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY

THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE

OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

A.34. mkpasswd.pl License

The following software may be included in this product:

mkpasswd.pl Perl module

Copyright (C) 2003-2004 by Chris Grau

This library is free software; you can redistribute it and/or modify it under

the same terms as Perl itself, either Perl version 5.8.1 or, at your option,

any later version of Perl 5 you may have available.

The Perl 5.8.1 license (from http://www.cpan.org/src/5.0/perl-5.8.1.tar.gz - main readme file):

Perl Kit, Version 5

Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998

1999, 2000, 2001, by Larry Wall and others

All rights reserved.

This program is free software; you can redistribute it and/or modify

it under the terms of either:

mkpasswd.pl License

Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA02111-1307, USA or visit their web page on the internet at

http://www.gnu.org/copyleft/gpl.html.

For those of you that choose to use the GNU General Public License,

Page 79: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 79/148

For those of you that choose to use the GNU General Public License,

my interpretation of the GNU General Public License is that no Perlscript falls under the terms of the GPL unless you explicitly put

said script under the terms of the GPL yourself. Furthermore, anyobject code linked with perl does not automatically fall under the

terms of the GPL, provided such object code only adds definitions

of subroutines and variables, and does not otherwise impair the

resulting interpreter from executing any standard Perl script. Iconsider linking in C subroutines in this manner to be the moral

equivalent of defining subroutines in the Perl language itself. You

may sell such an object file as proprietary provided that you provide

or offer to provide the Perl source, as specified by the GNU General

Public License. (This is merely an alternate way of specifying inputto the program.) You may also sell a binary produced by the dumping of

a running Perl script that belongs to you, provided that you provide oroffer to provide the Perl source as specified by the GPL. (The

fact that a Perl interpreter and your code are in the same binary file

is, in this case, a form of mere aggregation.) This is my interpretation

of the GPL. If you still have concerns or difficulties understandingmy intent, feel free to contact me. Of course, the Artistic License

spells all this out for your protection, so you may prefer to use that.

--------------------------------------------------------------------------

Perl is a language that combines some of the features of C, sed, awk

and shell. See the manual page for more hype. There are also many Perl

books available, covering a wide variety of topics, from various publishers.See pod/perlbook.pod for more information.

Please read all the directions below before you proceed any further, andthen follow them carefully.

After you have unpacked your kit, you should have all the files listed

in MANIFEST.

Installation

1) Detailed instructions are in the file "INSTALL", which you shouldread if you are either installing on a system resembling Unix

or porting perl to another platform. For non-Unix platforms, see the

corresponding README.

2) Read the manual entries before running perl.

3) IMPORTANT! Help save the world! Communicate any problems and suggested

patches to [email protected] so we can keep the world in sync.If you have a problem, there's someone else out there who either has had

or will have the same problem. It's usually helpful if you send the

output of the "myconfig" script in the main perl directory.

If you've succeeded in compiling perl the perlbug script in the "utils"

mkpasswd.pl License

The "Artistic License"

Preamble

Page 80: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 80/148

The intent of this document is to state the conditions under which aPackage may be copied, such that the Copyright Holder maintains some

semblance of artistic control over the development of the package,while giving the users of the package the right to use and distribute

the Package in a more-or-less customary fashion, plus the right to make

reasonable modifications.

Definitions:

"Package" refers to the collection of files distributed by the

Copyright Holder, and derivatives of that collection of files

created through textual modification.

"Standard Version" refers to such a Package if it has not beenmodified, or has been modified in accordance with the wishes

of the Copyright Holder as specified below.

"Copyright Holder" is whoever is named in the copyright orcopyrights for the package.

"You" is you, if you're thinking about copying or distributing

this Package.

"Reasonable copying fee" is whatever you can justify on the

basis of media cost, duplication charges, time of people involved,

and so on. (You will not be required to justify it to theCopyright Holder, but only to the computing community at large

as a market that must bear the fee.)

"Freely Available" means that no fee is charged for the item

itself, though there may be fees involved in handling the item.

It also means that recipients of the item may redistribute it

under the same conditions they received it.

1. You may make and give away verbatim copies of the source form of the

Standard Version of this Package without restriction, provided that you

duplicate all of the original copyright notices and associated disclaimers.

2. You may apply bug fixes, portability fixes and other modifications

derived from the Public Domain or from the Copyright Holder. A Package

modified in such a way shall still be considered the Standard Version.

3. You may otherwise modify your copy of this Package in any way, provided

that you insert a prominent notice in each changed file stating how and

when you changed that file, and provided that you do at least ONE of thefollowing:

a) place your modifications in the Public Domain or otherwise make themFreely Available, such as by posting said modifications to Usenet or

an equivalent medium or placing the modifications on a major archive

nt_servc (Windows NT Service class library) License

to get the Standard Version.

b) accompany the distribution with the machine-readable source of

the Package with your modifications.

Page 81: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 81/148

c) give non-standard executables non-standard names, and clearlydocument the differences in manual pages (or equivalent), together

with instructions on where to get the Standard Version.

d) make other distribution arrangements with the Copyright Holder.

5. You may charge a reasonable copying fee for any distribution of thisPackage. You may charge any fee you choose for support of this

Package. You may not charge a fee for this Package itself. However,

you may distribute this Package in aggregate with other (possibly

commercial) programs as part of a larger (possibly commercial) software

distribution provided that you do not advertise this Package as aproduct of your own. You may embed this Package's interpreter within

an executable of yours (by linking); this shall be construed as a mereform of aggregation, provided that the complete Standard Version of the

interpreter is so embedded.

6. The scripts and library files supplied as input to or produced asoutput from the programs of this Package do not automatically fall

under the copyright of this Package, but belong to whoever generated

them, and may be sold commercially, and may be aggregated with this

Package. If such scripts or library files are aggregated with this

Package via the so-called "undump" or "unexec" methods of producing abinary executable image, then distribution of such an image shall

neither be construed as a distribution of this Package nor shall it

fall under the restrictions of Paragraphs 3 and 4, provided that you donot represent such an executable image as a Standard Version of this

Package.

7. C subroutines (or comparably compiled subroutines in other

languages) supplied by you and linked into this Package in order to

emulate subroutines and variables of the language defined by this

Package shall not be considered part of this Package, but are the

equivalent of input as in Paragraph 6, provided these subroutines donot change the language in any way that would cause it to fail the

regression tests for the language.

8. Aggregation of this Package with a commercial distribution is always

permitted provided that the use of this Package is embedded; that is,

when no overt attempt is made to make this Package's interfaces visible

to the end user of the commercial distribution. Such use shall not beconstrued as a distribution of this Package.

9. The name of the Copyright Holder may not be used to endorse or promote

products derived from this software without specific prior writtenpermission.

10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS ORIMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED

WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE

OpenPAM License

A.36. OpenPAM License

The following software may be included in this product:

Page 82: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 82/148

OpenPAM

Copyright (c) 2002-2003 Networks Associates Technology, Inc.

Copyright (c) 2004-2007 Dag-Erling Smørgrav

All rights reserved.

This software was developed for the FreeBSD Project by

ThinkSec AS and Network Associates Laboratories, the

Security Research Division of Network Associates, Inc.under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"),

as part of the DARPA CHATS research program.

Redistribution and use in source and binary forms,with or without modification, are permitted provided

that the following conditions are met:

1. Redistributions of source code must retain the abovecopyright notice, this list of conditions and the

following disclaimer.

2. Redistributions in binary form must reproduce the

above copyright notice, this list of conditions andthe following disclaimer in the documentation and/or

other materials provided with the distribution.

3. The name of the author may not be used to endorse orpromote products derived from this software without

specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,

BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY

AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN

NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR

ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, ORCONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,

PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED

AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT

LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)

ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVENIF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

A.37. OpenSSL v1.0 License

The following software may be included in this product:

NOTE: Does not apply to GPL licensed server (OpenSSL is not shipped with it)

OpenSSL v1.0

OpenSSL v1.0 License

this list of conditions and the following disclaimer.2. Redistributions in binary form must reproduce the above copyright notice,

this list of conditions and the following disclaimer in the documentation

and/or other materials provided with the distribution.3. All advertising materials mentioning features or use of this software must

Page 83: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 83/148

display the following acknowledgment: "This product includes softwaredeveloped by the OpenSSL Project for use in the OpenSSL Toolkit. (Link1 /)"

.4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to

endorse or promote products derived from this software without prior written

permission. For written permission, please contact [email protected].

5. Products derived from this software may not be called "OpenSSL" nor may

"OpenSSL" appear in their names without prior written permission of the

OpenSSL Project.

6. Redistributions of any form whatsoever must retain the following

acknowledgment: "This product includes software developed by the OpenSSLProject for use in the OpenSSL Toolkit (Link2 /)"

.THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY EXPRESSED

OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES

OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN

NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANYDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES

(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;

LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND

ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OFTHIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

====================================================================

This product includes cryptographic software written by Eric Young([email protected]). This product includes software written by Tim Hudson

([email protected]).

Original SSLeay License

-----------------------

/ Copyright (C) 1995-1998 Eric Young ([email protected])

All rights reserved.

This package is an SSL implementation written by Eric Young([email protected]). The implementation was written so as to conform with

Netscapes SSL. This library is free for commercial and non-commercial use

as long as the following conditions are aheared to. The following conditionsapply to all code found in this distribution, be it the RC4, RSA, lhash,

DES, etc., code; not just the SSL code. The SSL documentation included with

this distribution is covered by the same copyright terms except that the

holder is Tim Hudson ([email protected]). Copyright remains Eric Young's,and as such any Copyright notices in the code are not to be removed. If this

package is used in a product, Eric Young should be given attribution as the

author of the parts of the library used. This can be in the form of a

textual message at program startup or in documentation (online or textual)provided with the package. Redistribution and use in source and binary

forms, with or without modification, are permitted provided that the

following conditions are met: 1. Redistributions of source code must retainthe copyright notice, this list of conditions and the following disclaimer.

2 Redistributions in binary form must reproduce the above copyright notice

PCRE License

(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OFTHIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The

license and distribution terms for any publically available version or

derivative of this code cannot be changed. i.e. this code cannot simply becopied and put under another distribution license [including the GNU Public

Page 84: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 84/148

License.]

A.38. PCRE License

The following software may be included in this product:

PCRE (Perl Compatible Regular Expressions) Library

PCRE LICENCE

PCRE is a library of functions to support regular expressions

whose syntax and semantics are as close as possible to thoseof the Perl 5 language.

Release 7 of PCRE is distributed under the terms of the "BSD"

licence, as specified below. The documentation for PCRE,supplied in the "doc" directory, is distributed under the same

terms as the software itself.

The basic library functions are written in C and are

freestanding. Also included in the distribution is a setof C++ wrapper functions.

THE BASIC LIBRARY FUNCTIONS

---------------------------

Written by: Philip Hazel

Email local part: ph10Email domain: cam.ac.uk

University of Cambridge Computing Service,

Cambridge, England. Phone: +44 1223 334714.

Copyright (c) 1997-2006 University of Cambridge

All rights reserved.

THE C++ WRAPPER FUNCTIONS

-------------------------

Contributed by: Google Inc.

Copyright (c) 2006, Google Inc.

All rights reserved.

THE "BSD" LICENCE-----------------

Redistribution and use in source and binary forms,with or without modification, are permitted provided

that the following conditions are met:

Percona Multiple I/O Threads Patch License

BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT

OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;

OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OFLIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING

Page 85: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 85/148

NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OFTHIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

End

A.39. Percona Multiple I/O Threads Patch License

The following software may be included in this product:

Percona Multiple I/O threads patch

Copyright (c) 2008, 2009 Percona Inc

All rights reserved.

Redistribution and use of this software in source and binary forms,

with or without modification, are permitted provided that the

following conditions are met:

* Redistributions of source code must retain the above copyright

notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyrightnotice, this list of conditions and the following disclaimer in the

documentation and/or other materials provided with the distribution.

* Neither the name of Percona Inc. nor the names of its contributors

may be used to endorse or promote products derived from this softwarewithout specific prior written permission of Percona Inc.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS

"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOTLIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS

FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE

COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,

BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;

LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER

CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICTLIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN

ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE

POSSIBILITY OF SUCH DAMAGE.

A.40. Red HAT RPM Spec File LicenseThe following software may be included in this product:

Red Hat RPM Spec File

RegEX-Spencer Library License

A.41. RegEX-Spencer Library License

The following software may be included in this product: Henry Spencer's Regular-Expression Library(RegEX-Spencer)

Page 86: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 86/148

Copyright 1992, 1993, 1994 Henry Spencer. All rights reserved.

This software is not subject to any license of the American Telephoneand Telegraph Company or of the Regents of the University of California.

Permission is granted to anyone to use this software for any purpose on

any computer system, and to alter it and redistribute it, subjectto the following restrictions:

1. The author is not responsible for the consequences of use of thissoftware, no matter how awful, even if they arise from flaws in it.

2. The origin of this software must not be misrepresented, either by

explicit claim or by omission. Since few users ever read sources,credits must appear in the documentation.

3. Altered versions must be plainly marked as such, and must not be

misrepresented as being the original software. Since few usersever read sources, credits must appear in the documentation.

4. This notice may not be removed or altered.

A.42. RFC 3174 - US Secure Hash Algorithm 1 (SHA1) License

The following software may be included in this product:

RFC 3174 - US Secure Hash Algorithm 1 (SHA1)

RFC 3174 - US Secure Hash Algorithm 1 (SHA1)

Copyright (C) The Internet Society (2001). All Rights Reserved.

This document and translations of it may be copied and furnished to

others, and derivative works that comment on or otherwise explain itor assist in its implementation may be prepared, copied, published

and distributed, in whole or in part, without restriction of any

kind, provided that the above copyright notice and this paragraph are

included on all such copies and derivative works. However, thisdocument itself may not be modified in any way, such as by removing

the copyright notice or references to the Internet Society or other

Internet organizations, except as needed for the purpose of

developing Internet standards in which case the procedures forcopyrights defined in the Internet Standards process must be

followed, or as required to translate it into languages other than

English.

The limited permissions granted above are perpetual and will not be

revoked by the Internet Society or its successors or assigns.

SHA-1 in C License

The Richard O’Keefe String Library is subject to the following notice:

These files are in the public domain. This includes getopt.c, whichis the work of Henry Spencer, University of Toronto Zoology, who

says of it "None of this software is derived from Bell software. I

Page 87: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 87/148

had no access to the source for Bell's versions at the time I wroteit. This software is hereby explicitly placed in the public domain.It may be used for any purpose on any machine by anyone." I would

greatly prefer it if *my* material received no military use.

The t_ctype.h file is subject to the following notice:

Copyright (C) 1998, 1999 by Pruet Boonma, all rights reserved.

Copyright (C) 1998 by Theppitak Karoonboonyanan, all rights reserved.

Permission to use, copy, modify, distribute and sell this software and its

documentation for any purpose is hereby granted without fee, provided that the abovecopyright notice appear in all copies.

Smaphan Raruenrom and Pruet Boonma makes no representations about

the suitability of this software for any purpose. It is provided

"as is" without express or implied warranty.

A.44. SHA-1 in C License

The following software may be included in this product:

SHA-1 in C

SHA-1 in C

By Steve Reid <[email protected]>

100% Public Domain

A.45. Simple Logging Facade for Java (SLF4J) License

The following software may be included in this product:Simple Logging Facade for Java (SLF4J)

Copyright (c) 2004-2008 QOS.ch

All rights reserved.

Permission is hereby granted, free of charge,to any person obtaining a copy of this software

and associated documentation files (the "Software"),

to deal in the Software without restriction, including

without limitation the rights to use, copy, modify,merge, publish, distribute, sublicense, and/or sell

copies of the Software, and to permit persons to whom

the Software is furnished to do so, subject to the

following conditions:

zlib License

Unicode Data Files

Copyright 2001-2009 Unicode, Inc.

 

Disclaimer

Page 88: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 88/148

 This source code is provided as is by Unicode, Inc. No claims are

made as to fitness for any particular purpose. No warranties of any

kind are expressed or implied. The recipient agrees to determineapplicability of information provided. If this file has been

purchased on magnetic or optical media from Unicode, Inc., the

sole remedy for any claim will be exchange of defective mediawithin 90 days of receipt.

 

Limitations on Rights to Redistribute This Code

 

Unicode, Inc. hereby grants the right to freely use the informationsupplied in this file in the creation of products supporting the

Unicode Standard, and to make copies of this file in any form

for internal or external distribution as long as this noticeremains attached.

A.47. zlib License

The following software may be included in this product:

zlib

Oracle gratefully acknowledges the contributions of Jean-loup Gailly and Mark Adler in creating the zlibgeneral purpose compression library which is used in this product.

zlib.h -- interface of the 'zlib' general purpose compression library

Copyright (C) 1995-2004 Jean-loup Gailly and Mark Adler

zlib.h -- interface of the 'zlib' general purpose compression library

version 1.2.3, July 18th, 2005

Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler

zlib.h -- interface of the 'zlib' general purpose compression library

version 1.2.5, April 19th, 2010

Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler

This software is provided 'as-is', without any express or implied warranty.

In no event will the authors be held liable for any damages arising from theuse of this software. Permission is granted to anyone to use this software

for any purpose,including commercial applications, and to alter it and

redistribute it freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not

claim that you wrote the original software. If you use this software

in a product, an acknowledgment in the product documentation would

be appreciated but is not required.

ZLIB.NET License

Redistribution and use in source and binary forms,with or without modification, are permitted provided

that the following conditions are met:

* Redistributions of source code must retain the

above copyright notice this list of conditions and

Page 89: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 89/148

above copyright notice, this list of conditions andthe following disclaimer.

* Redistributions in binary form must reproduce theabove copyright notice, this list of conditions and

the following disclaimer in the documentation and/or

other materials provided with the distribution.

* Neither the name of ComponentAce nor the names of itscontributors may be used to endorse or promote products

derived from this software without specific prior written

permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ANDCONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,

INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OFMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR

CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;

LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER

CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,

STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)

ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IFADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Page 90: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 90/148

Page 91: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 91/148

Page 92: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 92/148

Page 93: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 93/148

Page 94: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 94/148

Page 95: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 95/148

Page 96: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 96/148

Page 97: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 97/148

Page 98: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 98/148

Page 99: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 99/148

Page 100: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 100/148

Page 101: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 101/148

Page 102: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 102/148

Page 103: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 103/148

Page 104: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 104/148

Page 105: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 105/148

Page 106: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 106/148

Page 107: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 107/148

Page 108: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 108/148

Page 109: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 109/148

Page 110: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 110/148

Page 111: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 111/148

Page 112: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 112/148

Page 113: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 113/148

Page 114: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 114/148

Page 115: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 115/148

Page 116: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 116/148

Page 117: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 117/148

Page 118: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 118/148

Page 119: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 119/148

Page 120: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 120/148

Page 121: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 121/148

Page 122: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 122/148

Page 123: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 123/148

Page 124: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 124/148

Page 125: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 125/148

Page 126: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 126/148

Page 127: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 127/148

Page 128: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 128/148

Page 129: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 129/148

Page 130: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 130/148

Page 131: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 131/148

Page 132: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 132/148

Page 133: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 133/148

Page 134: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 134/148

Page 135: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 135/148

Page 136: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 136/148

Page 137: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 137/148

Page 138: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 138/148

Page 139: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 139/148

Page 140: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 140/148

Page 141: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 141/148

Page 142: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 142/148

Page 143: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 143/148

Page 144: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 144/148

Page 145: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 145/148

Page 146: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 146/148

Page 147: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 147/148

Page 148: Mysql g11n Excerpt 5.6 en.a4

7/29/2019 Mysql g11n Excerpt 5.6 en.a4

http://slidepdf.com/reader/full/mysql-g11n-excerpt-56-ena4 148/148