INFORMIX
DataBlade Developers Kit User's Guide
Index
Home Contents Index Master Index New Book

Index

Numerics

-9793 error 8-5

A

Access methods 2-20
Access path selection 2-19
Accessor methods. See ActiveX value objects, properties of.
ActiveX value objects
accessing custom methods 7-5
accessor methods. See ActiveX value objects, properties of.
client application developer, use by 7-3 to 7-10
client projects 6-4
common files 6-16, B-4
compiling 6-19 to 6-24
creating 6-3 to 6-34
custom methods 7-8
debugging 6-7
defining underlying opaque type 6-9
definition 6-4
designing 6-7
files to edit 6-17
generated files 6-13, 6-14, B-1 to B-5
guidelines, design 6-7
guidelines, programming 6-16
implementing 6-14 to 6-19
installation 7-4
instantiating 7-5
internal methods 6-25
opaque types 6-8
programming guidelines 6-16
properties of 6-10 to 6-12
names 6-11
referencing in Visual Basic 7-4
restrictions 6-3, 6-7, 6-8, 6-10, 6-16
server projects 6-5
source code 6-14
support methods 6-25 to 6-34
testing 6-7
Aggregates 2-17
combine function 3-16
defining in BladeSmith 3-12
final function 3-16
functions declarations in C source code 5-5
initialization function 3-15
initialization parameter 3-15
iteration function 3-16
iteration type for 3-13
name 3-14
overloading existing 3-15
properties of 3-13
return type for 3-13
state type 3-15
templates 3-13
Answers OnLine CD Intro-10
APIs, client 7-3 to 7-10
Arguments, for user-defined routines 3-26
Arrays as ActiveX properties 6-12
Assign/Destroy routines 5-30
ATL project files B-2, B-5

B

Basic Text Input/Output functions 5-21 to 5-25, 6-17
Binary File Import/Export functions 5-28 to 5-29, 6-18
Binary Send/Receive functions 5-26 to 5-27, 6-17
BladeManager 1-4, 7-4, C-1
BladePack
building an installation 6-24, 10-19
components 10-14
custom extensions 10-17
directories 10-11
distribution media, creating 10-26
files 10-11
item view 10-6
on-line help 10-5
packaging overview 10-9
prerequisite tasks 10-3
project view 10-6
registry changes 10-13
software requirements Intro-5
windows 10-6
BladeSmith
aggregates, creating 3-12
casts, creating 3-17
client files, adding 3-46
data types, creating 3-31 to 3-42, 6-9
DataBlade module objects, creating 3-11 to 3-42, 6-9
description locale 3-10
errors, creating 3-19
generated files 3-47 to 3-56, 6-13, 6-14, B-1 to B-5
interfaces, creating 3-21
item view 3-6
locale, default for 3-21
new object prefix, using 3-9
overview of 1-4
privilege, setting for objects 3-12
project view 3-6
project, creating 3-7
SQL statements, adding custom 3-44
test data, adding 3-42
test scripts 8-10
tracing macros from, identifying 5-7
user-defined routines, creating 3-22
utility functions from, identifying 5-7
utility functions generated 5-19
viewing property sheets 3-7
windows 3-5
.bld file, build file 5-36, 6-19, 6-20, 6-24, 7-4, 9-7, 10-10
BLOB data type 2-7, C-1
Blocking system calls
in DataBlade module routines 4-10
.bom file, bill of materials 10-5
Breakpoints
setting on UNIX 8-18
setting on Windows NT 9-11
B-tree access method 2-20
B-tree indexing support functions 5-33, 6-18
Building. See Compiling.

C

