ODBC Server Reference Manual

Architecture Overview
HP NonStop ODBC Server Reference Manual429151-002
2-30
SQL Communication Subsystem
An important translator task is to map certain client names into NonStop SQL/MP
names; the translator calls a name mapping module to do this. The name mapping
module uses NonStop SQL/MP SELECT statements to read the NonStop ODBC
Server catalog tables for the needed map entries. For performance, the name mapping
module caches the map entries in memory.
Another important task of the translator is to decide which SQL statements can be
cached and which need to be parameterized. If they can be cached, the translator
converts TSQL statements and execute-direct CORE SQL statements into the prepare-
and-execute form. If they need to be parameterized, the translator inserts dynamic
parameters, represented by question marks (?), in the correct places in each statement
to be prepared; the translator builds the input parameter values for the execute stage
using the literal values the question marks displaced.
Finally, the translator traverses the parse tree and produces the text of the NonStop
SQL/MP statement to be executed. For pass-through statements, the parsing proceeds
only to the point of discovering the identifying SELECT “TDM:” phrase. At that point,
the translator omits the remainder of the parsing and begins checking for parameters in
the pass-through statement itself.
If any errors are detected during parsing or translating, the errors are returned to the
client. Otherwise, the translator calls the execution module, which proceeds to execute
the translated statements one by one.
For NonStop SQL/MP statements, the execution module checks the cache as
appropriate, executes the statements, encodes the results, and sends them to the
client. For stored procedure execution, the execution module calls a stored procedure
execution (SPE) module that assembles and executes the ServerClass_Send. The
execution module then retrieves and processes result sets from the SPE module just
as it does for a NonStop SQL/MP cursor SELECT; each result set is encoded and sent
to the client.
Between issuing NonStop SQL/MP fetches and receiving messages from a Pathway
server class program (for SPE), the NonStop ODBC server checks whether a Cancel
message has arrived from the client. If so, the server closes the NonStop SQL/MP
cursor or cancels any ServerClass_Send in progress.
SQL Communication Subsystem
SCS performs three major tasks:
SCS handles client communication.
SCS relieves the NonStop ODBC servers from the necessity of handling most of
the network communication and protocol issues. SCS supports the various
communication protocols (NETBIOS or TCP/IP) and has a thread for each client
connection. There is a simple open/close/read/write IPC defined between SCS and
the NonStop ODBC servers. This is the same service provided by the Transaction
Delivery Process (TDP) for Remote Server Call (RSC) and Pathway.
SCS manages server classes.