ALLBASE/SQL Advanced Application Programming Guide MPE/iX 5.0 Documentation
ALLBASE/SQL Advanced Application Programming Guide
Table of Contents
ALLBASE/SQL Advanced Application Programming Guide
ALLBASE/SQL Advanced Application Programming Guide : COPYRIGHT NOTICE
Ch 1. Using the Preprocessor
Full Preprocessing Mode
Full Preprocessing Mode Syntax Specification
Full Preprocessing Mode for C Applications
Full Preprocessing Mode for COBOL Applications
Full Preprocessing Mode for FORTRAN Applications
Full Preprocessing Mode for Pascal Applications
Parameters
Description
Authorization
Example of Full Preprocessing of a C Application
DBEnvironment Access in Full Preprocessing Mode
Accessing Multiple DBEnvironments in Full Preprocessing Mode
Static Conversion Mode
Static Conversion Mode Syntax Specification
Static Conversion Mode for C Applications
Static Conversion Mode for Pascal Applications
Parameters
Description
Authorization
Example of Static Conversion Processing of a C Application
Example of Static Conversion Processing of a Pascal Application
Syntax Checking Mode
Syntax Checking Mode Syntax Specification
Syntax Checking Mode for C Applications
Syntax Checking Mode for COBOL Applications
Syntax Checking Mode for FORTRAN Applications
Syntax Checking Mode for Pascal Applications
Parameters
Description
Authorization
Example of Syntax Checking of a C Application
POSIX Preprocessor Invocation
POSIX Full Preprocessing Mode for C Applications
Parameters
POSIX Static Conversion Mode for C Applications
Parameters
POSIX Syntax Checking Mode for C Applications
Parameters
Ch 2. Flagging Non-Standard SQL with the FIPS Flagger
Coding Tips
Setting the ANSI Compiler Directive
Identifying Non-Standard Features
Understanding Implicit Updatability
Declaring the SQLCA
Secondary References to Non-Standard SQL
Host Variable Data Type Declarations
Host Variable Name Length Standards
Ch 3. Comparing Static and Dynamic SQL
Comparing Static and Dynamic Applications
Coding an Application that can be Either Static or Dynamic
Converting a Static Application to a Dynamic Application
Enhancing Performance
Ch 4. Using Parameter Substitution in Dynamic Statements
Understanding Dynamic Parameters
Examples in C of Preparing a Statement with Dynamic Parameters
Examples in COBOL of Preparing a Statement with Dynamic Parameters
Examples in FORTRAN of Preparing a Statement with Dynamic Parameters
Examples in Pascal of Preparing a Statement with Dynamic Parameters
Where to Use Dynamic Parameters
Restrictions
Programming with Dynamic Parameters
Using Host Variables to Process Dynamic Parameters
Using Data Structures and a Data Buffer to Process Dynamic Parameters
Using the SQLDA for Input
Using the Data Buffer for Input
Programming with Dynamic Parameters (contd)
Using Data Structures and a Data Buffer to Process Dynamic Parameters (contd)
Example in C Using Output and Input Data Buffers
Using a BULK INSERT Statement with Dynamic Parameters
Example in C Using a BULK INSERT
Example in COBOL Using a BULK INSERT
Programming with Dynamic Parameters (contd.)
Using a BULK INSERT Statement with Dynamic Parameters (contd.)
Example in Pascal Using a BULK INSERT
Using Default Data Types with Dynamic Parameters
How ALLBASE/SQL Derives a Default Data Type
Dynamic Parameter Formats
Conversion of Actual Data Types to Default Data Types
Data Overflow and Truncation
Ch 5. Using Procedures in Application Programs
Using Cursors with Procedures
Procedures with Multiple Row Result Sets of Different Formats
Static Processing
Dynamic Processing
Procedures with no Multiple Row Result Sets
Static Processing
Dynamic Processing
Single Format Multiple Row Result Sets
Example Schema
Static Processing
Dynamic Processing
Using Host Variables to Pass Parameter Values
Using Dynamic Procedure Parameters
Returning a Return Status Code
Testing SQLCODE and SQLWARN0 on Return from a Procedure
Checking for All Errors and Warnings
Returning Output Values
Additional Error and Message Handling
Messages from Failure of the EXECUTE PROCEDURE Statement
Messages from the Last SQL Statement Executed by the Procedure
Messages from Errors Caused by the RAISE ERROR Statement
Messages from the PRINT Statement
Comparing a Procedure and an Embedded SQL Application
Why Use a Procedure?
Ch 6. Using Data Integrity Features
Setting the Error Checking Level
Using Table Check Constraints
Defining and Dropping Table Constraints
Adding a Column to the Recreation Database
Adding a Constraint to the Recreation Database
Dropping a Constraint from the Recreation Database
Defining and Dropping View Constraints
Deferring Constraint Error Checking
Locating Constraint Errors
Template for Single Column Unique Constraint Errors
Template for Multiple Column Unique Constraint Errors
Template for Single Column Referential Constraint Errors
Template for Multiple Column Referential Constraint Errors
Coding with Deferred Constraint Error Checking
Ch 7. Transaction Management with Multiple DBEnvironment Connections
Preprocessing and Installing Applications
Understanding Timeouts
Using Timeouts to Prevent Undetectable Deadlocks and Infinite Waits
Undetectable Deadlock Prevention
Infinite Wait Prevention
Using Timeouts to Tune Performance
Example Using Single-transaction Mode with Timeouts
Ch 8. COBOL Preprocessor Enhancements
Record Descriptions For Non-Bulk Queries
Host Variables Initialized With The VALUE Clause
Ch 9. Programming with Indicator Variables in Expressions
Ch 10. Analyzing Queries with GENPLAN
Ch 11. Using the VALIDATE Statement
Ch 12. Corrections to the BCDToString Example Program Routine
Correcting the C Language Program
Correcting the Pascal Language Program
INDEX
Index
MPE/iX 5.0 Documentation