C code
advantages and disadvantages of using versus C++ 6-5
casting functions 5-36
comments in 5-8
compiling on UNIX 5-38
compiling on Windows NT 5-39
DataBlade API tips 4-15
definitions A-1
definitions files 5-4
error handling 5-9
generated files 5-4, A-1
global and static variables, avoiding 4-13
header files 5-4, A-1, B-4
iterator functions for 5-35
makefiles 5-4, 5-5, 5-36, 5-39, 5-41, A-1
MI_FPARAM structure in 5-8
MMX support 3-53
opaque data type support routines 5-21
overview of tasks 5-6
POSIX calls allowed 4-11
private state, tracking with MI_FPARAM 4-14
programming guidelines 4-10 to 4-14
readme files A-1
server connection handle 5-9
signals, avoiding 4-13
source files 5-4, 5-5, A-1
system and library calls, avoiding 4-10
system calls in user-defined virtual processors 4-10
thread safety 4-13
tracing in 5-9
utility functions generated 5-19
yielding 4-14
Casts 2-18
code generated for support functions 5-36
converting data types with 3-17
data type restrictions 3-17
defining in BladeSmith 3-17
explicit 3-18
function declarations in C source code 5-5
functions for 3-18
implicit 3-18
properties of 3-17
test data, adding for 3-44
test scripts for 8-10
Certification of DataBlade modules 1-12
Classes
creating for user-defined virtual processors 4-8
DkInStream 6-28 to 6-31
DkOutStream 6-32 to 6-34
trace, creating 5-14
virtual processors 4-5
Client
APIs, for use with ActiveX value objects 7-3 to 7-10
files 6-25, 7-4
adding with BladeSmith 3-46
generated B-2, B-3
projects 6-4, 6-23
CLOB data type 2-7, C-1
CLSID information 6-25, 7-4
.cmp file, components file 10-5
Collection data types
creating in BladeSmith 3-31
element type restrictions 3-32
properties 3-31
type constructors 3-32
COM (Common Object Model) 6-4
Combine function, for an aggregate 3-16
Comments
C language code, in 5-8
C++ language code, in 6-14
Common files for ActiveX value objects 6-16, B-4
Commutator function 3-30
Compare method/routine 6-18, 7-8
Comparison functions 5-32, 6-18
CompatibleType method 7-7
Compiling
ActiveX value objects 6-19 to 6-24
debugging support 5-39
debugging symbols, with 5-39
include files, setting in Visual C++ 5-40, 6-21
library files, setting in Visual C++ 5-40, 6-21
shared object files 5-38
UNIX, on 5-38
using generated makefiles 5-36, 6-19
Windows NT at the MS-DOS prompt 5-41
Windows NT, for Visual C++ 5-39
See also Makefiles.
Concat method/routine 5-34, 6-18, 7-8
Constructor. See Type constructors.
Contains method/routine 6-18, 7-8
Conventions Intro-7
syntax Intro-7
typographical Intro-6
Converting data types with casts 3-17
Cost estimates
query plans 2-19
routines 2-15, 3-30
Counting number of values in a string 5-19
CreateLvarChar method 6-32
CreateNew method 6-26
CurString method 6-28
Custom methods
accessing 7-5
reference 7-8
C++ code
advantages and disadvantages of using versus C 6-5
class files B-3, B-5
comments in 6-14
common files 6-16, B-4
compiling 6-19
files to edit 6-17
generated files 6-13, 6-14, B-1 to B-5
header files 6-27, B-2, B-3, B-4, B-5
makefiles 6-20, 6-21, 6-23
restrictions 6-3, 6-5, 6-16
source files B-3, B-4, B-5
support library 6-27 to 6-34, B-2, B-4
C++ Interface API, using with ActiveX value objects 7-6

D

Data model 2-3
Data types
ActiveX properties 6-11
BLOB 2-7, C-1
casts between 2-18, 3-17
CLOB 2-7, C-1
collection 3-31
converting with casts 3-17
creating in BladeSmith 3-31 to 3-42, 6-9
designing 2-6
gl_wchar 6-28, 6-32
LVARCHAR 2-7
opaque 2-6
POINTER 3-15
qualified 3-39
row 2-6, 3-40
DataBlade API
identifying routines and data types from 5-7
memory allocation functions 4-13
tips for using 4-15
DataBlade Developers Kit
Partners Program 1-6
software requirements Intro-5
Tutorial 1-6
DataBlade Developers Kit InfoShelf
contents Intro-9
launching Intro-9
software requirement Intro-5
DataBlade Developers Program
error code allocation Intro-11, 3-20
DataBlade module objects
adding test data for 3-42
aggregates 3-12
casts 3-17
creating 3-11 to 3-42, 6-9
data types 3-31 to 3-42
errors 3-19
generating files 3-47 to 3-56
interfaces 3-21
user-defined routines 3-22
DataBlade modules
data model 2-3
defined 1-3
designing 2-3 to 2-24
generating files 6-13
importing interfaces from 3-11
installing on UNIX 8-6
installing on Windows NT 9-5
loading into server address space 9-10
loading the shared object file 8-15
objects, defining with BladeSmith 3-11
query language interface to 2-10 to 2-14
registration script C-1
thread-safe calls in 4-10
trace class, creating for 5-14
DBDK_TRACE_ENTER() macro 5-13
DBDK_TRACE_ERROR() macro 5-12
DBDK_TRACE_EXIT() macro 5-13
DBDK_TRACE_MSG() macro 5-12
dbx utility 8-17
debugger utility 8-17
Debugging DataBlade modules
ActiveX value objects 6-7
compiling shared object file for 5-39
UNIX
attaching to the server process 8-17
breakpoints, setting 8-18
debugger utilities 8-17
installing 8-6
overview of tasks 8-14
preparing the environment 8-4
prerequisite tasks 8-3
shared object files 8-4, 8-5
shutting down the server 8-15
signal handlers, disabling 8-17
starting the debugger 8-17
starting the server 8-15
using Windows NT 8-18
virtual processor, identifying 8-16
Windows NT
attaching to the server process 9-9, 9-10, 9-11
breakpoints, setting 9-11
dynamic link library, using 9-4
installing 9-5
overview of tasks 9-8
preparing the environment 9-4
prerequisite tasks 9-3
starting the debugger 9-9, 9-11
starting the server 9-7, 9-9
stopping the server and debugger 9-11
Visual C++, using 9-10
Defining ActiveX value objects 6-9
Definitions files 5-4, B-2
delete operator 6-34
Delimiters
field 6-27
string 6-27
Dependencies, for custom SQL 3-46
Description locale, for a project 3-10
Designing DataBlade modules 2-3 to 2-24
ActiveX value objects 6-7
data types 2-6
design specification 1-8
functional specification 1-7
programming language options 1-8
Developing DataBlade modules
certifying 1-12
development plan 1-10
Informix registry, contacting 1-11
overview 1-4 to 1-12
Directory, generated file property 3-50
Distinct data types
creating in BladeSmith 3-32
name 3-33
properties 3-33
source types 3-33
Distribution media, creating 10-26
Divide method/routine 6-18, 7-9
DkClient.cpp file 6-27, B-2
DkErrorRaise method 6-15, 6-26
DkInStream class 6-28 to 6-31
DkInStream method 6-28
DkIntfImpl.h file 6-27, B-2
DkIntf.h file 6-25, 6-27, 7-4, B-2
DkIntf_i.c file 6-25, 6-27, 7-4, B-2
DkOutStream class 6-32 to 6-34
DkOutStream method 6-32
Files
.dll file, dynamic link library file 6-19, 6-24, 7-4
.dll file, dynamic link library file 6-19, 6-24, 7-4
Documentation
Answers OnLine CD Intro-10
DataBlade Developers Kit InfoShelf Intro-9
documentation notes Intro-11
Informix Developer Network Intro-8
related reading Intro-8
release notes Intro-11
Dynamic link library
loading into server address space 9-10
permissions on 9-5
replacing in the server 9-5
using 9-4

E

Environment variables
INFORMIXDIR 6-19, 8-4
INFORMIXSERVER 8-4
LD_LIBRARY_PATH 8-4
ONCONFIG 8-4
PATH 8-4
TARGET 5-38, 6-20, 8-4
TESTDB 8-4
Equal method 6-18
Equal method/routine 6-18, 7-7, 7-9
Equal routine 6-18
Errors
-9793 error 8-5
adding 5-11
allocation of error codes Intro-11, 1-11, 3-20
and SQLSTATE standard 1-11
C language generated code, in 5-9
codes for 3-20
DBDK_TRACE_ERROR() macro 5-12
defining in BladeSmith 3-19
internationalization of 3-21
locale for 3-21
parameters in 3-21
properties of 3-20
raising 5-12
SQL error text 3-21
standard messages 5-17
ESQL/C
ActiveX value objects, using with 7-5
identifying routines and data types from 5-7
Estimates
query plans 2-19
routines 2-15
Expensive routines 2-15
Explicit casts 3-18
ExportBinary routine 6-18
ExportText routine 6-17

F

Field delimiters 6-27
Files
ATL project B-2, B-5
BladePack 10-11
.bld file, build file 5-36, 6-19, 6-20, 6-24, 7-4, 9-7, 10-10
.bom file, bill of materials 10-5
client 3-46, 6-25, 7-4
.cmp file, components file 10-5
common files for ActiveX value objects 6-16, B-4
C++ class B-3, B-5
definitions 5-4, A-1, B-2
directory structure 3-49
DkClient.cpp 6-27, B-2
DkIntfImpl.h 6-27, B-2
DkIntf.h 6-25, 6-27, 7-4, B-2
DkIntf_i.c 6-25, 6-27, 7-4, B-2
functional test directory 8-10
generated source 3-53, 5-4, 6-14, A-1, B-1 to B-5
header 5-4, 6-27, A-1, B-2, B-3, B-4, B-5
IDL (interface definitions language) B-2
installation package 3-55, 6-25, 7-4
makefiles 5-4, 5-5, 5-36, 5-39, 5-41, 6-19, 6-20, 6-21, 6-23, A-1, B-2, B-5
merging changes to generated files 3-55
.prd file, product file 10-5
readme 5-4, A-1
reference, initializing for testing 8-14
regenerating 3-55
registration B-3
resource B-3
Resource.h B-3
sapi.lib 5-39
shared object 8-4, 8-5
source code 5-4, 5-5, A-1, B-3, B-4
source files B-5
StdAfx.cpp B-3
StdAfx.h B-3
StdDbdk.cpp 6-27, B-4
StdDbdk.h 6-27, B-4
support.c 5-5, A-1
trace file location 5-10
udr.c 5-5, A-1
Final function, for an aggregate 3-16
Fixed size opaque data types 3-36
Format, generated file property 3-50
free routine 4-13, 6-34
FromPrintable method 7-7
FromString method/routine 6-17, 7-9
Functional specification, role of 1-7
Functional tests
custom tests, adding 8-12
directory 8-10
executing 8-13
generating files 3-54
initializing reference files 8-14
overview 8-8

