Name | Modified | Size | Downloads / 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 $