This is an old revision of the document!
Table of Contents
The Data Dictionary
Introduction
The Data Dictionary provides a series of functions 'Meta-Functions' that allow a portable method of managing the schema of databases, from simple querying of data attributes of columns to XML based routines to build and manage new tables.
Portable Data Types
ADOdb provides a cross-platform method of identifying the data type of a field. These values can be used as a replacement in code that relies on the data type of field to produce a result. Each database driver contains a cross-reference table of datatypes that can accessed using the metaType() method.
Summary Of Types
Type | Represents Field Types |
---|---|
C | character fields that should be shown in a <input type=“text”> tag |
X | TeXt, large text fields that should be shown in a <textarea> |
B | Blobs, or Binary Large Objects. Typically images. |
D | Date field |
T | Timestamp field |
L | Logical field (boolean or bit-field). Some databases emulate logicals using I2 fields |
I | Integer field, This may be broken down further into I2,I4 or I8 types |
N | Numeric field. Includes autoincrement, numeric, floating point, real and integer. |
R | Serial field. Includes serial, autoincrement integers. This works for selected databases. Some databases do not signify if a field is auto-increment |
Using Data Types For Non-Portable Applications
There are benefits to using ADOdb data types even when writing an application that is not designed to be portable. The metaType()
method can hide numerous data sub-types from a developer, when the difference in the field is not important. For example the following actual data types in the Microsoft SQL Server driver are all represented by the ADOdb type C
:
Data Type | Description |
---|---|
-9 | nvarchar |
-8 | nchar |
1 | char |
12 | varchar |
The Meta Functions
Metadata functions convert database specific table, column and index queries into a standardized cross-database format.
metaColumns() | Returns a list of available columns and column type information for the supplied table name |
metaColumnNames() | Returns a list of available columns for the supplied table name |
metaDatabases() | Returns a list of available databases |
metaForeignKeys() | Returns a list of foreign keys for the supplied table name |
metaIndexes() | Returns a list of indexes for the supplied table name |
metaPrimaryKeys() | Returns a list of primary keys for the supplied table name |
metaProcedures() | Returns a list of procedures and functions for the connected database |
metaTables() | Returns list of available tables for the supplied database name |
metaType() | Converts database-specific data type into a portable type |
serverInfo() | Returns a set of server information |