G

Generate DataBlade dialog box 3-47
Generated files
C code, described 5-4, A-1
C++ code, described B-1 to B-5
directory saved in 3-50, 6-13, A-1, B-1
file structure of 3-49
format of 3-50
installation package files 3-55
logging 3-50
merging, setting 3-50
MMX support 3-50
objects.sql script 3-52
options for 3-49
packaging 10-5
prepare.sql script 3-52
properties of 3-50
setting properties 3-49
tracing 3-50
Generating
ActiveX value objects 6-13
all files 3-51
files with BladeSmith 3-47 to 3-56
SQL scripts 3-51
test files 3-54
Gen_IsMMXMachine() utility function 5-19, 5-20
Gen_LoadLOFromFile() utility function 5-19, 5-27, 5-29
Gen_nstrwords() utility function 5-19
Gen_sscanf() utility function 5-19, 5-20, 5-23
Gen_StoreLOToFile() utility function 5-19, 5-29
Gen_Trace() utility function 5-11, 5-19
GetBuffer method 6-32
GetData method 6-26
GetDataC method 7-6
GetDataCpp method 7-6
Global variables, avoiding 4-13
GLS
identifying routines from API 5-7
locale 3-10, 3-21
gl_dprintf() function 5-11
gl_wchar data type 6-28, 6-32
GreaterThan method/routine 6-18, 7-9
GreaterThanOrEqual method/routine 6-18, 7-9
Grouping 2-17

H

Hash routine 5-34, 6-19
Header files 5-4, 6-27, A-1, B-2, B-3, B-4, B-5

I

Icon conventions Intro-7
icons Intro-7
IDispatch interface 7-6, 7-8
IDL (interface definitions language) files B-2
IID information 6-25, 7-4
Implementing ActiveX value objects 6-14 to 6-19
Implicit casts 3-18
ImportBinary routine 6-18
Importing
interfaces 3-11
SQL statements 3-46
ImportText routine 6-17
Include files, setting in Visual C++ 5-40, 6-21
Informix DataBlade Developers Program Intro-11
Informix Dynamic Server
architecture 4-3 to 4-9
connection handle 5-9
dynamic link library, replacing 9-5
loading a dynamic link library 9-10
loading a shared object file 8-15
operating system signals 4-13
preparing the environment 8-4
process ID 8-16
query processing 2-14 to 2-21
shared object files 8-5
shutting down on UNIX 8-15
starting on UNIX 8-15
starting on Windows NT 9-7, 9-9
stopping with the debugger on Windows NT 9-11
thread safety 4-13
tracing, enabling for a session 5-16
virtual processors 4-4
informix user
owner of shared object files 8-5
Informix-Admin group 5-39, 6-21, 9-6
INFORMIXDIR environment variable 6-19, 8-4
INFORMIXSERVER environment variable 8-4
Inheritance, row data type 3-42
Initialization of an aggregate 3-15
Installation
ActiveX value objects 7-4
customizing screen display text 10-22
directory 10-5
package files 3-55, 6-25, 7-4
package, building with BladePack 6-24, 10-10
Instantiating ActiveX value objects 7-5
Intel MMX technology support 3-50, 3-53, 5-20
Inter method/routine 6-18, 7-9
Interfaces 2-22
defining in BladeSmith 3-21
IDispatch 7-6
importing from other DataBlade modules 3-11
IRawObjectAccess 7-5
ITDkValue 7-6
properties of 3-22
Internal routines 3-24
Internal structure of opaque data types 3-36, 6-10
Internationalization, error messages 3-21
Interoperability 2-21 to 2-24
IRawObjectAccess custom interface 7-5
IsDirty method 6-26
IsNull method 6-19, 7-7, 7-9
IsUpdated method 7-7
ITDkValue custom interface 7-6
Iteration, aggregate 3-13, 3-16
Iterator routines 3-24, 5-35
ITMVDesc structure 7-6
ITValue interface 7-6

L

Large objects
defined 2-7, C-1
loading from a file 5-19
LOhandles function 5-31
writing to a file 5-19
LD_LIBRARY_PATH environment variable 8-4
LessThan method/routine 6-18, 7-7, 7-9
LessThanOrEqual method/routine 6-18, 7-9
Level, for tracing 5-13
Library
C++ support 6-27 to 6-34, B-2, B-4
library calls, avoiding 4-10
library files, setting in Visual C++ 5-40, 6-21
sapi.lib file 5-39
LIST, type constructor 3-32
Loading shared object in the server address space 8-15
LOB Locator DataBlade module 2-8
Locale
setting for tracing 5-17
SQL scripts 3-52
Logging, generated file property 3-50
LOhandles function 5-31
LVARCHAR data type 2-7

M

main.sh script 8-13
make command 5-39
Makefiles 5-4, 5-5, 5-36, 5-39, 5-41, 6-19, 6-20, 6-21, 6-23, A-1, B-2, B-5
See also Compiling.
malloc routine 4-6, 4-13, 6-34
Match method 6-28
Mathematic functions 5-34, 6-18
Maximum size of opaque data types 3-37
Members of opaque data types 3-36, 6-10
Memory
alignment of opaque data types 3-37
allocating in generated code 5-23
management routines 6-34
Merging
changes to source code files 3-55
generated file property 3-50
Methods
accessing custom 7-5
ActiveX internal 6-25
Compare 6-18, 7-8
CompatibleType 7-7
Concat 6-18, 7-8
Contains 6-18, 7-8
CreateLvarChar 6-32
CreateNew 6-26
CurString 6-28
custom, for ActiveX value objects 7-8
C++ support 6-25 to 6-34
Divide 6-18, 7-9
DkErrorRaise 6-15, 6-26
DkInStream 6-28
DkOutStream 6-32
Equal 6-18, 7-7, 7-9
FromPrintable 7-7
FromString 6-17, 7-9
GetBuffer 6-32
GetData 6-26
GetDataC 7-6
GetDataCpp 7-6
GreaterThan 6-18, 7-9
GreaterThanOrEqual 6-18, 7-9
Inter 6-18, 7-9
IsDirty 6-26
IsNull 6-19, 7-7, 7-9
IsUpdated 7-7
LessThan 6-18, 7-7, 7-9
LessThanOrEqual 6-18, 7-9
Match 6-28
Minus 6-18
minus 7-9
Negate 6-18, 7-9
NotEqual 6-18, 7-10
Overlap 6-18, 7-10
Plus 6-18, 7-10
Positive 6-18, 7-10
Printable 7-7
RawCopy 6-26
ReadBoolean 6-29
ReadChar 6-29
ReadDate 6-29
ReadDateTime 6-29
ReadDecimal 6-29
ReadDoublePrecision 6-29
ReadGLWChar 6-29
ReadGLWString 6-30
ReadInt1 6-30
ReadInt8 6-30
ReadInteger 6-30
ReadInterval 6-30
ReadMoney 6-30
ReadReal 6-30
ReadSmallInt 6-30, 6-31
ReadString 6-30
ReadUChar1 6-30
ReadUInt8 6-30
ReadUInteger 6-31
ReadWChar 6-31
ReadWString 6-31
Rewind operator 6-29
routine 6-18
SameType 7-7
SetClean 6-26
SetData 6-26
SetDataC 7-6
SetDataCpp 7-6
SetDirty 6-26
SetFieldDelimiters 6-31
SetNotNull 6-26
SetNull 7-7
SetNullFlag 6-19, 7-10
SetStringDelimiters 6-31, 6-32
Size 6-18, 7-10
Skip 6-31
Skip operator 6-29
SkipBlanks 6-31
SkipDelimiters 6-31
Times 6-18, 7-10
ToString 6-17, 7-10
TypeOf 7-7
Union 6-18, 7-10
Within 6-18, 7-10
WriteBoolean 6-32
WriteChar 6-32
WriteDate 6-32
WriteDateTime 6-32
WriteDecimal 6-32
WriteDoublePrecision 6-32
WriteGLWChar 6-33
WriteGLWString 6-33
WriteInt1 6-33
WriteInt8 6-33
WriteInteger 6-33
WriteInterval 6-33
WriteLiteral 6-33
WriteMoney 6-33
WriteReal 6-33
WriteSmallInt 6-33
WriteString 6-33
WriteUChar1 6-33
WriteUInt8 6-34
WriteUInteger 6-34
WriteUSmallInt 6-34
WriteWChar 6-34
WriteWString 6-34
See also Routines.
Microsoft
COM 6-4
Developer Studio. See Visual C++.
ODBC API, using with ActiveX value objects 7-5
Minus method/routine 6-18, 7-9
mi_alloc() function 4-13, 6-34
mi_bitvarying pointer 5-29
mi_close() function 5-9
mi_dalloc() function 4-14
mi_db_error_raise() function 5-11, 6-26
MI_FPARAM
private state, tracking with MI_FPARAM 4-14
structure 5-8
MI_FP_REQUEST() macro 5-35
mi_free() function 4-13
mi_get_double_precision() function 5-27
mi_impexp data type 5-27, 5-28
mi_lo_decrefcount() function 5-30
MI_LO_HANDLES structure 5-31
mi_lo_increfcount() function 5-30
mi_lo_validate() function 5-30, 5-31
mi_new_var() function 5-25, 5-28
mi_open() function 5-9
mi_put_double_precision() function 5-26
mi_sendrecv data type 5-26
mi_sendrecv pointer 5-26
mi_tracefile_set() function 5-15
mi_tracelevel_set() function 5-15
mi_yield() function 4-6, 4-14
MMX. See Intel MMX technology support.
Modal routines 2-24
More Mathematic Operators 5-34, 6-18
MS-DOS
C language makefile for 5-5, 5-41
C++ language makefile for 6-21, 6-23
MULTISET, type constructor 3-32

