Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
709501b9
Commit
709501b9
authored
Mar 30, 2001
by
jcole@abel.spaceapes.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Made the manual pretty in HTMLHELP format.
Reorganized and renamed the API chapter.
parent
a49a2e20
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
232 additions
and
186 deletions
+232
-186
BitKeeper/etc/logging_ok
BitKeeper/etc/logging_ok
+1
-0
Docs/manual.texi
Docs/manual.texi
+231
-186
No files found.
BitKeeper/etc/logging_ok
View file @
709501b9
...
@@ -2,3 +2,4 @@ ccarkner@nslinuxw10.bedford.progress.com
...
@@ -2,3 +2,4 @@ ccarkner@nslinuxw10.bedford.progress.com
heikki@donna.mysql.fi
heikki@donna.mysql.fi
sasha@mysql.sashanet.com
sasha@mysql.sashanet.com
monty@donna.mysql.fi
monty@donna.mysql.fi
jcole@abel.spaceapes.com
Docs/manual.texi
View file @
709501b9
...
@@ -771,12 +771,9 @@ The MySQL log files
...
@@ -771,12 +771,9 @@ The MySQL log files
* Binary log::
* Binary log::
* Slow query log::
* Slow query log::
MySQL
Client Tools and
APIs
MySQL APIs
* C:: @strong{MySQL} C API
* C:: @strong{MySQL} C API
* C API datatypes:: C API datatypes
* C API function overview:: C API function Overview
* C API functions:: C API function descriptions
* Perl:: @strong{MySQL} Perl API
* Perl:: @strong{MySQL} Perl API
* Eiffel:: @strong{MySQL} Eiffel wrapper
* Eiffel:: @strong{MySQL} Eiffel wrapper
* Java:: @strong{MySQL} Java connectivity (JDBC)
* Java:: @strong{MySQL} Java connectivity (JDBC)
...
@@ -785,66 +782,6 @@ MySQL Client Tools and APIs
...
@@ -785,66 +782,6 @@ MySQL Client Tools and APIs
* Python:: @strong{MySQL} Python APIs
* Python:: @strong{MySQL} Python APIs
* Tcl:: @strong{MySQL} Tcl APIs
* Tcl:: @strong{MySQL} Tcl APIs
C API Function Descriptions
* mysql_affected_rows:: @code{mysql_affected_rows()}
* mysql_close:: @code{mysql_close()}
* mysql_connect:: @code{mysql_connect()}
* mysql_change_user:: @code{mysql_change_user()}
* mysql_character_set_name:: @code{mysql_character_set_name()}
* mysql_create_db:: @code{mysql_create_db()}
* mysql_data_seek:: @code{mysql_data_seek()}
* mysql_debug:: @code{mysql_debug()}
* mysql_drop_db:: @code{mysql_drop_db()}
* mysql_dump_debug_info:: @code{mysql_dump_debug_info()}
* mysql_eof:: @code{mysql_eof()}
* mysql_errno:: @code{mysql_errno()}
* mysql_error:: @code{mysql_error()}
* mysql_escape_string:: @code{mysql_escape_string()}
* mysql_fetch_field:: @code{mysql_fetch_field()}
* mysql_fetch_fields:: @code{mysql_fetch_fields()}
* mysql_fetch_field_direct:: @code{mysql_fetch_field_direct()}
* mysql_fetch_lengths:: @code{mysql_fetch_lengths()}
* mysql_fetch_row:: @code{mysql_fetch_row()}
* mysql_field_count:: @code{mysql_field_count()}
* mysql_field_seek:: @code{mysql_field_seek()}
* mysql_field_tell:: @code{mysql_field_tell()}
* mysql_free_result:: @code{mysql_free_result()}
* mysql_get_client_info:: @code{mysql_get_client_info()}
* mysql_get_host_info:: @code{mysql_get_host_info()}
* mysql_get_proto_info:: @code{mysql_get_proto_info()}
* mysql_get_server_info:: @code{mysql_get_server_info()}
* mysql_info:: @code{mysql_info()}
* mysql_init:: @code{mysql_init()}
* mysql_insert_id:: @code{mysql_insert_id()}
* mysql_kill:: @code{mysql_kill()}
* mysql_list_dbs:: @code{mysql_list_dbs()}
* mysql_list_fields:: @code{mysql_list_fields()}
* mysql_list_processes:: @code{mysql_list_processes()}
* mysql_list_tables:: @code{mysql_list_tables()}
* mysql_num_fields:: @code{mysql_num_fields()}
* mysql_num_rows:: @code{mysql_num_rows()}
* mysql_options:: @code{mysql_options()}
* mysql_ping:: @code{mysql_ping()}
* mysql_query:: @code{mysql_query()}
* mysql_real_connect:: @code{mysql_real_connect()}
* mysql_real_escape_string:: @code{mysql_real_escape_string()}
* mysql_real_query:: @code{mysql_real_query()}
* mysql_reload:: @code{mysql_reload()}
* mysql_row_seek:: @code{mysql_row_seek()}
* mysql_row_tell:: @code{mysql_row_tell()}
* mysql_select_db:: @code{mysql_select_db()}
* mysql_shutdown:: @code{mysql_shutdown()}
* mysql_stat:: @code{mysql_stat()}
* mysql_store_result:: @code{mysql_store_result()}
* mysql_thread_id:: @code{mysql_thread_id()}
* mysql_use_result:: @code{mysql_use_result()}
* NULL mysql_store_result:: Why is it that after @code{mysql_query()} returns success, @code{mysql_store_result()} sometimes returns @code{NULL?}
* Query results:: What results can I get from a query?
* Getting unique ID:: How can I get the unique ID for the last inserted row?
* C API linking problems:: Problems linking with the C API
* Thread-safe clients:: How to make a thread-safe client
MySQL Perl API
MySQL Perl API
* DBI with DBD:: @code{DBI} with @code{DBD::mysql}
* DBI with DBD:: @code{DBI} with @code{DBD::mysql}
...
@@ -899,7 +836,7 @@ Changes in release 4.0.x (Development; Alpha)
...
@@ -899,7 +836,7 @@ Changes in release 4.0.x (Development; Alpha)
Changes in release 3.23.x (Stable)
Changes in release 3.23.x (Stable)
* News-3.23.37::
* News-3.23.37::
Changes in release 3.23.37
* News-3.23.36:: Changes in release 3.23.36
* News-3.23.36:: Changes in release 3.23.36
* News-3.23.35:: Changes in release 3.23.35
* News-3.23.35:: Changes in release 3.23.35
* News-3.23.34a:: Changes in release 3.23.34a
* News-3.23.34a:: Changes in release 3.23.34a
...
@@ -2925,6 +2862,9 @@ There are also many Web pages that use
...
@@ -2925,6 +2862,9 @@ There are also many Web pages that use
* Answering questions:: Guidelines for answering questions on the mailing list
* Answering questions:: Guidelines for answering questions on the mailing list
@end menu
@end menu
This chapter introduces you to the @strong{MySQL} mailing lists, and gives
some guidelines as to how to use them.
@node Mailing-list, Asking questions, Questions, Questions
@node Mailing-list, Asking questions, Questions, Questions
@section The MySQL Mailing Lists
@section The MySQL Mailing Lists
...
@@ -10568,6 +10508,12 @@ information.
...
@@ -10568,6 +10508,12 @@ information.
* Commit-rollback:: How to cope without @code{COMMIT}-@code{ROLLBACK}
* Commit-rollback:: How to cope without @code{COMMIT}-@code{ROLLBACK}
@end menu
@end menu
This chapter describes how @strong{MySQL} relates to the ANSI SQL standards.
@strong{MySQL} has many extensions to the ANSI SQL standards, and here you
will find out what they are, and how to use them. You will also find
information about functionality missing from @strong{MySQL}, and how to work
around some differences.
@node Extensions to ANSI, ANSI mode, Compatibility, Compatibility
@node Extensions to ANSI, ANSI mode, Compatibility, Compatibility
@section MySQL Extensions to ANSI SQL92
@section MySQL Extensions to ANSI SQL92
...
@@ -13450,7 +13396,7 @@ to restart @code{mysqld} with @code{--skip-grant-tables} to run
...
@@ -13450,7 +13396,7 @@ to restart @code{mysqld} with @code{--skip-grant-tables} to run
@chapter MySQL Language Reference
@chapter MySQL Language Reference
@menu
@menu
* Literals:: Literals:
h
ow to write strings and numbers
* Literals:: Literals:
H
ow to write strings and numbers
* Variables:: User variables
* Variables:: User variables
* Column types:: Column types
* Column types:: Column types
* Functions:: Functions
* Functions:: Functions
...
@@ -13475,7 +13421,7 @@ to restart @code{mysqld} with @code{--skip-grant-tables} to run
...
@@ -13475,7 +13421,7 @@ to restart @code{mysqld} with @code{--skip-grant-tables} to run
* LOAD DATA:: @code{LOAD DATA INFILE} syntax
* LOAD DATA:: @code{LOAD DATA INFILE} syntax
* UPDATE:: @code{UPDATE} syntax
* UPDATE:: @code{UPDATE} syntax
* USE:: @code{USE} syntax
* USE:: @code{USE} syntax
* FLUSH:: @code{F
lush
} syntax (clearing caches)
* FLUSH:: @code{F
LUSH
} syntax (clearing caches)
* KILL:: @code{KILL} syntax
* KILL:: @code{KILL} syntax
* SHOW:: @code{SHOW} syntax (Get information about tables, columns, ...)
* SHOW:: @code{SHOW} syntax (Get information about tables, columns, ...)
* EXPLAIN:: @code{EXPLAIN} syntax (Get information about a @code{SELECT})
* EXPLAIN:: @code{EXPLAIN} syntax (Get information about a @code{SELECT})
...
@@ -13492,6 +13438,12 @@ to restart @code{mysqld} with @code{--skip-grant-tables} to run
...
@@ -13492,6 +13438,12 @@ to restart @code{mysqld} with @code{--skip-grant-tables} to run
* Reserved words:: Is @strong{MySQL} picky about reserved words?
* Reserved words:: Is @strong{MySQL} picky about reserved words?
@end menu
@end menu
@strong{MySQL} has a very complex, but intuitive and easy to learn SQL
interface. This chapter describes the various commands, types, and functions
you will need to know in order to use @strong{MySQL} efficiently and
effectively. This chapter also serves as a reference to all functionality
included in MySQL. In order to use this chapter effectively, you may
find it useful to refer to the various indexes.
@cindex strings, defined
@cindex strings, defined
@cindex strings, escaping characters
@cindex strings, escaping characters
...
@@ -13509,6 +13461,10 @@ to restart @code{mysqld} with @code{--skip-grant-tables} to run
...
@@ -13509,6 +13461,10 @@ to restart @code{mysqld} with @code{--skip-grant-tables} to run
* Legal names:: Database, Table, Index, Column, and Alias Names
* Legal names:: Database, Table, Index, Column, and Alias Names
@end menu
@end menu
This section describes the various ways to write strings and numbers in
@strong{MySQL}. It also covers the various nuances and ``gotchas'' that
you may run into when dealing with these basic types in @strong{MySQL}.
@node String syntax, Number syntax, Literals, Literals
@node String syntax, Number syntax, Literals, Literals
@subsection Strings
@subsection Strings
...
@@ -14993,9 +14949,6 @@ Illegal @code{YEAR} values are converted to @code{0000}.
...
@@ -14993,9 +14949,6 @@ Illegal @code{YEAR} values are converted to @code{0000}.
@node String types, Choosing types, Date and time types, Column types
@node String types, Choosing types, Date and time types, Column types
@subsection String Types
@subsection String Types
The string types are @code{CHAR}, @code{VARCHAR}, @code{BLOB}, @code{TEXT},
@code{ENUM}, and @code{SET}.
@tindex CHAR
@tindex CHAR
@tindex VARCHAR
@tindex VARCHAR
@menu
@menu
...
@@ -15005,6 +14958,10 @@ The string types are @code{CHAR}, @code{VARCHAR}, @code{BLOB}, @code{TEXT},
...
@@ -15005,6 +14958,10 @@ The string types are @code{CHAR}, @code{VARCHAR}, @code{BLOB}, @code{TEXT},
* SET:: The @code{SET} type
* SET:: The @code{SET} type
@end menu
@end menu
The string types are @code{CHAR}, @code{VARCHAR}, @code{BLOB}, @code{TEXT},
@code{ENUM}, and @code{SET}. This section describes how these types work,
their storage requirements, and how to use them in your queries.
@node CHAR, BLOB, String types, String types
@node CHAR, BLOB, String types, String types
@subsubsection The @code{CHAR} and @code{VARCHAR} Types
@subsubsection The @code{CHAR} and @code{VARCHAR} Types
...
@@ -24677,7 +24634,7 @@ SELECT article, dealer, price
...
@@ -24677,7 +24634,7 @@ SELECT article, dealer, price
FROM shop s1
FROM shop s1
WHERE price=(SELECT MAX(s2.price)
WHERE price=(SELECT MAX(s2.price)
FROM shop s2
FROM shop s2
WHERE s1.article = s2.article)
WHERE s1.article = s2.article)
;
@end example
@end example
In @strong{MySQL} it's best do it in several steps:
In @strong{MySQL} it's best do it in several steps:
...
@@ -26544,6 +26501,10 @@ group by
...
@@ -26544,6 +26501,10 @@ group by
* Table size:: How big @strong{MySQL} tables can be
* Table size:: How big @strong{MySQL} tables can be
@end menu
@end menu
This chapter describes the languages @strong{MySQL} supports, how sorting
works in @strong{MySQL}, and how to add new character sets to @strong{MySQL}.
You will also find information about maximum table sizes in this chapter.
@cindex error messages, languages
@cindex error messages, languages
@cindex messages, languages
@cindex messages, languages
@cindex files, error messages
@cindex files, error messages
...
@@ -26878,7 +26839,7 @@ limits. Here are some examples:
...
@@ -26878,7 +26839,7 @@ limits. Here are some examples:
@multitable @columnfractions .5 .5
@multitable @columnfractions .5 .5
@item @strong{Operating System} @tab @strong{File Size Limit}
@item @strong{Operating System} @tab @strong{File Size Limit}
@item Linux-Intel 32 bit
@tab 2G, 4G or bigger depending
on Linux version
@item Linux-Intel 32 bit
@tab 2G, 4G or more, depends
on Linux version
@item Linux-Alpha @tab 8T (?)
@item Linux-Alpha @tab 8T (?)
@item Solaris 2.5.1 @tab 2G (possible 4G with patch)
@item Solaris 2.5.1 @tab 2G (possible 4G with patch)
@item Solaris 2.6 @tab 4G
@item Solaris 2.6 @tab 4G
...
@@ -26922,6 +26883,7 @@ tables}.
...
@@ -26922,6 +26883,7 @@ tables}.
@cindex databases, replicating
@cindex databases, replicating
@node Replication, Performance, Server, Top
@node Replication, Performance, Server, Top
@chapter Replication in MySQL
@chapter Replication in MySQL
@menu
@menu
* Replication Intro:: Introduction
* Replication Intro:: Introduction
* Replication Implementation:: Replication Implementation Overview
* Replication Implementation:: Replication Implementation Overview
...
@@ -26933,6 +26895,12 @@ tables}.
...
@@ -26933,6 +26895,12 @@ tables}.
* Replication Problems:: Troubleshooting Replication.
* Replication Problems:: Troubleshooting Replication.
@end menu
@end menu
This chapter describes the various replication features in @strong{MySQL}.
It serves as a reference to the options available with replication.
You will be introduced to replication and learn how to implement it.
Towards the end, there are some frequently asked questions and descriptions
of problems and how to solve them.
@node Replication Intro, Replication Implementation, Replication, Replication
@node Replication Intro, Replication Implementation, Replication, Replication
@section Introduction
@section Introduction
...
@@ -30006,6 +29974,10 @@ We can find the result from crash-me on a lot of different databases at
...
@@ -30006,6 +29974,10 @@ We can find the result from crash-me on a lot of different databases at
* myisampack:: The @strong{MySQL} compressed read-only table generator
* myisampack:: The @strong{MySQL} compressed read-only table generator
@end menu
@end menu
In this chapter you will learn about the @strong{MySQL} Utilities that
come in a given distribution. You will learn what each of them does, how
to use it, and what you should use it for.
@cindex environment variables
@cindex environment variables
@cindex programs, list of
@cindex programs, list of
@node Programs, safe_mysqld, Tools, Tools
@node Programs, safe_mysqld, Tools, Tools
...
@@ -31713,6 +31685,10 @@ to start using the new table.
...
@@ -31713,6 +31685,10 @@ to start using the new table.
* Log file maintenance:: Log file maintenance
* Log file maintenance:: Log file maintenance
@end menu
@end menu
This chapter covers what you should know about maintaining a @strong{MySQL}
distribution. You will learn how to care for your tables on a regular
basis, and what to do when disaster strikes.
@node Table maintenance, Maintenance regimen, Maintenance, Maintenance
@node Table maintenance, Maintenance regimen, Maintenance, Maintenance
@section Using @code{myisamchk} for Table Maintenance and Crash Recovery
@section Using @code{myisamchk} for Table Maintenance and Crash Recovery
...
@@ -33510,7 +33486,9 @@ You can find all information about procedures by examining the following files:
...
@@ -33510,7 +33486,9 @@ You can find all information about procedures by examining the following files:
@end menu
@end menu
@strong{MySQL} provides support for ODBC by means of the @strong{MyODBC}
@strong{MySQL} provides support for ODBC by means of the @strong{MyODBC}
program.
program. This chapter will teach you how to install @strong{MyODBC},
and how to use it. Here, you will also find a list of common programs that
are known to work with @strong{MyODBC}.
@node Installing MyODBC, ODBC administrator, ODBC, ODBC
@node Installing MyODBC, ODBC administrator, ODBC, ODBC
@section How To Install MyODBC
@section How To Install MyODBC
...
@@ -34043,11 +34021,24 @@ likely it is that we can fix the problem!
...
@@ -34043,11 +34021,24 @@ likely it is that we can fix the problem!
* Borland C++::
* Borland C++::
@end menu
@end menu
This chapter describes how to use @strong{MySQL} with some common programs.
In this chapter you will:
@itemize @bullet
@item
Learn how to easily store your Apache log files in a @strong{MySQL}
database.
@item
Find some tips on how to compile @strong{MySQL} and @strong{MySQL}-based
programs using Borland C++.
@end itemize
@cindex Apache
@cindex Apache
@node Apache, Borland C++, Common programs, Common programs
@node Apache, Borland C++, Common programs, Common programs
@section Using MySQL with Apache
@section Using MySQL with Apache
The
c
ontrib section includes programs that let you authenticate your
The
C
ontrib section includes programs that let you authenticate your
users from a @strong{MySQL} database and also let you log your log files
users from a @strong{MySQL} database and also let you log your log files
into a @strong{MySQL} table. @xref{Contrib}.
into a @strong{MySQL} table. @xref{Contrib}.
...
@@ -34119,6 +34110,11 @@ pre-allocated MYSQL struct.
...
@@ -34119,6 +34110,11 @@ pre-allocated MYSQL struct.
* Change column order:: How to change the order of columns in a table
* Change column order:: How to change the order of columns in a table
@end menu
@end menu
This chapter lists some common problems and error messages that users have
run into. You will learn how to figure out what the problem is, and what
to do to solve it. You will also find proper solutions to some common
problems.
@node What is crashing, Crashing, Problems, Problems
@node What is crashing, Crashing, Problems, Problems
@section How to Determine What Is Causing Problems
@section How to Determine What Is Causing Problems
...
@@ -34484,6 +34480,9 @@ sure that no other programs are using the dynamic libraries!
...
@@ -34484,6 +34480,9 @@ sure that no other programs are using the dynamic libraries!
* Cannot initialize character set::
* Cannot initialize character set::
@end menu
@end menu
This section lists some errors that users frequently get. You will find
descriptions of the errors, and how to solve the problem here.
@cindex errors, access denied
@cindex errors, access denied
@cindex problems, access denied errors
@cindex problems, access denied errors
@cindex access denied errors
@cindex access denied errors
...
@@ -35705,13 +35704,19 @@ Drop or rename @code{old_table}.
...
@@ -35705,13 +35704,19 @@ Drop or rename @code{old_table}.
* Multiple servers:: Running multiple @strong{MySQL} servers on the same machine
* Multiple servers:: Running multiple @strong{MySQL} servers on the same machine
@end menu
@end menu
In this chapter, you will find information to solve some of the more common
tasks with @strong{MySQL}. This includes making backups, running more than
one @strong{MySQL} server daemon on a single machine, and replicating a
database using the update or binary logs.
@cindex database replication
@cindex database replication
@cindex replication, database
@cindex replication, database
@node Log Replication, Backup, Common problems, Common problems
@node Log Replication, Backup, Common problems, Common problems
@section Database Replication with Update Log
@section Database Replication with Update Log
Now that master-slave internal replication is available starting in
Now that master-slave internal replication is available starting in
Version 3.23.15, this is the recommended way. @xref{Replication}.
Version 3.23.15, using the update log to implement replications is not
recommended. @xref{Replication}.
However, it is still possible to replicate a database by using the
However, it is still possible to replicate a database by using the
update log or the binary log. @xref{Update log}. This requires one
update log or the binary log. @xref{Update log}. This requires one
...
@@ -36208,13 +36213,10 @@ to the master database. @xref{Log Replication}.
...
@@ -36208,13 +36213,10 @@ to the master database. @xref{Log Replication}.
@cindex buffer sizes, client
@cindex buffer sizes, client
@cindex library, @code{mysqlclient}
@cindex library, @code{mysqlclient}
@node Clients, Comparisons, Log files, Top
@node Clients, Comparisons, Log files, Top
@chapter MySQL
Client Tools and
APIs
@chapter MySQL APIs
@menu
@menu
* C:: @strong{MySQL} C API
* C:: @strong{MySQL} C API
* C API datatypes:: C API datatypes
* C API function overview:: C API function Overview
* C API functions:: C API function descriptions
* Perl:: @strong{MySQL} Perl API
* Perl:: @strong{MySQL} Perl API
* Eiffel:: @strong{MySQL} Eiffel wrapper
* Eiffel:: @strong{MySQL} Eiffel wrapper
* Java:: @strong{MySQL} Java connectivity (JDBC)
* Java:: @strong{MySQL} Java connectivity (JDBC)
...
@@ -36224,11 +36226,22 @@ to the master database. @xref{Log Replication}.
...
@@ -36224,11 +36226,22 @@ to the master database. @xref{Log Replication}.
* Tcl:: @strong{MySQL} Tcl APIs
* Tcl:: @strong{MySQL} Tcl APIs
@end menu
@end menu
This chapter describes the APIs available for @strong{MySQL}, where to get
them, and how to use them. The C API is the most extensively covered, as it
was developed by the @strong{MySQL} team, and is the basis for most of the
other APIs.
@cindex C API, datatypes
@cindex C API, datatypes
@cindex datatypes, C API
@cindex datatypes, C API
@node C, C API datatypes, Clients, Clients
@node C, C API datatypes, Clients, Clients
@section MySQL C API
@section MySQL C API
@menu
* C API datatypes:: C API Datatypes
* C API function overview:: C API Function Overview
* C API functions:: C API Function Descriptions
@end menu
The C API code is distributed with @strong{MySQL}. It is included in the
The C API code is distributed with @strong{MySQL}. It is included in the
@code{mysqlclient} library and allows C programs to access a database.
@code{mysqlclient} library and allows C programs to access a database.
...
@@ -36269,8 +36282,8 @@ is closed, at which time client memory is reclaimed.
...
@@ -36269,8 +36282,8 @@ is closed, at which time client memory is reclaimed.
For programming with threads, consult the 'how to make a thread-safe
For programming with threads, consult the 'how to make a thread-safe
client' chapter. @xref{Thread-safe clients}.
client' chapter. @xref{Thread-safe clients}.
@node C API datatypes, C API function overview, C, C
lients
@node C API datatypes, C API function overview, C, C
@section C API Datatypes
@s
ubs
ection C API Datatypes
@table @code
@table @code
@tindex MYSQL C type
@tindex MYSQL C type
...
@@ -36433,8 +36446,8 @@ The number of decimals for numeric fields.
...
@@ -36433,8 +36446,8 @@ The number of decimals for numeric fields.
@cindex C API, functions
@cindex C API, functions
@cindex functions, C API
@cindex functions, C API
@node C API function overview, C API functions, C API datatypes, C
lients
@node C API function overview, C API functions, C API datatypes, C
@section C API Function Overview
@s
ubs
ection C API Function Overview
The functions available in the C API are listed below and are described in
The functions available in the C API are listed below and are described in
greater detail in the next section.
greater detail in the next section.
...
@@ -36455,7 +36468,7 @@ Connects to a @strong{MySQL} server. This function is deprecated; use
...
@@ -36455,7 +36468,7 @@ Connects to a @strong{MySQL} server. This function is deprecated; use
@item @strong{mysql_change_user()} @tab
@item @strong{mysql_change_user()} @tab
Changes user and database on an open connection.
Changes user and database on an open connection.
@item @
code
{mysql_character_set_name()} @tab
@item @
strong
{mysql_character_set_name()} @tab
Returns the name of the default character set for the connection.
Returns the name of the default character set for the connection.
@item @strong{mysql_create_db()} @tab
@item @strong{mysql_create_db()} @tab
...
@@ -36711,8 +36724,8 @@ functions. These return the error code or error message for the most
...
@@ -36711,8 +36724,8 @@ functions. These return the error code or error message for the most
recently invoked function that can succeed or fail, allowing you to determine
recently invoked function that can succeed or fail, allowing you to determine
when an error occurred and what it was.
when an error occurred and what it was.
@node C API functions, Perl, C API function overview, C
lients
@node C API functions, Perl, C API function overview, C
@section C API Function Descriptions
@s
ubs
ection C API Function Descriptions
@menu
@menu
* mysql_affected_rows:: @code{mysql_affected_rows()}
* mysql_affected_rows:: @code{mysql_affected_rows()}
...
@@ -36805,7 +36818,7 @@ A string representation of the error may be obtained by calling
...
@@ -36805,7 +36818,7 @@ A string representation of the error may be obtained by calling
@findex @code{mysql_affected_rows()}
@findex @code{mysql_affected_rows()}
@node mysql_affected_rows, mysql_close, C API functions, C API functions
@node mysql_affected_rows, mysql_close, C API functions, C API functions
@subsection @code{mysql_affected_rows()}
@subs
ubs
ection @code{mysql_affected_rows()}
@code{my_ulonglong mysql_affected_rows(MYSQL *mysql)}
@code{my_ulonglong mysql_affected_rows(MYSQL *mysql)}
...
@@ -36841,7 +36854,7 @@ printf("%d products updated",mysql_affected_rows(&mysql));
...
@@ -36841,7 +36854,7 @@ printf("%d products updated",mysql_affected_rows(&mysql));
@findex @code{mysql_close()}
@findex @code{mysql_close()}
@node mysql_close, mysql_connect, mysql_affected_rows, C API functions
@node mysql_close, mysql_connect, mysql_affected_rows, C API functions
@subsection @code{mysql_close()}
@subs
ubs
ection @code{mysql_close()}
@code{void mysql_close(MYSQL *mysql)}
@code{void mysql_close(MYSQL *mysql)}
...
@@ -36860,7 +36873,7 @@ None.
...
@@ -36860,7 +36873,7 @@ None.
@findex @code{mysql_connect()}
@findex @code{mysql_connect()}
@node mysql_connect, mysql_change_user, mysql_close, C API functions
@node mysql_connect, mysql_change_user, mysql_close, C API functions
@subsection @code{mysql_connect()}
@subs
ubs
ection @code{mysql_connect()}
@code{MYSQL *mysql_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd)}
@code{MYSQL *mysql_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd)}
...
@@ -36893,7 +36906,7 @@ Same as for @code{mysql_real_connect()}.
...
@@ -36893,7 +36906,7 @@ Same as for @code{mysql_real_connect()}.
@findex @code{mysql_change_user()}
@findex @code{mysql_change_user()}
@node mysql_change_user, mysql_character_set_name, mysql_connect, C API functions
@node mysql_change_user, mysql_character_set_name, mysql_connect, C API functions
@subsection @code{mysql_change_user()}
@subs
ubs
ection @code{mysql_change_user()}
@code{my_bool mysql_change_user(MYSQL *mysql, const char *user, const
@code{my_bool mysql_change_user(MYSQL *mysql, const char *user, const
char *password, const char *db)}
char *password, const char *db)}
...
@@ -36955,7 +36968,7 @@ if (mysql_change_user(&mysql, "user", "password", "new_database"))
...
@@ -36955,7 +36968,7 @@ if (mysql_change_user(&mysql, "user", "password", "new_database"))
@findex @code{mysql_character_set_name()}
@findex @code{mysql_character_set_name()}
@node mysql_character_set_name, mysql_create_db, mysql_change_user, C API functions
@node mysql_character_set_name, mysql_create_db, mysql_change_user, C API functions
@subsection @code{mysql_character_set_name()}
@subs
ubs
ection @code{mysql_character_set_name()}
@code{const char *mysql_character_set_name(MYSQL *mysql)}
@code{const char *mysql_character_set_name(MYSQL *mysql)}
...
@@ -36973,7 +36986,7 @@ None.
...
@@ -36973,7 +36986,7 @@ None.
@findex @code{mysql_create_db()}
@findex @code{mysql_create_db()}
@node mysql_create_db, mysql_data_seek, mysql_character_set_name, C API functions
@node mysql_create_db, mysql_data_seek, mysql_character_set_name, C API functions
@subsection @code{mysql_create_db()}
@subs
ubs
ection @code{mysql_create_db()}
@code{int mysql_create_db(MYSQL *mysql, const char *db)}
@code{int mysql_create_db(MYSQL *mysql, const char *db)}
...
@@ -37016,7 +37029,7 @@ if(mysql_create_db(&mysql, "my_database"))
...
@@ -37016,7 +37029,7 @@ if(mysql_create_db(&mysql, "my_database"))
@findex @code{mysql_data_seek()}
@findex @code{mysql_data_seek()}
@node mysql_data_seek, mysql_debug, mysql_create_db, C API functions
@node mysql_data_seek, mysql_debug, mysql_create_db, C API functions
@subsection @code{mysql_data_seek()}
@subs
ubs
ection @code{mysql_data_seek()}
@code{void mysql_data_seek(MYSQL_RES *result, unsigned long long offset)}
@code{void mysql_data_seek(MYSQL_RES *result, unsigned long long offset)}
...
@@ -37038,7 +37051,7 @@ None.
...
@@ -37038,7 +37051,7 @@ None.
@findex @code{mysql_debug()}
@findex @code{mysql_debug()}
@node mysql_debug, mysql_drop_db, mysql_data_seek, C API functions
@node mysql_debug, mysql_drop_db, mysql_data_seek, C API functions
@subsection @code{mysql_debug()}
@subs
ubs
ection @code{mysql_debug()}
@code{void mysql_debug(char *debug)}
@code{void mysql_debug(char *debug)}
...
@@ -37066,7 +37079,7 @@ mysql_debug("d:t:O,/tmp/client.trace");
...
@@ -37066,7 +37079,7 @@ mysql_debug("d:t:O,/tmp/client.trace");
@findex @code{mysql_drop_db()}
@findex @code{mysql_drop_db()}
@node mysql_drop_db, mysql_dump_debug_info, mysql_debug, C API functions
@node mysql_drop_db, mysql_dump_debug_info, mysql_debug, C API functions
@subsection @code{mysql_drop_db()}
@subs
ubs
ection @code{mysql_drop_db()}
@code{int mysql_drop_db(MYSQL *mysql, const char *db)}
@code{int mysql_drop_db(MYSQL *mysql, const char *db)}
...
@@ -37104,7 +37117,7 @@ if(mysql_drop_db(&mysql, "my_database"))
...
@@ -37104,7 +37117,7 @@ if(mysql_drop_db(&mysql, "my_database"))
@findex @code{mysql_dump_debug_info()}
@findex @code{mysql_dump_debug_info()}
@node mysql_dump_debug_info, mysql_eof, mysql_drop_db, C API functions
@node mysql_dump_debug_info, mysql_eof, mysql_drop_db, C API functions
@subsection @code{mysql_dump_debug_info()}
@subs
ubs
ection @code{mysql_dump_debug_info()}
@code{int mysql_dump_debug_info(MYSQL *mysql)}
@code{int mysql_dump_debug_info(MYSQL *mysql)}
...
@@ -37131,7 +37144,7 @@ An unknown error occurred.
...
@@ -37131,7 +37144,7 @@ An unknown error occurred.
@findex @code{mysql_eof()}
@findex @code{mysql_eof()}
@node mysql_eof, mysql_errno, mysql_dump_debug_info, C API functions
@node mysql_eof, mysql_errno, mysql_dump_debug_info, C API functions
@subsection @code{mysql_eof()}
@subs
ubs
ection @code{mysql_eof()}
@code{my_bool mysql_eof(MYSQL_RES *result)}
@code{my_bool mysql_eof(MYSQL_RES *result)}
...
@@ -37208,7 +37221,7 @@ if(mysql_errno(&mysql)) // mysql_fetch_row() failed due to an error
...
@@ -37208,7 +37221,7 @@ if(mysql_errno(&mysql)) // mysql_fetch_row() failed due to an error
@findex @code{mysql_errno()}
@findex @code{mysql_errno()}
@node mysql_errno, mysql_error, mysql_eof, C API functions
@node mysql_errno, mysql_error, mysql_eof, C API functions
@subsection @code{mysql_errno()}
@subs
ubs
ection @code{mysql_errno()}
@code{unsigned int mysql_errno(MYSQL *mysql)}
@code{unsigned int mysql_errno(MYSQL *mysql)}
...
@@ -37231,7 +37244,7 @@ None.
...
@@ -37231,7 +37244,7 @@ None.
@findex @code{mysql_error()}
@findex @code{mysql_error()}
@node mysql_error, mysql_escape_string, mysql_errno, C API functions
@node mysql_error, mysql_escape_string, mysql_errno, C API functions
@subsection @code{mysql_error()}
@subs
ubs
ection @code{mysql_error()}
@code{char *mysql_error(MYSQL *mysql)}
@code{char *mysql_error(MYSQL *mysql)}
...
@@ -37269,7 +37282,7 @@ None.
...
@@ -37269,7 +37282,7 @@ None.
@findex @code{mysql_escape_string()}
@findex @code{mysql_escape_string()}
@node mysql_escape_string, mysql_fetch_field, mysql_error, C API functions
@node mysql_escape_string, mysql_fetch_field, mysql_error, C API functions
@subsection @code{mysql_escape_string()}
@subs
ubs
ection @code{mysql_escape_string()}
You should use @code{mysql_real_escape_string()} instead!
You should use @code{mysql_real_escape_string()} instead!
...
@@ -37282,7 +37295,7 @@ setting.
...
@@ -37282,7 +37295,7 @@ setting.
@findex @code{mysql_fetch_field()}
@findex @code{mysql_fetch_field()}
@node mysql_fetch_field, mysql_fetch_fields, mysql_escape_string, C API functions
@node mysql_fetch_field, mysql_fetch_fields, mysql_escape_string, C API functions
@subsection @code{mysql_fetch_field()}
@subs
ubs
ection @code{mysql_fetch_field()}
@code{MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result)}
@code{MYSQL_FIELD *mysql_fetch_field(MYSQL_RES *result)}
...
@@ -37328,7 +37341,7 @@ while((field = mysql_fetch_field(result)))
...
@@ -37328,7 +37341,7 @@ while((field = mysql_fetch_field(result)))
@findex @code{mysql_fetch_fields()}
@findex @code{mysql_fetch_fields()}
@node mysql_fetch_fields, mysql_fetch_field_direct, mysql_fetch_field, C API functions
@node mysql_fetch_fields, mysql_fetch_field_direct, mysql_fetch_field, C API functions
@subsection @code{mysql_fetch_fields()}
@subs
ubs
ection @code{mysql_fetch_fields()}
@code{MYSQL_FIELD *mysql_fetch_fields(MYSQL_RES *result)}
@code{MYSQL_FIELD *mysql_fetch_fields(MYSQL_RES *result)}
...
@@ -37362,7 +37375,7 @@ for(i = 0; i < num_fields; i++)
...
@@ -37362,7 +37375,7 @@ for(i = 0; i < num_fields; i++)
@findex @code{mysql_fetch_field_direct()}
@findex @code{mysql_fetch_field_direct()}
@node mysql_fetch_field_direct, mysql_fetch_lengths, mysql_fetch_fields, C API functions
@node mysql_fetch_field_direct, mysql_fetch_lengths, mysql_fetch_fields, C API functions
@subsection @code{mysql_fetch_field_direct()}
@subs
ubs
ection @code{mysql_fetch_field_direct()}
@code{MYSQL_FIELD *mysql_fetch_field_direct(MYSQL_RES *result, unsigned int fieldnr)}
@code{MYSQL_FIELD *mysql_fetch_field_direct(MYSQL_RES *result, unsigned int fieldnr)}
...
@@ -37398,7 +37411,7 @@ for(i = 0; i < num_fields; i++)
...
@@ -37398,7 +37411,7 @@ for(i = 0; i < num_fields; i++)
@findex @code{mysql_fetch_lengths()}
@findex @code{mysql_fetch_lengths()}
@node mysql_fetch_lengths, mysql_fetch_row, mysql_fetch_field_direct, C API functions
@node mysql_fetch_lengths, mysql_fetch_row, mysql_fetch_field_direct, C API functions
@subsection @code{mysql_fetch_lengths()}
@subs
ubs
ection @code{mysql_fetch_lengths()}
@code{unsigned long *mysql_fetch_lengths(MYSQL_RES *result)}
@code{unsigned long *mysql_fetch_lengths(MYSQL_RES *result)}
...
@@ -37448,7 +37461,7 @@ if (row)
...
@@ -37448,7 +37461,7 @@ if (row)
@findex @code{mysql_fetch_row()}
@findex @code{mysql_fetch_row()}
@node mysql_fetch_row, mysql_field_count, mysql_fetch_lengths, C API functions
@node mysql_fetch_row, mysql_field_count, mysql_fetch_lengths, C API functions
@subsection @code{mysql_fetch_row()}
@subs
ubs
ection @code{mysql_fetch_row()}
@code{MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)}
@code{MYSQL_ROW mysql_fetch_row(MYSQL_RES *result)}
...
@@ -37508,7 +37521,7 @@ while ((row = mysql_fetch_row(result)))
...
@@ -37508,7 +37521,7 @@ while ((row = mysql_fetch_row(result)))
@findex @code{mysql_field_count()}
@findex @code{mysql_field_count()}
@node mysql_field_count, mysql_field_seek, mysql_fetch_row, C API functions
@node mysql_field_count, mysql_field_seek, mysql_fetch_row, C API functions
@subsection @code{mysql_field_count()}
@subs
ubs
ection @code{mysql_field_count()}
@code{unsigned int mysql_field_count(MYSQL *mysql)}
@code{unsigned int mysql_field_count(MYSQL *mysql)}
...
@@ -37580,7 +37593,7 @@ of @code{mysql_field_count()} whether or not the statement was a
...
@@ -37580,7 +37593,7 @@ of @code{mysql_field_count()} whether or not the statement was a
@findex @code{mysql_field_seek()}
@findex @code{mysql_field_seek()}
@node mysql_field_seek, mysql_field_tell, mysql_field_count, C API functions
@node mysql_field_seek, mysql_field_tell, mysql_field_count, C API functions
@subsection @code{mysql_field_seek()}
@subs
ubs
ection @code{mysql_field_seek()}
@code{MYSQL_FIELD_OFFSET mysql_field_seek(MYSQL_RES *result, MYSQL_FIELD_OFFSET offset)}
@code{MYSQL_FIELD_OFFSET mysql_field_seek(MYSQL_RES *result, MYSQL_FIELD_OFFSET offset)}
...
@@ -37601,7 +37614,7 @@ None.
...
@@ -37601,7 +37614,7 @@ None.
@findex @code{mysql_field_tell()}
@findex @code{mysql_field_tell()}
@node mysql_field_tell, mysql_free_result, mysql_field_seek, C API functions
@node mysql_field_tell, mysql_free_result, mysql_field_seek, C API functions
@subsection @code{mysql_field_tell()}
@subs
ubs
ection @code{mysql_field_tell()}
@code{MYSQL_FIELD_OFFSET mysql_field_tell(MYSQL_RES *result)}
@code{MYSQL_FIELD_OFFSET mysql_field_tell(MYSQL_RES *result)}
...
@@ -37620,7 +37633,7 @@ None.
...
@@ -37620,7 +37633,7 @@ None.
@findex @code{mysql_free_result()}
@findex @code{mysql_free_result()}
@node mysql_free_result, mysql_get_client_info, mysql_field_tell, C API functions
@node mysql_free_result, mysql_get_client_info, mysql_field_tell, C API functions
@subsection @code{mysql_free_result()}
@subs
ubs
ection @code{mysql_free_result()}
@code{void mysql_free_result(MYSQL_RES *result)}
@code{void mysql_free_result(MYSQL_RES *result)}
...
@@ -37640,7 +37653,7 @@ None.
...
@@ -37640,7 +37653,7 @@ None.
@findex @code{mysql_get_client_info()}
@findex @code{mysql_get_client_info()}
@node mysql_get_client_info, mysql_get_host_info, mysql_free_result, C API functions
@node mysql_get_client_info, mysql_get_host_info, mysql_free_result, C API functions
@subsection @code{mysql_get_client_info()}
@subs
ubs
ection @code{mysql_get_client_info()}
@code{char *mysql_get_client_info(void)}
@code{char *mysql_get_client_info(void)}
...
@@ -37657,7 +37670,7 @@ None.
...
@@ -37657,7 +37670,7 @@ None.
@findex @code{mysql_get_host_info()}
@findex @code{mysql_get_host_info()}
@node mysql_get_host_info, mysql_get_proto_info, mysql_get_client_info, C API functions
@node mysql_get_host_info, mysql_get_proto_info, mysql_get_client_info, C API functions
@subsection @code{mysql_get_host_info()}
@subs
ubs
ection @code{mysql_get_host_info()}
@code{char *mysql_get_host_info(MYSQL *mysql)}
@code{char *mysql_get_host_info(MYSQL *mysql)}
...
@@ -37675,7 +37688,7 @@ None.
...
@@ -37675,7 +37688,7 @@ None.
@findex @code{mysql_get_proto_info()}
@findex @code{mysql_get_proto_info()}
@node mysql_get_proto_info, mysql_get_server_info, mysql_get_host_info, C API functions
@node mysql_get_proto_info, mysql_get_server_info, mysql_get_host_info, C API functions
@subsection @code{mysql_get_proto_info()}
@subs
ubs
ection @code{mysql_get_proto_info()}
@code{unsigned int mysql_get_proto_info(MYSQL *mysql)}
@code{unsigned int mysql_get_proto_info(MYSQL *mysql)}
...
@@ -37693,7 +37706,7 @@ None.
...
@@ -37693,7 +37706,7 @@ None.
@findex @code{mysql_get_server_info()}
@findex @code{mysql_get_server_info()}
@node mysql_get_server_info, mysql_info, mysql_get_proto_info, C API functions
@node mysql_get_server_info, mysql_info, mysql_get_proto_info, C API functions
@subsection @code{mysql_get_server_info()}
@subs
ubs
ection @code{mysql_get_server_info()}
@code{char *mysql_get_server_info(MYSQL *mysql)}
@code{char *mysql_get_server_info(MYSQL *mysql)}
...
@@ -37710,7 +37723,7 @@ None.
...
@@ -37710,7 +37723,7 @@ None.
@findex @code{mysql_info()}
@findex @code{mysql_info()}
@node mysql_info, mysql_init, mysql_get_server_info, C API functions
@node mysql_info, mysql_init, mysql_get_server_info, C API functions
@subsection @code{mysql_info()}
@subs
ubs
ection @code{mysql_info()}
@code{char *mysql_info(MYSQL *mysql)}
@code{char *mysql_info(MYSQL *mysql)}
...
@@ -37750,7 +37763,7 @@ None.
...
@@ -37750,7 +37763,7 @@ None.
@findex @code{mysql_init()}
@findex @code{mysql_init()}
@node mysql_init, mysql_insert_id, mysql_info, C API functions
@node mysql_init, mysql_insert_id, mysql_info, C API functions
@subsection @code{mysql_init()}
@subs
ubs
ection @code{mysql_init()}
@code{MYSQL *mysql_init(MYSQL *mysql)}
@code{MYSQL *mysql_init(MYSQL *mysql)}
...
@@ -37773,7 +37786,7 @@ In case of insufficient memory, @code{NULL} is returned.
...
@@ -37773,7 +37786,7 @@ In case of insufficient memory, @code{NULL} is returned.
@findex @code{mysql_insert_id()}
@findex @code{mysql_insert_id()}
@node mysql_insert_id, mysql_kill, mysql_init, C API functions
@node mysql_insert_id, mysql_kill, mysql_init, C API functions
@subsection @code{mysql_insert_id()}
@subs
ubs
ection @code{mysql_insert_id()}
@code{my_ulonglong mysql_insert_id(MYSQL *mysql)}
@code{my_ulonglong mysql_insert_id(MYSQL *mysql)}
...
@@ -37804,7 +37817,7 @@ None.
...
@@ -37804,7 +37817,7 @@ None.
@findex @code{mysql_kill()}
@findex @code{mysql_kill()}
@node mysql_kill, mysql_list_dbs, mysql_insert_id, C API functions
@node mysql_kill, mysql_list_dbs, mysql_insert_id, C API functions
@subsection @code{mysql_kill()}
@subs
ubs
ection @code{mysql_kill()}
@code{int mysql_kill(MYSQL *mysql, unsigned long pid)}
@code{int mysql_kill(MYSQL *mysql, unsigned long pid)}
...
@@ -37831,7 +37844,7 @@ An unknown error occurred.
...
@@ -37831,7 +37844,7 @@ An unknown error occurred.
@findex @code{mysql_list_dbs()}
@findex @code{mysql_list_dbs()}
@node mysql_list_dbs, mysql_list_fields, mysql_kill, C API functions
@node mysql_list_dbs, mysql_list_fields, mysql_kill, C API functions
@subsection @code{mysql_list_dbs()}
@subs
ubs
ection @code{mysql_list_dbs()}
@code{MYSQL_RES *mysql_list_dbs(MYSQL *mysql, const char *wild)}
@code{MYSQL_RES *mysql_list_dbs(MYSQL *mysql, const char *wild)}
...
@@ -37867,7 +37880,7 @@ An unknown error occurred.
...
@@ -37867,7 +37880,7 @@ An unknown error occurred.
@findex @code{mysql_list_fields()}
@findex @code{mysql_list_fields()}
@node mysql_list_fields, mysql_list_processes, mysql_list_dbs, C API functions
@node mysql_list_fields, mysql_list_processes, mysql_list_dbs, C API functions
@subsection @code{mysql_list_fields()}
@subs
ubs
ection @code{mysql_list_fields()}
@code{MYSQL_RES *mysql_list_fields(MYSQL *mysql, const char *table, const char *wild)}
@code{MYSQL_RES *mysql_list_fields(MYSQL *mysql, const char *table, const char *wild)}
...
@@ -37904,7 +37917,7 @@ An unknown error occurred.
...
@@ -37904,7 +37917,7 @@ An unknown error occurred.
@findex @code{mysql_list_processes()}
@findex @code{mysql_list_processes()}
@node mysql_list_processes, mysql_list_tables, mysql_list_fields, C API functions
@node mysql_list_processes, mysql_list_tables, mysql_list_fields, C API functions
@subsection @code{mysql_list_processes()}
@subs
ubs
ection @code{mysql_list_processes()}
@code{MYSQL_RES *mysql_list_processes(MYSQL *mysql)}
@code{MYSQL_RES *mysql_list_processes(MYSQL *mysql)}
...
@@ -37935,7 +37948,7 @@ An unknown error occurred.
...
@@ -37935,7 +37948,7 @@ An unknown error occurred.
@findex @code{mysql_list_tables()}
@findex @code{mysql_list_tables()}
@node mysql_list_tables, mysql_num_fields, mysql_list_processes, C API functions
@node mysql_list_tables, mysql_num_fields, mysql_list_processes, C API functions
@subsection @code{mysql_list_tables()}
@subs
ubs
ection @code{mysql_list_tables()}
@code{MYSQL_RES *mysql_list_tables(MYSQL *mysql, const char *wild)}
@code{MYSQL_RES *mysql_list_tables(MYSQL *mysql, const char *wild)}
...
@@ -37970,7 +37983,7 @@ An unknown error occurred.
...
@@ -37970,7 +37983,7 @@ An unknown error occurred.
@findex @code{mysql_num_fields()}
@findex @code{mysql_num_fields()}
@findex @code{mysql_field_count()}
@findex @code{mysql_field_count()}
@node mysql_num_fields, mysql_num_rows, mysql_list_tables, C API functions
@node mysql_num_fields, mysql_num_rows, mysql_list_tables, C API functions
@subsection @code{mysql_num_fields()}
@subs
ubs
ection @code{mysql_num_fields()}
@code{unsigned int mysql_num_fields(MYSQL_RES *result)}
@code{unsigned int mysql_num_fields(MYSQL_RES *result)}
...
@@ -38047,7 +38060,7 @@ went wrong.
...
@@ -38047,7 +38060,7 @@ went wrong.
@findex @code{mysql_num_rows()}
@findex @code{mysql_num_rows()}
@node mysql_num_rows, mysql_options, mysql_num_fields, C API functions
@node mysql_num_rows, mysql_options, mysql_num_fields, C API functions
@subsection @code{mysql_num_rows()}
@subs
ubs
ection @code{mysql_num_rows()}
@code{my_ulonglong mysql_num_rows(MYSQL_RES *result)}
@code{my_ulonglong mysql_num_rows(MYSQL_RES *result)}
...
@@ -38071,7 +38084,7 @@ None.
...
@@ -38071,7 +38084,7 @@ None.
@findex @code{mysql_options()}
@findex @code{mysql_options()}
@node mysql_options, mysql_ping, mysql_num_rows, C API functions
@node mysql_options, mysql_ping, mysql_num_rows, C API functions
@subsection @code{mysql_options()}
@subs
ubs
ection @code{mysql_options()}
@code{int mysql_options(MYSQL *mysql, enum mysql_option option, const char *arg)}
@code{int mysql_options(MYSQL *mysql, enum mysql_option option, const char *arg)}
...
@@ -38151,7 +38164,7 @@ file.
...
@@ -38151,7 +38164,7 @@ file.
@findex @code{mysql_ping()}
@findex @code{mysql_ping()}
@node mysql_ping, mysql_query, mysql_options, C API functions
@node mysql_ping, mysql_query, mysql_options, C API functions
@subsection @code{mysql_ping()}
@subs
ubs
ection @code{mysql_ping()}
@code{int mysql_ping(MYSQL *mysql)}
@code{int mysql_ping(MYSQL *mysql)}
...
@@ -38181,7 +38194,7 @@ An unknown error occurred.
...
@@ -38181,7 +38194,7 @@ An unknown error occurred.
@findex @code{mysql_query()}
@findex @code{mysql_query()}
@node mysql_query, mysql_real_connect, mysql_ping, C API functions
@node mysql_query, mysql_real_connect, mysql_ping, C API functions
@subsection @code{mysql_query()}
@subs
ubs
ection @code{mysql_query()}
@code{int mysql_query(MYSQL *mysql, const char *query)}
@code{int mysql_query(MYSQL *mysql, const char *query)}
...
@@ -38218,7 +38231,7 @@ An unknown error occurred.
...
@@ -38218,7 +38231,7 @@ An unknown error occurred.
@findex @code{mysql_real_connect()}
@findex @code{mysql_real_connect()}
@node mysql_real_connect, mysql_real_escape_string, mysql_query, C API functions
@node mysql_real_connect, mysql_real_escape_string, mysql_query, C API functions
@subsection @code{mysql_real_connect()}
@subs
ubs
ection @code{mysql_real_connect()}
@code{MYSQL *mysql_real_connect(MYSQL *mysql, const char *host,
@code{MYSQL *mysql_real_connect(MYSQL *mysql, const char *host,
const char *user, const char *passwd, const char *db,
const char *user, const char *passwd, const char *db,
...
@@ -38376,7 +38389,7 @@ try reconnecting to the server before giving up.
...
@@ -38376,7 +38389,7 @@ try reconnecting to the server before giving up.
@findex @code{mysql_real_escape_string()}
@findex @code{mysql_real_escape_string()}
@node mysql_real_escape_string, mysql_real_query, mysql_real_connect, C API functions
@node mysql_real_escape_string, mysql_real_query, mysql_real_connect, C API functions
@subsection @code{mysql_real_escape_string()}
@subs
ubs
ection @code{mysql_real_escape_string()}
@code{unsigned int mysql_real_escape_string(MYSQL *mysql, char *to, const char *from, unsigned int length)}
@code{unsigned int mysql_real_escape_string(MYSQL *mysql, char *to, const char *from, unsigned int length)}
...
@@ -38435,7 +38448,7 @@ None.
...
@@ -38435,7 +38448,7 @@ None.
@findex @code{mysql_real_query()}
@findex @code{mysql_real_query()}
@node mysql_real_query, mysql_reload, mysql_real_escape_string, C API functions
@node mysql_real_query, mysql_reload, mysql_real_escape_string, C API functions
@subsection @code{mysql_real_query()}
@subs
ubs
ection @code{mysql_real_query()}
@code{int mysql_real_query(MYSQL *mysql, const char *query, unsigned int length)}
@code{int mysql_real_query(MYSQL *mysql, const char *query, unsigned int length)}
...
@@ -38475,7 +38488,7 @@ An unknown error occurred.
...
@@ -38475,7 +38488,7 @@ An unknown error occurred.
@findex @code{mysql_reload()}
@findex @code{mysql_reload()}
@node mysql_reload, mysql_row_seek, mysql_real_query, C API functions
@node mysql_reload, mysql_row_seek, mysql_real_query, C API functions
@subsection @code{mysql_reload()}
@subs
ubs
ection @code{mysql_reload()}
@code{int mysql_reload(MYSQL *mysql)}
@code{int mysql_reload(MYSQL *mysql)}
...
@@ -38506,7 +38519,7 @@ An unknown error occurred.
...
@@ -38506,7 +38519,7 @@ An unknown error occurred.
@findex @code{mysql_row_seek()}
@findex @code{mysql_row_seek()}
@node mysql_row_seek, mysql_row_tell, mysql_reload, C API functions
@node mysql_row_seek, mysql_row_tell, mysql_reload, C API functions
@subsection @code{mysql_row_seek()}
@subs
ubs
ection @code{mysql_row_seek()}
@code{MYSQL_ROW_OFFSET mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET offset)}
@code{MYSQL_ROW_OFFSET mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET offset)}
...
@@ -38531,7 +38544,7 @@ None.
...
@@ -38531,7 +38544,7 @@ None.
@findex @code{mysql_row_tell()}
@findex @code{mysql_row_tell()}
@node mysql_row_tell, mysql_select_db, mysql_row_seek, C API functions
@node mysql_row_tell, mysql_select_db, mysql_row_seek, C API functions
@subsection @code{mysql_row_tell()}
@subs
ubs
ection @code{mysql_row_tell()}
@code{MYSQL_ROW_OFFSET mysql_row_tell(MYSQL_RES *result)}
@code{MYSQL_ROW_OFFSET mysql_row_tell(MYSQL_RES *result)}
...
@@ -38553,7 +38566,7 @@ None.
...
@@ -38553,7 +38566,7 @@ None.
@findex @code{mysql_select_db()}
@findex @code{mysql_select_db()}
@node mysql_select_db, mysql_shutdown, mysql_row_tell, C API functions
@node mysql_select_db, mysql_shutdown, mysql_row_tell, C API functions
@subsection @code{mysql_select_db()}
@subs
ubs
ection @code{mysql_select_db()}
@code{int mysql_select_db(MYSQL *mysql, const char *db)}
@code{int mysql_select_db(MYSQL *mysql, const char *db)}
...
@@ -38586,7 +38599,7 @@ An unknown error occurred.
...
@@ -38586,7 +38599,7 @@ An unknown error occurred.
@findex @code{mysql_shutdown()}
@findex @code{mysql_shutdown()}
@node mysql_shutdown, mysql_stat, mysql_select_db, C API functions
@node mysql_shutdown, mysql_stat, mysql_select_db, C API functions
@subsection @code{mysql_shutdown()}
@subs
ubs
ection @code{mysql_shutdown()}
@code{int mysql_shutdown(MYSQL *mysql)}
@code{int mysql_shutdown(MYSQL *mysql)}
...
@@ -38614,7 +38627,7 @@ An unknown error occurred.
...
@@ -38614,7 +38627,7 @@ An unknown error occurred.
@findex @code{mysql_stat()}
@findex @code{mysql_stat()}
@node mysql_stat, mysql_store_result, mysql_shutdown, C API functions
@node mysql_stat, mysql_store_result, mysql_shutdown, C API functions
@subsection @code{mysql_stat()}
@subs
ubs
ection @code{mysql_stat()}
@code{char *mysql_stat(MYSQL *mysql)}
@code{char *mysql_stat(MYSQL *mysql)}
...
@@ -38644,7 +38657,7 @@ An unknown error occurred.
...
@@ -38644,7 +38657,7 @@ An unknown error occurred.
@findex @code{mysql_store_result()}
@findex @code{mysql_store_result()}
@node mysql_store_result, mysql_thread_id, mysql_stat, C API functions
@node mysql_store_result, mysql_thread_id, mysql_stat, C API functions
@subsection @code{mysql_store_result()}
@subs
ubs
ection @code{mysql_store_result()}
@code{MYSQL_RES *mysql_store_result(MYSQL *mysql)}
@code{MYSQL_RES *mysql_store_result(MYSQL *mysql)}
...
@@ -38709,7 +38722,7 @@ An unknown error occurred.
...
@@ -38709,7 +38722,7 @@ An unknown error occurred.
@findex @code{mysql_thread_id()}
@findex @code{mysql_thread_id()}
@node mysql_thread_id, mysql_use_result, mysql_store_result, C API functions
@node mysql_thread_id, mysql_use_result, mysql_store_result, C API functions
@subsection @code{mysql_thread_id()}
@subs
ubs
ection @code{mysql_thread_id()}
@code{unsigned long mysql_thread_id(MYSQL *mysql)}
@code{unsigned long mysql_thread_id(MYSQL *mysql)}
...
@@ -38731,7 +38744,7 @@ None.
...
@@ -38731,7 +38744,7 @@ None.
@findex @code{mysql_use_result()}
@findex @code{mysql_use_result()}
@node mysql_use_result, NULL mysql_store_result, mysql_thread_id, C API functions
@node mysql_use_result, NULL mysql_store_result, mysql_thread_id, C API functions
@subsection @code{mysql_use_result()}
@subs
ubs
ection @code{mysql_use_result()}
@code{MYSQL_RES *mysql_use_result(MYSQL *mysql)}
@code{MYSQL_RES *mysql_use_result(MYSQL *mysql)}
...
@@ -39639,15 +39652,19 @@ interface that is based on msqltcl 1.50.
...
@@ -39639,15 +39652,19 @@ interface that is based on msqltcl 1.50.
* Compare PostgreSQL:: How @strong{MySQL} compares with PostgreSQL
* Compare PostgreSQL:: How @strong{MySQL} compares with PostgreSQL
@end menu
@end menu
@node Compare mSQL, Compare PostgreSQL, Comparisons, Comparisons
This chapter compares @strong{MySQL} to other popular databases.
@section How MySQL Compares to @code{mSQL}
This section has been written by the @strong{MySQL} developers, so it
This chapter has been written by the @strong{MySQL} developers, so it
should be read with that in mind. But there are NO factual errors that
should be read with that in mind. There are no factual errors contained
we know of.
in this chapter that we know of. If you find something which you believe
to be an error, please contact us about it at @email{docs@@mysql.com}.
For a list of all supported limits, functions, and types, see the
For a list of all supported limits, functions, and types, see the
@uref{http://www.mysql.com/information/crash-me.php, @code{crash-me} Web page}.
@code{crash-me} Web page at
@uref{http://www.mysql.com/information/crash-me.php}.
@node Compare mSQL, Compare PostgreSQL, Comparisons, Comparisons
@section How MySQL Compares to @code{mSQL}
@table @strong
@table @strong
@item Performance
@item Performance
...
@@ -40675,6 +40692,11 @@ variables to modify the behavior of @strong{MySQL}. @xref{Option files}.
...
@@ -40675,6 +40692,11 @@ variables to modify the behavior of @strong{MySQL}. @xref{Option files}.
@node Users, MySQL customer usage, Environment variables, Top
@node Users, MySQL customer usage, Environment variables, Top
@appendix Some MySQL Users
@appendix Some MySQL Users
This appendix lists some users of @strong{MySQL} that have given us permission
to list them in our documentation. It is by far not a complete list, but
should give you a general idea of who uses @strong{MySQL} and what it can
be used for.
@appendixsec General News Sites
@appendixsec General News Sites
@itemize @bullet
@itemize @bullet
...
@@ -41092,12 +41114,13 @@ give you an idea of how other @strong{MySQL} users are using
...
@@ -41092,12 +41114,13 @@ give you an idea of how other @strong{MySQL} users are using
This manual section is very new and we plan to add more stories here
This manual section is very new and we plan to add more stories here
shortly. If you are interested in contributing of how you use
shortly. If you are interested in contributing of how you use
@strong{MySQL} in a unique environment or have success store about how you
@strong{MySQL} in a unique environment or have success store about how you
use @strong{MySQL}, you can write to @code{docs@@
lists.
mysql.com} with
use @strong{MySQL}, you can write to @code{docs@@mysql.com} with
subject @code{Success:}. Note that as we are very busy it may take some
subject @code{Success:}. Note that as we are very busy it may take some
time before you get some feedback for your story.
time before you get some feedback for your story.
@itemize @bullet
@itemize @bullet
@item
@item
@strong{Peter Zaitsev of Spylog.ru} writes:
I think you might be interested in my database size. The whole database
I think you might be interested in my database size. The whole database
is currently on 15 servers and I think it's about 60.000 of tables
is currently on 15 servers and I think it's about 60.000 of tables
containing about 5.000.000.000 of rows. My mostly loaded server
containing about 5.000.000.000 of rows. My mostly loaded server
...
@@ -41106,10 +41129,9 @@ Hugest tables have about 50.000.000 of rows, and this value will raise
...
@@ -41106,10 +41129,9 @@ Hugest tables have about 50.000.000 of rows, and this value will raise
as soon as I'll move to 2.4 kernel with large files. Currently I have to
as soon as I'll move to 2.4 kernel with large files. Currently I have to
delete much of logs for large sites to hold table sizes in 2Gb.
delete much of logs for large sites to hold table sizes in 2Gb.
Peter Zaitsev, Spylog.ru.
@item
@item
Texas Instrument is using MySQL for handling tables that contains up
@strong{Texas Instruments} is using @strong{MySQL} for handling tables
o 2,000 million rows in a validation regression database.
that contain up t
o 2,000 million rows in a validation regression database.
@end itemize
@end itemize
@page
@page
...
@@ -41130,10 +41152,6 @@ interface, you should fetch the @code{Data-Dumper}, @code{DBI}, and
...
@@ -41130,10 +41152,6 @@ interface, you should fetch the @code{Data-Dumper}, @code{DBI}, and
@xref{Perl support}.
@xref{Perl support}.
@end ifclear
@end ifclear
@uref{http://www.mysql.com/Downloads/Contrib/00-README, 00-README}
This listing.
@appendixsec APIs
@appendixsec APIs
@cindex Perl, modules
@cindex Perl, modules
...
@@ -41861,8 +41879,8 @@ interested in.
...
@@ -41861,8 +41879,8 @@ interested in.
@node Credits, News, Contrib, Top
@node Credits, News, Contrib, Top
@appendix Credits
@appendix Credits
Th
e following persons and companies have helped us make MySQL what it is
Th
is appendix lists the developers, contributors, and supporters that have
today:
helped to make @strong{MySQL} what it is today.
@cindex developers, list of
@cindex developers, list of
@menu
@menu
...
@@ -41874,8 +41892,10 @@ today:
...
@@ -41874,8 +41892,10 @@ today:
@node Developers, Contributors, Credits, Credits
@node Developers, Contributors, Credits, Credits
@appendixsubsec Developers at MySQL AB
@appendixsubsec Developers at MySQL AB
Developers that are or have been employed by MySQL AB to work on MySQL.
These are the developers that are or have been employed by MySQL AB to work
(Roughly in the order they started to work with us.)
on MySQL, roughly in the order they started to work with us. Following each
developer is a small list of the tasks that the developer is responsible for,
or the accomplishments they have made.
@table @asis
@table @asis
@item Michael (Monty) Widenius
@item Michael (Monty) Widenius
...
@@ -42059,7 +42079,7 @@ Allan Larsson (The BOSS for TCX DataKonsult AB).
...
@@ -42059,7 +42079,7 @@ Allan Larsson (The BOSS for TCX DataKonsult AB).
@node Contributors, Supporters, Developers, Credits
@node Contributors, Supporters, Developers, Credits
@appendixsubsec Contributors to MySQL
@appendixsubsec Contributors to MySQL
Contributors to the @strong{MySQL} distribution are listed
below
, in
Contributors to the @strong{MySQL} distribution are listed
here
, in
somewhat random order:
somewhat random order:
@table @asis
@table @asis
...
@@ -42249,7 +42269,7 @@ Mike Simons, Jaakko Hyvatti.
...
@@ -42249,7 +42269,7 @@ Mike Simons, Jaakko Hyvatti.
And lots of bug report/patches from the folks on the mailing list.
And lots of bug report/patches from the folks on the mailing list.
A
nd a big tribute
to those that help us answer questions on the
A
big tribute goes
to those that help us answer questions on the
@code{mysql@@lists.mysql.com} mailing list:
@code{mysql@@lists.mysql.com} mailing list:
@table @asis
@table @asis
...
@@ -42309,8 +42329,11 @@ developed a @strong{MySQL} feature themself or by giving us hardware for
...
@@ -42309,8 +42329,11 @@ developed a @strong{MySQL} feature themself or by giving us hardware for
@node News, Bugs, Credits, Top
@node News, Bugs, Credits, Top
@appendix MySQL change history
@appendix MySQL change history
Note that we tend to update the manual at the same time we implement new
This appendix lists the changes from version to version in the @strong{MySQL}
things to @strong{MySQL}. If you find a version listed below that you can't
source code.
Note that we tend to update the manual at the same time we make changes to
@strong{MySQL}. If you find a version listed below that you can't
find on the
find on the
@uref{http://www.mysql.com/downloads/,@strong{MySQL} download page},
@uref{http://www.mysql.com/downloads/,@strong{MySQL} download page},
this means that the version has not yet been released!
this means that the version has not yet been released!
...
@@ -42328,7 +42351,8 @@ this means that the version has not yet been released!
...
@@ -42328,7 +42351,8 @@ this means that the version has not yet been released!
@appendixsec Changes in release 4.0.x (Development; Alpha)
@appendixsec Changes in release 4.0.x (Development; Alpha)
We have now started to work on MySQL 4.0. We will update this section
We have now started to work on MySQL 4.0. We will update this section
as we add new features so that other can follow our development.
as we add new features, so that others can follow our development.
Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}.
Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}.
@menu
@menu
...
@@ -42354,13 +42378,28 @@ Added @code{ORDER BY} syntax to @code{UPDATE} and @code{DELETE}.
...
@@ -42354,13 +42378,28 @@ Added @code{ORDER BY} syntax to @code{UPDATE} and @code{DELETE}.
@appendixsec Changes in release 3.23.x (Stable)
@appendixsec Changes in release 3.23.x (Stable)
The 3.23 release has several major features that are not
The 3.23 release has several major features that are not
present in previous versions. We have added two new
present in previous versions. We have added three new
table types: MyISAM, a new ISAM library which is tuned for SQL
table types:
and supports large files; and BerkeleyDB which uses the Berkeley
DB library from Sleepycat Software to implement transaction-safe
@itemize @bullet
tables. The 3.23 release also includes support for database
@item MyISAM
replication between a master and many slaves, full-text indexing,
A new ISAM library which is tuned for SQL and supports large files.
and much more.
@item BerkeleyDB or BDB
Uses the Berkeley DB library from Sleepycat Software to implement
transaction-safe tables.
@item Innobase
A transaction-safe table handler that supports row level locking, and many
Oracle-like features.
@c change "three" to "four" above when uncommenting this
@c @item Gemini
@c A transaction-safe, row-level locking table handler that supports many
@c features required in a mission-critical environment.
@end itemize
Note that only MyISAM is available in the standard binary distribution.
The 3.23 release also includes support for database replication between
a master and many slaves, full-text indexing, and much more.
All new features are being developed in the 4.0 version. Only
All new features are being developed in the 4.0 version. Only
bug fixes and minor enhancements to existing features will be
bug fixes and minor enhancements to existing features will be
...
@@ -42376,7 +42415,7 @@ Note that the above doesn't mean that replication or Berkeley DB doesn't
...
@@ -42376,7 +42415,7 @@ Note that the above doesn't mean that replication or Berkeley DB doesn't
work; We have done a lot of testing of all code, including replication
work; We have done a lot of testing of all code, including replication
and BDB without finding any problems. It only means that not as many
and BDB without finding any problems. It only means that not as many
users uses this code as the rest of the code and because of this we are
users uses this code as the rest of the code and because of this we are
not yet 100
% confident in this code.
not yet 100% confident in this code.
@menu
@menu
* News-3.23.37:: Changes in release 3.23.37
* News-3.23.37:: Changes in release 3.23.37
...
@@ -44410,15 +44449,10 @@ Added @code{mysqld} option @code{--default-table-type}.
...
@@ -44410,15 +44449,10 @@ Added @code{mysqld} option @code{--default-table-type}.
@node News-3.22.x, News-3.21.x, News-3.23.x, News
@node News-3.22.x, News-3.21.x, News-3.23.x, News
@appendixsec Changes in release 3.22.x (Older; Still supported)
@appendixsec Changes in release 3.22.x (Older; Still supported)
The 3.22 version has faster and safer connect code and a lot of new nice
The 3.22 version has faster and safer connect code than version 3.21, as well
enhancements. The reason for not including these changes in the 3.21 version
as a lot of new nice enhancements. The reason for not including these changes
is mainly that we are trying to avoid big changes to 3.21 to keep it as
As there aren't really any MAJOR changes, upgrading from 3.21 to 3.22 should
stable as possible. As there aren't really any MAJOR changes, upgrading to
be very easy and painless. @xref{Upgrading-from-3.21}.
3.22 should be very easy and painless.
@xref{Upgrading-from-3.21}.
3.22 should also be used with the new @code{DBD-mysql} (1.20xx) driver
that can use the new connect protocol!
@menu
@menu
* News-3.22.35:: Changes in release 3.22.35
* News-3.22.35:: Changes in release 3.22.35
...
@@ -45538,6 +45572,9 @@ most important string functions for more speed!
...
@@ -45538,6 +45572,9 @@ most important string functions for more speed!
@node News-3.21.x, News-3.20.x, News-3.22.x, News
@node News-3.21.x, News-3.20.x, News-3.22.x, News
@appendixsec Changes in release 3.21.x
@appendixsec Changes in release 3.21.x
Version 3.21 is quite old now, and should be avoided if possible. This
information is kept here for historical purposes only.
@menu
@menu
* News-3.21.33:: Changes in release 3.21.33
* News-3.21.33:: Changes in release 3.21.33
* News-3.21.32:: Changes in release 3.21.32
* News-3.21.32:: Changes in release 3.21.32
...
@@ -46648,6 +46685,9 @@ mysql> SELECT * FROM tbl_name
...
@@ -46648,6 +46685,9 @@ mysql> SELECT * FROM tbl_name
@node News-3.20.x, News-3.19.x, News-3.21.x, News
@node News-3.20.x, News-3.19.x, News-3.21.x, News
@appendixsec Changes in release 3.20.x
@appendixsec Changes in release 3.20.x
Version 3.20 is quite old now, and should be avoided if possible. This
information is kept here for historical purposes only.
Changes from 3.20.18 to 3.20.32b are not documented here because the
Changes from 3.20.18 to 3.20.32b are not documented here because the
3.21 release branched here. And the relevant changes are also
3.21 release branched here. And the relevant changes are also
documented as changes to the 3.21 version.
documented as changes to the 3.21 version.
...
@@ -47209,6 +47249,9 @@ New @file{INSTALL} files (not final version) and some information regarding port
...
@@ -47209,6 +47249,9 @@ New @file{INSTALL} files (not final version) and some information regarding port
@node News-3.19.x, , News-3.20.x, News
@node News-3.19.x, , News-3.20.x, News
@appendixsec Changes in release 3.19.x
@appendixsec Changes in release 3.19.x
Version 3.19 is quite old now, and should be avoided if possible. This
information is kept here for historical purposes only.
@menu
@menu
* News-3.19.5:: Changes in release 3.19.5
* News-3.19.5:: Changes in release 3.19.5
* News-3.19.4:: Changes in release 3.19.4
* News-3.19.4:: Changes in release 3.19.4
...
@@ -47523,8 +47566,10 @@ For platform-specific bugs, see the sections about compiling and porting.
...
@@ -47523,8 +47566,10 @@ For platform-specific bugs, see the sections about compiling and porting.
* TODO unplanned:: Some things we don't have any plans to do
* TODO unplanned:: Some things we don't have any plans to do
@end menu
@end menu
Everything in this list is in the order it will be done. If you want to
This appendix lists the features that we plan to implement in @strong{MySQL}.
affect the priority order, please register a license or support us and
Everything in this list is approximately in the order it will be done. If you
want to affect the priority order, please register a license or support us and
tell us what you want to have done more quickly. @xref{Licensing and Support}.
tell us what you want to have done more quickly. @xref{Licensing and Support}.
@node TODO MySQL 4.0, TODO future, TODO, TODO
@node TODO MySQL 4.0, TODO future, TODO, TODO
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment