Download Latest Version tpc-c-ifmx.tar.gz (392.7 kB)
Email in envelope

Get an email when there's a new version of IIUG Software Repository

Home / StoredProcedures / ESQL / utils2_ak
Name Modified Size InfoDownloads / Week
Parent folder
dostats_ng.ec 2021-01-01 177.0 kB
drive_dostats 2021-01-01 6.7 kB
esql.aix.gcc 2021-01-01 25.9 kB
getopt.c 2021-01-01 22.8 kB
getopt.h 2021-01-01 4.9 kB
listdb5.ec 2021-01-01 1.7 kB
listdb7.ec 2021-01-01 23.2 kB
mydbdiff 2021-01-01 3.7 kB
myschema.README 2021-01-01 4.6 kB
myschema.source.ar 2021-01-01 722.5 kB
printfreeB.ec 2021-01-01 18.7 kB
sqlstruct.ec 2021-01-01 21.6 kB
ul.ec 2021-01-01 68.1 kB
BUILDING 2021-01-01 8.5 kB
dbcopy.ec 2021-01-01 73.4 kB
dbdelete.ec 2021-01-01 36.4 kB
dbmove.ec 2021-01-01 35.4 kB
dbping.ec 2021-01-01 5.5 kB
dbsavail.ec 2021-01-01 31.0 kB
dbscript.ec 2021-01-01 22.8 kB
dbstruct.ec 2021-01-01 37.6 kB
dostats.ec 2021-01-01 182.2 kB
Makefile 2021-01-01 5.6 kB
Makefile.nognumake 2021-01-01 5.4 kB
README.1st 2021-01-01 63.6 kB
utils2_ak_license.pdf 2020-05-11 17.9 kB
Totals: 26 Items   1.6 MB 0
Note that the makefiles now take advantage of at least some GNU make features
and so if your make utility is not GNU Make compatible you'll have to get GNU
Make from the Free Software Foundation site (www.fsf.org).  This was
unavoidable in order to provide a simple path to compiling with C4GL.

Note that the source archive, myschema.source.ar, is a System V 'ar' archive.
If you have a version of UNIX based on BSD (notably AIX and most DEC/Alpha
UNIXes) instead you will need to get either GNU ar which is System V compatible
or my own portable ar utility ar2.  Ar2 can read and write source archives in
both BSD and System V format as well as a third format I devised which is
itself portable (ie can be extracted by either ar version but with long name
truncation).  Ar2 cannot handle the symbol table needed to create or maintain
object libraries (lib*.a files) but its output can have a symbol table added by
ranlib or "ar -s" (as appropriate to your system).  Anyway ar2 is available
from the IIUG Software Repository in the package "ar2".

There are two makefiles included.  If you wish to use RCS to track the change
history in myschema (useful in case I mess up a release and you wish to back
changes out) then use myschema.mk and 'make -f myschema.mk rcsinit' to
accomplish an initial checkin.  When installing future releases you can run
'make -f myschema.mk rcsupdate' to install changes.  If you do not wish use RCS
then use myschema.mk.norcs.  

If you are using c4gl instead of esql to compile edit the makefile of choice
and substitute the correct definitions of ESQL.  If your compiler does not
support the GNU optimization option -O3 edit the CDFLAGS variable as
appropriate.
 
If you are using ESQL 7.xx or earlier to compile you will need to #define
NOINT8 to eliminate data types and coding conventions not recognized by those
compiler versions.  There is a commented out ECFLAGS line in the makefiles that
includes the -EDNOINT8=1 directive to define this for you.  Just comment out
the line with the default ECFLAGS definition and uncomment the -EDNOINT8 line.
This will also eliminate the problems with ANSI style parameter definitions.
Users of C4GL have a similar problem, but the makefiles will automatically
compile correctly when you change the make macro ESQL to 'c4gl'.

The recently added use of the 7.3x+ CASE clause in a SELECT statement is now
controlled by detecting the version of the engine myschema is connected to at
runtime and older less efficient syntax employing a temp table is used for
engine versions that do not support CASE in SELECT.

If you are running on Solaris and using a 64bit version of IDS you need to
include -xarch=v9 in the CDFLAGS and FDFLAGS in the makefile to be able to use
shared memory connections.  There are sample lines.

If you are running on AIX you will need to expand the memory available to the
compiler's optimizer with -qmaxmem=16384 to successfully optimize several
modules.  I have tested optimizations -O2, -O3, -O4, and -O5 (4 & 5 with ipa
included in the link command using LDFLAGS=-qipa or LDFLAGS=-qipa=level=5) and
all are safe.  However, I have detected no significant gain from higher
optimization levels on this platform and I have experienced problems with
-O3/4/5 in other apps so -O2 is probably fine.  A sample CDFLAGS line is
included in the makefiles.

If you are running on HPUX, for myschema.ec only, -Onolimit is required for the
optimizer to function.  A sample CDFLAGS definition is provided.  There should
be no harm in compiling all modules with -Onolimit but the compiles may be
slower.  Also if you are trying to create a 64bit executable do not forget to
set +DD64 in the CFLAGS.  A sample line is provided in the makfiles.

IMPORTANT notes on myschema -versus- dbschema:

Dbexport and dbschema DO NOT generate the required ALTER TABLE statements
needed to replicate your table structure if you have altered tables which were
created OF TYPE.  Dbexport and dbschema also DO NOT generate CREATE AGGREGATE
statements needed to recreate your database's user defined aggregates.  For
these reasons you MUST use myschema with -l to replace the dbexport generated
schema, or use myexport instead of dbexport, otherwise the imported database
will not match the original!

Dbschema does not correctly output indexes containing functional keys specified
as DESC in versions at least through 9.40UC2.  Myschema now correctly handles
this condition.

File Version: $Header: /home/kagel/utils/myschema.d/RCS/myschema.README,v 1.22 2004/08/16 14:19:53 kagel Exp $
Source: myschema.README, updated 2021-01-01