Shopping Cart

No products in the cart.

BS ISO/IEC 19075-7:2021

$215.11

Information technology. Guidance for the use of database language SQL – Polymorphic table functions

Published By Publication Date Number of Pages
BSI 2021 188
Guaranteed Safe Checkout
Category:

If you have any questions, feel free to reach out to our online customer service team by clicking on the bottom right corner. We’re here to assist you 24/7.
Email:[email protected]

This document describes the definition and use of polymorphic table functions in SQL.

The Report discusses the following features of the SQL Language:

  • The processing model of polymorphic table functions in the context of SQL.

  • The creation and maintenance of polymorphic table functions.

  • Issues related to methods of implementing polymorphic table functions.

  • How polymorphic table functions are invoked by application programs.

  • Issues concerning compilation, optimization, and execution of polymorphic table functions

PDF Catalog

PDF Pages PDF Title
2 undefined
5 Contents
11 Tables
13 Figures
14 Foreword
16 Introduction
17 1 Scope
18 2 Normative references
19 3 Terms and definitions
20 4 Introduction to polymorphic table functions
4.1 Context of polymorphic table functions
4.2 What is a polymorphic table function?
4.3 Audiences
21 4.4 Motivating examples
4.4.1 Summary of motivating examples
4.4.2 CSVreader
22 4.4.3 Pivot
24 4.4.4 Score
27 4.4.5 TopNplus
30 4.4.6 ExecR
31 4.4.7 Similarity
33 4.4.8 UDjoin
34 4.4.9 MapReduce
35 4.5 The life cycle of a PTF
37 5 PTF processing model
5.1 Introduction to the PTF processing model
5.2 Processing phases
5.3 Virtual processors
5.4 PTF component procedures
38 5.5 Input table characteristics
39 5.6 Partitioning and ordering
40 5.7 Flow of control
41 5.8 Flow of information
42 5.9 Flow of row types
43 5.10 Pass-through columns
44 5.11 Security model
45 5.12 Conformance features
47 6 Specification
6.1 Introduction to the specification of PTFs
6.2 Functional specification
6.2.1 Introduction to the functional specification
6.2.2 Parameter list
48 6.2.3 Input table semantics
49 6.2.4 Prunability
6.2.5 Pass-through columns
50 6.2.6 Result row type
6.2.7 Determinism
51 6.2.8 SQL-data access
6.2.9 Documenting the PTF to the query author
52 6.3 Design specification
6.3.1 Introduction to the design specification
6.3.2 Name the component procedures
6.3.3 Private data
53 6.3.4 Routine characteristics of the component procedures
54 6.3.5 Component procedure signatures
59 7 Data definition language
7.1 Introduction to data definition language
7.2 PTF creation
61 7.3 PTF component procedures
7.4 Altering PTF component procedures and PTFs
7.5 Dropping a PTF and its component procedures
62 8 Implementation
8.1 Introduction to PTF implementation
8.2 PTF descriptor areas
8.2.1 Introduction to PTF descriptor areas
63 8.2.2 PTF descriptor area header
64 8.2.3 SQL item descriptor areas for row types
67 8.2.4 SQL item descriptor areas for partitioning
8.2.5 SQL item descriptor areas for ordering
68 8.3 PTF extended names
8.4 Reading a PTF descriptor area
69 8.5 Writing a PTF descriptor area
8.5.1 Introduction to writing a PTF descriptor area
8.5.2 Using DESCRIBE to populate a PTF descriptor area
70 8.5.3 Using SET DESCRIPTOR to populate a PTF descriptor area
71 8.5.4 Using COPY DESCRIPTOR to populate a PTF descriptor area
8.6 Reading a PTF input cursor
72 8.7 Outputting a row
74 9 Invocation
9.1 Introduction to PTF invocation
9.2

9.3
9.4 Proper result correlation name and proper result column naming
75 9.5
76 9.6

9.7

9.7.1 Types of table arguments
77 9.7.2

9.7.3

