This module allows to read Paradox database and primary index files. It has initial support for creating Paradox databases. Consider it to be experimental due to lack of documentation of the Paradox file format.
Note: You will need to get the paradox library (libpx) available at http://pxlib.sourceforge.net.
Note: This module has not been tested on other platforms than Debian/GNU Linux for PPC.
Note: This module is also in development and may change, though I don't expect major changes to the API.
The following two tables lists all constants defined by the paradox extension.
Table 1. Contants for field types
Name | Meaning |
---|---|
PX_FIELD_ALPHA | Character data with fixed length |
PX_FIELD_DATE | Date |
PX_FIELD_SHORT | Short integer (2 Bytes) |
PX_FIELD_LONG | Long integer (4 Bytes) |
PX_FIELD_CURRENCY | same as PX_FIELD_NUMBER |
PX_FIELD_NUMBER | Double |
PX_FIELD_LOGICAL | Boolean |
PX_FIELD_MEMOBLOB | Binary large object (not supported) |
PX_FIELD_BLOB | Binary large object (not supported) |
PX_FIELD_FMTMEMOBLOB | Binary large object (not supported) |
PX_FIELD_OLE | OLE object (basically a blob, not supported) |
PX_FIELD_GRAPHIC | Graphic (basically a blob, not supported) |
PX_FIELD_TIME | time |
PX_FIELD_TIMESTAMP | timestamp (like the unix timestamp) |
PX_FIELD_AUTOINC | Auto incrementing interger (like PX_FIELD_LONG) |
PX_FIELD_BCD | Decimal number stored in bcd format (not supported) |
PX_FIELD_BYTES | Array of Bytes with not more than 255 bytes (not supported) |
Table 2. Contants for file types
Name | Meaning |
---|---|
PX_FILE_INDEX_DB | Indexed database |
PX_FILE_PRIM_INDEX | Primary index |
PX_FILE_NON_INDEX_DB | None indexed database |
PX_FILE_NON_INC_SEC_INDEX | None incremental secondary index (not supported) |
PX_FILE_SEC_INDEX | Secondary index (not supported) |
PX_FILE_INC_SEC_INDEX | Incremental secondary index (not supported) |
PX_FILE_NON_INC_SEC_INDEX_G | (not supported) |
PX_FILE_SEC_INDEX_G | (not supported) |
PX_FILE_INC_SEC_INDEX_G | (not supported) |
A short installation note:
You need at least PHP 5.0.0 and libpx >= 0.1.9
Just type 'pear install paradox' in your console.
There is currently no need to configure the extension.
The paradox extension provides also an object oriented API. It consists of only one class called paradox_doc. Its methods only differ from the functions in its name and of course the missing first parameter. The following table will list all methods and its equivalent functions.
Table 3. Methods of class paradox_doc
Name of method | Equivalent function |
---|---|
Constructor | px_new() |
Destructor | px_delete() |
open_fp() | px_open_fp() |
create_fp() | px_create_fp() |
close() | px_close() |
numrecords() | px_numrecords() |
numfields() | px_numfields() |
get_record() | px_get_record() |
put_record() | px_put_record() |
get_field() | px_get_field() |
get_schema() | px_get_schema() |
get_info() | px_get_info() |
set_parameter() | px_set_parameter() |
get_parameter() | px_get_parameter() |
set_value() | px_set_value() |
get_value() | px_get_value() |
set_targetencoding() | px_set_targetencoding() |
set_tablename() | px_set_tablename() |