DB Interface Module User’s Guide
PART I Introduction
Chapter 1 Introduction
1.1 Overview
1.2 Features and Benefits
1.2.1 Comprehensive Functionality
1.2.2 Consistency Across Different Databases
1.2.3 Enhanced Performance
1.3 Module-Specific Software Requirements
1.3.1 Compatibility
1.3.2 Dependencies
1.3.3 Database Connectivity
1.4 Database Knowledge
1.5 Examples
1.6 Products and Services Information
Chapter 2 Design Overview
2.1 Basic Architecture
2.2 Interface and Implementation Classes
2.2.1 Database-Dependent and Database-Independent Interface Classes
2.3 Producers and Products
2.4 Reference Semantics
2.5 Memory Allocation
2.6 Information Flow
Chapter 3 Class Overview
3.1 Kinds of Classes
3.1.1 Datatype Classes
3.1.2 Database Classes
3.1.3 Data Manipulation Classes
3.1.4 Expression Classes
3.1.5 Bulk Classes
3.1.6 Open SQL Classes
3.1.7 Utility and Diagnostics Classes
3.1.8 Callback Classes
3.2 Summary of Classes
3.3 Member Function Conventions
PART II Using the Basic Features
Chapter 4 The Database Classes
4.1 Before You Log On
4.2 Getting a Connection
4.3 Managing Connections
4.3.1 RWDBDatabase and RWDBConnection
4.3.2 Explicit and Implicit Connections
4.3.3 Connection Pools
4.3.4 Alternatives for Managing Connections
4.3.5 Transaction Processing with RWDBConnection
4.3.6 Transaction Control and Locking
4.4 Tables
4.4.1 Database Tables
4.4.2 Reading Tables: Class RWDBReader
4.4.2.1 Overloading the Extraction Operator
4.4.3 Derived Tables
4.4.4 Memory Tables
4.4.5 Result Tables
4.4.6 Summary
4.5 Table Constraints
4.5.1 Table Constraints Classes
4.5.2 Column Level Constraints
4.5.2.1 Not Null Constraints
4.5.2.2 Default Column Constraints
4.5.2.3 Identity Column Constraints
4.5.3 Table Level Constraints
4.5.3.1 Primary Key Constraints
4.5.3.2 Foreign Key Constraints
4.5.3.3 Unique Table Constraints
4.5.3.4 Check Table Constraints
4.5.4 Working with Table Level Constraints
4.5.4.1 Creating Tables with Constraints
4.5.4.2 Adding or Dropping Constraints
4.5.4.3 Fetching Table Constraints
Chapter 5 The Data Manipulation Classes
5.1 More on Basic Classes
5.2 Expressions, Criterions, and Assignments
5.2.1 RWDBCriterion
5.2.2 RWDBCriterion and RWDBExpr
5.2.3 RWDBAssignment
5.2.4 Summary
5.3 Selecting Data
5.3.1 Selecting Data from a Single Table
5.3.2 Joins
5.3.3 Outer Joins
5.3.3.1 Outer Join Constructs in the FROM Clause (ANSI-Compliant)
5.3.3.2 Outer Join Constructs In the WHERE Clause (ANSI-Noncompliant)
5.3.4 Composing FROM clause
5.3.5 Ordering and Grouping
5.3.6 Aggregates, Expressions, and Functions
5.3.7 Self-Joins
5.3.8 Subqueries
5.3.9 Summary
5.4 Inserting Data
5.4.1 Inserting Values
5.4.2 Inserting with a Selector
5.4.3 Inserting with a Reader
5.4.4 Getting Results from an Inserter
5.4.5 A Note About Connections
5.4.6 Summary
5.5 Updating Data
5.5.1 Subqueries and Correlated Updates
5.5.2 Use of Table Tags when Updating
5.6 Deleting Data
5.6.1 Subqueries and Correlated Deletes
5.6.2 Use of Table Tags when Deleting
5.7 Stored Procedures
5.7.1 Instantiating RWDBStoredProc
5.7.2 Type and Error Checking in RWDBStoredProc
5.7.3 Complex Stored Procedure Example
5.8 Cursors
5.8.1 Instantiating an RWDBCursor
5.8.2 Bind Operations
5.8.3 Fetch Operation
5.8.4 Insert Operation
5.8.5 Delete Operation
5.8.6 Update Operation
5.9 asString() Methods in the Data Manipulation Classes
5.10 Summary
Chapter 6 The Error Model
6.1 Overview
6.2 Checking Status with Class RWDBStatus
6.3 Error Handlers
6.4 Exceptions
6.5 More About Error Handlers
6.5.1 Kinds of Errors
6.5.2 Capturing Database-Dependent Information
6.6 More About isValid()
6.6.1 Defining a Valid Object
6.6.2 Making Unusable Objects Usable
6.7 Summary
Chapter 7 The Data Model
7.1 The Problem of Diverse Data Types
7.2 The SourcePro DB Solution
7.3 The Database Layer
7.4 The Value Layer
7.4.1 RWCString
7.4.2 RWDateTime
7.4.2.1 Example
7.4.2.2 Constructors
7.4.3 RWDBDateTime
7.4.3.1 Conversions between RWDBDateTime and RWDateTime
7.4.3.2 Persistence
7.4.3.3 64-bit Variables
7.4.3.4 Optional RWZone Parameter
7.4.3.5 Current Time
7.4.4 RWDBDuration
7.4.5 RWDBBlob
7.4.6 RWDecimalPortable
7.4.7 RWDBValue
7.4.8 Internationalization Data Types
7.5 The Pointer Layer
7.6 Summary
PART III Using Advanced Features
Chapter 8 Bulk Reading and Writing
8.1 The Bulk Classes
8.2 Examples with Bulk Classes
8.2.1 Bulk Read and Writes
8.2.2 Bulk Classes and RWDBBlob
Chapter 9 Caching
9.1 Caching and Performance
9.2 A Database Client Perspective
9.3 Caching When Inserting and Reading Data
9.3.1 Caching with RWDBInserter
9.3.2 Caching with RWDBReader
9.3.3 Restrictions On Caching with RWDBReader, RWDBInserter
9.3.4 Result Schema Caching
9.4 Metadata Caching and the Cache Manager
9.4.1 Types of Cacheable Data
9.4.2 Using the Cache Manager
9.4.3 Error Handling in the Cache Manager
9.4.4 Keeping the Cache Up-To-Date
9.4.5 The In-Memory Cache Manager
9.4.6 Implementing a Cache Manager
9.4.7 Example
Chapter 10 Callbacks
10.1 Callback Functionality
10.2 Callback Locations
10.3 Callback Classes
10.4 Implementing Callbacks
10.4.1 Implementing Database Callbacks
10.4.1.1 Providing a Password using connParams()
10.4.2 Implementing Connection Callbacks
10.5 Callback Sequence
10.5.1 Callback sequence for a database callback and explicit connection callback
10.5.2 Callback sequence for a database callback producing a connection callback
10.6 Callback Example
Chapter 11 Multithreading
11.1 The DB Interface Module and Multithread Safety
11.2 Levels of Multithread Support
11.3 Sharing Objects of the DB Interface Module Among Threads
11.4 Sharing an RWDBConnection
11.5 Database-Independent Classes
11.6 The Guard Class with Templates
11.7 Guard Classes Without Templates
11.8 Portable Guard Classes
Chapter 12 Asynchronous Usage
12.1 Definition
12.2 Architectural Overview
12.3 Handling Asynchronous Call Completions
12.4 RWDBStatus Behavior in the Asynchronous Context
12.5 Asynchronous Usage Example
12.6 Handling C++ Datatype Returns from an Asynchronous Call
12.7 Asynchronous Calls in the DB Interface Module
12.7.1 Running Many Asynchronous Calls on a Single RWDBConnection
12.7.2 Performance Issues
12.8 Asynchronous RWDBReaders
Chapter 13 Internationalization
13.1 Definition
13.2 Character Sets
13.2.1 National Character Sets and C++ Data Types
13.2.2 RWBasicUString
13.2.3 RWWString
13.2.4 RWDBMBString
13.2.5 RWCString
13.2.6 Data Definition Language
13.2.7 Using Schema Information from Result Tables
13.3 Data Formatting
13.3.1 RWDateTime
13.3.2 RWDBDateTime
13.3.3 RWDate
13.3.4 RWDecimalPortable
13.3.5 Formatting Raw Numbers
PART IV Using Open SQL
Chapter 14 Defining Open SQL
14.1 An Alternative API
14.2 Who Should Use Open SQL
14.3 A Summary of the Open SQL Classes
14.4 Open SQL and the Standard API
Chapter 15 Using the Open SQL Classes
15.1 Class RWDBOSql
15.1.1 Creating an RWDBOSql Instance
15.1.2 Providing an SQL Statement
15.1.3 Statement Type Hint
15.1.4 Executing the SQL Statement
15.1.4.1 Error Handling
15.1.5 Obtaining the Results
15.2 Class RWDBTBuffer<T>
15.2.1 Instantiating RWDBTBuffer
15.2.2 Memory Management in RWDBTBuffer
15.2.3 Output Binding and Fetching Using RWDBTBuffer
15.2.4 Using RWDBTBuffers for Input
15.2.5 Bulk/Array Input
15.3 The Data Callback Classes
15.3.1 Fetching Data
15.3.2 Inserting Data
15.3.3 Implementing a Custom Callback Class
15.3.3.1 Implementing onFetch()
15.3.3.2 Implementing onSend()
15.3.3.3 Implementing getLength()
15.3.4 Using a Custom Callback Class with Open SQL
15.3.4.1 Fetching Data with a Custom Callback Class
15.3.4.2 Inserting Data with a Custom Callback Class
15.3.5 Other Resources
15.4 RWDBMultiRow
15.4.1 Using RWDBMultiRow for Ad Hoc Queries
15.4.2 Obtaining Data from RWDBMultiRow
PART V The Tutorials
Chapter 16 A Tutorial Overview
16.1 Introduction
16.2 List of Tutorials
16.3 Setting up the Tutorials
16.4 The Tutorial Model
Chapter 17 Retrieving Data from a Table
17.1 Goal of This Tutorial
17.2 Overview of This Tutorial
17.3 Running the Program
17.4 Checking the Output
17.5 The Program
17.5.1 The Main Routine
17.5.2 VVContactRepository Constructor
17.5.3 VVContactRepository::mailingLabels
17.5.4 operator>>() for VVContact
Chapter 18 Retrieving Data Selectively
18.1 Goal of This Tutorial
18.2 Overview of This Tutorial
18.3 Running the Program
18.4 Checking the Output
18.5 The Program
18.5.1 The Main Routine
18.5.2 VVContactRepository::mailingLabels
18.5.3 VVContactRepository::reader
18.6 Conclusion
Chapter 19 Inserting Data into a Table
19.1 Goal of This Tutorial
19.2 Overview of This Tutorial
19.3 Running the Program
19.4 Checking the Output
19.5 The Program
19.5.1 The Main Routine
19.5.2 VVContactRepository::insert
19.5.3 operator<<() for VVContact
19.6 Conclusion
Chapter 20 Inserting and Updating Data
20.1 Goal of This Tutorial
20.2 Overview of This Tutorial
20.3 Running the Program
20.4 Checking the Output
20.5 The Program
20.5.1 The Main Routine
20.5.2 VVVideoRepository::updateStock
20.6 Conclusion
Chapter 21 Deleting Rows from a Table
21.1 Goal of This Tutorial
21.2 Overview of This Tutorial
21.3 Running the Program
21.4 Checking the Output
21.5 The Program
21.5.1 The Main Routine
21.5.2 VVContactRepository::remove
21.6 Conclusion
Chapter 22 A Complicated Query
22.1 Goal of This Tutorial
22.2 Overview of This Tutorial
22.3 Running the Program
22.4 Checking the Output
22.5 The Program
22.5.1 The Main Routine
22.6 Conclusion
Chapter 23 Updating Data in Multiple Tables
23.1 Goal of This Tutorial
23.2 Overview of This Tutorial
23.3 Running the Program
23.4 Checking the Output
23.5 The Program
23.5.1 The Main Routine
23.5.2 VVInvoice::addRental
23.5.3 VVVideoRepository::find
23.5.4 VVVideoRepository::update
Appendix A Glossary
A.1 Terms and Definitions
DB XA Module User’s Guide
Chapter 1 Introduction
1.1 Overview
1.2 Product Features
1.3 Module-Specific Software Requirements
1.3.1 Establishing Connectivity with the DB XA Module
1.4 Products and Services Information
Chapter 2 Overview
2.1 The Abstract X/Open DTP Model
2.2 The DB XA Module in the X/Open DTP Environment
Chapter 3 Class Overview
3.1 The DB XA Module Classes
3.1.1 Database Class Enhancements
3.1.2 RWDBDatabase
3.1.3 RWDBConnection
Chapter 4 Using the DB XA Module Database Classes
4.1 Database Classes in the DB XA Module
4.2 Getting Connected with the DB XA Module
4.3 Databases and Connections
4.3.1 Managing Connections
4.3.2 Transaction Processing
Chapter 5 Using the DB Access Modules With XA Functionality
5.1 Overview
5.2 Oracle OCI Access Module
5.2.1 Configuring the Resource Manager
5.2.2 Switch Table
5.2.3 Databases and Connections
5.2.3.1 RWDBDatabase Objects
5.2.4 RWDBSystemHandle and RWDBEnvironmentHandle
5.3 Sybase Access Module
5.3.1 Configuring the Resource Manager
5.3.2 Switch Table
5.3.3 Databases and Connections
5.3.3.1 RWDBDatabase Objects
5.3.3.2 RWDBConnection Objects
5.3.4 The Contents of RWDBSystemHandle
5.3.5 The Contents of RWDBEnvironmentHandle
5.4 DB2 CLI Access Module
5.4.1 Configuring the Resource Manager
5.4.2 Switch Table
5.4.3 Databases and Connections
5.4.3.1 RWDBDatabase Objects
5.4.4 The Contents of RWDBSystemHandle
5.4.5 The Contents of RWDBEnvironmentHandle
Chapter 6 Writing Applications with the DB XA Module
6.1 Overview
6.2 Designing Programs for the X/Open Environment
6.3 Moving from the DB Interface Module to the DB XA Module
6.4 Using Data Definition Language
6.5 Using SQL Statements through RWDBConnection::executeSQL()
6.6 Mixing XA and Non-XA Connections
Appendix A Glossary
A.1 Terms and Definitions
DB Access Module for DB2 CLI User’s Guide
Chapter 1 Introduction
1.1 Overview
Chapter 2 Technical Information
2.1 Introduction
2.2 Databases and Connections
2.3 Datatypes
2.4 Expressions
2.4.1 Global Functions
2.4.2 Outer Joins
2.5 Table and Column Constraint Limitations
2.5.1 Identity Constraints
2.6 Cursors
2.7 Caching
2.7.1 Inserter Caching
2.7.2 Reader Caching
2.8 BulkReader and BulkInserter
2.8.1 Support
2.9 Updater and Deleter
2.9.1 Use of Table Tags
2.10 Stored Procedures
2.10.1 Creating Stored Procedures
2.10.2 Executing Stored Procedures
2.10.3 Instantiating an RWDBStoredProc Using Schema Data
2.11 Internationalization
2.11.1 Data Bindings
2.11.2 Limitations
2.11.2.1 Metadata
2.11.2.2 Use of RWWString in Unicode Applications
2.12 Transaction Processing
2.12.1 Setting Isolation Levels
2.12.2 Using Transaction Control Methods
2.13 Error Messages
2.13.1 Errors and RWDBStatus
2.14 Result Sets
2.14.1 Simultaneous Processing of Results from Multiple Statements Using the Same Connection
2.15 Input Binding of Data
2.16 System and Environment Handles to DB2 CLI Specific Resources
2.17 Open SQL and DB2 CLI
2.17.1 Placeholder Syntax
2.17.2 RWDBDataCallback and Open SQL
2.17.2.1 Piece Size Setting
2.17.2.2 RWDBDataCallback::getLength()
2.17.2.3 Stored Procedures and RWDBDataCallback
2.17.3 Stored Procedures and Open SQL
2.17.3.1 Sequence of Fetching Result Sets and Out Parameters
2.17.4 Executing Cancel in Open SQL
2.17.5 Open SQL Examples
2.17.5.1 An Open SQL Insert Example
2.17.5.2 Open SQL Query Examples
2.17.5.3 An Open SQL Stored Procedure Example
2.18 Using Static Libraries with DB2 CLI Access Module and MS SQL Server Module
2.19 Callbacks
Appendix A System Tables and Functions
A.1 System Tables
A.2 System Functions
DB Access Module for Microsoft SQL Server User’s Guide
Chapter 1 Introduction
1.1 Overview
Chapter 2 Technical Information
2.1 Introduction
2.2 Databases and Connections
2.3 Datatypes
2.3.1 Restrictions on the Use of Datatypes
2.4 Expressions
2.4.1 Global Functions
2.4.2 Outer Joins
2.5 Table and Column Constraint Limitations
2.5.1 Identity Constraints
2.6 Cursors
2.7 Caching
2.7.1 Inserter Caching
2.7.2 Reader Caching
2.8 BulkReader and BulkInserter
2.8.1 Support
2.9 Updater and Deleter
2.9.1 Use of Table Tags
2.10 Stored Procedures
2.10.1 Creating Stored Procedures
2.10.2 Executing Stored Procedures
2.10.3 Instantiating an RWDBStoredProc Using Schema Data
2.11 Internationalization
2.11.1 Prerequisites
2.11.2 Data Bindings
2.11.3 Limitations
2.12 Transaction Processing
2.12.1 Setting Isolation Levels
2.12.2 Using Transaction Control Methods
2.13 Error Messages
2.13.1 Errors and ODBC Conformance
2.13.2 Errors and RWDBStatus
2.14 Result Sets
2.14.1 Simultaneous Processing of Results from Multiple Statements Using the Same Connection
2.15 Using Text and Image Data
2.16 Input Binding of Data
2.17 System and Environment Handles to Microsoft SQL Server Specific Resources
2.18 Open SQL and Microsoft SQL Server ODBC
2.18.1 Placeholder Syntax
2.18.2 RWDBDataCallback and Open SQL
2.18.2.1 Piece Size Setting
2.18.2.2 RWDBDataCallback::getLength()
2.18.2.3 Stored Procedures and RWDBDataCallback
2.18.3 Stored Procedures and Open SQL
2.18.3.1 Sequence of Fetching Result Sets and Out Parameters
2.18.4 Executing Cancel in Open SQL
2.18.5 Open SQL Examples
2.18.5.1 An Open SQL Insert Example
2.18.5.2 Open SQL Query Examples
2.18.5.3 An Open SQL Stored Procedure Example
2.19 Using Static Libraries with MS SQL Server and DB2 CLI Access Modules
2.20 Callbacks
Appendix A System Tables and Functions
A.1 System Tables
A.2 System Functions
DB Access Module for MySQL User’s Guide
Chapter 1 Introduction
1.1 Overview
Chapter 2 Technical Information
2.1 Introduction
2.2 Databases and Connections
2.3 Datatypes
2.3.1 Restrictions on the Use of Datatypes
2.4 Expressions
2.4.1 Global Functions
2.4.2 Outer Joins
2.5 Table and Column Constraint Limitations
2.5.1 Identity Constraints
2.5.2 Check Constraints
2.5.3 Adding or Dropping Constraints
2.6 Cursors
2.7 Caching
2.7.1 Inserter Caching
2.7.2 Reader Caching
2.8 BulkReader and BulkInserter
2.9 Updater and Deleter
2.9.1 Use of Table Tags
2.10 Stored Procedures
2.11 Transaction Processing
2.11.1 Setting Isolation Levels
2.11.2 Using Transaction Control Methods
2.12 Internationalization
2.13 Error Messages
2.13.1 Errors
2.13.2 Errors and RWDBStatus
2.14 Result Sets
2.14.1 Simultaneous Processing of Results from Multiple Statements Using the Same Connection
2.15 Input Binding of Data
2.16 System and Environment Handles to MySQL Specific Resources
2.17 Open SQL and MySQL
2.17.1 Placeholder Syntax
2.17.2 RWDBDataCallback and Open SQL
2.17.3 Executing Cancel in Open SQL
2.17.4 Stored Procedures and Open SQL
2.17.5 Open SQL Examples
2.17.5.1 An Open SQL Insert Example
2.17.5.2 Open SQL Query Examples
2.18 Callbacks
Appendix A System Tables
A.1 System Tables
DB Access Module for ODBC User’s Guide
Chapter 1 Introduction
1.1 Overview
Chapter 2 Technical Information
2.1 Introduction
2.2 Databases and Connections
2.3 Datatypes
2.3.1 Restrictions on the Use of Datatypes
2.4 Expressions
2.4.1 Table and Column Names
2.4.2 Global Functions
2.4.3 Outer Joins
2.5 Table and Column Constraint Limitations
2.5.1 Identity Constraints
2.5.2 Unique and Check Constraints
2.6 Cursors
2.7 Caching
2.7.1 Inserter Caching
2.7.2 Reader Caching
2.8 BulkReader and BulkInserter
2.9 Updater and Deleter
2.9.1 Use of Table Tags
2.10 Stored Procedures
2.10.1 Instantiating an RWDBStoredProc Using Schema Data
2.11 Transactions
2.12 Transaction Processing
2.12.1 Setting Isolation Levels
2.12.2 Using Transaction Control Methods
2.13 Internationalization
2.13.1 Prerequisites
2.13.2 Data Bindings
2.13.3 Limitations
2.14 Error Messages
2.14.1 Errors and ODBC Conformance
2.14.2 Errors and RWDBStatus
2.15 Result Sets
2.15.1 Simultaneous Processing of Results from Multiple Statements Using the Same Connection
2.16 Input Binding of Data
2.17 System and Environment Handles to ODBC Specific Resources
2.18 Open SQL and ODBC
2.18.1 Placeholder Syntax
2.18.2 RWDBDataCallback and Open SQL
2.18.2.1 Piece Size Setting
2.18.2.2 RWDBDataCallback::getLength()
2.18.2.3 Stored Procedures and RWDBDataCallback
2.18.3 Stored Procedures and Open SQL
2.18.3.1 Sequence of Fetching Result Sets and Out Parameters
2.18.4 Executing Cancel in Open SQL
2.18.5 Open SQL Examples
2.18.5.1 An Open SQL Insert Example
2.18.5.2 Open SQL Query Examples
2.18.5.3 An Open SQL Stored Procedure Example
2.19 Callbacks
Appendix A System Views
A.1 System Views
DB Access Module for Oracle OCI User’s Guide
Chapter 1 Introduction
1.1 Overview
Chapter 2 Technical Information
2.1 Introduction
2.2 Databases and Connections
2.3 Datatypes
2.3.1 Restrictions on the Use of Datatypes
2.4 Expressions
2.4.1 Global Functions
2.4.2 rwdbCast()
2.4.3 Outer Joins
2.5 Table and Column Constraint Limitations
2.5.1 Identity Column Constraints
2.6 Cursors
2.7 Caching
2.8 Updater and Deleter
2.8.1 Use of Table Tags
2.9 BulkReader and BulkInserter
2.10 Stored Procedures
2.10.1 Creating a Stored Procedure
2.10.2 Input/Output Parameters and Result Sets
2.10.3 Instantiating an RWDBStoredProc Using Schema Data
2.11 Internationalization
2.11.1 Prerequisites
2.11.1.1 Environment Variables
2.11.1.2 Database NLS_NCHAR_CHARACTERSET
2.11.1.3 Database Length Semantics
2.11.2 Data Bindings
2.11.3 Limitations
2.11.3.1 Using Oracle Datatypes NCHAR and NVARCHAR2
2.11.3.2 Metadata
2.11.3.3 Using RWWString in Unicode Applications
2.11.3.4 Using RWDBMBString in Unicode Applications
2.11.4 Date Formats
2.12 Transaction Processing
2.12.1 Setting Isolation Levels
2.12.2 Using Transaction Control Methods
2.13 Error Messages: Contents of RWDBStatus
2.14 Result Sets
2.14.1 Simultaneous Processing of Results from Multiple Statements Using the Same Connection
2.15 Large Character and Binary Data
2.16 Input Binding of Data
2.17 Output Binding of Data
2.18 System and Environment Handles to Oracle OCI Specific Resources
2.19 Open SQL and Oracle OCI
2.19.1 Placeholder Syntax
2.19.2 Supported Datatypes for Output Binding
2.19.3 RWDBDataCallback and Open SQL
2.19.3.1 Piece Size Setting
2.19.3.2 RWDBDataCallback::getLength()
2.19.3.3 Stored Procedures and RWDBDataCallback
2.19.4 Stored Procedures and Open SQL
2.19.4.1 Sequence of Fetching Result Sets and Out Parameters
2.19.5 Executing Cancel in Open SQL
2.19.6 Open SQL Examples
2.19.6.1 An Open SQL Insert Example
2.19.6.2 Open SQL Query Examples
2.19.6.3 An Open SQL Stored Procedure Example
2.19.7 OCIStmts
2.19.7.1 Simultaneous Processing of Results on an RWDBOSql Object When Used for Stored Procedure
2.20 Callbacks
Appendix A System Tables, Views, and Functions
A.1 System Tables
A.2 System Views
A.3 System Functions
DB Access Module for PostgreSQL User’s Guide
Chapter 1 Introduction
1.1 Overview
Chapter 2 Technical Information
2.1 Introduction
2.2 Databases and Connections
2.2.1 Examples of Opening a Database
2.3 Datatypes
2.3.1 Restrictions on the Use of Datatypes
2.3.2 Serial Columns in Tables
2.4 Expressions
2.4.1 Global Functions
2.4.2 Outer Joins
2.5 Table and Column Constraint Limitations
2.5.1 Identity Constraints
2.6 Cursors
2.7 Caching
2.7.1 Inserter Caching
2.7.2 Reader Caching
2.8 Updater and Deleter
2.9 BulkReader and BulkInserter
2.10 Stored Procedures
2.10.1 Creating a Stored Procedure
2.10.2 Executing a Stored Procedure
2.10.3 Instantiating an RWDBStoredProc Using Schema Data
2.11 Transaction Processing
2.11.1 Setting Isolation Levels
2.11.2 Using Transaction Control Methods
2.12 Internationalization
2.13 Error Messages
2.14 Errors and RWDBStatus
2.15 Result Sets
2.15.1 Simultaneous Processing of Results from Multiple Statements Using the Same Connection
2.16 Input Binding of Data
2.17 System and Environment Handles to PostgreSQL Specific Resources
2.18 Open SQL and PostgreSQL
2.18.1 Placeholder Syntax
2.18.2 RWDBDataCallback and Open SQL
2.18.3 Stored Procedures and Open SQL
2.18.3.1 Out Parameters and Return Values
2.18.4 Open SQL Examples
2.18.4.1 An Open SQL Insert Example
2.18.4.2 Open SQL Query Examples
2.18.4.3 Open SQL Stored Procedure Examples
2.18.5 Executing Cancel in Open SQL
2.19 Callbacks
2.20 Handling SQL Escape Strings
Appendix A System Tables and Functions
A.1 System Tables
A.2 System Functions
DB Access Module for Sybase User’s Guide
Chapter 1 Introduction
1.1 Overview
Chapter 2 Technical Information
2.1 Introduction
2.2 Databases and Connections
2.3 Datatypes
2.3.1 Restrictions on the Use of Datatypes
2.4 Expressions
2.4.1 Global Functions
2.4.2 Outer Joins
2.5 Table and Column Constraint Limitations
2.5.1 Identity Constraints
2.6 Caching
2.6.1 Inserter Caching
2.6.2 Reader Caching
2.7 Cursors
2.8 Updater and Deleter
2.9 BulkReader and BulkInserter
2.9.1 Using an RWDBBulkInserter
2.10 Stored Procedures
2.10.1 Creating a Stored Procedure
2.10.2 Executing Stored Procedures
2.10.3 Instantiating an RWDBStoredProc Using Schema Data
2.11 Internationalization and Localization
2.11.1 Prerequisites
2.11.2 Changing Locales on the Fly
2.11.3 Data Binding
2.11.4 Limitations
2.11.5 RWWString
2.11.6 Date Formats
2.12 Transaction Processing
2.12.1 Setting Isolation Levels
2.12.2 Using Transaction Control Methods
2.13 Error Messages: Contents of RWDBStatus
2.13.1 Reporting Errors from Client-Library and CS‑Library
2.13.2 Reporting Errors from Adaptive Server
2.14 Result Sets
2.14.1 Simultaneous Processing of Results from Multiple Statements Using the Same Connection
2.15 Text and Image Data
2.16 Input Binding of Data
2.17 Output Binding of Data
2.18 System and Environment Handles to Sybase Specific Resources
2.19 Open SQL and Sybase Open Client Client-Library
2.19.1 Placeholder Syntax
2.19.2 Supported Datatypes for Input Binding
2.19.3 Supported Datatypes for Output Binding
2.19.4 Bulk Inserts and Bulk Input Binding
2.19.5 RWDBDataCallback and Open SQL
2.19.5.1 Piece Size Setting
2.19.5.2 Changing the Maximum Fetch Size
2.19.5.3 RWDBDataCallback::getLength()
2.19.5.4 Stored Procedures and RWDBDataCallback
2.19.6 Stored Procedures and Open SQL
2.19.6.1 Sequence of Fetching Result Sets and Out Parameters
2.19.7 Simultaneous Result Processing
2.19.7.1 Simultaneous Results Processing of RWDBOSql Objects on the Same Connection
2.19.7.2 Simultaneous Results Processing of High-Level Objects of the DB Interface Module Using the Same Connection
2.19.8 Executing Cancel in Open SQL
2.19.9 Open SQL Examples
2.19.9.1 An Open SQL Insert Example
2.19.9.2 Open SQL Query Examples
2.19.9.3 An Open SQL Stored Procedure Example
2.20 Callbacks
Appendix A System Tables, Functions and Variables
A.1 System Tables
A.2 System Functions
A.3 System Variables
DB Interface Module User’s Guide
A.3 System Variables