Versions of Metadata
The relational interface in Pervasive PSQL supports two versions of metadata, referred to as version 1 (V1) and version 2 (V2).
Metadata version is a property of the database that you specify when you create a database. V1 metadata is the default. When you create a database, you must specify V2 metadata if you want that version.
Metadata version applies to all data dictionary files (DDFs) within that database. A single database cannot use some DDFs with V1 metadata and others with V2 metadata. DDFs from the two versions cannot interact.
The database engine can, however, concurrently access multiple databases and each database can use either V1 metadata or V2 metadata.
All databases created with Pervasive PSQL versions prior to Pervasive PSQL v10 use V1 metadata. Databases created with Pervasive PSQL v10 or later may use either metadata version depending on the database settings.
Comparison of Metadata Versions
Version 2 metadata allows for many identifier names to be up to 128 bytes long. Refer to Limits/Conditions of Pervasive PSQL Features for additional information. In addition, V2 metadata allows for permissions on views and stored procedures. See Permissions on Views and Stored Procedures.
The data dictionary files (DDFs) for V2 metadata are named differently than for V1. In many cases, the V2 DDFs contain additional fields and changes to existing fields. See System Tables.
Conversion Utility
Pervasive PSQL includes a conversion utility, pvmdconv, to convert V1 metadata to V2 metadata. See pvmdconv in Pervasive PSQL User's Guide.
Relational Interface Limits
The following table shows the limits or conditions that apply to features of the relational interface.
A Pervasive PSQL database may contain four billion objects in any valid combination. The objects are persisted in the data dictionary files.
See also Naming Conventions in Pervasive PSQL Programmer's Guide in the Developer Reference.
1The maximum size of a CHAR or VARCHAR column that may be fully indexed is 255 bytes
2See also Identifier Restrictions by Identifier Type in Advanced Operations Guide.
Fully Qualified Object Names
A fully qualified object name combines the name of the database and the object using dot notation. For example, if you have a view named myview in database mydbase, the fully qualified object name is mydbase.myview.
Fully qualified object names need to be unique within a database. For example, suppose in database “mydbase,” you name a table “acctpay” and a user-defined function (or any other object) “acctpay.” The fully qualified name is “mydbase.acctpay,” in which case Pervasive PSQL does not know to which object the name refers.