(mysql.info.gz) C
Info Catalog
(mysql.info.gz) Programming utilities
(mysql.info.gz) MySQL APIs
(mysql.info.gz) PHP
22.2 MySQL C API
================
Menu
* C API datatypes C API Data types
* C API function overview C API Function Overview
* C API functions C API Function Descriptions
* C API Prepared statements C API Prepared Statements
* C API Prepared statement datatypes C API Prepared Statement Data types
* C API Prepared statement function overview C API Prepared Statement Function Overview
* C API Prepared statement functions C API Prepared Statement Function Descriptions
* C API Prepared statement problems C API Prepared statement problems
* C API multiple queries C API Handling of Multiple Query Execution
* C API date handling C API Handling of Date and Time Values
* C Thread functions C API Threaded Function Descriptions
* C Embedded Server func C API Embedded Server Function Descriptions
* C API problems Common questions and problems when using the C API
* Building clients Building Client Programs
* Threaded clients How to Make a Threaded Client
* libmysqld libmysqld, the Embedded MySQL Server Library
The C API code is distributed with MySQL. It is included in the
`mysqlclient' library and allows C programs to access a database.
Many of the clients in the MySQL source distribution are written in C.
If you are looking for examples that demonstrate how to use the C API,
take a look at these clients. You can find these in the `clients'
directory in the MySQL source distribution.
Most of the other client APIs (all except Connector/J) use the
`mysqlclient' library to communicate with the MySQL server. This means
that, for example, you can take advantage of many of the same
environment variables that are used by other client programs, because
they are referenced from the library. See Client-Side Scripts,
for a list of these variables.
The client has a maximum communication buffer size. The size of the
buffer that is allocated initially (16KB) is automatically increased up
to the maximum size (the maximum is 16MB). Because buffer sizes are
increased only as demand warrants, simply increasing the default
maximum limit does not in itself cause more resources to be used. This
size check is mostly a check for erroneous queries and communication
packets.
The communication buffer must be large enough to contain a single SQL
statement (for client-to-server traffic) and one row of returned data
(for server-to-client traffic). Each thread's communication buffer is
dynamically enlarged to handle any query or row up to the maximum
limit. For example, if you have `BLOB' values that contain up to 16MB
of data, you must have a communication buffer limit of at least 16MB
(in both server and client). The client's default maximum is 16MB, but
the default maximum in the server is 1MB. You can increase this by
changing the value of the `max_allowed_packet' parameter when the
server is started. Server parameters.
The MySQL server shrinks each communication buffer to
`net_buffer_length' bytes after each query. For clients, the size of
the buffer associated with a connection is not decreased until the
connection is closed, at which time client memory is reclaimed.
For programming with threads, see Threaded clients. For
creating a standalone application which includes the "server" and
"client" in the same program (and does not communicate with an external
MySQL server), see libmysqld.
Info Catalog
(mysql.info.gz) Programming utilities
(mysql.info.gz) MySQL APIs
(mysql.info.gz) PHP
automatically generated byinfo2html