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 / DBAdmin-Tools / utils2_ak / myschema.d
Name Modified Size InfoDownloads / Week
Parent folder
usage.c 2019-03-04 30.0 kB
return_coltypes.ec 2019-03-04 10.1 kB
return_extended.ec 2019-03-04 6.1 kB
tokens.c 2019-03-04 3.7 kB
tokens.h 2019-03-04 1.3 kB
print_views.ec 2019-03-04 15.5 kB
print_violations.ec 2019-03-04 3.5 kB
prototypes.h 2019-03-04 4.1 kB
print_sequences.ec 2019-03-04 10.4 kB
print_synonyms.ec 2019-03-04 6.4 kB
print_triggers.ec 2019-03-04 8.7 kB
print_types.ec 2019-03-04 20.7 kB
print_userauths.ec 2019-03-04 11.2 kB
print_procedures.ec 2019-03-04 28.2 kB
print_puts.ec 2019-03-04 4.6 kB
print_seconstraints.ec 2019-03-04 20.9 kB
print_seindexes.ec 2019-03-04 7.9 kB
print_index_rename.ec 2019-03-04 4.0 kB
print_indexes.ec 2019-03-04 46.1 kB
print_infrastructure.ec 2019-03-04 21.5 kB
print_opclasses.ec 2019-03-04 4.0 kB
print_defaults.ec 2019-03-04 7.1 kB
print_directives.ec 2019-03-04 3.3 kB
print_distributions.ec 2019-03-04 6.3 kB
print_external.ec 2019-03-04 7.6 kB
print_auths.ec 2019-03-04 16.9 kB
print_casts.ec 2019-03-04 11.5 kB
print_coltype.ec 2019-03-04 18.9 kB
print_constraints.ec 2019-03-04 43.1 kB
myschema.mk.norcs.nognumake 2019-03-04 7.3 kB
myschema.README 2019-03-04 5.9 kB
obtainidxsize.ec 2019-03-04 4.8 kB
print_aggregates.ec 2019-03-04 5.6 kB
print_alters.ec 2019-03-04 6.5 kB
print_ams.ec 2019-03-04 15.6 kB
myschema.h 2019-03-04 9.7 kB
myschema.mk 2019-03-04 9.0 kB
myschema.mk.norcs 2019-03-04 7.5 kB
myschema.ec 2019-03-04 142.0 kB
myschema.eh 2019-03-04 17.2 kB
format_triggers.ec 2019-03-04 14.8 kB
getopt.c 2019-03-04 22.1 kB
getopt.h 2019-03-04 4.7 kB
getsysdata.ec 2019-03-04 16.2 kB
cleancat.c 2019-03-04 4.1 kB
Totals: 45 Items   676.4 kB 1
 
                               Myschema.README

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 as well as older versions of HPUX) 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 file 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 GCC optimization option -O3 (or you don't trust it in your
environment) edit the CDFLAGS variable as appropriate.
 
If your server version is earlier than 11.70, you will have to add
"-EDvers_1150=1" to the ECFLAGS in the makefile to disable code for the
--dependency-order option which relies on syntax first supported in 11.70. If
not you will get a compile time error that looks like this: 
    	Syntax error on identifier or symbol 'START'.
when compiling myschema.ec.

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
earlier 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 with the 64bit
release of CSDK with the Solaris Development Kit you need to include -xarch=v9
in the CDFLAGS and FDFLAGS in the makefile to be able to use shared memory
connections. If you are trying to use GCC on Solaris you will have to edit the
esql script to replace the -xarch-v9 that's in there with -m64 and do the same
in the makefile.  Also change references to cc & c++ to gcc and g++. 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 or greater 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.

If your server is running on Windows, and you are using a version earlier than 
11.50, you should define WINDOWS in the ECFLAGS in the makefiles in order that 
you avoid using the wrong default pagesize.  Just set -EDWINDOWS=1.

IMPORTANT notes on myschema -versus- dbschema (The following list was compiled
based on IDS 9.30, later releases have fixed most of these problems except where noted):

  o 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. 

  o 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.

As of version 12.10.xC4 dbschema hangs if you have more than one external table
defined in your database. Myschema works fine.

File Version: $Header: /cygdrive/c/Users/artka/Google\040Drive/Latest\040Art's\040Stuff/myschema.d/RCS/myschema.README,v 1.26 2017/07/09 17:02:11 artka Exp $
Source: myschema.README, updated 2019-03-04