N

Named row data types 3-41
Names of ActiveX properties 6-11
Naming routines 2-23
Negate method/routine 6-18, 7-9
Negator function 3-30
New object prefix 3-9
new operator 6-34
Nonvariant functions 3-27
nonyielding class 4-9
Nonyielding user-defined virtual processor class 4-7
NotEqual method/routine 6-18, 7-10
Number of arguments in routines 2-24

O

Object persistence 6-5, 7-5
Object prefix 1-11
objects.sql generated script 3-52
ONCONFIG environment variable 8-4
oninit server process 9-11
On-line help
BladePack 10-5
BladeSmith 3-56
Opaque data types 2-6
accessor methods 3-34, 6-10
client implementation language 3-34
creating in BladeSmith 3-33, 6-9
defining for ActiveX 6-9
external representation of 5-22
fixed size 3-36, 6-8
internal structure of 3-36, 6-8, 6-10
maximum allocated length 3-37
members 3-36, 6-10
memory alignment 3-37
name 3-34
properties 3-34
routines for ActiveX custom methods 6-8
rules for ActiveX use 6-8
server implementation language 3-34, 6-5
support routines for 3-38, 5-21, 6-10, 6-17
test data, adding for 3-43
test scripts for 8-10
variable size 3-36
Operating system signals 4-13
Operator class 2-20
Optimizing user-defined routines 3-30
Orthogonality 2-22
OUT parameter 3-27
Overlap method/routine 6-18, 7-10
Overloading
aggregates 3-15
user-defined routines 3-26

P

Packaging a DataBlade module with BladePack 10-9
Parallel database query 3-28
Parallelizable routines 3-28
Parameters in error messages 3-21
PATH environment variable 8-4
Permissions
dynamic link library, on 9-5
shared object files, on 8-5
Persistence 6-5, 7-5
Plus method/routine 6-18, 7-10
Pnt user-defined data type 5-22
POINTER data type 3-15
Polymorphism 2-23
Positive method/routine 6-18, 7-10
POSIX calls, allowed 4-11
.prd file, product file 10-5
Predicate, in SQL statement 2-12, 2-14
prepare.sql generated script 3-52
Printable method 7-7
Privileges, setting for objects 3-12
Process ID, for virtual processors 8-16
Programming
C language code 5-3 to 5-36
DataBlade API tips 4-15
guidelines 4-10 to 4-14, 6-16
Projects
client 6-4, 6-23
creating in BladeSmith 3-7
properties of in BladeSmith 3-8
server 6-5, 6-19
version numbers 3-10
Properties
ActiveX value objects 6-10 to 6-12
aggregates, of 3-13
casts, of 3-17
collection data types 3-31
distinct data types, of 3-33
errors, of 3-20
generated files, of 3-50
interfaces, of 3-22
opaque data types, of 3-34
row data types 3-41
SQL, custom statements 3-45
trace messages, of 3-20
user-defined routines, of 3-23
Property sheet, for BladeSmith object 3-7

Q

Qualification, in SQL statement 2-12
Qualified data types
defining in BladeSmith 3-39
Query
language interface 2-10 to 2-14
optimizer 2-19
plans 2-19
processing 2-14 to 2-21
Query plans 2-19
QueryInterface routine 7-6

R

RawCopy method 6-26
ReadBoolean method 6-29
ReadChar method 6-29
ReadDate method 6-29
ReadDateTime method 6-29
ReadDecimal method 6-29
ReadDoublePrecision method 6-29
ReadGLWChar method 6-29
ReadGLWString method 6-30
Reading an input string 5-20, 6-28
ReadInt1 method 6-30
ReadInt8 method 6-30
ReadInteger method 6-30
ReadInterval method 6-30
Readme files 5-4, A-1
ReadMoney method 6-30
ReadReal method 6-30
ReadSmallInt method 6-30
ReadString method 6-30
ReadUChar1 method 6-30
ReadUInt8 method 6-30
ReadUInteger method 6-31
ReadUSmallInt method 6-31
ReadWChar method 6-31
ReadWString method 6-31
Receive routine 6-17
Reference files, initializing for testing 8-14
Referencing ActiveX value objects 7-4
Regenerating files 3-55
Registration B-3, C-1
Release notes Intro-11
Resource.h file B-3
Return types
aggregate, for 3-13
user-defined routines, for 3-23
Rewind operator 6-29
Routines
Compare 6-18
Concat 5-34, 6-18
Contains 6-18
defining with BladeSmith 3-22
delete operator 6-34
Divide 6-18
Equal 6-18
ExportBinary 6-18
ExportText 6-17
free 4-13, 6-34
FromString 6-17
GreaterThan 6-18
GreaterThanOrEqual 6-18
Hash 5-34, 6-19
ImportBinary 6-18
ImportText 6-17
Inter 6-18
LessThan 6-18
LessThanOrEqual 6-18
malloc 4-6, 4-13, 6-34
memory management 6-34
Minus 6-18
Negate 6-18
new operator 6-34
NotEqual 6-18
Overlap 6-18
Plus 6-18
Positive 6-18
QueryInterface 7-6
Receive 6-17
Send 6-17
Size 6-18
SYSBldTstSBSpace C-1
Times 6-18
ToString 6-17
Union 6-18
Within 6-18
See also Methods.
See also User-defined routines.
Row data types 2-6
defining in BladeSmith 3-40
fields, data type restrictions 3-42
inheritance 3-42
named 3-41
properties 3-41
unnamed 3-41
R-tree access method 2-20
R-tree indexing support functions 5-33, 6-18

