Utility: ul.ec

Synopsis: Unload a select set to a disk file(s) in a portable binary file format
	or load such a file into an insert statement.  BLOB support incomplete
	(unload side only and not debugged yet) to be completed in future 
	version.  CLOB support also needs to be done along with UDT, 
	collections, multisets, etc.

Author(s): Art S. Kagel & Art Taylor

Version(s) supported: 5.xx, 6.0x, 7.xx

Revision: 1.38

File(s): ul.ec

Comments:
	Revision 1.38 fixed the platform detection for HPUX systems.

	Revisions 1.36 & 1.37 fix large file support on HP platforms.

	Revision 1.35 contains some minor fixes to allow compilation on new
	HPUX/ia64 systems.

	Revision 1.34 restores the source compatibility with ESQL/C 7.xx and
	C4GL 7.xx!  The code now uses a parallel array of qualifiers to hold
	qualifiers for DATETIME and INTERVAL fields.

	Revision 1.33 just improves portability.  Seems HP places the NBO
	functions in a different header than every other UNIX.  Probably some
	sad BSD leftover.  Ahh well.

	Revisions 1.24-1.32 FINALLY fix the binary loading and unloading of
	DATETIME and INTERVAL columns!  Also swabbed the three binary fields in
	the dec_t structure on output/input so the output of DECIMAL and MONEY
	columns is portable.  Also Rev 1.31 should have fixed the problem
	compiling on AIX with newer SDK versions.  This broke ESQL 7.xx and 
	c4gl 7.xx compatibility.

	Revisions 1.17-1.23 fix a few bugs and implement a portable file
	format.  You can now unload data on LittleEndian platforms like Intel
	and reload on BigEndian platforms like Sparc, PARisc, & PowerPC.
	Disabled binary DATETIME unloading, I still cannot get this to work
	reliably and the text unload only takes one extra byte for YEAR TO
	FRACTION(5).  Also somewhere in here BLOB support was quietly completed.

Known problems:
	The compatibility mode supports an old bug in the original version and
	is only interesting for Bloomberg users needing to emulate that
	version's input/output files.  

	There is a UNIX Text Utilities filter, ul, that underlines a text stream
	so the naming of this utility is unfortunate.  Maybe bload is a better
	name.  If typing 'man ...' gets you ul's help text you need to rename
	it.

	When linking ul.ec on most System V derived UNIX systems you will need
	to include libgen.a (-lgen).  This is not true on most BSD derived UNIX
	versions such as AIX, FreeBSD, and Linux as the contents of System V's
	libgen are in libc instead on these systems.

Future:
	Maybe support for UDTs and complex types.

View