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