mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 13:32:33 +01:00
Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint
This commit is contained in:
commit
5343242c67
13 changed files with 1108 additions and 304 deletions
|
@ -1 +1,3 @@
|
|||
452a92d0-31-8wSzSfZi165fcGcXPA
|
||||
454a7ef8gdvE_ddMlJyghvOAkKPNOQ
|
||||
454f8960jsVT_kMKJtZ9OCgXoba0xQ
|
||||
|
|
|
@ -1,252 +0,0 @@
|
|||
License Agreement for Commercial Use of MySQL[tm] Software
|
||||
|
||||
This Agreement ("License") is between MySQL AB, a Swedish company
|
||||
("Licensor"), and the customer ("Licensee") identified on the electronic order
|
||||
form submitted on behalf of Licensee (the "Order Form"). In consideration of
|
||||
the mutual promises, covenants and conditions contained herein, the
|
||||
sufficiency of which is hereby acknowledged, the parties agree as follows.
|
||||
|
||||
1. License Grant.
|
||||
"Licensed Software" means a complete and unchanged copy of the object code
|
||||
version of the MySQL relational database management software identified in the
|
||||
Order Form and posted on a special download page of the MySQL AB web site (the
|
||||
"Download Page") made available to Licensee immediately after payment as
|
||||
provided in Section 4. Subject to payment and the other terms and conditions
|
||||
hereof, Licensor grants to Licensee a limited, non-exclusive and
|
||||
non-transferable right to: (a) make one copy of the Licensed Software for each
|
||||
license purchased (each, a "Licensed Copy"); (b) compile and/or link each
|
||||
Licensed Copy to one copy of the Licensee software identified in the Order
|
||||
Form (the "Licensee Application") without modifying the Licensed Software
|
||||
(each, an "Integrated Product"); and (c) load and use the Licensed Copy
|
||||
portion of an Integrated Product on one machine or instrument in the operating
|
||||
system environment(s), and on the hardware platform(s) specified in the Order
|
||||
Form, and solely for running and extracting data from, the Licensee
|
||||
Application. "Use" means operation by one person for internal business
|
||||
purposes in accordance with the terms and conditions hereof. Licensed Copies
|
||||
shall be deemed accepted by Licensee immediately upon download. Licensee may
|
||||
make one additional copy of each Licensed Copy for backup and archival
|
||||
purposes only.
|
||||
|
||||
2. Transfer.
|
||||
Only after Licensee has linked or compiled a Licensed Copy as permitted in
|
||||
Section 1, Licensee may transfer to a third party (the "Transferee") the right
|
||||
to use such copy as described in Section 1. As a condition to any such
|
||||
transfer: (a) Licensee must deliver the Licensed Copy and any backup copy to
|
||||
the Transferee along with a copy of this License (including the Sales Order);
|
||||
and (b) the Transferee must accept the terms and conditions of this License.
|
||||
Any and all of Licensee's rights to a Licensed Copy shall terminate upon
|
||||
transfer of the right to use such copy. A Transferee's rights are limited to
|
||||
the use rights described in Section 1(c), and do not include the linking,
|
||||
compilation or copying rights (except for backup and archival copies)
|
||||
described in Section 1. If you did not purchase this License directly from
|
||||
MySQL AB, then you are a Transferee. Licensee and any Transferee must comply
|
||||
with all applicable export laws and regulations.
|
||||
|
||||
3. Restrictions.
|
||||
Licensee may use the Licensed Software only as expressly provided in Section
|
||||
1. Without limiting the foregoing, Licensee shall not: (a) lease, license,
|
||||
use, make available, distribute or modify all or any part of the Licensed
|
||||
Software to any third party, except as otherwise expressly permitted herein;
|
||||
(b) use the Licensed Software to operate in or as a time-sharing, outsourcing,
|
||||
service bureau, application service provider or managed service provider
|
||||
environment; (c) lease, license, use, make available or distribute the
|
||||
Licensed Software as a general SQL server, as a stand alone application or
|
||||
with applications other than the Licensee Application under this License; (d)
|
||||
copy the Licensed Software onto any public or distributed network; (e)
|
||||
distribute Integrated Products pursuant to a public or open source license;
|
||||
(f) port the Licensed Software to any operating system other than as described
|
||||
in the Order Form; or (g) change any proprietary rights notices which appear
|
||||
in the Licensed Software. Except as otherwise provided in Section 2, the
|
||||
rights granted to Licensee herein are rights that may be exercised solely by
|
||||
Licensee.
|
||||
|
||||
4. Price and payment.
|
||||
No later than thirty (30) days after submission of the Order Form, Licensee
|
||||
shall remit one non-refundable license fee per Licensed Copy as posted on
|
||||
http://shop.mysql.com on the date Licensee submitted the Order Form (the
|
||||
"License Fee"). All payments shall be made in Euros or U.S. dollars. Licensee
|
||||
shall be responsible for paying all local, state, federal and international
|
||||
sales, value added, excise and other taxes and duties payable in connection
|
||||
with this License, other than taxes based upon Licensor's net income. Licensee
|
||||
shall not be permitted to access the Download Page until Licensor has received
|
||||
payment in full.
|
||||
|
||||
5. Termination.
|
||||
Licensor may terminate this License immediately if the Licensee shall breach
|
||||
any of the provisions of this License and such breach remains uncured 30 days
|
||||
after receipt of notice. In the event that Licensee becomes liquidated,
|
||||
dissolved, bankrupt or insolvent, whether voluntarily or involuntarily, or
|
||||
shall take any action to be so declared, Licensor shall have the right to
|
||||
terminate this License immediately. Upon expiration, cancellation or other
|
||||
termination of this License, Licensee shall immediately: (a) discontinue
|
||||
distribution of Integrated Products that include Licensed Software; and (b)
|
||||
destroy all copies of the Licensed Software, including (without limitation) as
|
||||
linked or compiled in any Integrated Product. Sections 4 through 10 shall
|
||||
survive the termination of this License for any reason.
|
||||
|
||||
6. Proprietary Rights.
|
||||
Licensee agrees that the copyright, patent, trade secrets and all other
|
||||
intellectual proprietary rights of whatever nature in the Licensed Software
|
||||
and related documentation, including derivative works, are and shall remain
|
||||
the exclusive property of Licensor and any third party suppliers. Nothing in
|
||||
this License should be construed as transferring any aspects of such rights to
|
||||
Licensee or any third party. Licensor reserves any and all rights not
|
||||
expressly granted herein. MySQL is a trademark of MySQL AB, and shall not be
|
||||
used by Licensee without Licensor's express written authorization. Licensee
|
||||
shall include in the Integrated Products a conspicuous notice that the
|
||||
Integrated Products include software whose copyright is owned by MySQL AB.
|
||||
|
||||
7. Disclaimer of Warranties.
|
||||
THE LICENSED SOFTWARE IS LICENSED "AS IS," WITHOUT ANY WARRANTIES WHATSOEVER.
|
||||
LICENSOR EXPRESSLY DISCLAIMS, AND LICENSEE EXPRESSLY WAIVES, ALL WARRANTIES,
|
||||
WHETHER EXPRESS OR IMPLIED, INCLUDING WARRANTIES OF MERCHANTIBILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, SYSTEM INTEGRATION,
|
||||
NON-INTERFERENCE AND ACCURACY OF INFORMATIONAL CONTENT. LICENSOR DOES NOT
|
||||
WARRANT THAT THE LICENSED SOFTWARE WILL MEET LICENSEE'S REQUIREMENTS OR THAT
|
||||
THE OPERATION OF THE LICENSED SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR
|
||||
THAT ERRORS WILL BE CORRECTED. THE ENTIRE RISK OF THE LICENSED SOFTWARE'S
|
||||
QUALITY AND PERFORMANCE IS WITH LICENSEE. Without limiting the generality of
|
||||
the foregoing disclaimer, Licensee acknowledges that the Licensed Software is
|
||||
not specifically designed, manufactured or intended for use in the planning,
|
||||
construction, maintenance, control or direct operation of nuclear facilities,
|
||||
aircraft navigation, control or communication systems, weapons systems or
|
||||
direct life support systems.
|
||||
|
||||
8. Indemnification.
|
||||
Licensee hereby indemnifies and agrees to defend Licensor against any and all
|
||||
damages, judgments and costs (including reasonable attorneys' fees) related to
|
||||
any claim based upon: (a) an allegation that the Licensee Application
|
||||
infringes the intellectual property of a third party; (b) use of the Licensed
|
||||
Software in a manner prohibited under this License or in a manner for which
|
||||
the Licensed Software was not designed; (c) integration or use of the Licensed
|
||||
Software with the Licensee Application (where use of the Licensed Software
|
||||
alone would not infringe); (d) changes made by Licensee to the Licensed
|
||||
Software (where use of unmodified Licensed Software would not infringe); (e)
|
||||
changes made, or actions taken, by Licensor upon Licensee's direct
|
||||
instructions; or (f) bodily injury, property damage or any other damage or
|
||||
injury due to the use or inability to use an Integrated Product.
|
||||
|
||||
9. Limitation of Liability.
|
||||
LICENSOR SHALL HAVE NO LIABILITY WITH RESPECT TO ITS OBLIGATIONS UNDER THIS
|
||||
AGREEMENT OR OTHERWISE FOR CONSEQUENTIAL, EXEMPLARY, SPECIAL, INDIRECT,
|
||||
INCIDENTAL OR PUNITIVE DAMAGES, INCLUDING (WITHOUT LIMITATION) ANY LOST
|
||||
PROFITS OR LOST SAVINGS (WHETHER RESULTING FROM IMPAIRED OR LOST DATA,
|
||||
SOFTWARE OR COMPUTER FAILURE OR ANY OTHER CAUSE), EVEN IF IT HAS BEEN ADVISED
|
||||
OF THE POSSIBILITY OF SUCH DAMAGES. NOTWITHSTANDING ANY OTHER PROVISION IN
|
||||
THIS AGREEMENT, THE LIABILITY OF LICENSOR FOR ANY REASON AND UPON ANY CAUSE OF
|
||||
ACTION SHALL BE LIMITED TO THE AMOUNT PAID TO LICENSOR BY LICENSEE UNDER THIS
|
||||
AGREEMENT. THIS LIMITATION APPLIES TO ALL CAUSES OF ACTION IN THE AGGREGATE,
|
||||
INCLUDING (WITHOUT LIMITATION) BREACH OF CONTRACT, BREACH OF WARRANTY,
|
||||
NEGLIGENCE, MISREPRESENTATIONS AND OTHER TORTS. THE PARTIES AGREE THAT THE
|
||||
REMEDIES AND LIMITATIONS HEREIN ALLOCATE THE RISKS BETWEEN THE PARTIES AS
|
||||
AUTHORIZED BY APPLICABLE LAWS. THE LICENSE FEES ARE SET IN RELIANCE UPON THIS
|
||||
ALLOCATION OF RISK AND THE EXCLUSION OF CERTAIN DAMAGES AS SET FORTH IN THIS
|
||||
AGREEMENT.
|
||||
|
||||
10. Miscellaneous.
|
||||
|
||||
10.1 Interpretation.
|
||||
Failure by Licensor to exercise any right or remedy does not signify
|
||||
acceptance of the event giving rise to such right or remedy. No action arising
|
||||
out of this License may be brought by Licensee more than one year after the
|
||||
cause of action has accrued. If any part of this License is held by a court of
|
||||
competent jurisdiction to be illegal or unenforceable, the validity or
|
||||
enforceability of the remainder of this License shall not be affected and such
|
||||
provision shall be deemed modified to the minimum extent necessary to make
|
||||
such provision consistent with applicable law and, in its modified form, such
|
||||
provision shall be enforceable and enforced. Licensor reserves the right not
|
||||
to accept any Order Form. Any invoice issued by Licensor in connection with
|
||||
this License shall be deemed a part of this Agreement. To the extent of any
|
||||
inconsistency between an Order Form and an invoice issued by Licensor, the
|
||||
terms and conditions of the invoice shall prevail; Licensee shall be deemed to
|
||||
have accepted an invoice upon payment of such invoice. In the event that
|
||||
Licensee placed an order by telephone or through an authorized sales
|
||||
representative, the invoice issued by Licensor shall constitute the Order
|
||||
Form. The terms and conditions of this Agreement shall replace and serve as a
|
||||
novation of the terms and conditions of any commercial (i.e., non-GPL) license
|
||||
purchased online by Licensee prior to August 2002.
|
||||
|
||||
10.2 Binding.
|
||||
This Agreement will be binding upon and inure to the benefit of the parties,
|
||||
their respective successors and permitted assigns. Except as otherwise
|
||||
provided in Section 2, without the prior written consent of Licensor, Licensee
|
||||
may not assign this License or its rights or obligations under this License to
|
||||
any person or party, whether by operation of law or otherwise; any attempt by
|
||||
Licensee to assign this License without Licensor's prior written consent shall
|
||||
be null and void. There are no intended third party beneficiaries of this
|
||||
License. The parties are, and shall remain, independent contractors; nothing
|
||||
in this License is designed to create, nor shall create between them, a
|
||||
partnership, joint venture, agency, or employment relationship.
|
||||
|
||||
10.3 Governing Law; Dispute Forum.
|
||||
If Licensee's residence, principal place of business or place of organization
|
||||
is in the United States of America ("USA"), then this License shall be deemed
|
||||
to have been executed in the USA and shall be governed by the laws of the
|
||||
State of Delaware, without regard to the conflict of laws provisions thereof.
|
||||
If Licensee's residence, principal place of business or place of organization
|
||||
is in any country other than the USA, then this License shall be deemed to
|
||||
have been executed in Sweden and shall be governed by the laws of Sweden,
|
||||
without regard to the conflict of laws provisions thereof. In no event shall
|
||||
the United Nations Convention on Contracts for the International Sale of Goods
|
||||
apply to, or govern, this License. The parties consent to the exclusive
|
||||
jurisdiction of the courts of Sweden and the USA, as provided in this Section.
|
||||
In the event that Licensor initiates an action in connection with this License
|
||||
or any other dispute between the parties, the exclusive jurisdiction of such
|
||||
action shall be in: (a) Newark, Delaware, if Licensee's residence, principal
|
||||
place of business or place of organization is in the USA; or (b) Uppsala,
|
||||
Sweden, if Licensee's residence, principal place of business or place of
|
||||
organization is in any country other than the USA. In the event that Licensee
|
||||
initiates an action in connection with this License or any other dispute
|
||||
between the parties, the exclusive jurisdiction of such action shall be in
|
||||
Stockholm, Sweden. Notwithstanding the foregoing, either party may bring a
|
||||
counterclaim in an action in the same jurisdiction in which the originating
|
||||
claim was filed, and either party may enforce any judgment rendered by such
|
||||
court in any court of competent jurisdiction. Licensee shall comply at its own
|
||||
expense with all relevant and applicable laws related to use and distribution
|
||||
of the Licensed Software as permitted in this License. Notwithstanding the
|
||||
foregoing, Licensor may seek injunctive or other equitable relief in any
|
||||
jurisdiction in order to protect its intellectual property rights. The parties
|
||||
have agreed to execute this License in the English language, and the English
|
||||
language version of the Agreement will control for all purposes. Any action
|
||||
brought under this License shall be conducted in the English language.
|
||||
Licensee shall be responsible for Licensor's attorneys fees and other expenses
|
||||
associated with the enforcement of this License or the collection of any
|
||||
amounts due under this License.
|
||||
|
||||
10.4 Notice.
|
||||
Unless otherwise agreed, any notice under this License shall be delivered and
|
||||
addressed to Licensee at the address set forth on the Order Form, and to
|
||||
Licensor at Bangardsgatan 8, 753 20, Uppsala, Sweden. Notice shall be deemed
|
||||
received by any party: (a) on the day given, if personally delivered or if
|
||||
sent by confirmed facsimile transmission, receipt verified; (b) on the third
|
||||
day after deposit, if mailed by certified, first class, postage prepaid,
|
||||
return receipt requested mail, or by reputable, expedited overnight courier;
|
||||
or (c) on the fifth day after deposit, if sent by reputable, expedited
|
||||
international courier. Either party may change its address for notice
|
||||
purposes upon notice in accordance with this Section. Licensor may identify
|
||||
Licensee as a commercial licensee, including on the MySQL web site.
|
||||
|
||||
10.5 GPL.
|
||||
The GPL License shall continue to apply to any and all uses and distributions
|
||||
of the Licensed Software undertaken by Licensee either prior to the Effective
|
||||
Date, after termination, or otherwise outside the scope of this License. This
|
||||
Agreement shall not be deemed to replace or otherwise amend any Licensee
|
||||
rights or obligations pursuant to the GPL License with respect to any uses of
|
||||
the Licensed Software described in the preceding sentence.
|
||||
|
||||
10.6 Entire Agreement.
|
||||
This Agreement (including the Order Form and the invoice) comprises the entire
|
||||
agreement, and supercedes and merges all prior proposals, understandings and
|
||||
agreements, oral and written, between the parties relating to the subject
|
||||
matter of this License. This Agreement may be amended or modified only in a
|
||||
writing executed by both parties. To the extent of any conflict or
|
||||
inconsistency between this License and any invoice or other document submitted
|
||||
by Licensee to Licensor, this License will control. Licensor's acceptance of
|
||||
any document shall not be construed as an acceptance of provisions which are
|
||||
in any way in conflict or inconsistent with, or in addition to, this License,
|
||||
unless such terms are separately and specifically accepted in writing by an
|
||||
authorized officer of Licensor.
|
||||
|
||||
10.7 Print this License.
|
||||
For record keeping purposes, we encourage Licensee to print this License and
|
||||
the Order Form on the date that the Order Form is submitted.
|
14
README
14
README
|
@ -2,8 +2,9 @@ This is a release of MySQL, a dual-license SQL database server.
|
|||
MySQL is brought to you by the MySQL team at MySQL AB.
|
||||
|
||||
License information can be found in these files:
|
||||
- For GPL (free) distributions, see the COPYING file.
|
||||
- For commercial distributions, see the MySQLEULA.txt file.
|
||||
- For GPL (free) distributions, see the COPYING file and
|
||||
the EXCEPTIONS-CLIENT file.
|
||||
- For commercial distributions, see the LICENSE.mysql file.
|
||||
|
||||
|
||||
For further information about MySQL or additional documentation, see:
|
||||
|
@ -15,11 +16,10 @@ Some manual sections of special interest:
|
|||
- If you are migrating from an older version of MySQL, please read the
|
||||
"Upgrading from..." section first!
|
||||
- To see what MySQL can do, take a look at the features section.
|
||||
- For installation instructions, see the Installation chapter.
|
||||
- For future plans, see the TODO appendix.
|
||||
- For the new features/bugfix history, see the News appendix.
|
||||
- For the currently known bugs/misfeatures (known errors) see the problems
|
||||
appendix.
|
||||
- For installation instructions, see the Installing and Upgrading chapter.
|
||||
- For the new features/bugfix history, see the Change History appendix.
|
||||
- For the currently known bugs/misfeatures (known errors) see the Problems
|
||||
and Common Errors appendix.
|
||||
- For a list of developers and other contributors, see the Credits
|
||||
appendix.
|
||||
|
||||
|
|
|
@ -80,13 +80,13 @@ enum {
|
|||
OPT_SSL_CA, OPT_SSL_CAPATH, OPT_SSL_CIPHER, OPT_PS_PROTOCOL,
|
||||
OPT_SP_PROTOCOL, OPT_CURSOR_PROTOCOL, OPT_VIEW_PROTOCOL,
|
||||
OPT_SSL_VERIFY_SERVER_CERT, OPT_MAX_CONNECT_RETRIES,
|
||||
OPT_MARK_PROGRESS
|
||||
OPT_MARK_PROGRESS, OPT_CHARSETS_DIR
|
||||
};
|
||||
|
||||
static int record= 0, opt_sleep= -1;
|
||||
static char *db= 0, *pass= 0;
|
||||
const char *user= 0, *host= 0, *unix_sock= 0, *opt_basedir= "./";
|
||||
const char *opt_include= 0;
|
||||
const char *opt_include= 0, *opt_charsets_dir;
|
||||
static int port= 0;
|
||||
static int opt_max_connect_retries;
|
||||
static my_bool opt_compress= 0, silent= 0, verbose= 0;
|
||||
|
@ -145,7 +145,6 @@ static struct st_test_file* file_stack_end;
|
|||
|
||||
|
||||
static CHARSET_INFO *charset_info= &my_charset_latin1; /* Default charset */
|
||||
static const char *charset_name= "latin1"; /* Default character set name */
|
||||
|
||||
static const char *embedded_server_groups[]=
|
||||
{
|
||||
|
@ -3093,7 +3092,11 @@ void do_connect(struct st_command *command)
|
|||
if (opt_compress || con_compress)
|
||||
mysql_options(&next_con->mysql, MYSQL_OPT_COMPRESS, NullS);
|
||||
mysql_options(&next_con->mysql, MYSQL_OPT_LOCAL_INFILE, 0);
|
||||
mysql_options(&next_con->mysql, MYSQL_SET_CHARSET_NAME, charset_name);
|
||||
mysql_options(&next_con->mysql, MYSQL_SET_CHARSET_NAME,
|
||||
charset_info->csname);
|
||||
if (opt_charsets_dir)
|
||||
mysql_options(&cur_con->mysql, MYSQL_SET_CHARSET_DIR,
|
||||
opt_charsets_dir);
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
if (opt_use_ssl || con_ssl)
|
||||
|
@ -3779,6 +3782,9 @@ static struct my_option my_long_options[] =
|
|||
0, 0, 0, 0, 0, 0},
|
||||
{"basedir", 'b', "Basedir for tests.", (gptr*) &opt_basedir,
|
||||
(gptr*) &opt_basedir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"character-sets-dir", OPT_CHARSETS_DIR,
|
||||
"Directory where character sets are.", (gptr*) &opt_charsets_dir,
|
||||
(gptr*) &opt_charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"compress", 'C', "Use the compressed server/client protocol.",
|
||||
(gptr*) &opt_compress, (gptr*) &opt_compress, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
||||
0, 0, 0},
|
||||
|
@ -5511,7 +5517,11 @@ int main(int argc, char **argv)
|
|||
if (opt_compress)
|
||||
mysql_options(&cur_con->mysql,MYSQL_OPT_COMPRESS,NullS);
|
||||
mysql_options(&cur_con->mysql, MYSQL_OPT_LOCAL_INFILE, 0);
|
||||
mysql_options(&cur_con->mysql, MYSQL_SET_CHARSET_NAME, charset_name);
|
||||
mysql_options(&cur_con->mysql, MYSQL_SET_CHARSET_NAME,
|
||||
charset_info->csname);
|
||||
if (opt_charsets_dir)
|
||||
mysql_options(&cur_con->mysql, MYSQL_SET_CHARSET_DIR,
|
||||
opt_charsets_dir);
|
||||
|
||||
#ifdef HAVE_OPENSSL
|
||||
|
||||
|
|
0
include/abi_check
Normal file
0
include/abi_check
Normal file
914
include/abi_check.ic
Normal file
914
include/abi_check.ic
Normal file
|
@ -0,0 +1,914 @@
|
|||
struct rand_struct;
|
||||
struct st_list;
|
||||
struct st_mem_root;
|
||||
struct st_mysql;
|
||||
struct st_mysql_bind;
|
||||
struct st_mysql_data;
|
||||
struct st_mysql_field;
|
||||
struct st_mysql_manager;
|
||||
struct st_mysql_methods;
|
||||
struct st_mysql_options;
|
||||
struct st_mysql_parameters;
|
||||
struct st_mysql_res;
|
||||
struct st_mysql_rows;
|
||||
struct st_mysql_stmt;
|
||||
struct st_mysql_time;
|
||||
struct st_net;
|
||||
struct st_typelib;
|
||||
struct st_udf_args;
|
||||
struct st_udf_init;
|
||||
struct st_used_mem;
|
||||
enum Item_result;
|
||||
enum enum_field_types;
|
||||
enum enum_mysql_set_option;
|
||||
enum enum_mysql_stmt_state;
|
||||
enum enum_mysql_timestamp_type;
|
||||
enum enum_server_command;
|
||||
enum enum_stmt_attr_type;
|
||||
enum mysql_enum_shutdown_level;
|
||||
enum mysql_option;
|
||||
enum mysql_protocol_type;
|
||||
enum mysql_rpl_type;
|
||||
enum mysql_status;
|
||||
# 131 "mysql.h"
|
||||
typedef struct st_mysql_rows MYSQL_ROWS;
|
||||
# 24 "my_list.h"
|
||||
typedef struct st_list LIST;
|
||||
# 232 "mysql.h"
|
||||
typedef struct st_mysql MYSQL;
|
||||
# 571 "mysql.h"
|
||||
typedef struct st_mysql_bind MYSQL_BIND;
|
||||
# 93 "mysql.h"
|
||||
typedef struct st_mysql_field MYSQL_FIELD;
|
||||
# 117 "mysql.h"
|
||||
typedef unsigned int MYSQL_FIELD_OFFSET;
|
||||
# 323 "mysql.h"
|
||||
typedef struct st_mysql_manager MYSQL_MANAGER;
|
||||
# 337 "mysql.h"
|
||||
typedef struct st_mysql_parameters MYSQL_PARAMETERS;
|
||||
# 292 "mysql.h"
|
||||
typedef struct st_mysql_res MYSQL_RES;
|
||||
# 116 "mysql.h"
|
||||
typedef char * * MYSQL_ROW;
|
||||
# 137 "mysql.h"
|
||||
typedef MYSQL_ROWS * MYSQL_ROW_OFFSET;
|
||||
# 596 "mysql.h"
|
||||
typedef struct st_mysql_stmt MYSQL_STMT;
|
||||
# 151 "mysql_com.h"
|
||||
typedef struct st_net NET;
|
||||
# 21 "typelib.h"
|
||||
typedef struct st_typelib TYPELIB;
|
||||
# 141 "mysql_com.h"
|
||||
typedef struct st_vio Vio;
|
||||
# 57 "mysql.h"
|
||||
typedef char * gptr;
|
||||
# 29 "my_list.h"
|
||||
typedef int (* list_walk_action)(void *, void *);
|
||||
# 48 "mysql.h"
|
||||
typedef char my_bool;
|
||||
# 63 "mysql.h"
|
||||
typedef int my_socket;
|
||||
# 125 "mysql.h"
|
||||
typedef unsigned long long int my_ulonglong;
|
||||
# 35 "my_alloc.h"
|
||||
typedef struct st_mem_root MEM_ROOT;
|
||||
# 141 "mysql.h"
|
||||
typedef struct st_mysql_data MYSQL_DATA;
|
||||
# 648 "mysql.h"
|
||||
typedef struct st_mysql_methods MYSQL_METHODS;
|
||||
# 48 "mysql_time.h"
|
||||
typedef struct st_mysql_time MYSQL_TIME;
|
||||
# 315 "mysql_com.h"
|
||||
typedef struct st_udf_args UDF_ARGS;
|
||||
# 326 "mysql_com.h"
|
||||
typedef struct st_udf_init UDF_INIT;
|
||||
# 27 "my_alloc.h"
|
||||
typedef struct st_used_mem USED_MEM;
|
||||
# 302 "mysql_com.h"
|
||||
struct __attribute__((aligned(__alignof__(unsigned long int)), aligned(__alignof__(double)))) rand_struct
|
||||
{
|
||||
unsigned long int seed1;
|
||||
unsigned long int seed2;
|
||||
unsigned long int max_value;
|
||||
double max_value_dbl;
|
||||
};
|
||||
# 24 "my_list.h"
|
||||
struct __attribute__((aligned(__alignof__(void *)))) st_list
|
||||
{
|
||||
struct st_list * prev;
|
||||
struct st_list * next;
|
||||
void * data;
|
||||
};
|
||||
# 35 "my_alloc.h"
|
||||
struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned int)))) st_mem_root
|
||||
{
|
||||
USED_MEM * free;
|
||||
USED_MEM * used;
|
||||
USED_MEM * pre_alloc;
|
||||
unsigned int min_malloc;
|
||||
unsigned int block_size;
|
||||
unsigned int block_num;
|
||||
unsigned int first_block_usage;
|
||||
void (* error_handler)(void);
|
||||
};
|
||||
# 232 "mysql.h"
|
||||
struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned long long int)))) st_mysql
|
||||
{
|
||||
NET net;
|
||||
gptr connector_fd;
|
||||
char * host;
|
||||
char * user;
|
||||
char * passwd;
|
||||
char * unix_socket;
|
||||
char * server_version;
|
||||
char * host_info;
|
||||
char * info;
|
||||
char * db;
|
||||
struct charset_info_st * charset;
|
||||
MYSQL_FIELD * fields;
|
||||
MEM_ROOT field_alloc;
|
||||
my_ulonglong affected_rows;
|
||||
my_ulonglong insert_id;
|
||||
my_ulonglong extra_info;
|
||||
unsigned long int thread_id;
|
||||
unsigned long int packet_length;
|
||||
unsigned int port;
|
||||
unsigned long int client_flag;
|
||||
unsigned long int server_capabilities;
|
||||
unsigned int protocol_version;
|
||||
unsigned int field_count;
|
||||
unsigned int server_status;
|
||||
unsigned int server_language;
|
||||
unsigned int warning_count;
|
||||
struct st_mysql_options options;
|
||||
enum mysql_status status;
|
||||
my_bool free_me;
|
||||
my_bool reconnect;
|
||||
char scramble[(20 + 1)];
|
||||
my_bool rpl_pivot;
|
||||
struct st_mysql * master;
|
||||
struct st_mysql * next_slave;
|
||||
struct st_mysql * last_used_slave;
|
||||
struct st_mysql * last_used_con;
|
||||
LIST * stmts;
|
||||
struct st_mysql_methods const * methods;
|
||||
void * thd;
|
||||
my_bool * unbuffered_fetch_owner;
|
||||
struct st_mysql_stmt * current_stmt;
|
||||
};
|
||||
# 571 "mysql.h"
|
||||
struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned long int)))) st_mysql_bind
|
||||
{
|
||||
unsigned long int * length;
|
||||
my_bool * is_null;
|
||||
void * buffer;
|
||||
enum enum_field_types buffer_type;
|
||||
unsigned long int buffer_length;
|
||||
unsigned char * inter_buffer;
|
||||
unsigned long int offset;
|
||||
unsigned long int internal_length;
|
||||
unsigned int param_number;
|
||||
unsigned int pack_length;
|
||||
my_bool is_unsigned;
|
||||
my_bool long_data_used;
|
||||
my_bool internal_is_null;
|
||||
void (* store_param_func)(NET * net, struct st_mysql_bind * param);
|
||||
void (* fetch_result)(struct st_mysql_bind *, unsigned char * * row);
|
||||
void (* skip_result)(struct st_mysql_bind *, MYSQL_FIELD *, unsigned char * * row);
|
||||
};
|
||||
# 141 "mysql.h"
|
||||
struct __attribute__((aligned(__alignof__(unsigned long long int)), aligned(__alignof__(void *)))) st_mysql_data
|
||||
{
|
||||
my_ulonglong rows;
|
||||
unsigned int fields;
|
||||
MYSQL_ROWS * data;
|
||||
MEM_ROOT alloc;
|
||||
MYSQL_ROWS * * prev_ptr;
|
||||
};
|
||||
# 93 "mysql.h"
|
||||
struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned long int)))) st_mysql_field
|
||||
{
|
||||
char * name;
|
||||
char * org_name;
|
||||
char * table;
|
||||
char * org_table;
|
||||
char * db;
|
||||
char * catalog;
|
||||
char * def;
|
||||
unsigned long int length;
|
||||
unsigned long int max_length;
|
||||
unsigned int name_length;
|
||||
unsigned int org_name_length;
|
||||
unsigned int table_length;
|
||||
unsigned int org_table_length;
|
||||
unsigned int db_length;
|
||||
unsigned int catalog_length;
|
||||
unsigned int def_length;
|
||||
unsigned int flags;
|
||||
unsigned int decimals;
|
||||
unsigned int charsetnr;
|
||||
enum enum_field_types type;
|
||||
};
|
||||
# 323 "mysql.h"
|
||||
struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned long int)))) st_mysql_manager
|
||||
{
|
||||
NET net;
|
||||
char * host;
|
||||
char * user;
|
||||
char * passwd;
|
||||
unsigned int port;
|
||||
my_bool free_me;
|
||||
my_bool eof;
|
||||
int cmd_status;
|
||||
int last_errno;
|
||||
char * net_buf;
|
||||
char * net_buf_pos;
|
||||
char * net_data_end;
|
||||
int net_buf_size;
|
||||
char last_error[256];
|
||||
};
|
||||
# 648 "mysql.h"
|
||||
struct __attribute__((aligned(__alignof__(void *)))) st_mysql_methods
|
||||
{
|
||||
my_bool (* read_query_result)(MYSQL * mysql);
|
||||
my_bool (* advanced_command)(MYSQL * mysql, enum enum_server_command, char const * header, unsigned long int, char const * arg, unsigned long int, my_bool, MYSQL_STMT * stmt);
|
||||
MYSQL_DATA * (* read_rows)(MYSQL * mysql, MYSQL_FIELD * mysql_fields, unsigned int);
|
||||
MYSQL_RES * (* use_result)(MYSQL * mysql);
|
||||
void (* fetch_lengths)(unsigned long int * to, MYSQL_ROW, unsigned int);
|
||||
void (* flush_use_result)(MYSQL * mysql);
|
||||
MYSQL_FIELD * (* list_fields)(MYSQL * mysql);
|
||||
my_bool (* read_prepare_result)(MYSQL * mysql, MYSQL_STMT * stmt);
|
||||
int (* stmt_execute)(MYSQL_STMT * stmt);
|
||||
int (* read_binary_rows)(MYSQL_STMT * stmt);
|
||||
int (* unbuffered_fetch)(MYSQL * mysql, char * * row);
|
||||
void (* free_embedded_thd)(MYSQL * mysql);
|
||||
char const * (* read_statistics)(MYSQL * mysql);
|
||||
my_bool (* next_result)(MYSQL * mysql);
|
||||
int (* read_change_user_result)(MYSQL * mysql, char * buff, char const * passwd);
|
||||
};
|
||||
# 162 "mysql.h"
|
||||
struct __attribute__((aligned(__alignof__(unsigned long int)), aligned(__alignof__(void *)))) st_mysql_options
|
||||
{
|
||||
unsigned int connect_timeout;
|
||||
unsigned int read_timeout;
|
||||
unsigned int write_timeout;
|
||||
unsigned int port;
|
||||
unsigned int protocol;
|
||||
unsigned long int client_flag;
|
||||
char * host;
|
||||
char * user;
|
||||
char * password;
|
||||
char * unix_socket;
|
||||
char * db;
|
||||
struct st_dynamic_array * init_commands;
|
||||
char * my_cnf_file;
|
||||
char * my_cnf_group;
|
||||
char * charset_dir;
|
||||
char * charset_name;
|
||||
char * ssl_key;
|
||||
char * ssl_cert;
|
||||
char * ssl_ca;
|
||||
char * ssl_capath;
|
||||
char * ssl_cipher;
|
||||
char * shared_memory_base_name;
|
||||
unsigned long int max_allowed_packet;
|
||||
my_bool use_ssl;
|
||||
my_bool compress;
|
||||
my_bool named_pipe;
|
||||
my_bool rpl_probe;
|
||||
my_bool rpl_parse;
|
||||
my_bool no_master_reads;
|
||||
my_bool separate_thread;
|
||||
enum mysql_option methods_to_use;
|
||||
char * client_ip;
|
||||
my_bool secure_auth;
|
||||
int (* local_infile_init)(void * *, char const *, void *);
|
||||
int (* local_infile_read)(void *, char *, unsigned int);
|
||||
void (* local_infile_end)(void);
|
||||
int (* local_infile_error)(void *, char *, unsigned int);
|
||||
void * local_infile_userdata;
|
||||
};
|
||||
# 337 "mysql.h"
|
||||
struct __attribute__((aligned(__alignof__(void *)))) st_mysql_parameters
|
||||
{
|
||||
unsigned long int * p_max_allowed_packet;
|
||||
unsigned long int * p_net_buffer_length;
|
||||
};
|
||||
# 292 "mysql.h"
|
||||
struct __attribute__((aligned(__alignof__(unsigned long long int)), aligned(__alignof__(void *)))) st_mysql_res
|
||||
{
|
||||
my_ulonglong row_count;
|
||||
MYSQL_FIELD * fields;
|
||||
MYSQL_DATA * data;
|
||||
MYSQL_ROWS * data_cursor;
|
||||
unsigned long int * lengths;
|
||||
MYSQL * handle;
|
||||
MEM_ROOT field_alloc;
|
||||
unsigned int field_count;
|
||||
unsigned int current_field;
|
||||
MYSQL_ROW row;
|
||||
MYSQL_ROW current_row;
|
||||
my_bool eof;
|
||||
my_bool unbuffered_fetch_cancelled;
|
||||
struct st_mysql_methods const * methods;
|
||||
};
|
||||
# 131 "mysql.h"
|
||||
struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned long int)))) st_mysql_rows
|
||||
{
|
||||
struct st_mysql_rows * next;
|
||||
MYSQL_ROW data;
|
||||
unsigned long int length;
|
||||
};
|
||||
# 596 "mysql.h"
|
||||
struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned long long int)))) st_mysql_stmt
|
||||
{
|
||||
MEM_ROOT mem_root;
|
||||
LIST list;
|
||||
MYSQL * mysql;
|
||||
MYSQL_BIND * params;
|
||||
MYSQL_BIND * bind;
|
||||
MYSQL_FIELD * fields;
|
||||
MYSQL_DATA result;
|
||||
MYSQL_ROWS * data_cursor;
|
||||
my_ulonglong affected_rows;
|
||||
my_ulonglong insert_id;
|
||||
int (* read_row_func)(struct st_mysql_stmt * stmt, unsigned char * * row);
|
||||
unsigned long int stmt_id;
|
||||
unsigned int last_errno;
|
||||
unsigned int param_count;
|
||||
unsigned int field_count;
|
||||
enum enum_mysql_stmt_state state;
|
||||
char last_error[512];
|
||||
char sqlstate[(5 + 1)];
|
||||
my_bool send_types_to_server;
|
||||
my_bool bind_param_done;
|
||||
my_bool bind_result_done;
|
||||
my_bool unbuffered_fetch_cancelled;
|
||||
my_bool update_max_length;
|
||||
};
|
||||
# 48 "mysql_time.h"
|
||||
struct __attribute__((aligned(__alignof__(unsigned long int)))) st_mysql_time
|
||||
{
|
||||
unsigned int year;
|
||||
unsigned int month;
|
||||
unsigned int day;
|
||||
unsigned int hour;
|
||||
unsigned int minute;
|
||||
unsigned int second;
|
||||
unsigned long int second_part;
|
||||
my_bool neg;
|
||||
enum enum_mysql_timestamp_type time_type;
|
||||
};
|
||||
# 151 "mysql_com.h"
|
||||
struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned long int)))) st_net
|
||||
{
|
||||
Vio * vio;
|
||||
unsigned char * buff;
|
||||
unsigned char * buff_end;
|
||||
unsigned char * write_pos;
|
||||
unsigned char * read_pos;
|
||||
my_socket fd;
|
||||
unsigned long int max_packet;
|
||||
unsigned long int max_packet_size;
|
||||
unsigned int pkt_nr;
|
||||
unsigned int compress_pkt_nr;
|
||||
unsigned int write_timeout;
|
||||
unsigned int read_timeout;
|
||||
unsigned int retry_count;
|
||||
int fcntl;
|
||||
my_bool compress;
|
||||
unsigned long int remain_in_buf;
|
||||
unsigned long int length;
|
||||
unsigned long int buf_length;
|
||||
unsigned long int where_b;
|
||||
unsigned int * return_status;
|
||||
unsigned char reading_or_writing;
|
||||
char save_char;
|
||||
my_bool no_send_ok;
|
||||
char last_error[512];
|
||||
char sqlstate[(5 + 1)];
|
||||
unsigned int last_errno;
|
||||
unsigned char error;
|
||||
gptr query_cache_query;
|
||||
my_bool report_error;
|
||||
my_bool return_errno;
|
||||
};
|
||||
# 21 "typelib.h"
|
||||
struct __attribute__((aligned(__alignof__(unsigned int)), aligned(__alignof__(void *)))) st_typelib
|
||||
{
|
||||
unsigned int count;
|
||||
char const * name;
|
||||
char const * * type_names;
|
||||
unsigned int * type_lengths;
|
||||
};
|
||||
# 315 "mysql_com.h"
|
||||
struct __attribute__((aligned(__alignof__(unsigned int)), aligned(__alignof__(void *)))) st_udf_args
|
||||
{
|
||||
unsigned int arg_count;
|
||||
enum Item_result * arg_type;
|
||||
char * * args;
|
||||
unsigned long int * lengths;
|
||||
char * maybe_null;
|
||||
};
|
||||
# 326 "mysql_com.h"
|
||||
struct __attribute__((aligned(__alignof__(unsigned long int)), aligned(__alignof__(void *)))) st_udf_init
|
||||
{
|
||||
my_bool maybe_null;
|
||||
unsigned int decimals;
|
||||
unsigned long int max_length;
|
||||
char * ptr;
|
||||
my_bool const_item;
|
||||
};
|
||||
# 27 "my_alloc.h"
|
||||
struct __attribute__((aligned(__alignof__(void *)), aligned(__alignof__(unsigned int)))) st_used_mem
|
||||
{
|
||||
struct st_used_mem * next;
|
||||
unsigned int left;
|
||||
unsigned int size;
|
||||
};
|
||||
# 313 "mysql_com.h"
|
||||
enum Item_result
|
||||
{
|
||||
STRING_RESULT = 0,
|
||||
REAL_RESULT = 1,
|
||||
INT_RESULT = 2,
|
||||
ROW_RESULT = 3,
|
||||
};
|
||||
# 186 "mysql_com.h"
|
||||
enum enum_field_types
|
||||
{
|
||||
MYSQL_TYPE_DECIMAL = 0,
|
||||
MYSQL_TYPE_TINY = 1,
|
||||
MYSQL_TYPE_SHORT = 2,
|
||||
MYSQL_TYPE_LONG = 3,
|
||||
MYSQL_TYPE_FLOAT = 4,
|
||||
MYSQL_TYPE_DOUBLE = 5,
|
||||
MYSQL_TYPE_NULL = 6,
|
||||
MYSQL_TYPE_TIMESTAMP = 7,
|
||||
MYSQL_TYPE_LONGLONG = 8,
|
||||
MYSQL_TYPE_INT24 = 9,
|
||||
MYSQL_TYPE_DATE = 10,
|
||||
MYSQL_TYPE_TIME = 11,
|
||||
MYSQL_TYPE_DATETIME = 12,
|
||||
MYSQL_TYPE_YEAR = 13,
|
||||
MYSQL_TYPE_NEWDATE = 14,
|
||||
MYSQL_TYPE_ENUM = 247,
|
||||
MYSQL_TYPE_SET = 248,
|
||||
MYSQL_TYPE_TINY_BLOB = 249,
|
||||
MYSQL_TYPE_MEDIUM_BLOB = 250,
|
||||
MYSQL_TYPE_LONG_BLOB = 251,
|
||||
MYSQL_TYPE_BLOB = 252,
|
||||
MYSQL_TYPE_VAR_STRING = 253,
|
||||
MYSQL_TYPE_STRING = 254,
|
||||
MYSQL_TYPE_GEOMETRY = 255,
|
||||
};
|
||||
# 269 "mysql_com.h"
|
||||
enum enum_mysql_set_option
|
||||
{
|
||||
MYSQL_OPTION_MULTI_STATEMENTS_ON = 0,
|
||||
MYSQL_OPTION_MULTI_STATEMENTS_OFF = 1,
|
||||
};
|
||||
# 563 "mysql.h"
|
||||
enum enum_mysql_stmt_state
|
||||
{
|
||||
MYSQL_STMT_INIT_DONE = 1,
|
||||
MYSQL_STMT_PREPARE_DONE = 2,
|
||||
MYSQL_STMT_EXECUTE_DONE = 3,
|
||||
MYSQL_STMT_FETCH_DONE = 4,
|
||||
};
|
||||
# 29 "mysql_time.h"
|
||||
enum enum_mysql_timestamp_type
|
||||
{
|
||||
MYSQL_TIMESTAMP_NONE = -(2),
|
||||
MYSQL_TIMESTAMP_ERROR = -(1),
|
||||
MYSQL_TIMESTAMP_DATE = 0,
|
||||
MYSQL_TIMESTAMP_DATETIME = 1,
|
||||
MYSQL_TIMESTAMP_TIME = 2,
|
||||
};
|
||||
# 39 "mysql_com.h"
|
||||
enum enum_server_command
|
||||
{
|
||||
COM_SLEEP = 0,
|
||||
COM_QUIT = 1,
|
||||
COM_INIT_DB = 2,
|
||||
COM_QUERY = 3,
|
||||
COM_FIELD_LIST = 4,
|
||||
COM_CREATE_DB = 5,
|
||||
COM_DROP_DB = 6,
|
||||
COM_REFRESH = 7,
|
||||
COM_SHUTDOWN = 8,
|
||||
COM_STATISTICS = 9,
|
||||
COM_PROCESS_INFO = 10,
|
||||
COM_CONNECT = 11,
|
||||
COM_PROCESS_KILL = 12,
|
||||
COM_DEBUG = 13,
|
||||
COM_PING = 14,
|
||||
COM_TIME = 15,
|
||||
COM_DELAYED_INSERT = 16,
|
||||
COM_CHANGE_USER = 17,
|
||||
COM_BINLOG_DUMP = 18,
|
||||
COM_TABLE_DUMP = 19,
|
||||
COM_CONNECT_OUT = 20,
|
||||
COM_REGISTER_SLAVE = 21,
|
||||
COM_PREPARE = 22,
|
||||
COM_EXECUTE = 23,
|
||||
COM_LONG_DATA = 24,
|
||||
COM_CLOSE_STMT = 25,
|
||||
COM_RESET_STMT = 26,
|
||||
COM_SET_OPTION = 27,
|
||||
COM_END = 28,
|
||||
};
|
||||
# 635 "mysql.h"
|
||||
enum enum_stmt_attr_type
|
||||
{
|
||||
STMT_ATTR_UPDATE_MAX_LENGTH = 0,
|
||||
};
|
||||
# 244 "mysql_com.h"
|
||||
enum mysql_enum_shutdown_level
|
||||
{
|
||||
SHUTDOWN_DEFAULT = 0,
|
||||
SHUTDOWN_WAIT_CONNECTIONS = (unsigned char)((1 << 0)),
|
||||
SHUTDOWN_WAIT_TRANSACTIONS = (unsigned char)((1 << 1)),
|
||||
SHUTDOWN_WAIT_UPDATES = (unsigned char)((1 << 3)),
|
||||
SHUTDOWN_WAIT_ALL_BUFFERS = ((unsigned char)((1 << 3)) << 1),
|
||||
SHUTDOWN_WAIT_CRITICAL_BUFFERS = (((unsigned char)((1 << 3)) << 1) + 1),
|
||||
KILL_CONNECTION = 255,
|
||||
};
|
||||
# 151 "mysql.h"
|
||||
enum mysql_option
|
||||
{
|
||||
MYSQL_OPT_CONNECT_TIMEOUT = 0,
|
||||
MYSQL_OPT_COMPRESS = 1,
|
||||
MYSQL_OPT_NAMED_PIPE = 2,
|
||||
MYSQL_INIT_COMMAND = 3,
|
||||
MYSQL_READ_DEFAULT_FILE = 4,
|
||||
MYSQL_READ_DEFAULT_GROUP = 5,
|
||||
MYSQL_SET_CHARSET_DIR = 6,
|
||||
MYSQL_SET_CHARSET_NAME = 7,
|
||||
MYSQL_OPT_LOCAL_INFILE = 8,
|
||||
MYSQL_OPT_PROTOCOL = 9,
|
||||
MYSQL_SHARED_MEMORY_BASE_NAME = 10,
|
||||
MYSQL_OPT_READ_TIMEOUT = 11,
|
||||
MYSQL_OPT_WRITE_TIMEOUT = 12,
|
||||
MYSQL_OPT_USE_RESULT = 13,
|
||||
MYSQL_OPT_USE_REMOTE_CONNECTION = 14,
|
||||
MYSQL_OPT_USE_EMBEDDED_CONNECTION = 15,
|
||||
MYSQL_OPT_GUESS_CONNECTION = 16,
|
||||
MYSQL_SET_CLIENT_IP = 17,
|
||||
MYSQL_SECURE_AUTH = 18,
|
||||
};
|
||||
# 214 "mysql.h"
|
||||
enum mysql_protocol_type
|
||||
{
|
||||
MYSQL_PROTOCOL_DEFAULT = 0,
|
||||
MYSQL_PROTOCOL_TCP = 1,
|
||||
MYSQL_PROTOCOL_SOCKET = 2,
|
||||
MYSQL_PROTOCOL_PIPE = 3,
|
||||
MYSQL_PROTOCOL_MEMORY = 4,
|
||||
};
|
||||
# 224 "mysql.h"
|
||||
enum mysql_rpl_type
|
||||
{
|
||||
MYSQL_RPL_MASTER = 0,
|
||||
MYSQL_RPL_SLAVE = 1,
|
||||
MYSQL_RPL_ADMIN = 2,
|
||||
};
|
||||
# 209 "mysql.h"
|
||||
enum mysql_status
|
||||
{
|
||||
MYSQL_STATUS_READY = 0,
|
||||
MYSQL_STATUS_GET_RESULT = 1,
|
||||
MYSQL_STATUS_USE_RESULT = 2,
|
||||
};
|
||||
# 365 "mysql_com.h"
|
||||
extern my_bool check_scramble(char const * reply, char const * message, unsigned char const * hash_stage2);
|
||||
# 358 "mysql_com.h"
|
||||
extern my_bool check_scramble_323(char const *, char const * message, unsigned long int * salt);
|
||||
# 353 "mysql_com.h"
|
||||
extern void create_random_string(char * to, unsigned int, struct rand_struct * rand_st);
|
||||
# 28 "typelib.h"
|
||||
extern int find_type(char * x, TYPELIB * typelib, unsigned int);
|
||||
# 367 "mysql_com.h"
|
||||
extern void get_salt_from_password(unsigned char * res, char const * password);
|
||||
# 360 "mysql_com.h"
|
||||
extern void get_salt_from_password_323(unsigned long int * res, char const * password);
|
||||
# 372 "mysql_com.h"
|
||||
extern char * get_tty_password(char * opt_message);
|
||||
# 30 "typelib.h"
|
||||
extern char const * get_type(TYPELIB * typelib, unsigned int);
|
||||
# 355 "mysql_com.h"
|
||||
extern void hash_password(unsigned long int * to, char const * password, unsigned int);
|
||||
# 31 "my_list.h"
|
||||
extern LIST * list_add(LIST * root, LIST * element);
|
||||
# 33 "my_list.h"
|
||||
extern LIST * list_cons(void * data, LIST * root);
|
||||
# 32 "my_list.h"
|
||||
extern LIST * list_delete(LIST * root, LIST * element);
|
||||
# 35 "my_list.h"
|
||||
extern void list_free(LIST * root, unsigned int);
|
||||
# 36 "my_list.h"
|
||||
extern unsigned int list_length(LIST *);
|
||||
# 34 "my_list.h"
|
||||
extern LIST * list_reverse(LIST * root);
|
||||
# 37 "my_list.h"
|
||||
extern int list_walk(LIST *, list_walk_action, gptr);
|
||||
# 378 "mysql_com.h"
|
||||
extern int load_defaults(char const * conf_file, char const * * groups, int * argc, char * * * argv);
|
||||
# 368 "mysql_com.h"
|
||||
extern void make_password_from_salt(char * to, unsigned char const * hash_stage2);
|
||||
# 361 "mysql_com.h"
|
||||
extern void make_password_from_salt_323(char * to, unsigned long int const * salt);
|
||||
# 363 "mysql_com.h"
|
||||
extern void make_scrambled_password(char * to, char const * password);
|
||||
# 356 "mysql_com.h"
|
||||
extern void make_scrambled_password_323(char * to, char const * password);
|
||||
# 29 "typelib.h"
|
||||
extern void make_type(char * to, unsigned int, TYPELIB * typelib);
|
||||
# 299 "mysql_com.h"
|
||||
extern int my_connect(my_socket, struct sockaddr const * name, unsigned int, unsigned int);
|
||||
# 377 "mysql_com.h"
|
||||
extern my_bool my_init(void);
|
||||
# 281 "mysql_com.h"
|
||||
extern my_bool my_net_init(NET * net, Vio * vio);
|
||||
# 282 "mysql_com.h"
|
||||
extern void my_net_local_init(NET * net);
|
||||
# 292 "mysql_com.h"
|
||||
extern unsigned long int my_net_read(NET * net);
|
||||
# 287 "mysql_com.h"
|
||||
extern my_bool my_net_write(NET * net, char const * packet, unsigned long int);
|
||||
# 352 "mysql_com.h"
|
||||
extern double my_rnd(struct rand_struct *);
|
||||
# 381 "mysql_com.h"
|
||||
extern void my_thread_end(void);
|
||||
# 380 "mysql_com.h"
|
||||
extern my_bool my_thread_init(void);
|
||||
# 539 "mysql.h"
|
||||
extern void myodbc_remove_escape(MYSQL * mysql, char * name);
|
||||
# 481 "mysql.h"
|
||||
extern int mysql_add_slave(MYSQL * mysql, char const * host, unsigned int, char const * user, char const * passwd);
|
||||
# 393 "mysql.h"
|
||||
extern my_ulonglong mysql_affected_rows(MYSQL * mysql);
|
||||
# 720 "mysql.h"
|
||||
extern my_bool mysql_autocommit(MYSQL * mysql, my_bool);
|
||||
# 408 "mysql.h"
|
||||
extern my_bool mysql_change_user(MYSQL * mysql, char const * user, char const * passwd, char const * db);
|
||||
# 401 "mysql.h"
|
||||
extern char const * mysql_character_set_name(MYSQL * mysql);
|
||||
# 723 "mysql.h"
|
||||
extern void mysql_close(MYSQL * sock);
|
||||
# 718 "mysql.h"
|
||||
extern my_bool mysql_commit(MYSQL * mysql);
|
||||
# 510 "mysql.h"
|
||||
extern void mysql_data_seek(MYSQL_RES * result, my_ulonglong);
|
||||
# 528 "mysql.h"
|
||||
extern void mysql_debug(char const * debug);
|
||||
# 467 "mysql.h"
|
||||
extern void mysql_disable_reads_from_master(MYSQL * mysql);
|
||||
# 461 "mysql.h"
|
||||
extern void mysql_disable_rpl_parse(MYSQL * mysql);
|
||||
# 489 "mysql.h"
|
||||
extern int mysql_dump_debug_info(MYSQL * mysql);
|
||||
# 541 "mysql.h"
|
||||
extern my_bool mysql_embedded(void);
|
||||
# 466 "mysql.h"
|
||||
extern void mysql_enable_reads_from_master(MYSQL * mysql);
|
||||
# 460 "mysql.h"
|
||||
extern void mysql_enable_rpl_parse(MYSQL * mysql);
|
||||
# 385 "mysql.h"
|
||||
extern my_bool mysql_eof(MYSQL_RES * res);
|
||||
# 395 "mysql.h"
|
||||
extern unsigned int mysql_errno(MYSQL * mysql);
|
||||
# 373 "mysql_com.h"
|
||||
extern char const * mysql_errno_to_sqlstate(unsigned int);
|
||||
# 396 "mysql.h"
|
||||
extern char const * mysql_error(MYSQL * mysql);
|
||||
# 521 "mysql.h"
|
||||
extern unsigned long int mysql_escape_string(char * to, char const * from, unsigned long int);
|
||||
# 518 "mysql.h"
|
||||
extern MYSQL_FIELD * mysql_fetch_field(MYSQL_RES * result);
|
||||
# 386 "mysql.h"
|
||||
extern MYSQL_FIELD * mysql_fetch_field_direct(MYSQL_RES * res, unsigned int);
|
||||
# 388 "mysql.h"
|
||||
extern MYSQL_FIELD * mysql_fetch_fields(MYSQL_RES * res);
|
||||
# 517 "mysql.h"
|
||||
extern unsigned long int * mysql_fetch_lengths(MYSQL_RES * result);
|
||||
# 516 "mysql.h"
|
||||
extern MYSQL_ROW mysql_fetch_row(MYSQL_RES * result);
|
||||
# 392 "mysql.h"
|
||||
extern unsigned int mysql_field_count(MYSQL * mysql);
|
||||
# 514 "mysql.h"
|
||||
extern MYSQL_FIELD_OFFSET mysql_field_seek(MYSQL_RES * result, MYSQL_FIELD_OFFSET);
|
||||
# 390 "mysql.h"
|
||||
extern MYSQL_FIELD_OFFSET mysql_field_tell(MYSQL_RES * res);
|
||||
# 509 "mysql.h"
|
||||
extern void mysql_free_result(MYSQL_RES * result);
|
||||
# 499 "mysql.h"
|
||||
extern char const * mysql_get_client_info(void);
|
||||
# 500 "mysql.h"
|
||||
extern unsigned long int mysql_get_client_version(void);
|
||||
# 501 "mysql.h"
|
||||
extern char const * mysql_get_host_info(MYSQL * mysql);
|
||||
# 367 "mysql.h"
|
||||
extern MYSQL_PARAMETERS * mysql_get_parameters(void);
|
||||
# 503 "mysql.h"
|
||||
extern unsigned int mysql_get_proto_info(MYSQL * mysql);
|
||||
# 498 "mysql.h"
|
||||
extern char const * mysql_get_server_info(MYSQL * mysql);
|
||||
# 502 "mysql.h"
|
||||
extern unsigned long int mysql_get_server_version(MYSQL * mysql);
|
||||
# 523 "mysql.h"
|
||||
extern unsigned long int mysql_hex_string(char * to, char const * from, unsigned long int);
|
||||
# 399 "mysql.h"
|
||||
extern char const * mysql_info(MYSQL * mysql);
|
||||
# 404 "mysql.h"
|
||||
extern MYSQL * mysql_init(MYSQL * mysql);
|
||||
# 394 "mysql.h"
|
||||
extern my_ulonglong mysql_insert_id(MYSQL * mysql);
|
||||
# 492 "mysql.h"
|
||||
extern int mysql_kill(MYSQL * mysql, unsigned long int);
|
||||
# 504 "mysql.h"
|
||||
extern MYSQL_RES * mysql_list_dbs(MYSQL * mysql, char const * wild);
|
||||
# 519 "mysql.h"
|
||||
extern MYSQL_RES * mysql_list_fields(MYSQL * mysql, char const * table, char const * wild);
|
||||
# 506 "mysql.h"
|
||||
extern MYSQL_RES * mysql_list_processes(MYSQL * mysql);
|
||||
# 505 "mysql.h"
|
||||
extern MYSQL_RES * mysql_list_tables(MYSQL * mysql, char const * wild);
|
||||
# 548 "mysql.h"
|
||||
extern void mysql_manager_close(MYSQL_MANAGER * con);
|
||||
# 549 "mysql.h"
|
||||
extern int mysql_manager_command(MYSQL_MANAGER * con, char const * cmd, int);
|
||||
# 543 "mysql.h"
|
||||
extern MYSQL_MANAGER * mysql_manager_connect(MYSQL_MANAGER * con, char const * host, char const * user, char const * passwd, unsigned int);
|
||||
# 551 "mysql.h"
|
||||
extern int mysql_manager_fetch_line(MYSQL_MANAGER * con, char * res_buf, int);
|
||||
# 542 "mysql.h"
|
||||
extern MYSQL_MANAGER * mysql_manager_init(MYSQL_MANAGER * con);
|
||||
# 427 "mysql.h"
|
||||
extern my_bool mysql_master_query(MYSQL * mysql, char const * q, unsigned long int);
|
||||
# 429 "mysql.h"
|
||||
extern my_bool mysql_master_send_query(MYSQL * mysql, char const * q, unsigned long int);
|
||||
# 721 "mysql.h"
|
||||
extern my_bool mysql_more_results(MYSQL * mysql);
|
||||
# 722 "mysql.h"
|
||||
extern int mysql_next_result(MYSQL * mysql);
|
||||
# 384 "mysql.h"
|
||||
extern unsigned int mysql_num_fields(MYSQL_RES * res);
|
||||
# 383 "mysql.h"
|
||||
extern my_ulonglong mysql_num_rows(MYSQL_RES * res);
|
||||
# 529 "mysql.h"
|
||||
extern char * mysql_odbc_escape_string(MYSQL * mysql, char * to, unsigned long int, char const * from, unsigned long int, void * param, char * (* extend_buffer)(void *, char * to, unsigned long int * length));
|
||||
# 507 "mysql.h"
|
||||
extern int mysql_options(MYSQL * mysql, enum mysql_option, char const * arg);
|
||||
# 496 "mysql.h"
|
||||
extern int mysql_ping(MYSQL * mysql);
|
||||
# 75 "mysql.h"
|
||||
extern unsigned int mysql_port;
|
||||
# 418 "mysql.h"
|
||||
extern int mysql_query(MYSQL * mysql, char const * q);
|
||||
# 554 "mysql.h"
|
||||
extern my_bool mysql_read_query_result(MYSQL * mysql);
|
||||
# 469 "mysql.h"
|
||||
extern my_bool mysql_reads_from_master_enabled(MYSQL * mysql);
|
||||
# 410 "mysql.h"
|
||||
extern MYSQL * mysql_real_connect(MYSQL * mysql, char const * host, char const * user, char const * passwd, char const * db, unsigned int, char const * unix_socket, unsigned long int);
|
||||
# 525 "mysql.h"
|
||||
extern unsigned long int mysql_real_escape_string(MYSQL * mysql, char * to, char const * from, unsigned long int);
|
||||
# 421 "mysql.h"
|
||||
extern int mysql_real_query(MYSQL * mysql, char const * q, unsigned long int);
|
||||
# 490 "mysql.h"
|
||||
extern int mysql_refresh(MYSQL * mysql, unsigned int);
|
||||
# 719 "mysql.h"
|
||||
extern my_bool mysql_rollback(MYSQL * mysql);
|
||||
# 512 "mysql.h"
|
||||
extern MYSQL_ROW_OFFSET mysql_row_seek(MYSQL_RES * result, MYSQL_ROW_OFFSET);
|
||||
# 389 "mysql.h"
|
||||
extern MYSQL_ROW_OFFSET mysql_row_tell(MYSQL_RES * res);
|
||||
# 463 "mysql.h"
|
||||
extern int mysql_rpl_parse_enabled(MYSQL * mysql);
|
||||
# 474 "mysql.h"
|
||||
extern my_bool mysql_rpl_probe(MYSQL * mysql);
|
||||
# 471 "mysql.h"
|
||||
extern enum mysql_rpl_type mysql_rpl_query_type(char const * q, int);
|
||||
# 417 "mysql.h"
|
||||
extern int mysql_select_db(MYSQL * mysql, char const * db);
|
||||
# 419 "mysql.h"
|
||||
extern int mysql_send_query(MYSQL * mysql, char const * q, unsigned long int);
|
||||
# 354 "mysql.h"
|
||||
extern void mysql_server_end(void);
|
||||
# 353 "mysql.h"
|
||||
extern int mysql_server_init(int, char * * argv, char * * groups);
|
||||
# 402 "mysql.h"
|
||||
extern int mysql_set_character_set(MYSQL * mysql, char const * csname);
|
||||
# 452 "mysql.h"
|
||||
extern void mysql_set_local_infile_default(MYSQL * mysql);
|
||||
# 441 "mysql.h"
|
||||
extern void mysql_set_local_infile_handler(MYSQL * mysql, int (* local_infile_init)(void * *, char const *, void *), int (* local_infile_read)(void *, char *, unsigned int), void (* local_infile_end)(void), int (* local_infile_error)(void *, char *, unsigned int), void *);
|
||||
# 477 "mysql.h"
|
||||
extern int mysql_set_master(MYSQL * mysql, char const * host, unsigned int, char const * user, char const * passwd);
|
||||
# 493 "mysql.h"
|
||||
extern int mysql_set_server_option(MYSQL * mysql, enum enum_mysql_set_option);
|
||||
# 486 "mysql.h"
|
||||
extern int mysql_shutdown(MYSQL * mysql, enum mysql_enum_shutdown_level);
|
||||
# 432 "mysql.h"
|
||||
extern my_bool mysql_slave_query(MYSQL * mysql, char const * q, unsigned long int);
|
||||
# 434 "mysql.h"
|
||||
extern my_bool mysql_slave_send_query(MYSQL * mysql, char const * q, unsigned long int);
|
||||
# 397 "mysql.h"
|
||||
extern char const * mysql_sqlstate(MYSQL * mysql);
|
||||
# 405 "mysql.h"
|
||||
extern my_bool mysql_ssl_set(MYSQL * mysql, char const * key, char const * cert, char const * ca, char const * capath, char const * cipher);
|
||||
# 497 "mysql.h"
|
||||
extern char const * mysql_stat(MYSQL * mysql);
|
||||
# 714 "mysql.h"
|
||||
extern my_ulonglong mysql_stmt_affected_rows(MYSQL_STMT * stmt);
|
||||
# 692 "mysql.h"
|
||||
extern my_bool mysql_stmt_attr_get(MYSQL_STMT * stmt, enum enum_stmt_attr_type, void * attr);
|
||||
# 689 "mysql.h"
|
||||
extern my_bool mysql_stmt_attr_set(MYSQL_STMT * stmt, enum enum_stmt_attr_type, void const * attr);
|
||||
# 695 "mysql.h"
|
||||
extern my_bool mysql_stmt_bind_param(MYSQL_STMT * stmt, MYSQL_BIND * bnd);
|
||||
# 696 "mysql.h"
|
||||
extern my_bool mysql_stmt_bind_result(MYSQL_STMT * stmt, MYSQL_BIND * bnd);
|
||||
# 697 "mysql.h"
|
||||
extern my_bool mysql_stmt_close(MYSQL_STMT * stmt);
|
||||
# 712 "mysql.h"
|
||||
extern void mysql_stmt_data_seek(MYSQL_STMT * stmt, my_ulonglong);
|
||||
# 706 "mysql.h"
|
||||
extern unsigned int mysql_stmt_errno(MYSQL_STMT * stmt);
|
||||
# 707 "mysql.h"
|
||||
extern char const * mysql_stmt_error(MYSQL_STMT * stmt);
|
||||
# 682 "mysql.h"
|
||||
extern int mysql_stmt_execute(MYSQL_STMT * stmt);
|
||||
# 683 "mysql.h"
|
||||
extern int mysql_stmt_fetch(MYSQL_STMT * stmt);
|
||||
# 684 "mysql.h"
|
||||
extern int mysql_stmt_fetch_column(MYSQL_STMT * stmt, MYSQL_BIND * bind, unsigned int, unsigned long int);
|
||||
# 716 "mysql.h"
|
||||
extern unsigned int mysql_stmt_field_count(MYSQL_STMT * stmt);
|
||||
# 699 "mysql.h"
|
||||
extern my_bool mysql_stmt_free_result(MYSQL_STMT * stmt);
|
||||
# 679 "mysql.h"
|
||||
extern MYSQL_STMT * mysql_stmt_init(MYSQL * mysql);
|
||||
# 715 "mysql.h"
|
||||
extern my_ulonglong mysql_stmt_insert_id(MYSQL_STMT * stmt);
|
||||
# 713 "mysql.h"
|
||||
extern my_ulonglong mysql_stmt_num_rows(MYSQL_STMT * stmt);
|
||||
# 688 "mysql.h"
|
||||
extern unsigned long int mysql_stmt_param_count(MYSQL_STMT * stmt);
|
||||
# 705 "mysql.h"
|
||||
extern MYSQL_RES * mysql_stmt_param_metadata(MYSQL_STMT * stmt);
|
||||
# 680 "mysql.h"
|
||||
extern int mysql_stmt_prepare(MYSQL_STMT * stmt, char const * query, unsigned long int);
|
||||
# 698 "mysql.h"
|
||||
extern my_bool mysql_stmt_reset(MYSQL_STMT * stmt);
|
||||
# 704 "mysql.h"
|
||||
extern MYSQL_RES * mysql_stmt_result_metadata(MYSQL_STMT * stmt);
|
||||
# 709 "mysql.h"
|
||||
extern MYSQL_ROW_OFFSET mysql_stmt_row_seek(MYSQL_STMT * stmt, MYSQL_ROW_OFFSET);
|
||||
# 711 "mysql.h"
|
||||
extern MYSQL_ROW_OFFSET mysql_stmt_row_tell(MYSQL_STMT * stmt);
|
||||
# 700 "mysql.h"
|
||||
extern my_bool mysql_stmt_send_long_data(MYSQL_STMT * stmt, unsigned int, char const * data, unsigned long int);
|
||||
# 708 "mysql.h"
|
||||
extern char const * mysql_stmt_sqlstate(MYSQL_STMT * stmt);
|
||||
# 687 "mysql.h"
|
||||
extern int mysql_stmt_store_result(MYSQL_STMT * stmt);
|
||||
# 423 "mysql.h"
|
||||
extern MYSQL_RES * mysql_store_result(MYSQL * mysql);
|
||||
# 376 "mysql.h"
|
||||
extern void mysql_thread_end(void);
|
||||
# 400 "mysql.h"
|
||||
extern unsigned long int mysql_thread_id(MYSQL * mysql);
|
||||
# 375 "mysql.h"
|
||||
extern my_bool mysql_thread_init(void);
|
||||
# 540 "mysql.h"
|
||||
extern unsigned int mysql_thread_safe(void);
|
||||
# 76 "mysql.h"
|
||||
extern char * mysql_unix_port;
|
||||
# 424 "mysql.h"
|
||||
extern MYSQL_RES * mysql_use_result(MYSQL * mysql);
|
||||
# 398 "mysql.h"
|
||||
extern unsigned int mysql_warning_count(MYSQL * mysql);
|
||||
# 284 "mysql_com.h"
|
||||
extern void net_clear(NET * net);
|
||||
# 283 "mysql_com.h"
|
||||
extern void net_end(NET * net);
|
||||
# 286 "mysql_com.h"
|
||||
extern my_bool net_flush(NET * net);
|
||||
# 291 "mysql_com.h"
|
||||
extern int net_real_write(NET * net, char const * packet, unsigned long int);
|
||||
# 285 "mysql_com.h"
|
||||
extern my_bool net_realloc(NET * net, unsigned long int);
|
||||
# 751 "mysql.h"
|
||||
extern unsigned long int net_safe_read(MYSQL * mysql);
|
||||
# 288 "mysql_com.h"
|
||||
extern my_bool net_write_command(NET * net, unsigned char, char const * header, unsigned long int, char const * packet, unsigned long int);
|
||||
# 350 "mysql_com.h"
|
||||
extern void randominit(struct rand_struct *, unsigned long int, unsigned long int);
|
||||
# 364 "mysql_com.h"
|
||||
extern void scramble(char * to, char const * message, char const * password);
|
||||
# 357 "mysql_com.h"
|
||||
extern void scramble_323(char * to, char const * message, char const * password);
|
||||
# 32 "typelib.h"
|
||||
extern TYPELIB sql_protocol_typelib;
|
|
@ -4252,29 +4252,47 @@ fil_flush_file_spaces(
|
|||
{
|
||||
fil_system_t* system = fil_system;
|
||||
fil_space_t* space;
|
||||
ulint* space_ids;
|
||||
ulint n_space_ids;
|
||||
ulint i;
|
||||
|
||||
mutex_enter(&(system->mutex));
|
||||
|
||||
space = UT_LIST_GET_FIRST(system->unflushed_spaces);
|
||||
n_space_ids = UT_LIST_GET_LEN(system->unflushed_spaces);
|
||||
if (n_space_ids == 0) {
|
||||
|
||||
mutex_exit(&system->mutex);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Assemble a list of space ids to flush. Previously, we
|
||||
traversed system->unflushed_spaces and called UT_LIST_GET_NEXT()
|
||||
on a space that was just removed from the list by fil_flush().
|
||||
Thus, the space could be dropped and the memory overwritten. */
|
||||
space_ids = mem_alloc(n_space_ids * sizeof *space_ids);
|
||||
|
||||
n_space_ids = 0;
|
||||
|
||||
for (space = UT_LIST_GET_FIRST(system->unflushed_spaces);
|
||||
space;
|
||||
space = UT_LIST_GET_NEXT(unflushed_spaces, space)) {
|
||||
|
||||
while (space) {
|
||||
if (space->purpose == purpose && !space->is_being_deleted) {
|
||||
|
||||
space->n_pending_flushes++; /* prevent dropping of the
|
||||
space while we are
|
||||
flushing */
|
||||
mutex_exit(&(system->mutex));
|
||||
|
||||
fil_flush(space->id);
|
||||
|
||||
mutex_enter(&(system->mutex));
|
||||
|
||||
space->n_pending_flushes--;
|
||||
space_ids[n_space_ids++] = space->id;
|
||||
}
|
||||
space = UT_LIST_GET_NEXT(unflushed_spaces, space);
|
||||
}
|
||||
|
||||
mutex_exit(&(system->mutex));
|
||||
|
||||
mutex_exit(&system->mutex);
|
||||
|
||||
/* Flush the spaces. It will not hurt to call fil_flush() on
|
||||
a non-existing space id. */
|
||||
for (i = 0; i < n_space_ids; i++) {
|
||||
|
||||
fil_flush(space_ids[i]);
|
||||
}
|
||||
|
||||
mem_free(space_ids);
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
|
|
|
@ -441,7 +441,6 @@ sub mtr_kill_leftovers () {
|
|||
# Only read pid from files that end with .pid
|
||||
if ( $elem =~ /.*[.]pid$/)
|
||||
{
|
||||
|
||||
my $pidfile= "$rundir/$elem";
|
||||
|
||||
if ( -f $pidfile )
|
||||
|
@ -465,7 +464,8 @@ sub mtr_kill_leftovers () {
|
|||
}
|
||||
else
|
||||
{
|
||||
mtr_warning("Found non pid file $elem in $rundir");
|
||||
mtr_warning("Found non pid file $elem in $rundir")
|
||||
if -f "$rundir/$elem";
|
||||
next;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -190,7 +190,7 @@ our $opt_fast;
|
|||
our $opt_force;
|
||||
our $opt_reorder= 0;
|
||||
our $opt_enable_disabled;
|
||||
our $opt_mem;
|
||||
our $opt_mem= $ENV{'MTR_MEM'};
|
||||
|
||||
our $opt_gcov;
|
||||
our $opt_gcov_err;
|
||||
|
@ -596,7 +596,7 @@ sub command_line_setup () {
|
|||
'tmpdir=s' => \$opt_tmpdir,
|
||||
'vardir=s' => \$opt_vardir,
|
||||
'benchdir=s' => \$glob_mysql_bench_dir,
|
||||
'mem' => \$opt_mem,
|
||||
'mem:s' => \$opt_mem,
|
||||
|
||||
# Misc
|
||||
'comment=s' => \$opt_comment,
|
||||
|
@ -738,17 +738,18 @@ sub command_line_setup () {
|
|||
# --------------------------------------------------------------------------
|
||||
# Check if we should speed up tests by trying to run on tmpfs
|
||||
# --------------------------------------------------------------------------
|
||||
if ( $opt_mem )
|
||||
if ( defined $opt_mem )
|
||||
{
|
||||
mtr_error("Can't use --mem and --vardir at the same time ")
|
||||
if $opt_vardir;
|
||||
mtr_error("Can't use --mem and --tmpdir at the same time ")
|
||||
if $opt_tmpdir;
|
||||
|
||||
# Use /dev/shm as the preferred location for vardir and
|
||||
# thus implicitly also tmpdir. Add other locations to list
|
||||
my @tmpfs_locations= ("/dev/shm");
|
||||
# One could maybe use "mount" to find tmpfs location(s)
|
||||
# Search through list of locations that are known
|
||||
# to be "fast disks" to list to find a suitable location
|
||||
# Use --mem=<dir> as first location to look.
|
||||
my @tmpfs_locations= ($opt_mem, "/dev/shm", "/tmp");
|
||||
|
||||
foreach my $fs (@tmpfs_locations)
|
||||
{
|
||||
if ( -d $fs )
|
||||
|
@ -2986,9 +2987,9 @@ sub analyze_testcase_failure_sync_with_master($)
|
|||
|
||||
mtr_add_arg($args, "--no-defaults");
|
||||
mtr_add_arg($args, "--silent");
|
||||
mtr_add_arg($args, "-v");
|
||||
mtr_add_arg($args, "--skip-safemalloc");
|
||||
mtr_add_arg($args, "--tmpdir=%s", $opt_tmpdir);
|
||||
mtr_add_arg($args, "--character-sets-dir=%s", $path_charsetsdir);
|
||||
|
||||
mtr_add_arg($args, "--socket=%s", $master->[0]->{'path_sock'});
|
||||
mtr_add_arg($args, "--port=%d", $master->[0]->{'port'});
|
||||
|
@ -3359,6 +3360,11 @@ sub mysqld_arguments ($$$$$) {
|
|||
if ( $opt_valgrind_mysqld )
|
||||
{
|
||||
mtr_add_arg($args, "%s--skip-safemalloc", $prefix);
|
||||
|
||||
if ( $mysql_version_id < 50100 )
|
||||
{
|
||||
mtr_add_arg($args, "%s--skip-bdb", $prefix);
|
||||
}
|
||||
}
|
||||
|
||||
my $pidfile;
|
||||
|
@ -4167,9 +4173,9 @@ sub run_check_testcase ($$) {
|
|||
|
||||
mtr_add_arg($args, "--no-defaults");
|
||||
mtr_add_arg($args, "--silent");
|
||||
mtr_add_arg($args, "-v");
|
||||
mtr_add_arg($args, "--skip-safemalloc");
|
||||
mtr_add_arg($args, "--tmpdir=%s", $opt_tmpdir);
|
||||
mtr_add_arg($args, "--character-sets-dir=%s", $path_charsetsdir);
|
||||
|
||||
mtr_add_arg($args, "--socket=%s", $mysqld->{'path_sock'});
|
||||
mtr_add_arg($args, "--port=%d", $mysqld->{'port'});
|
||||
|
@ -4213,9 +4219,9 @@ sub run_mysqltest ($) {
|
|||
|
||||
mtr_add_arg($args, "--no-defaults");
|
||||
mtr_add_arg($args, "--silent");
|
||||
mtr_add_arg($args, "-v");
|
||||
mtr_add_arg($args, "--skip-safemalloc");
|
||||
mtr_add_arg($args, "--tmpdir=%s", $opt_tmpdir);
|
||||
mtr_add_arg($args, "--character-sets-dir=%s", $path_charsetsdir);
|
||||
|
||||
if ($tinfo->{'component_id'} eq 'im')
|
||||
{
|
||||
|
@ -4300,13 +4306,11 @@ sub run_mysqltest ($) {
|
|||
if ( $opt_ssl )
|
||||
{
|
||||
# Turn on SSL for _all_ test cases if option --ssl was used
|
||||
mtr_add_arg($args, "--ssl",
|
||||
$glob_mysql_test_dir);
|
||||
mtr_add_arg($args, "--ssl");
|
||||
}
|
||||
elsif ( $opt_ssl_supported )
|
||||
{
|
||||
mtr_add_arg($args, "--skip-ssl",
|
||||
$glob_mysql_test_dir);
|
||||
mtr_add_arg($args, "--skip-ssl");
|
||||
}
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
|
@ -4641,9 +4645,12 @@ Options to control directories to use
|
|||
vardir=DIR The directory where files generated from the test run
|
||||
is stored (default: ./var). Specifying a ramdisk or
|
||||
tmpfs will speed up tests.
|
||||
mem=DIR Run testsuite in "memory" using tmpfs if
|
||||
available(default: /dev/shm)
|
||||
|
||||
mem[=DIR] Run testsuite in "memory" using tmpfs or ramdisk
|
||||
Attempts to use DIR first if specified else
|
||||
uses as builtin list of standard locations
|
||||
for tmpfs (/dev/shm)
|
||||
The option can also be set using environment
|
||||
variable MTR_MEM=[DIR]
|
||||
|
||||
Options to control what test suites or cases to run
|
||||
|
||||
|
|
|
@ -183,3 +183,78 @@ select 5.1 mod 3, 5.1 mod -3, -5.1 mod 3, -5.1 mod -3;
|
|||
select 5 mod 3, 5 mod -3, -5 mod 3, -5 mod -3;
|
||||
5 mod 3 5 mod -3 -5 mod 3 -5 mod -3
|
||||
2 2 -2 -2
|
||||
select (12%0) <=> null as '1';
|
||||
1
|
||||
1
|
||||
select (12%0) is null as '1';
|
||||
1
|
||||
1
|
||||
select 12%0 as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select 12%2 as '0';
|
||||
0
|
||||
0
|
||||
select 12%NULL as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select 12 % null as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select null % 12 as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select null % 0 as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select 0 % null as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select null % null as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select (12 mod 0) <=> null as '1';
|
||||
1
|
||||
1
|
||||
select (12 mod 0) is null as '1';
|
||||
1
|
||||
1
|
||||
select 12 mod 0 as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select 12 mod 2 as '0';
|
||||
0
|
||||
0
|
||||
select 12 mod null as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select null mod 12 as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select null mod 0 as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select 0 mod null as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select null mod null as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select mod(12.0, 0) as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select mod(12, 0.0) as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select mod(12, NULL) as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select mod(12.0, NULL) as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select mod(NULL, 2) as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
select mod(NULL, 2.0) as 'NULL';
|
||||
NULL
|
||||
NULL
|
||||
|
|
|
@ -108,4 +108,36 @@ select 5.1 mod 3, 5.1 mod -3, -5.1 mod 3, -5.1 mod -3;
|
|||
|
||||
select 5 mod 3, 5 mod -3, -5 mod 3, -5 mod -3;
|
||||
|
||||
#
|
||||
# Bug#23411: The "%" (MOD) operator is not documented; MOD-ing zero returns strange result
|
||||
# Manual: "Division by zero produces a NULL result"
|
||||
#
|
||||
select (12%0) <=> null as '1';
|
||||
select (12%0) is null as '1';
|
||||
select 12%0 as 'NULL';
|
||||
select 12%2 as '0';
|
||||
select 12%NULL as 'NULL';
|
||||
select 12 % null as 'NULL';
|
||||
select null % 12 as 'NULL';
|
||||
select null % 0 as 'NULL';
|
||||
select 0 % null as 'NULL';
|
||||
select null % null as 'NULL';
|
||||
|
||||
select (12 mod 0) <=> null as '1';
|
||||
select (12 mod 0) is null as '1';
|
||||
select 12 mod 0 as 'NULL';
|
||||
select 12 mod 2 as '0';
|
||||
select 12 mod null as 'NULL';
|
||||
select null mod 12 as 'NULL';
|
||||
select null mod 0 as 'NULL';
|
||||
select 0 mod null as 'NULL';
|
||||
select null mod null as 'NULL';
|
||||
|
||||
select mod(12.0, 0) as 'NULL';
|
||||
select mod(12, 0.0) as 'NULL';
|
||||
select mod(12, NULL) as 'NULL';
|
||||
select mod(12.0, NULL) as 'NULL';
|
||||
select mod(NULL, 2) as 'NULL';
|
||||
select mod(NULL, 2.0) as 'NULL';
|
||||
|
||||
# End of 4.1 tests
|
||||
|
|
|
@ -105,7 +105,7 @@ copyfileto()
|
|||
copyfileto $BASE/docs ChangeLog Docs/mysql.info
|
||||
|
||||
copyfileto $BASE COPYING COPYING.LIB README Docs/INSTALL-BINARY \
|
||||
EXCEPTIONS-CLIENT MySQLEULA.txt LICENSE.doc README.NW
|
||||
EXCEPTIONS-CLIENT LICENSE.mysql
|
||||
|
||||
# Non platform-specific bin dir files:
|
||||
BIN_FILES="extra/comp_err$BS extra/replace$BS extra/perror$BS \
|
||||
|
@ -282,10 +282,7 @@ if [ $BASE_SYSTEM = "netware" ] ; then
|
|||
$BASE/support-files/build-tags \
|
||||
$BASE/support-files/MySQL-shared-compat.spec \
|
||||
$BASE/support-files/ndb-config-2-node.ini \
|
||||
$BASE/INSTALL-BINARY \
|
||||
$BASE/MySQLEULA.txt
|
||||
else
|
||||
rm -f $BASE/README.NW
|
||||
$BASE/INSTALL-BINARY
|
||||
fi
|
||||
|
||||
# Make safe_mysqld a symlink to mysqld_safe for backwards portability
|
||||
|
|
|
@ -96,7 +96,7 @@ Item_func::Item_func(THD *thd, Item_func *item)
|
|||
|
||||
|
||||
/*
|
||||
Resolve references to table column for a function and it's argument
|
||||
Resolve references to table column for a function and its argument
|
||||
|
||||
SYNOPSIS:
|
||||
fix_fields()
|
||||
|
@ -707,6 +707,7 @@ longlong Item_func_mod::val_int()
|
|||
void Item_func_mod::fix_length_and_dec()
|
||||
{
|
||||
Item_num_op::fix_length_and_dec();
|
||||
maybe_null= 1;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue