fcl-db
From Free Pascal wiki
Jump to navigationJump to searchThe package FCL-db contains most of FPC's higher level database system, plus table drivers for some popular systems.
Known issues/shortcomings
- master - detail relations are not complete
- calculated field support are not complete
- No stored procedure resultset >1 row (fixed in 2.6)
- No binary data transfer using parameters (everything is converted to ascii) in most drivers.
- There are some floating point issues, with precision and scale parameters only minimally supported in some drivers (amongst others mysql)
- most character encoding issues are solved fairly ad hoc. There is no way to set the fundamental encodings manually
- the encoding of the connection
- the encoding of the components internal storage
- the encoding of GUI components
- (optionally, encoding of exports, or fileformats)
- Many driver dependent issues in datetime types and timezone support.
- of the drivers, firebird is used the most, and then mysql, sqlite, postgres and odbc. Finally comes oracle which is mostly still a proof of concept level.
Most of these are being worked on, and the status changes on a monthly basis, so be sure to do your own testing and source inspection, since this will be most certainly out of date.
A testsuite is also being created that hopefully will accelerate accepting patches (and make it easier for contributors to create quality patches), and get rid of some of the 120 database related bugreports.
Units
(In the below table the subdir is listed as "submodule", so one can see easily to which subsystem the unit belongs.
Unit | submodule | comment |
---|---|---|
browseds | sqlite | |
bufdataset | base | |
bufdataset_parser | base | |
concurrencyds | sqlite | |
createds | sqlite | |
customsqliteds | sqlite | |
db | base | |
dbcoll | base | |
dbconst | base | |
dbf | dbase | |
dbf_avl | dbase | |
dbf_collate | dbase | |
dbf_common | dbase | |
dbf_cursor | dbase | |
dbf_dbffile | dbase | |
dbf_fields | dbase | |
dbf_idxcur | dbase | |
dbf_idxfile | dbase | |
dbf_lang | dbase | |
dbf_memo | dbase | |
dbf_parser | dbase | |
dbf_pgcfile | dbase | |
dbf_pgfile | dbase | |
dbf_prscore | dbase | |
dbf_prsdef | dbase | |
dbf_prssupp | dbase | |
dbf_reg | dbase | |
dbf_str | dbase | |
dbf_str_es | dbase | |
dbf_str_fr | dbase | |
dbf_str_ita | dbase | |
dbf_str_nl | dbase | |
dbf_str_pl | dbase | |
dbf_str_pt | dbase | |
dbf_str_ru | dbase | |
dbf_wtil | dbase | |
dbwhtml | base | |
fillds | sqlite | |
fpcgcreatedbf | codegen | |
fpcgdbcoll | codegen | |
fpcgsqlconst | codegen | |
fpcgtiopf | codegen | |
fpcsvexport | export | |
fpdatadict | datadict | |
fpdbexport | export | |
fpdbfexport | export | |
fpddcodegen | codegen | |
fpdddbf | datadict | |
fpdddiff | datadict | |
fpddfb | datadict | |
fpddmysql40 | datadict | |
fpddmysql41 | datadict | |
fpddmysql50 | datadict | |
fpddodbc | datadict | |
fpddoracle | datadict | |
fpddpopcode | codegen | |
fpddpq | datadict | |
fpddregstd | datadict | |
fpddsqldb | datadict | |
fpddsqlite3 | datadict | |
fpfixedexport | export | Dataset export to fixed width text format |
fprtfexport | export | Dataset export to RTF format |
fpsimplejsonexport | export | Dataset export to JSON format |
fpsimplexmlexport | export | Dataset export to ASCII encoded XML |
fpsqlexport | export | Dataset export to SQL Insert/Update statements |
fpstdexports | export | |
fptexexport | export | Dataset export to Latex format |
fpXMLXSDExport | export | Dataset export to various XML formats: Access, ADO.Net, Excel, Delphi ClientDataset |
ibconnection | sqldb/interbase | |
memds | memds | |
mysql40conn | sqldb/mysql | |
mysql41conn | sqldb/mysql | |
mysql4conn | sqldb/mysql | |
mysql50conn | sqldb/mysql | |
mysql51conn | sqldb/mysql | |
mysql55conn | sqldb/mysql | |
odbcconn | sqldb/odbc | |
oracleconnection | sqldb/oracle | |
pqconnection | sqldb/postgres | |
sqlite3conn | sqldb/sqlite | |
mssqlconn | sqldb/mssql | |
paradox | paradox | |
sdfdata | sdf | |
sqldb | sqldb | |
sqlite3ds | sqlite | |
sqliteds | sqlite | |
sqlscript | base | |
tdbf_l | dbase | |
testcp | memds | |
testdbf | dbase | |
testds | sqlite | |
testfix | sdf | |
testld | memds | |
testopen | memds | |
testpop | memds | |
testsdf | sdf | |
testsqldb | sqldb | |
xmldatapacketreader | base |