GNU Info

Info Node: (mysql.info)C

(mysql.info)C


Next: Cplusplus Prev: ODBC Up: Clients
Enter node , (file) or (file)node

MySQL C API
===========

C API datatypes
C API Datatypes
C API function overview
C API Function Overview
C API functions
C API Function Descriptions
C Thread functions
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
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 Java) 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 Note: 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 (16K bytes) is automatically
increased up to the maximum size (the maximum is 16M). 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 16M
of data, you must have a communication buffer limit of at least 16M (in
both server and client).  The client's default maximum is 16M, but the
default maximum in the server is 1M.  You can increase this by changing
the value of the `max_allowed_packet' parameter when the server is
started.  Note: 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, consult the 'how to make a thread-safe
client' chapter. Note: Threaded clients.


automatically generated by info2www version 1.2.2.9