CONTENTS Title Page Copyright Page Preface Technical Changes and New Features 1 Introduction 1.1 RDML Language 1.1.1 RDML Language Elements 1.1.1.1 Value Expressions 1.1.1.2 Conditional Expressions 1.1.1.3 Record Selection Expressions 1.1.1.4 Statistical Functions 1.1.1.5 Clauses and Statements 1.1.2 RDML in the Rdb/VMS and Rdb/ELN Environments 1.1.3 Data Definition and RDML 1.1.4 RDML Keywords and Naming Conventions 1.1.5 Multinational Characters in Rdb/VMS Metadata Names 1.1.6 Conversion of Date and Time Literals in RDML Queries 1.1.7 Copying Date and Time Literals Within RDML Host Language Programs 1.1.8 Date and Time Support for Headers in RDML Program Listings 1.2 RDML Preprocessor 2 RDML Value Expressions 2.1 Arithmetic Value Expression 2.2 Database Field Value Expression 2.3 FIRST FROM Value Expression 2.4 Host Language Variable Value Expression 2.5 RDB$DB_KEY Value Expression 2.6 RDB$MISSING Value Expression 3 RDML Conditional Expressions 3.1 ANY Conditional Expression 3.2 BETWEEN Conditional Expression 3.3 CONTAINING Conditional Expression 3.4 MATCHING Conditional Expression 3.5 MISSING Conditional Expression 3.6 Relational Operators 3.7 STARTING WITH Conditional Expression 3.8 UNIQUE Conditional Expression 4 RDML Record Selection Expressions 4.1 Context Variable 4.2 CROSS Clause 4.3 FIRST Clause 4.4 REDUCED TO Clause 4.5 Relation Clause 4.6 SORTED BY Clause 4.7 WITH Clause 5 RDML Statistical Functions 5.1 AVERAGE Statistical Function 5.2 COUNT Statistical Function 5.3 MAX Statistical Function 5.4 MIN Statistical Function 5.5 TOTAL Statistical Function 6 RDML Clauses and Statements 6.1 BASED ON Clause 6.2 COMMIT Statement 6.3 DATABASE Statement 6.4 Database Handle Clause 6.5 DECLARE_STREAM Statement 6.6 DECLARE_VARIABLE Clause 6.7 DEFINE_TYPE Clause 6.8 END_STREAM Statement, Declared 6.9 END_STREAM Statement, Undeclared 6.10 ERASE Statement 6.11 FETCH Statement 6.12 FINISH Statement 6.13 FOR Statement 6.14 FOR Segmented String Statement 6.15 GET Statement 6.16 MODIFY Statement 6.17 ON ERROR Clause 6.18 PREPARE Statement 6.19 READY Statement 6.20 REQUEST_HANDLE Clause 6.21 ROLLBACK Statement 6.22 START_STREAM Statement, Declared 6.23 START_STREAM Statement, Undeclared 6.24 START_TRANSACTION Statement 6.25 STORE Statement 6.26 STORE Statement with Segmented Strings 6.27 TRANSACTION_HANDLE Clause A RDML-Generated Data Types B VAX C Language Functions for I/O Operations FIGURES 3-1 Conditional Expression Component of an RSE TABLES 1-1 RDML Keywords 2-1 Value Expressions 2-2 Arithmetic Operators and Functions 3-1 Conditional Expression Truth Table 3-2 Values Returned by Conditional Expressions 3-3 Relational Operators 4-1 Record Selection Expression Clause Functions 5-1 Statistical Functions 5-2 Statistical Expression Data Type Conversions for RDML 6-1 Functions of RDML Statements and Clauses 6-2 Summary of Database Handle Usage in Preprocessed Programs 6-3 VAX Rdb/ELN and Rdb/VMS Share Modes 6-4 Defaults for the START_TRANSACTION Statement A-1 RDML-Generated Data Types for VAX C A-2 RDML-Generated Data Types for VAX Pascal A-3 RDML-Generated Data Types for VAXELN Pascal B-1 Summary of VAX C Input/Output Functions