DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(mysql.info) c

Info Catalog (mysql.info) libmysqld (mysql.info) apis (mysql.info) 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
 
 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 and
 Connector/NET) 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-utility-programs, 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 statements 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. See  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) libmysqld (mysql.info) apis (mysql.info) php
automatically generated byinfo2html