# mysqlwrap **Repository Path**: havealex/mysqlwrap ## Basic Information - **Project Name**: mysqlwrap - **Description**: C++ Wrapper for MySQL C API - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-04-10 - **Last Updated**: 2022-08-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README mysqlwrap ========= C++ Wrapper for MySQL C API Features: - Supports both client and embedded database linkage - Supports both Prepared Statements (preferred) and AdhocStatements. - Simplified memory management: Database and Statement objects can be used as automatic variables, which release all required memory when program flow exists scope. - Stongly typed API - select results can only be extracted into variables of the correct size, and signed-ness. - Nullable types allow for simplified assigning to and retrieval of NULL values in database fields. - C++ API hides most MYSQL C API idiosyncracies and make database code more compact - Supports streaming operator (<<) to fill out parameters in a query, and cause an execute or fetch to occur. - Supports streaming operator (>>) to retrieve columns from the current result row into Nullable variables. - Converts "C" return values, errno, and errmsg values into exceptions using DatabaseException class. Limitations: - Embedded database linkage currently causes a Segmentation Fault when executing Prepared Statements that produce a result set. This appears to be a MYSQL bug. Building: - There is an included Makefile that has only been tested on OS/X Mountain Lion, but that an enterprising young person like yourself should be able to modify pretty easily to run on most varieties of Unix. - In the Makefile, you can set certain variables to control the type of build. - EMBEDDED: embedded or blank ## set to embedded to compile against the embedded server - LIBRARY_TYPE: dynamic, static, or blank ## type of library produced (blank means no library at all) - LIBRARY_NAME: name ## name of the library produced. Called libname.dylib for dynamic library