S

SameType method 7-7
sapi.lib library file 5-39
Sbspace 2-8, C-1
Scanning an input string 5-20, 6-28
scripts directory
contents 3-51
Secondary access methods 2-20
Selectivity routine 3-30
Send routine 6-17
Server projects 6-5, 6-19
generated files B-5
UNIX 6-20
Windows NT 6-21
SetClean method 6-26
SetData method 6-26
SetDataC method 7-6
SetDataCpp method 7-6
SetDirty method 6-26
SetFieldDelimiters method 6-31
SetNotNull method 6-26
SetNull method 7-7
SetNullFlag method 6-19, 7-10
SetStringDelimiters method 6-31, 6-32
SET, type constructor 3-32
Shared memory, used by virtual processors 4-6
Shared object files
compiling 5-38
compiling with debugging support 5-39
loading into server address space 8-15
ownership of 8-5
path, designating in BladeSmith 3-24
permissions on 8-5
replacing 8-5
unresolved symbols in 8-5
using 8-4
Size method/routine 6-18, 7-10
Skip backwards operator 6-29
Skip method 6-31
Skip operator 6-29
SkipBlanks method 6-31
SkipDelimiters method 6-31
Smart large objects. See Large objects.
Software requirements Intro-5
Sorting 2-16
Source code files. See Files.
Source type, for distinct data type 3-33
SPL, in user-defined routines 3-23
sprintf() function 5-25
SQL
custom statements 3-44, 3-45, 3-46, 3-52
errors 3-20, 3-21
generating 3-51
grouping 2-17
importing custom statements from a file 3-46
predicate 2-12, 2-14
privileges, setting 3-12
sorting rows 2-16
target list 2-11
test scripts 8-10
transaction semantics 2-21
user-defined routines in a WHERE clause 2-12
SQLSTATE, and error messages 1-11
sscanf() function 5-22
Stack size 3-29
State type, for an aggregate 3-15
Statement Local Variable (SLV) 3-27
Static variables, avoiding 4-13
StdAfx.cpp file B-3
StdAfx.h file B-3
StdDbdk.cpp file 6-27, B-4
StdDbdk.h file 6-27, B-4
Stored Procedure Language 3-3
Strings
.str file, strings file 10-5
counting number of values in 5-19
delimiters 6-27
reading 5-20, 6-28
writing 6-32
Support
C++ library 6-27 to 6-34, B-2, B-4
methods 6-25 to 6-34
routines, defining in BladeSmith 3-38, 6-10
support.c file 5-5, A-1
Symbols
unresolved when compiling on UNIX 5-38
Syntax conventions Intro-7
sysbldobjects system table 3-52
SYSBldTstSBSpace routine C-1
syserrors system catalog 5-13, 5-17
System calls
avoiding 4-10
user-defined virtual processor, using in 4-10
systraceclasses system catalog 5-13, 5-14
systracemsgs system catalog 5-17

T

TARGET environment variable 5-38, 6-20, 8-4
Target list 2-11
TESTDB environment variable 8-4
Testing DataBlade modules
ActiveX value objects 6-7
adding test data 3-42
custom tests, adding 8-12
directory 8-10
executing scripts 8-13
functional test overview 8-8
initializing reference files 8-14
SQL scripts 8-10
UNIX
installing 8-6
overview of tasks 8-7
preparing the environment 8-4
prerequisite tasks 8-3
shared object files 8-4, 8-5
Windows NT
dynamic link library, using 9-4
installing 9-5
overview of tasks 9-7
preparing the environment 9-4
prerequisite tasks 9-3
Text File Import/Export functions 5-27 to 5-28, 6-17
Text Input/Output functions 5-21 to 5-25, 6-17
Threads
managed by virtual processors 4-6
safety 4-13
Times method/routine 6-18, 7-10
ToString method/routine 6-17, 7-10
TraceSet_project procedure 5-15
Tracing
adding 5-11
C language generated code, in 5-9
classes, creating 5-14
codes for messages 3-20
conditions for 5-10
DBDK_TRACE_ENTER() macro 5-13
DBDK_TRACE_EXIT() macro 5-13
DBDK_TRACE_MSG() macro, using 5-12
default trace file location 5-10
defining messages in BladeSmith 3-19
embedded parameters 5-11
enabling 5-14, 5-16
generated file property 3-50
internationalization of messages 3-21
level for 5-13
locale for messages 3-21
locale, setting 5-17
message properties 3-20
output file, setting 5-17
SQL error text 3-21
threshold, setting 5-17
TraceSet_project procedure, creating 5-15
Transaction semantics 2-21
Type Compare Support functions 5-32, 6-18
Type Concatenation Operator 5-34, 6-18
Type constructors 3-32
Type Hash Support function 5-34, 6-19
Type Mathematic Operators 5-34, 6-18
TypeOf method 7-7
Typographical conventions Intro-6

