 |
 |
Archives of the TeradataForum
Message Posted: Tue, 14 Dec 1999 @ 20:21:24 GMT
| Subj: | | Re: Return char data longer than 254? |
| |
| From: | | Bob Hahn |
The cast/concatenate approach is good sometimes--BTEQ character handling uses field mode which has a fair amount of overhead plus
the current 254 and 2GB limits. In a way, this is letting Teradata do more of the work at the cost of increased complexity in the
SQL. Leveraging Access/Excel/MSQuery/SQL Server/MSDE/ADO etc. is good too when practical.
In the next release, TUF6.0 2Q2000, we plan to add 'Access Module' support to BTEQ. What's that? Sort-of like Inmods/Outmods but
more powerful. We changed the utilities (Fastload, Multiload, TPump, FsatExport, and ARC) last year to encapsulate the details of
I/O in Access Modules. The utilities now stream data through the Access Module API which supports abstract data stream functions
like Open, Close, Read, Write, Checkpoint. We created Access Modules for Disk and Tape on MVS, VM, MP-RAS, NT, and Solaris. For NT,
we offer an "OLE-DB Consumer" Access Module that enables the load utiliies to fire SQL at any OLE-DB Provider and flow the resulting
rowset through the utilities. Also in TUF6.0 we will have a Nmed Pipes Access Module.
The API is documented, enabling PS, customers, 3rd parties to write custom Access Modules similarly to the historical use of
Inmods/Outmods. For example, "Open Tape Backup" integration with Veritas was accomplished via Veritas writing an Access Module for
ARC that effectively functions as a backup agent. We are now in concept on an XML Access Module to enable XML/relational
mapping.
Once BTEQ has Access Module support, it can use any of these, as well as support custom access modules. Thus issues like the 2G
limit, custom results 'rendering' (csv, xml) are addressed without changing BTEQ.
As Paral-X rolls out, the I/O modules become Read/Write Operators. A key difference is they are also passed metadata describing
the rowset. We will provide inmod and Access Module adapters so existing inmods/Access Modules can be used without change. Again,
the intent is to provide an open API and a set of productized modules--future ideas must be prioritized, but we're thinking about
ODBC, XML, Message Queue (MSMQ, MQSeries), native Oracle/IFX/etc. Customers and PS can write custom Access Modules/Read Operators
with a head start from templates that will be made available. In-stream transformation can be done in 'Filter Operators' that
receive and output both data and metadata describing the input/output rowset. Documentation with more detail is targeted for early
next year.
| |