MySQL 3.22.25 Client for OpenVMS -------------------------------- This version of the MySQL client provides executables and the necessary files for the C API for OpenVMS AXP and OpenVMS VAX. This was developed and tested using DEC C/C++ 5.6 on VMS 7.2 for both AXP and VAX. It should run on other versions of VMS, but I've been unable to test it. As for the C API, I make no guarantees of compatibility with GNU C (for example, the contents of the config.h file may need to be different). If I get ambitious some day, I'll try it with GNU C. This code should run under Multinet, TCPware and UCX (aka: TCPIP Services for OpenVMS). For reporting bugs, making suggestions, comments, etc., contact: Dan O'Reilly dano@process.com Usage Notes ----------- This is pretty much beta code, although there should be few remaining bugs in the code. The following are of note: 1. Input lines longer than 80 characters will cause mysql to accvio. Use continuation lines to avoid any line exceeding 80 characters. 2. Mysql has the annoying habit of reprinting each input line. This is purely cosmetic, and won't affect the performance of the application. 3. Passwords seem to work intermittently. I suspect it's because of a case dependency. If you need to use them, try forcing them to uppercase (or lowercase). Kit Contents ------------ The following files are provided: mysqladmin.exe mysqldump.exe mysqlshow.exe mysql.exe mysqlimport.exe mysql_symbols.com mysql_install.com readme.vms For the C API, the following files are provided: libmsyql.olb (C API object library) config.h dbug.h errmsg.h getopt.h global.h hash.h heap.h in_systm.h makefile.am makefile.in merge.h mysql.h mysqld_error.h mysql_com.h mysql_com.h_in mysql_version.h mysql_version.h_in mysys_err.h my_alarm.h my_base.h my_dir.h my_list.h my_nosys.h my_pthread.h my_sys.h my_tree.h m_ctype.h m_ctype.h_in m_string.h nisam.h queues.h thr_alarm.h thr_lock.h t_ctype.h Installation ------------ To install, unpack the ZIP archive into a directory, then execute the mysql_install.com file. This will prompt for the directory into which MySQL client is to be installed (the default is SYS$COMMON:[MYSQL]). The necessary directories are created and the appropriate parts of the kit are copied into the directories. In addtion, the command procedure mysql_logicals.com is created. After a successful installation, the diretory contents will look like this (file versions may vary, of course!): Directory SYS$COMMON:[MYSQL] INCLUDE.DIR;1 LIBMYSQL.OLB;5 MYSQL.EXE;5 MYSQLADMIN.EXE;4 MYSQLDUMP.EXE;5 MYSQLIMPORT.EXE;5 MYSQLSHOW.EXE;4 MYSQL_LOGICALS.COM;1 MYSQL_SYMBOLS.COM;2 Total of 9 files. Directory SYS$COMMON:[MYSQL.INCLUDE] CONFIG.H;1 DBUG.H;1 ERRMSG.H;1 GETOPT.H;4 GLOBAL.H;18 HASH.H;1 HEAP.H;1 IN_SYSTM.H;1 MAKEFILE.AM;1 MAKEFILE.IN;1 MERGE.H;1 MYSQL.H;2 MYSQLD_ERROR.H;1 MYSQL_COM.H;3 MYSQL_COM.H_IN;1 MYSQL_VERSION.H;3 MYSQL_VERSION.H_IN;1 MYSYS_ERR.H;1 MY_ALARM.H;1 MY_BASE.H;2 MY_DIR.H;1 MY_LIST.H;1 MY_NOSYS.H;1 MY_PTHREAD.H;1 MY_SYS.H;1 MY_TREE.H;1 M_CTYPE.H;2 M_CTYPE.H_IN;1 M_STRING.H;2 NISAM.H;1 QUEUES.H;1 THR_ALARM.H;2 THR_LOCK.H;1 T_CTYPE.H;1 Total of 34 files. Grand total of 2 directories, 43 files. Once installation is complete, you must do the following steps: 1. Modify your SYSTARTUP_VMS.COM (or its equivalent on other versions of VMS) to include the following: $ @SYS$COMMON:[MYSQL]MYSQL_LOGICALS.COM This file should also be executed manually after you complete the installation, in order to initially define the necessary logicals. 2. Modify your SYLOGIN.COM file (or individual LOGIN.COM files) to include the following: $ @MYSQLHOME:MYSQL_SYMBOLS.COM This file may also be executed manually, and defines the following foreign commands: mysqladmin mysql mysqlshow mysqldump mysqlimport Using the C API --------------- The API files were developed/tested using DEC C 5.6 and DEC C++ 5.6. They may or may not work under other versions of these compilers (but they prob- ably will work fine) and/or GNU C and/or VAX C. To use the API, follow the normal procedures documented for MySQL. However, on VMS, the following apply: - When using include files, you can use the logical name MYSQLINCLUDE to define the location of the .h files, as in: #include "mysqlinclude:config.h" You may also use the syntax: #include - When compiling on either VAX or AXP, you must include the following switches: /PREFIX=ALL/INCLUDE=(MYSQLINCLUDE) - When compiling on AXP, you must include the following switch: /DEFINE=(HAVE_CONFIG_H,DECTHREADS,DONT_USE_THR_ALARM,- USE_ONE_SIGNAL_HAND,NO_FCNTL_NONBLOCK) - When compiling on VAX, you must include the following switch: /DEFINE=(HAVE_CONFIG_H,DECTHREADS,DONT_USE_THR_ALARM,- USE_ONE_SIGNAL_HAND,NO_FCNTL_NONBLOCK,NO_CLIENT_LONGLONG) - When linking, add the following to your linker input line (or option file): MYSQLHOME:LIBMYSQL/LIBRARY