U

udr.c file 5-5, A-1
Union method/routine 6-18, 7-10
UNIX
compiling on 5-38, 6-20
dbx utility 8-17
debugger utility 8-17
installing DataBlade modules 8-6
makefiles 5-4, 5-5, 5-38, 6-20, A-1
server projects 6-20
shared object files 8-4
unresolved symbols when compiling 5-38
UNIX.mak file 5-4, 5-5, 5-38, A-1
Unnamed row data types 3-41
Unresolved symbols
in shared object files 8-5
UNIX 5-38
User-defined routines
argument restrictions 3-26
behavior 3-29
C language name 3-28
code generated for 5-35
cost of 3-30
defining in BladeSmith 3-22
functions declarations in C source code 5-5
implemented in server or client 2-11
in DataBlade module design 2-14
internal 3-24
iterators 3-24
language for 3-23
MI_FPARAM structure, using 5-8
modal 2-24
naming 2-23, 3-26
nonvariant 3-27
null value handling 3-23
number of arguments 2-24
optimizing with related routines 3-30
OUT parameters, using 3-27
overloading existing 3-26
parallelizable 3-28
poorly behaved 4-7
properties of 3-23
return type for 3-23
shared object file path 3-24
stack size requirement 3-29
Statement Local Variables, using 3-27
test data, adding for 3-43
test scripts for 8-10
used in SQL statements 2-11
user-defined virtual processor, assigning to 3-29
variant 3-27
virtual processor class name 3-29
yielding 4-14
User-defined virtual processors
class name 3-29
creating a class for 4-8
defined 4-7
instances, setting number of 4-9
nonyielding class 4-7
noyield option 4-9
routines, assigning to 3-29
system calls, using 4-10
See also Virtual processors.
Utility functions
Gen_IsMMXMachine() 5-19, 5-20
Gen_LoadLOFromFile() 5-19, 5-27, 5-29
Gen_nstrwords() 5-19
Gen_sscanf() 5-19, 5-20, 5-23
Gen_StoreLOToFile() 5-19, 5-29
Gen_Trace() 5-11, 5-19

V

Value objects. See ActiveX value objects.
Variable size opaque data types 3-36
Variant functions 3-27
Version numbers, for a project 3-10
Virtual processors
classes 4-5
definition 4-4
identifying for debugging 8-16
managing threads 4-6
process ID 8-16
shared memory 4-6
yielding threads 4-6
See also User-defined virtual processors.
Visual C++
attaching to the server process 9-10
breakpoints, setting 9-11
compiling with 5-39, 6-21, 6-23
include files, setting 5-40, 6-21
library files, setting 5-40, 6-21
running the debugger 9-10
stopping the server and debugger 9-11

W

Windows NT
C language makefile for MS-DOS 5-5, 5-41
C language makefile for Visual C++ 5-5
compiling at the MS-DOS prompt 5-41
compiling with Visual C++ 5-39, 6-21, 6-23
C++ language makefile for MS-DOS 6-21, 6-23
debugging UNIX DataBlade modules 8-18
makefiles 5-5, 5-41, 6-21, 6-23
server process 9-11
server projects 6-21
WinNT.mak file 5-4, 5-5, 5-39, 5-41, A-1
Within method/routine 6-18, 7-10
WriteBoolean method 6-32
WriteChar method 6-32
WriteDate method 6-32
WriteDateTime method 6-32
WriteDecimal method 6-32
WriteDoublePrecision method 6-32
WriteGLWChar method 6-33
WriteGLWString method 6-33
WriteInt1 method 6-33
WriteInt8 method 6-33
WriteInteger method 6-33
WriteInterval method 6-33
WriteLiteral method 6-33
WriteMoney method 6-33
WriteReal method 6-33
WriteSmallInt method 6-33
WriteString method 6-33
WriteUChar1 method 6-33
WriteUInt8 method 6-34
WriteUInteger method 6-34
WriteUSmallInt method 6-34
WriteWChar method 6-34
WriteWString method 6-34
Writing an output string 6-32

Y

Yielding
user-defined routines 4-14
virtual processor threads 4-6



DataBlade Developers Kit User's Guide, version 3.6
Copyright © 1998, Informix Software, Inc. All rights reserved.