p4d is a Python Database API 2.0 compliant driver for the 4D (4th Dimension) database server. As such, usage should be familiar to anyone who has used any python database modules before. This module is based off of a C library provided by 4D, and integrated with Python using CFFI. As such, installation of this module does require CFFI.
v0.9 2016-02-10:
 - Fix bug that called .decode() on a str object in python 3
 - Add support for "pyformat" style parameter markers
 - Add support for "format" style parameter markers
 - Add support for "named" style parameter markers

v0.8 2015-11-24:
 - Changes for python 3 compatibility

v0.7 2015-09-30:
 - Fix bug with running multiple queries in a row on the same cursor

v0.6 2015-02-17:
 - Fix bug with handling of time values containing milliseconds

v0.5.1 2014-12-23:
 - Imporoved method of freeing memory used by the fetchone call

v0.5 2014-12-22:
 - Fix remaining memory leak with execute many call. Turns out there were leaks both in the C library as well as in how I was calling the library. Testing now shows memory usage stable at 11MB when processing a 1,000,000 record result set.

v0.4 2014-12-18:
 - Fix memory leak when doing an execute many call (there may still be a small leak with individual executes, depending on how CFFI handles memory)
 - Fix performance issue when performing large executemany queries

v0.3 2014-12-17:
 - improve performance of module when receiving large datasets containing date/time values.
 - Close statement after execution when doing an insert many
 - Fix potential issue when doing large "execute many" queries

v0.2 2014-12-16:
 - Fixed lib4d_sql bug preventing proper paging for some queries
 - Fixed lib4d_sql bug preventing use of "long" queries or argument strings
 - Fixed lib4d_sql bug not preparing the queries on the server before running
 - Changed default pagesize parameter back to 100 since paging should now work

v0.1.1:
 -Inital release
