Products Support Documentation Download
RDM Legacy DDL/DBD conversion tool
Synopsis
rdm-convert [OPTION]... dbname[.ddl|.dbd]
Description

rdm-convert is a command-line utility that converts a database definition file (.ddl) or a compiled dictionary file (.dbd) for a legacy RDM database.

If the legacy file includes features that aren't supported by RDM 14.1, rdm-convert will terminate with an error or ignore them with warnings.

Options
Option Description
-h, --help Display this usage information
--version Display the version information
-q, --quiet Quiet mode. No information will be displayed
-p, --preprocess Evaluate preprocessor directives.
--sed Generate a SED conversion script. Use this script to modify legacy RDM source code to use the new struct definitions for RDM.
--sed-d Generate a SED conversion script with the DDLP -d option. Use this script to modify legacy RDM source code to use the new struct definitions for RDM.
dbname.ddl,.dbd Legacy database definition file (.ddl) or legacy dictionary file (.dbd). If no extension is specified, a dictionary file with an extension of .ddl will be used.
Usage Examples

The usage example assumes that bookshop.ddl contains the following database definition.

database bookshop {
data file "bookshop.d0x" contains author;
key file "bookshop.k0x" contains last_name;
key file "bookshop.k1x" contains yob_gender_key;
vardata file "bookshop.v0x" contains short_bio;
record author {
unique key char last_name[14];
char full_name[26];
char gender[2];
int16_t yr_born;
int16_t yr_died;
varchar short_bio[217];
compound key yob_gender_key {
yr_born;
gender;
}
}
}
Generating an RDM 14.1 database definition file

You can generate an RDM 14.1 database definition file (.sdl) from a legacy database definition file (.ddl) by running rdm-convert as follows:

$ rdm-convert bookshop.ddl

The RDM 14 database definition file named bookshop.sdl will be created and place in the current working directory. The definition looks like this.

CREATE TABLE author
(
last_name CHAR(13) UNIQUE KEY NOT NULL,
full_name CHAR(25) DEFAULT "" NOT NULL,
gender CHAR(1) DEFAULT "" NOT NULL,
yr_born INT16 DEFAULT 0 NOT NULL,
yr_died INT16 DEFAULT 0 NOT NULL,
short_bio CHAR(216) DEFAULT "" NOT NULL,
CONSTRAINT yob_gender_key KEY (
yr_born ASC,
gender ASC
)
);
Modify legacy RDM source code to use the new struct definitions

If you have sed installed, you can modify a legacy RDM source file 'mySource.c' to use the new struct definitions for bookshop.ddl as follows:

$ rdm-convert --sed bookshop.ddl
$ sed -I -f bookshop.sed mySource.c