Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Asynchronous Method for Allowing Single Process Applications to Use Concurrent Database Connections

IP.com Disclosure Number: IPCOM000106369D
Original Publication Date: 1993-Oct-01
Included in the Prior Art Database: 2005-Mar-21
Document File: 6 page(s) / 217K

Publishing Venue

IBM

Related People

Edwards, W: AUTHOR [+3]

Abstract

This invention provides a basic scheme that can be used by single process database application programs to exploit the concurrent database connection support added to a DBM through the method described in invention: "A method for supporting multiple concurrent database connections within a DBM application process". This method provides the means by which a single-process database application can concurrently make requests on multiple database connections. A sample design for implementing this method in the OS/2* DBM is also included. Both, the method and the design are described in detail in the paragraphs that follow.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 23% of the total text.

Asynchronous Method for Allowing Single Process Applications to Use Concurrent Database Connections

      This invention provides a basic scheme that can be used by
single process database application programs to exploit the
concurrent database connection support added to a DBM through the
method described in invention: "A method for supporting multiple
concurrent database connections within a DBM application process".
This method provides the means by which a single-process database
application can concurrently make requests on multiple database
connections.  A sample design for implementing this method in the
OS/2* DBM is also included.  Both, the method and the design are
described in detail in the paragraphs that follow.

      The database application program will call the database
activation function sqledbat(), setting the dbhandle_var parameter to
NULL.  The waitflag parameter must be set to FALSE in order to
multiplex the execution thread.

      The application program must be precompiled using the new
precompiler option 'ASPS' to cause the precompiler to generate the C
language directive '#define SQL_ASPS' and to cause the precompiler to
use the value of the sqlca symbol instead of the address when used in
the generated SQL runtime function calls.

      The address of the sqlca pointer must be passed as parameter in
application program calls to the sqledbat() function.

      The scheduled use of the sqlca pointer is to include not only
the SQL statement execution but also the references to the symbolic
sqlca access macros declared by the precompiler and used by the
application.  When the application must reference the sqlca pointer
in a module other than the one containing the INCLUDE SQLCA
statement,that other module must include the modular scope
declaration: extern struct sqlca * sqlca;

      A design for supporting an asynchronous method for allowing
single process applications to use concurrent database connections is
described next.  Each of the design elements necessary to support
asynchronous requests on concurrent database connections in a single
application process is explained in detail.

      Application Database Connection Control Block data structure.
A database connection must be represented in the DBM Application
Runtime library as a data structure containing all information
necessary to individually manage the database connection.  The
minimum necessary fields in this data structure are:

         Shared memory resource management fields.

         SQL reply wait indicator flag.

         Address of output SQLDA being used in the current request.

         An instance of an sqlca structure.

         Connection state field indicating send/receive states.

         An Inter Process Communication (IPC) descriptor field for
    the IPC to be used in routing requests made on the database
    connection.  The contents of this field a...