78 9.7.4 Nested table function invocation
9.8 Table argument correlation name
9.9 Table argument column renaming
79 9.10 Range variables and column renaming in nested PTF
9.11 Partitioning
80 9.12 Pruning
9.13 Ordering
81 9.14 Co-partitioning
82 9.15 Cross products of partitions
9.16
83 10 Compilation
10.1 Introduction to PTF compilation
10.2 Calling the describe component procedure
10.3 Inside the describe component procedure
84 10.4 Using the result of describe
85 11 Optimization
86 12 Execution
12.1 Introduction to PTF execution
12.2 Partitions and virtual processors
87 12.3 Calling the start component procedure
12.4 Inside the start component procedure
88 12.5 Calling the PTF fulfill component procedure
12.6 Inside the PTF fulfill component procedure
12.7 Closing cursors
12.8 Calling the PTF finish component procedure
89 12.9 Inside the PTF finish component procedure
12.10 Collecting the output
12.11 Cleanup on a virtual processor
12.12 Final result
90 13 Examples
13.1 Introduction to the examples
91 13.2 Projection
13.2.1 Overview
13.2.2 Functional specification of Projection
92 13.2.3 Design specification for Projection
13.2.4 Projection component procedures
94 13.2.5 Invoking Projection
13.2.6 Calling Projection_describe
96 13.2.7 Inside Projection_describe
98 13.2.8 Result of Projection_describe
13.2.9 Virtual processors for Projection
99 13.2.10 Calling Projection_fulfill
100 13.2.11 Inside Projection_fulfill
13.2.12 Collecting the results
101 13.2.13 Cleanup
102 13.3 CSVreader
13.3.1 Overview
13.3.2 Functional specification of CSVreader
13.3.3 Design specification for CSVreader
103 13.3.4 CSVreader component procedures
104 13.3.5 Implementation of CSVreader
13.3.6 Invoking CSVreader
105 13.3.7 Calling CSVreader_describe
107 13.3.8 Inside CSVreader_describe
108 13.3.9 Result of CSVreader_describe
110 13.3.10 Virtual processor for CSVreader
13.3.11 Calling CSVreader_start
111 13.3.12 Inside CSVreader_start
13.3.13 Calling CSVreader_fulfill
13.3.14 Inside CSVreader_fulfill
112 13.3.15 Collecting the output
13.3.16 Calling CSVreader_finish
13.3.17 Inside CSVreader_finish
113 13.3.18 Cleanup
114 13.4 Pivot
13.4.1 Overview
13.4.2 Functional specification of Pivot
13.4.3 Design specification for Pivot
115 13.4.4 Pivot component procedures
116 13.4.5 Invoking Pivot
13.4.6 Calling Pivot_describe
120 13.4.7 Inside Pivot_describe
121 13.4.8 Result of Pivot_describe
123 13.4.9 Virtual processors for Pivot
124 13.4.10 Calling Pivot_fulfill
13.4.11 Inside Pivot_fulfill
125 13.4.12 Collecting the results
13.4.13 Cleanup
126 13.5 Score
13.5.1 Overview
13.5.2 Functional specification of Score
13.5.3 Design specification for Score
127 13.5.4 Score component procedures
128 13.5.5 Invoking Score
13.5.6 Calling Score_describe
131 13.5.7 Inside Score_describe
132 13.5.8 Result of Score_describe
133 13.5.9 Virtual processors for Score
135 13.5.10 Calling Score_fulfill
13.5.11 Inside Score_fulfill
136 13.5.12 Collecting the output
137 13.5.13 Cleanup
138 13.6 TopNplus
13.6.1 Overview
13.6.2 Functional specification of TopNplus
13.6.3 Design specification for TopNplus
139 13.6.4 TopNplus component procedures
140 13.6.5 Invoking TopNplus
13.6.6 Calling TopNplus_describe
143 13.6.7 Inside TopNplus_describe
145 13.6.8 Result of TopNplus_describe
13.6.9 Virtual processors for TopNplus
147 13.6.10 Calling TopNplus_fulfill
13.6.11 Inside TopNplus_fulfill
148 13.6.12 Collecting the output
13.6.13 Cleanup
13.6.14 TopNplus using pass-through columns
151 13.7 ExecR
13.7.1 Overview
13.7.2 Functional specification of ExecR
13.7.3 Design specification for ExecR
152 13.7.4 ExecR component procedures
153 13.7.5 Invoking ExecR
13.7.6 Calling ExecR_describe
155 13.7.7 Inside ExecR_describe
156 13.7.8 Result of ExecR_describe
13.7.9 Virtual processors for ExecR
157 13.7.10 Calling ExecR_start
13.7.11 Inside ExecR_start
158 13.7.12 Calling ExecR_fulfill
13.7.13 Inside ExecR_fulfill
13.7.14 Collecting the output
159 13.7.15 Calling ExecR_finish
13.7.16 Inside ExecR_finish
13.7.17 Cleanup
160 13.8 Similarity
13.8.1 Overview
13.8.2 Functional specification of Similarity
13.8.3 Design specification for Similarity
161 13.8.4 Similarity component procedures
13.8.5 Invoking Similarity
162 13.8.6 Calling Similarity_describe
164 13.8.7 Inside Similarity_describe
165 13.8.8 Result of Similarity_describe
13.8.9 Virtual processors for Similarity
169 13.8.10 Calling Similarity_fulfill
13.8.11 Inside Similarity_fulfill
170 13.8.12 Collecting the output
13.8.13 Cleanup
171 13.9 UDjoin
13.9.1 Overview
13.9.2 Functional specification of UDjoin
13.9.3 Design specification for UDjoin
172 13.9.4 UDjoin component procedures
13.9.5 Invoking UDjoin
173 13.9.6 Calling UDjoin_describe
13.9.7 Inside UDjoin_describe
174 13.9.8 Result of UDjoin_describe
13.9.9 Virtual processors for UDjoin
13.9.10 Calling UDjoin_fulfill
175 13.9.11 Inside UDjoin_fulfill
13.9.12 Collecting the output
13.9.13 Cleanup
176 13.10 Nested PTF invocation
13.10.1 Introduction to nested PTF invocation
13.10.2 Nested PTF syntax and semantics
178 13.10.3 Nested PTF compilation
180 13.10.4 Nested PTF execution
181 13.10.5 The PTF author’s view of nested PTF invocations
BS ISO/IEC 19075-7:2021
$215.11