From d87b358518d4b70183ff6001d2f89d3f527f39cd Mon Sep 17 00:00:00 2001 From: pgulutzan Date: Thu, 30 Aug 2018 11:27:51 -0600 Subject: [PATCH] Version 1.0.7 --- CMakeLists.txt | 31 ++++----- README.htm | 137 +++++++++++++++++++-------------------- README.md | 83 +++++++++++------------- README.txt | 142 +++++++++++++++++++---------------------- changelog | 6 ++ copyright | 2 +- debugger_reference.txt | 2 +- hparse.h | 2 +- manual.htm | 4 +- ocelotgui.1 | 4 +- ocelotgui.cpp | 23 +++---- ocelotgui.h | 4 +- ocelotgui.pro | 2 +- ocelotgui.spec | 13 ++-- options.txt | 1 - ostrings.h | 2 +- rpm_build.sh | 27 ++++---- rpmchangelog | 2 + tarantool.txt | 22 ++++--- windows.txt | 2 +- 20 files changed, 254 insertions(+), 257 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c0a9ea0..01a005d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2014-2017 by Ocelot Computer Services Inc. All rights reserved. +# Copyright (c) 2014-2018 by Ocelot Computer Services Inc. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -104,8 +104,8 @@ # FILENAME_EXTRA # Default is blank. Ocelot passes -DFILENAME_EXTRA="qt4" when building with qt4, -# so the final package name will look like ocelotgui-1.0.6qt4-1_amd64.deb or -# ocelotgui-1.0.6qt4-1.x86_64.rpm. Ordinarily it should not be specified. +# so the final package name will look like ocelotgui-1.0.7qt4-1_amd64.deb or +# ocelotgui-1.0.7qt4-1.x86_64.rpm. Ordinarily it should not be specified. # FILENAME_RELEASE # Default is "1". This affects filenames generated by cpack. Ordinarily it doesn't need to be changed. @@ -119,8 +119,8 @@ # cmake . -DCPACK_GENERATOR="DEB" # make # cpack -# lintian ocelotgui-1.0.6-1_amd64.deb -# sudo dpkg -i ocelotgui-1.0.6-1_amd64.deb +# lintian ocelotgui-1.0.7-1_amd64.deb +# sudo dpkg -i ocelotgui-1.0.7-1_amd64.deb # Todo: lintian will warn "new-package-should-close-itp-bug", which we ignore. # Todo: lintian will warn about permissions if you are not root, which we work around by being root. # but see also comments in rpm_build.sh @@ -129,8 +129,8 @@ # cmake . -DCPACK_GENERATOR="RPM" # make # cpack -# rpmlint ocelotgui-1.0.6-1.x86_64.rpm -# rpm -i ocelotgui-1.0.6-1.x86_64.rpm +# rpmlint ocelotgui-1.0.7-1.x86_64.rpm +# rpm -i ocelotgui-1.0.7-1.x86_64.rpm # Todo: rpmlint will warn "standard-dir-owned-by-package" for /usr/share/man and /usr/share/man/man1, which we ignore. # Todo: rpmlint will warn "no-signature", which we ignore. # Todo: rpmlint will warn "no-packager-tag", wich we ignore. @@ -138,7 +138,7 @@ # Todo: allow user to pass -DCMAKE_INSTALL_RPATH -message("-- CmakeLists.txt for ocelotgui 1.0.6") +message("-- CmakeLists.txt for ocelotgui 1.0.7") message("-- see comments in CMakeLists.txt for special instructions") message("-- see README.md for general instructions for building") @@ -338,6 +338,7 @@ install(FILES README.txt DESTINATION ${CMAKE_INSTALL_DOCDIR}) install(FILES README.md DESTINATION ${CMAKE_INSTALL_DOCDIR}) install(FILES options.txt DESTINATION ${CMAKE_INSTALL_DOCDIR}) install(FILES debugger_reference.txt DESTINATION ${CMAKE_INSTALL_DOCDIR}) +install(FILES tarantool.txt DESTINATION ${CMAKE_INSTALL_DOCDIR}) if (NOT CPACK_GENERATOR MATCHES "DEB") install(FILES LICENSE.GPL DESTINATION ${CMAKE_INSTALL_DOCDIR}) install(FILES COPYING DESTINATION ${CMAKE_INSTALL_DOCDIR}) @@ -358,7 +359,7 @@ endif (CPACK_GENERATOR MATCHES "RPM") if (CPACK_GENERATOR MATCHES "DEB") #lintian complains changelog-file-missing-in-native-package, this fixes it, #but lintian will still complain new-package-should-close-itp-bug - #which we cannot fix until version >= 1.0.6 and someone posts an ITP bug + #which we cannot fix until version >= 1.0.7 and someone posts an ITP bug execute_process(COMMAND cp changelog changelog.bak) execute_process(COMMAND gzip -9 -f -n changelog) execute_process(COMMAND mv changelog.bak changelog) @@ -390,21 +391,21 @@ if (CPACK_GENERATOR MATCHES "RPM") install(FILES ocelotgui.1.gz DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) endif (CPACK_GENERATOR MATCHES "RPM") -# version = 1.0.6 +# version = 1.0.7 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "GUI client for MySQL or MariaDB") set(CPACK_PACKAGE_VENDOR "Ocelot Computer Services Inc.") set(CPACK_PACKAGE_CONTACT "Peter Gulutzan") set(CPACK_PACKAGE_VERSION_MAJOR "1") set(CPACK_PACKAGE_VERSION_MINOR "0") -set(CPACK_PACKAGE_VERSION_PATCH "6") +set(CPACK_PACKAGE_VERSION_PATCH "7") # Todo: set(CPACK_PACKAGE_DESCRIPTION_FILE first-lines-of-README) # CPACK_PACKAGE_INSTALL_DIRECTORY = default set(CPACK_PACKAGE_ICON ocelotgui_logo.png) # CPACK_PROJECT_CONFIG_FILE = nonexistent -# I assume nobody wants package names like ocelotgui-1.0.6-Linux.deb +# I assume nobody wants package names like ocelotgui-1.0.7-Linux.deb # but that's what I get if CMAKE_SYSTEM_NAME = "Linux". -# I'd prefer ocelotgui-1.0.6-1_amd64.deb or ocelotgui-1.0.6.x86_64.rpm +# I'd prefer ocelotgui-1.0.7-1_amd64.deb or ocelotgui-1.0.7.x86_64.rpm # If it's neither "DEB" nor "RPM", CPACK_PACKAGE_FILE_NAME = default. set(FILENAME_PLATFORM_FOR_DEB "Linux") set(FILENAME_PLATFORM_FOR_RPM "Linux") @@ -444,7 +445,7 @@ if (CPACK_GENERATOR MATCHES "DEB") # CPACK_RESOURCE_FILE_WELCOME = nonexistent # CPACK_GENERATOR = we expect it to be specified if cpack will be used. # CPACK_DEBIAN_PACKAGE_NAME = default = CPACK_PACKAGE_NAME = project name - # CPACK_DEBIAN_PACKAGE_VERSION = default = CPACK_PACKAGE_VERSION = 1.0.6 + # CPACK_DEBIAN_PACKAGE_VERSION = default = CPACK_PACKAGE_VERSION = 1.0.7 # CPACK_DEBIAN_PACKAGE_DEPENDS = todo? set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Peter Gulutzan ") set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "Ocelot GUI (ocelotgui), a database client, allows users to connect to @@ -465,7 +466,7 @@ if (CPACK_GENERATOR MATCHES "RPM") # Todo: For other than Mageia prefer CPACK_RPM_PACKAGE_GROUP "Applications/Databases" #CPACK_RPM_PACKAGE_SUMMARY = default = CPACK_PACKAGE_DESCRIPTION_SUMMARY set(CPACK_RPM_PACKAGE_NAME "ocelotgui") - #CPACK_RPM_PACKAGE_VERSION = DEFAULT = CPACK_PACKAGE_VERSION = 1.0.6 + #CPACK_RPM_PACKAGE_VERSION = DEFAULT = CPACK_PACKAGE_VERSION = 1.0.7 set(CPACK_RPM_PACKAGE_RELEASE ${FILENAME_RELEASE}) set(CPACK_RPM_PACKAGE_LICENSE GPLv2) set(CPACK_RPM_PACKAGE_GROUP "Databases") diff --git a/README.htm b/README.htm index 9b063dc..1fe2b3e 100644 --- a/README.htm +++ b/README.htm @@ -1,7 +1,7 @@ Ocelot ocelotgui -

Version 1.0.6

+

Version 1.0.7

The Ocelot GUI (ocelotgui), a database client, allows users to connect to a MySQL or MariaDB DBMS server, enter SQL statements, and receive results. @@ -9,7 +9,7 @@ and fonts for each part of the screen, result-set displays with multi-line rows and resizable columns, and a debugger.

-

Copyright (c) 2014-2017, Ocelot Computer Services Inc. +

Copyright (c) 2014-2018, Ocelot Computer Services Inc. All rights reserved.

For the GPL license terms see https://github.com/ocelot-inc/ocelotgui/blob/master/LICENSE.GPL.

@@ -79,7 +79,9 @@

Getting the libmysqlclient.so libr

You may find that the libmysqlclient.so library is already installed, if you have used a MySQL or MariaDB client program before. If not, your Linux distro's repositories will contain it, -usually with a name like "libmysqlclient-dev" or "libmysqlclient-devel".

+usually with a package name like "libmysqlclient-dev" or "libmysqlclient-devel".

+With Fedora the package name may be "mariadb-devel" and the library +name may be "libmariadb.so" or "libmariadbclient.so".

A tip for Mageia 5: You can use "urpmf " to find what packages contain libmysqlclient.so. If the answer is lib64mariadb18, you can install it with: @@ -89,7 +91,7 @@

Getting the libmysqlclient.so libr sudo zypper install libqt4-devel sudo zypper install mariadb-client sudo zypper install libmysqlclient-devel -

The important file is named "libmysqlclient.so". +

The important file is named "libmysqlclient.so" or something similar. If it is not already on the default path, then an error or warning will appear when you try to run ocelotgui. Find it, and say something like

export LD_RUN_PATH=[path to directory that contains libmysqlclient.so]
@@ -108,23 +110,26 @@

Getting the ocelotgui executab cut and paste the corresponding pair of instructions onto your computer and you can be up and running in about 15 seconds.

For 32-bit, Debian-like, Qt4
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui_1.0.6qt4-1_i386.deb
-sudo dpkg -i ocelotgui_1.0.6qt4-1_i386.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui_1.0.7qt4-1_i386.deb +sudo dpkg -i ocelotgui_1.0.7qt4-1_i386.deb For 32-bit, Debian-like, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui_1.0.6-1_i386.deb
-sudo dpkg -i ocelotgui_1.0.6-1_i386.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui_1.0.7-1_i386.deb +sudo dpkg -i ocelotgui_1.0.7-1_i386.deb For 64-bit, Debian-like, Qt4
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui_1.0.6qt4-1_amd64.deb
-sudo dpkg -i ocelotgui_1.0.6qt4-1_amd64.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui_1.0.7qt4-1_amd64.deb +sudo dpkg -i ocelotgui_1.0.7qt4-1_amd64.deb For 64-bit, Debian-like, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui_1.0.6-1_amd64.deb
-sudo dpkg -i ocelotgui_1.0.6-1_amd64.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui_1.0.7-1_amd64.deb +sudo dpkg -i ocelotgui_1.0.7-1_amd64.deb For 64-bit, RPM-like, Qt4
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui-1.0.6qt4-1.x86_64.rpm
-sudo rpm -i ocelotgui-1.0.6qt4-1.x86_64.rpm
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui-1.0.7qt4-1.x86_64.rpm +sudo rpm -i ocelotgui-1.0.7qt4-1.x86_64.rpm For 64-bit, RPM-like, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui-1.0.6-1.x86_64.rpm
-sudo rpm -i ocelotgui-1.0.6-1.x86_64.rpm
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui-1.0.7-1.x86_64.rpm +sudo rpm -i ocelotgui-1.0.7-1.x86_64.rpm +For 32-bit, RPM-like, Qt5
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui-1.0.7-1.i686.rpm
+sudo rpm -i ocelotgui-1.0.7-1.i686.rpm

Getting and using the ocelotgui source


@@ -152,14 +157,14 @@

Getting and using the ocelotgui Although the release does not have the "latest" source which is in ocelot-inc/ocelotgui, it usually is more stable. A release file is highlighted in green -by github and is named ocelotgui-[version].tar.gz. Thus release 1.0.6 is at -https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui-1.0.6.tar.gz. +by github and is named ocelotgui-[version].tar.gz. Thus release 1.0.7 is at +https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui-1.0.7.tar.gz. Typically, to get it, one would cd to a download directory, then
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui-1.0.6.tar.gz
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui-1.0.7.tar.gz
 
or use a browser to go to https://github.com/ocelot-inc/ocelotgui/releases -and click ocelotgui-1.0.6.tar.gz.

+and click ocelotgui-1.0.7.tar.gz.

On Debian-like systems some packages must be installed first. For example on Ubuntu:

@@ -174,7 +179,7 @@ 

Getting and using the ocelotgui For example on Mageia:
  urpmi gcc gcc-c++ make cmake git
  #The name of the following package (containing mysql.h) varies,
- #it might be lib64mariadb-devel or libmysqlclient-devel
+ #it might be lib64mariadb-devel or libmysqlclient-devel or mariadb-devel
  urpmi mysql-devel
  urpmi rpm-build       
  #Do the following if and only if build is for use with Qt4
@@ -183,12 +188,12 @@ 

Getting and using the ocelotgui urpmi libqt5-devel

Unpack all the source files by saying:

- tar -zxvf ocelotgui-1.0.6.tar.gz
+ tar -zxvf ocelotgui-1.0.7.tar.gz
  cd ocelotgui
At this point it is a good idea to examine the file CMakeLists.txt. This file has comments about options which are available to customize the build process: CMAKE_PREFIX_PATH, CMAKE_INSTALL_PREFIX, -MYSQL_INCLUDE_DIR, WITH_QT4. +MYSQL_INCLUDE_DIR, WITH_QT4, OCELOT_THIRD_PARTY. For explanation of these flags, read the comments in the CMakeLists.txt file. If no customizing is necessary, @@ -208,17 +213,16 @@

Getting and using the ocelotgui cmake . -DCPACK_GENERATOR="DEB" make cpack - sudo dpkg -i ocelotgui_1.0.6-1_i386.deb - #or sudo dpkg -i ocelotgui_1.0.6-1_amd64.deb

+ sudo dpkg -i ocelotgui_1.0.7-1_i386.deb + #or sudo dpkg -i ocelotgui_1.0.7-1_amd64.deb For RPM-like platforms say:
  cmake . -DCPACK_GENERATOR="RPM"
  make
  cpack
- sudo rpm -i ocelotgui-1.0.6-1.x86_64.rpm
- #or sudo rpm -i ocelotgui-1.0.6-1.i686.rpm
+ sudo rpm -i ocelotgui-1.0.7-1.x86_64.rpm + #or sudo rpm -i ocelotgui-1.0.7-1.i686.rpm Usually the result will go to subdirectories of /usr, in which case, if /usr/bin is on your PATH, then saying ocelotgui will start the program. -For additional cmake options see the comments in CMakeLists.txt.

Some other facts about the source package, for users who @@ -265,23 +269,23 @@

Starting the program


Some screenshots


-shot1.jpg -shot2.jpg -shot3.png -shot4.png -shot5.png -shot6.png -shot7.png -shot8.png -shot9.png -shot10.jpg -shot11.jpg +shot1.jpg +shot2.jpg +shot3.png +shot4.jpg +shot5.jpg +shot6.jpg +shot7.jpg +shot8.jpg +shot9.jpg +shot10.jpg +shot11.png

User Manual



-

Version 1.0.6, December 12 2017

+

Version 1.0.7, August 29 2018

-

Copyright (c) 2014-2017 by Ocelot Computer Services Inc. All rights reserved.

+

Copyright (c) 2014-2018 by Ocelot Computer Services Inc. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -352,7 +356,7 @@

Starting


For a description of options see https://github.com/ocelot-inc/ocelotgui/blob/master/options.txt.

-starting-dialog.png +starting-dialog.png If a password is required but not supplied, a dialog box will appear. Or, if the initial attempt to connect fails, an error message will appear saying it is necessary to choose File|Connect, which will cause the dialog @@ -365,7 +369,7 @@

Starting



-starting.png +starting.png In any case, an initial screen will appear. After some activity has taken place, the screen will have four parts, from top to bottom:
menu
@@ -400,7 +404,7 @@

Statement widget


Client Statements: Prompt.

-statement-widget-example.png +statement-widget-example.png For example, this screenshot shows the statement widget after the user has changed the default prompt and entered an SQL statement. @@ -497,7 +501,7 @@

Result widget



-result-widget-example.png +result-widget-example.png



@@ -508,13 +512,13 @@
Options, Debug and Help.

-menu-file.png +menu-file.png File|Connect, or Ctrl+O, starts the Connect dialog box. File|Exit, or Ctrl+Q, stops the program.

-menu-edit.png +menu-edit.png Edit|Undo or Ctrl+Z, Edit|Redo or Ctrl+Shift+Z, Edit|Cut or Ctrl+X, Edit|Cut or Ctrl+X, Edit|Copy or Ctrl+C, Edit|Paste or Ctrl+V, and Edit|Select or Ctrl+A, all work in the conventional manner. @@ -526,7 +530,7 @@



-menu-run.png +menu-run.png Run|Execute or Ctrl+E or Ctrl+Enter causes execution of whatever is in the statement widget. Run|Kill or Ctrl+C tries to stop execution -- this @@ -535,7 +539,7 @@



-menu-settings.png +menu-settings.png Settings|Menu, Settings|History Widget, Settings|Grid Widget, Settings|Statement, and Settings|Extra Rule 1 are items which affect the behavior of each @@ -554,7 +558,7 @@



-menu-options.png +menu-options.png Options|detach history widget, Options|detach result grid widget, Options|detach debug widget are @@ -567,7 +571,7 @@



-menu-debug.png +menu-debug.png The items on the Debug menu are enabled only when a debug session is in progress. The way to debug SQL stored procedures or functions will be explained in a later section. @@ -575,7 +579,7 @@


-menu-help.png +menu-help.png Help|About will show the license and copyright and version. Help|The Manual will show the contents of README.md (the manual that you are reading) if README.md is on the same path as the ocelotgui program; otherwise it will show a copyright, a GPL license, and a pointer to README.md. @@ -588,7 +592,7 @@


Debugger


-debugger.png +debugger.png It is possible to debug stored procedures and functions. This version of ocelotgui incorporates MDBug (read about MDBug at http://bazaar.launchpad.net/~hp-mdbug-team/mdbug/trunk/view/head:/debugger.txt). @@ -619,14 +623,14 @@

Debugger


Special Effects


-special-vertical.png +special-vertical.png Vertical: If a user starts the program with ocelotgui --vertical=1 or ends a statement with backslash G, results come up with one column per row.

-special-images.png +special-images.png Images: If a user chooses Settings | Extra Rule 1 from the menu, and sets the Condition and Display As boxes as described earlier, and selects rows which contain LONGBLOB columns, and the column values are @@ -644,20 +648,20 @@

Special Effects


The user then has the choice of ignoring the update statement or executing it.

-special-detach.png +special-detach.png Detaching: If a user chooses Options | detach history widget or Options | detach result grid widget, then the widget will become a separate window which can be moved or resized.

-special-settings.png +special-settings.png Colors: The Colors and fonts dialog boxes have a simple way to choose colors, by selecting from a choice of 148 color names / color icons. Users can also change colors by saying SET object_name_color = color-name | hex-rgb-value. In fact ocelotgui mixes the modes: for example if a user chooses Settings | Grid Text Color, then clicks on the 'Red' icon, then clicks OK, ocelotgui generates a -statement "SET ocelot_grid_text_color = 'Red'". This makes the instruction +statement "SET ocelot_grid_text_color = 'Red';". This makes the instruction easy to repeat or put in a script.

@@ -699,7 +703,7 @@

Special Effects


incompatible behavior change in version 5.7, which affects the debugger. The originally recommended workaround was to say "set global show_compatibility_56=on;". We believe we have made a -more permanent fix for this problem in ocelotgui version 1.0.6.

+more permanent fix for this problem in ocelotgui version 1.0.7.

RE: CONNECTION DIALOG. As stated earlier, if a password is necessary to connect, it is sufficient to start ocelotgui with "--password=password" @@ -726,6 +730,9 @@

Special Effects


from result sets of previous statements. To change this, click Settings|History and enter a number for Max Row Count.

+

RE: TARANTOOL. By default ocelotgui is a client for MySQL or MariaDB. +To use it as a client for Tarantool, read the tarantool.txt file.

+

Contact


We need feedback!

@@ -742,15 +749,3 @@

Contact


web page (ocelot.ca) or on the employee blog (http://ocelot.ca/blog).

Any contributions will be appreciated.

- - - - - - - - - - - - diff --git a/README.md b/README.md index 51152ea..1fe2b3e 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ Ocelot ocelotgui -

Version 1.0.6

+

Version 1.0.7

The Ocelot GUI (ocelotgui), a database client, allows users to connect to a MySQL or MariaDB DBMS server, enter SQL statements, and receive results. @@ -9,7 +9,7 @@ Some of its features are: syntax highlighting, user-settable colors and fonts for each part of the screen, result-set displays with multi-line rows and resizable columns, and a debugger.

-

Copyright (c) 2014-2017, Ocelot Computer Services Inc. +

Copyright (c) 2014-2018, Ocelot Computer Services Inc. All rights reserved.

For the GPL license terms see https://github.com/ocelot-inc/ocelotgui/blob/master/LICENSE.GPL.

@@ -79,7 +79,9 @@ Alternatively it sometimes can be found with qmake -v.

You may find that the libmysqlclient.so library is already installed, if you have used a MySQL or MariaDB client program before. If not, your Linux distro's repositories will contain it, -usually with a name like "libmysqlclient-dev" or "libmysqlclient-devel".

+usually with a package name like "libmysqlclient-dev" or "libmysqlclient-devel".

+With Fedora the package name may be "mariadb-devel" and the library +name may be "libmariadb.so" or "libmariadbclient.so".

A tip for Mageia 5: You can use "urpmf " to find what packages contain libmysqlclient.so. If the answer is lib64mariadb18, you can install it with: @@ -89,7 +91,7 @@ sudo urpmi lib64mariadb18.

sudo zypper install libqt4-devel sudo zypper install mariadb-client sudo zypper install libmysqlclient-devel -

The important file is named "libmysqlclient.so". +

The important file is named "libmysqlclient.so" or something similar. If it is not already on the default path, then an error or warning will appear when you try to run ocelotgui. Find it, and say something like

export LD_RUN_PATH=[path to directory that contains libmysqlclient.so]
@@ -108,23 +110,26 @@ If one of the following ocelotgui binary packages is compatible with your platfo cut and paste the corresponding pair of instructions onto your computer and you can be up and running in about 15 seconds.

For 32-bit, Debian-like, Qt4
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui_1.0.6qt4-1_i386.deb
-sudo dpkg -i ocelotgui_1.0.6qt4-1_i386.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui_1.0.7qt4-1_i386.deb +sudo dpkg -i ocelotgui_1.0.7qt4-1_i386.deb For 32-bit, Debian-like, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui_1.0.6-1_i386.deb
-sudo dpkg -i ocelotgui_1.0.6-1_i386.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui_1.0.7-1_i386.deb +sudo dpkg -i ocelotgui_1.0.7-1_i386.deb For 64-bit, Debian-like, Qt4
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui_1.0.6qt4-1_amd64.deb
-sudo dpkg -i ocelotgui_1.0.6qt4-1_amd64.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui_1.0.7qt4-1_amd64.deb +sudo dpkg -i ocelotgui_1.0.7qt4-1_amd64.deb For 64-bit, Debian-like, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui_1.0.6-1_amd64.deb
-sudo dpkg -i ocelotgui_1.0.6-1_amd64.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui_1.0.7-1_amd64.deb +sudo dpkg -i ocelotgui_1.0.7-1_amd64.deb For 64-bit, RPM-like, Qt4
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui-1.0.6qt4-1.x86_64.rpm
-sudo rpm -i ocelotgui-1.0.6qt4-1.x86_64.rpm
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui-1.0.7qt4-1.x86_64.rpm +sudo rpm -i ocelotgui-1.0.7qt4-1.x86_64.rpm For 64-bit, RPM-like, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui-1.0.6-1.x86_64.rpm
-sudo rpm -i ocelotgui-1.0.6-1.x86_64.rpm
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui-1.0.7-1.x86_64.rpm +sudo rpm -i ocelotgui-1.0.7-1.x86_64.rpm +For 32-bit, RPM-like, Qt5
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui-1.0.7-1.i686.rpm
+sudo rpm -i ocelotgui-1.0.7-1.i686.rpm

Getting and using the ocelotgui source


@@ -152,14 +157,14 @@ A release includes the source files as of the release time. Although the release does not have the "latest" source which is in ocelot-inc/ocelotgui, it usually is more stable. A release file is highlighted in green -by github and is named ocelotgui-[version].tar.gz. Thus release 1.0.6 is at -https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui-1.0.6.tar.gz. +by github and is named ocelotgui-[version].tar.gz. Thus release 1.0.7 is at +https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui-1.0.7.tar.gz. Typically, to get it, one would cd to a download directory, then
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui-1.0.6.tar.gz
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui-1.0.7.tar.gz
 
or use a browser to go to https://github.com/ocelot-inc/ocelotgui/releases -and click ocelotgui-1.0.6.tar.gz.

+and click ocelotgui-1.0.7.tar.gz.

On Debian-like systems some packages must be installed first. For example on Ubuntu:

@@ -174,7 +179,7 @@ For example on Ubuntu:
 For example on Mageia:
  urpmi gcc gcc-c++ make cmake git
  #The name of the following package (containing mysql.h) varies,
- #it might be lib64mariadb-devel or libmysqlclient-devel
+ #it might be lib64mariadb-devel or libmysqlclient-devel or mariadb-devel
  urpmi mysql-devel
  urpmi rpm-build       
  #Do the following if and only if build is for use with Qt4
@@ -183,12 +188,12 @@ For example on Mageia:
  urpmi libqt5-devel

Unpack all the source files by saying:

- tar -zxvf ocelotgui-1.0.6.tar.gz
+ tar -zxvf ocelotgui-1.0.7.tar.gz
  cd ocelotgui
At this point it is a good idea to examine the file CMakeLists.txt. This file has comments about options which are available to customize the build process: CMAKE_PREFIX_PATH, CMAKE_INSTALL_PREFIX, -MYSQL_INCLUDE_DIR, WITH_QT4. +MYSQL_INCLUDE_DIR, WITH_QT4, OCELOT_THIRD_PARTY. For explanation of these flags, read the comments in the CMakeLists.txt file. If no customizing is necessary, @@ -208,17 +213,16 @@ For Debian-like platforms say:
  cmake . -DCPACK_GENERATOR="DEB"
  make
  cpack
- sudo dpkg -i ocelotgui_1.0.6-1_i386.deb
- #or sudo dpkg -i ocelotgui_1.0.6-1_amd64.deb
+ sudo dpkg -i ocelotgui_1.0.7-1_i386.deb + #or sudo dpkg -i ocelotgui_1.0.7-1_amd64.deb
For RPM-like platforms say:
  cmake . -DCPACK_GENERATOR="RPM"
  make
  cpack
- sudo rpm -i ocelotgui-1.0.6-1.x86_64.rpm
- #or sudo rpm -i ocelotgui-1.0.6-1.i686.rpm
+ sudo rpm -i ocelotgui-1.0.7-1.x86_64.rpm + #or sudo rpm -i ocelotgui-1.0.7-1.i686.rpm
Usually the result will go to subdirectories of /usr, in which case, if /usr/bin is on your PATH, then saying ocelotgui will start the program. -For additional cmake options see the comments in CMakeLists.txt.

Some other facts about the source package, for users who @@ -279,9 +283,9 @@ Stop again with File|Exit or control-Q.

User Manual



-

Version 1.0.6, December 12 2017

+

Version 1.0.7, August 29 2018

-

Copyright (c) 2014-2017 by Ocelot Computer Services Inc. All rights reserved.

+

Copyright (c) 2014-2018 by Ocelot Computer Services Inc. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -657,7 +661,7 @@ colors, by selecting from a choice of 148 color names / color icons. Users can a change colors by saying SET object_name_color = color-name | hex-rgb-value. In fact ocelotgui mixes the modes: for example if a user chooses Settings | Grid Text Color, then clicks on the 'Red' icon, then clicks OK, ocelotgui generates a -statement "SET ocelot_grid_text_color = 'Red'". This makes the instruction +statement "SET ocelot_grid_text_color = 'Red';". This makes the instruction easy to repeat or put in a script.

@@ -699,7 +703,7 @@ an options file such as my.cnf.

incompatible behavior change in version 5.7, which affects the debugger. The originally recommended workaround was to say "set global show_compatibility_56=on;". We believe we have made a -more permanent fix for this problem in ocelotgui version 1.0.6.

+more permanent fix for this problem in ocelotgui version 1.0.7.

RE: CONNECTION DIALOG. As stated earlier, if a password is necessary to connect, it is sufficient to start ocelotgui with "--password=password" @@ -726,6 +730,9 @@ sub-clauses or sub-statements are indented.

from result sets of previous statements. To change this, click Settings|History and enter a number for Max Row Count.

+

RE: TARANTOOL. By default ocelotgui is a client for MySQL or MariaDB. +To use it as a client for Tarantool, read the tarantool.txt file.

+

Contact


We need feedback!

@@ -742,15 +749,3 @@ Or send a private note to pgulutzan at ocelot.ca.

web page (ocelot.ca) or on the employee blog (http://ocelot.ca/blog).

Any contributions will be appreciated.

- - - - - - - - - - - - diff --git a/README.txt b/README.txt index f6cac7d..1fe2b3e 100644 --- a/README.txt +++ b/README.txt @@ -1,7 +1,7 @@ Ocelot ocelotgui -

Version 1.0.6

+

Version 1.0.7

The Ocelot GUI (ocelotgui), a database client, allows users to connect to a MySQL or MariaDB DBMS server, enter SQL statements, and receive results. @@ -9,7 +9,7 @@ Some of its features are: syntax highlighting, user-settable colors and fonts for each part of the screen, result-set displays with multi-line rows and resizable columns, and a debugger.

-

Copyright (c) 2014-2017, Ocelot Computer Services Inc. +

Copyright (c) 2014-2018, Ocelot Computer Services Inc. All rights reserved.

For the GPL license terms see https://github.com/ocelot-inc/ocelotgui/blob/master/LICENSE.GPL.

@@ -79,7 +79,9 @@ Alternatively it sometimes can be found with qmake -v.

You may find that the libmysqlclient.so library is already installed, if you have used a MySQL or MariaDB client program before. If not, your Linux distro's repositories will contain it, -usually with a name like "libmysqlclient-dev" or "libmysqlclient-devel".

+usually with a package name like "libmysqlclient-dev" or "libmysqlclient-devel".

+With Fedora the package name may be "mariadb-devel" and the library +name may be "libmariadb.so" or "libmariadbclient.so".

A tip for Mageia 5: You can use "urpmf " to find what packages contain libmysqlclient.so. If the answer is lib64mariadb18, you can install it with: @@ -89,7 +91,7 @@ sudo urpmi lib64mariadb18.

sudo zypper install libqt4-devel sudo zypper install mariadb-client sudo zypper install libmysqlclient-devel
-

The important file is named "libmysqlclient.so". +

The important file is named "libmysqlclient.so" or something similar. If it is not already on the default path, then an error or warning will appear when you try to run ocelotgui. Find it, and say something like

export LD_RUN_PATH=[path to directory that contains libmysqlclient.so]
@@ -108,23 +110,26 @@ If one of the following ocelotgui binary packages is compatible with your platfo cut and paste the corresponding pair of instructions onto your computer and you can be up and running in about 15 seconds.

For 32-bit, Debian-like, Qt4
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui_1.0.6qt4-1_i386.deb
-sudo dpkg -i ocelotgui_1.0.6qt4-1_i386.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui_1.0.7qt4-1_i386.deb +sudo dpkg -i ocelotgui_1.0.7qt4-1_i386.deb For 32-bit, Debian-like, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui_1.0.6-1_i386.deb
-sudo dpkg -i ocelotgui_1.0.6-1_i386.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui_1.0.7-1_i386.deb +sudo dpkg -i ocelotgui_1.0.7-1_i386.deb For 64-bit, Debian-like, Qt4
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui_1.0.6qt4-1_amd64.deb
-sudo dpkg -i ocelotgui_1.0.6qt4-1_amd64.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui_1.0.7qt4-1_amd64.deb +sudo dpkg -i ocelotgui_1.0.7qt4-1_amd64.deb For 64-bit, Debian-like, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui_1.0.6-1_amd64.deb
-sudo dpkg -i ocelotgui_1.0.6-1_amd64.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui_1.0.7-1_amd64.deb +sudo dpkg -i ocelotgui_1.0.7-1_amd64.deb For 64-bit, RPM-like, Qt4
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui-1.0.6qt4-1.x86_64.rpm
-sudo rpm -i ocelotgui-1.0.6qt4-1.x86_64.rpm
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui-1.0.7qt4-1.x86_64.rpm +sudo rpm -i ocelotgui-1.0.7qt4-1.x86_64.rpm For 64-bit, RPM-like, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui-1.0.6-1.x86_64.rpm
-sudo rpm -i ocelotgui-1.0.6-1.x86_64.rpm
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui-1.0.7-1.x86_64.rpm +sudo rpm -i ocelotgui-1.0.7-1.x86_64.rpm +For 32-bit, RPM-like, Qt5
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui-1.0.7-1.i686.rpm
+sudo rpm -i ocelotgui-1.0.7-1.i686.rpm

Getting and using the ocelotgui source


@@ -152,14 +157,14 @@ A release includes the source files as of the release time. Although the release does not have the "latest" source which is in ocelot-inc/ocelotgui, it usually is more stable. A release file is highlighted in green -by github and is named ocelotgui-[version].tar.gz. Thus release 1.0.6 is at -https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui-1.0.6.tar.gz. +by github and is named ocelotgui-[version].tar.gz. Thus release 1.0.7 is at +https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui-1.0.7.tar.gz. Typically, to get it, one would cd to a download directory, then
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui-1.0.6.tar.gz
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui-1.0.7.tar.gz
 
or use a browser to go to https://github.com/ocelot-inc/ocelotgui/releases -and click ocelotgui-1.0.6.tar.gz.

+and click ocelotgui-1.0.7.tar.gz.

On Debian-like systems some packages must be installed first. For example on Ubuntu:

@@ -174,7 +179,7 @@ For example on Ubuntu:
 For example on Mageia:
  urpmi gcc gcc-c++ make cmake git
  #The name of the following package (containing mysql.h) varies,
- #it might be lib64mariadb-devel or libmysqlclient-devel
+ #it might be lib64mariadb-devel or libmysqlclient-devel or mariadb-devel
  urpmi mysql-devel
  urpmi rpm-build       
  #Do the following if and only if build is for use with Qt4
@@ -183,12 +188,12 @@ For example on Mageia:
  urpmi libqt5-devel

Unpack all the source files by saying:

- tar -zxvf ocelotgui-1.0.6.tar.gz
+ tar -zxvf ocelotgui-1.0.7.tar.gz
  cd ocelotgui
At this point it is a good idea to examine the file CMakeLists.txt. This file has comments about options which are available to customize the build process: CMAKE_PREFIX_PATH, CMAKE_INSTALL_PREFIX, -MYSQL_INCLUDE_DIR, WITH_QT4. +MYSQL_INCLUDE_DIR, WITH_QT4, OCELOT_THIRD_PARTY. For explanation of these flags, read the comments in the CMakeLists.txt file. If no customizing is necessary, @@ -208,17 +213,16 @@ For Debian-like platforms say:
  cmake . -DCPACK_GENERATOR="DEB"
  make
  cpack
- sudo dpkg -i ocelotgui_1.0.6-1_i386.deb
- #or sudo dpkg -i ocelotgui_1.0.6-1_amd64.deb
+ sudo dpkg -i ocelotgui_1.0.7-1_i386.deb + #or sudo dpkg -i ocelotgui_1.0.7-1_amd64.deb
For RPM-like platforms say:
  cmake . -DCPACK_GENERATOR="RPM"
  make
  cpack
- sudo rpm -i ocelotgui-1.0.6-1.x86_64.rpm
- #or sudo rpm -i ocelotgui-1.0.6-1.i686.rpm
+ sudo rpm -i ocelotgui-1.0.7-1.x86_64.rpm + #or sudo rpm -i ocelotgui-1.0.7-1.i686.rpm
Usually the result will go to subdirectories of /usr, in which case, if /usr/bin is on your PATH, then saying ocelotgui will start the program. -For additional cmake options see the comments in CMakeLists.txt.

Some other facts about the source package, for users who @@ -265,23 +269,23 @@ Stop again with File|Exit or control-Q.

Some screenshots


-shot1.jpg -shot2.jpg -shot3.png -shot4.png -shot5.png -shot6.png -shot7.png -shot8.png -shot9.png -shot10.jpg -shot11.jpg +shot1.jpg +shot2.jpg +shot3.png +shot4.jpg +shot5.jpg +shot6.jpg +shot7.jpg +shot8.jpg +shot9.jpg +shot10.jpg +shot11.png

User Manual



-

Version 1.0.6, December 12 2017

+

Version 1.0.7, August 29 2018

-

Copyright (c) 2014-2017 by Ocelot Computer Services Inc. All rights reserved.

+

Copyright (c) 2014-2018 by Ocelot Computer Services Inc. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -352,7 +356,7 @@ ocelotgui [--option [--option...]] For a description of options see https://github.com/ocelot-inc/ocelotgui/blob/master/options.txt.

-starting-dialog.png +starting-dialog.png If a password is required but not supplied, a dialog box will appear. Or, if the initial attempt to connect fails, an error message will appear saying it is necessary to choose File|Connect, which will cause the dialog @@ -365,7 +369,7 @@ but only non-DBMS tasks such as screen customizing will be possible.

-starting.png +starting.png In any case, an initial screen will appear. After some activity has taken place, the screen will have four parts, from top to bottom:
menu
@@ -400,7 +404,7 @@ but this can be changed, see the later description of Client Statements: Prompt.

-statement-widget-example.png +statement-widget-example.png For example, this screenshot shows the statement widget after the user has changed the default prompt and entered an SQL statement. @@ -497,7 +501,7 @@ a scroll bar to appear.

-result-widget-example.png +result-widget-example.png



@@ -508,13 +512,13 @@ a scroll bar to appear. Options, Debug and Help.

-menu-file.png +menu-file.png File|Connect, or Ctrl+O, starts the Connect dialog box. File|Exit, or Ctrl+Q, stops the program.

-menu-edit.png +menu-edit.png Edit|Undo or Ctrl+Z, Edit|Redo or Ctrl+Shift+Z, Edit|Cut or Ctrl+X, Edit|Cut or Ctrl+X, Edit|Copy or Ctrl+C, Edit|Paste or Ctrl+V, and Edit|Select or Ctrl+A, all work in the conventional manner. @@ -526,7 +530,7 @@ or Ctrl+E.

-menu-run.png +menu-run.png Run|Execute or Ctrl+E or Ctrl+Enter causes execution of whatever is in the statement widget. Run|Kill or Ctrl+C tries to stop execution -- this @@ -535,7 +539,7 @@ needs to be aborted by user intervention.

-menu-settings.png +menu-settings.png Settings|Menu, Settings|History Widget, Settings|Grid Widget, Settings|Statement, and Settings|Extra Rule 1 are items which affect the behavior of each @@ -554,7 +558,7 @@ set Grid Background Color Pink, set Condition = data_type LIKE

-menu-options.png +menu-options.png Options|detach history widget, Options|detach result grid widget, Options|detach debug widget are @@ -567,7 +571,7 @@ and clicking it will put the widget back in its original position.

-menu-debug.png +menu-debug.png The items on the Debug menu are enabled only when a debug session is in progress. The way to debug SQL stored procedures or functions will be explained in a later section. @@ -575,7 +579,7 @@ will be explained in a later section.

-menu-help.png +menu-help.png Help|About will show the license and copyright and version. Help|The Manual will show the contents of README.md (the manual that you are reading) if README.md is on the same path as the ocelotgui program; otherwise it will show a copyright, a GPL license, and a pointer to README.md. @@ -588,7 +592,7 @@ Help|settings will advise about how to use the Settings menu items.

Debugger


-debugger.png +debugger.png It is possible to debug stored procedures and functions. This version of ocelotgui incorporates MDBug (read about MDBug at http://bazaar.launchpad.net/~hp-mdbug-team/mdbug/trunk/view/head:/debugger.txt). @@ -615,23 +619,18 @@ For a walk through a debugger example, with screenshots, see this blog post: http://ocelot.ca/blog/the-ocelotgui-debugger. For reference, read: https://github.com/ocelot-inc/ocelotgui/blob/master/debugger_reference.txt.

-

-Temporary warning: for debugging MySQL version 8.0 routines, -you need a recent ocelotgui version as pushed to source on -or after June 2018. -

Special Effects


-special-vertical.png +special-vertical.png Vertical: If a user starts the program with ocelotgui --vertical=1 or ends a statement with backslash G, results come up with one column per row.

-special-images.png +special-images.png Images: If a user chooses Settings | Extra Rule 1 from the menu, and sets the Condition and Display As boxes as described earlier, and selects rows which contain LONGBLOB columns, and the column values are @@ -649,20 +648,20 @@ statement widget will show UPDATE t SET column2 = 'AB' WHERE column1 = 5 AND col The user then has the choice of ignoring the update statement or executing it.

-special-detach.png +special-detach.png Detaching: If a user chooses Options | detach history widget or Options | detach result grid widget, then the widget will become a separate window which can be moved or resized.

-special-settings.png +special-settings.png Colors: The Colors and fonts dialog boxes have a simple way to choose colors, by selecting from a choice of 148 color names / color icons. Users can also change colors by saying SET object_name_color = color-name | hex-rgb-value. In fact ocelotgui mixes the modes: for example if a user chooses Settings | Grid Text Color, then clicks on the 'Red' icon, then clicks OK, ocelotgui generates a -statement "SET ocelot_grid_text_color = 'Red'". This makes the instruction +statement "SET ocelot_grid_text_color = 'Red';". This makes the instruction easy to repeat or put in a script.

@@ -704,7 +703,7 @@ an options file such as my.cnf.

incompatible behavior change in version 5.7, which affects the debugger. The originally recommended workaround was to say "set global show_compatibility_56=on;". We believe we have made a -more permanent fix for this problem in ocelotgui version 1.0.6.

+more permanent fix for this problem in ocelotgui version 1.0.7.

RE: CONNECTION DIALOG. As stated earlier, if a password is necessary to connect, it is sufficient to start ocelotgui with "--password=password" @@ -731,6 +730,9 @@ sub-clauses or sub-statements are indented.

from result sets of previous statements. To change this, click Settings|History and enter a number for Max Row Count.

+

RE: TARANTOOL. By default ocelotgui is a client for MySQL or MariaDB. +To use it as a client for Tarantool, read the tarantool.txt file.

+

Contact


We need feedback!

@@ -747,15 +749,3 @@ Or send a private note to pgulutzan at ocelot.ca.

web page (ocelot.ca) or on the employee blog (http://ocelot.ca/blog).

Any contributions will be appreciated.

- - - - - - - - - - - - diff --git a/changelog b/changelog index a19e760..34fcd9b 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,9 @@ +ocelotgui (1.0.7) UNRELEASED; urgency=low + + * Synch with newer versions of DBMS servers + + -- Peter Gulutzan Wed, 29 Aug 2018 12:00:00 -0600 + ocelotgui (1.0.6) UNRELEASED; urgency=low * Some bug fixes diff --git a/copyright b/copyright index a4d260a..937b7ef 100644 --- a/copyright +++ b/copyright @@ -3,7 +3,7 @@ Upstream-Name: ocelotgui Source: ocelot.ca Files: ocelotgui.cpp ocelotgui.h hparse.h ostrings.h *.png *.jpg *.pro *.txt *.ui *.htm *.md -Copyright: Copyright 2014-2017 Ocelot Computer Services Inc. +Copyright: Copyright 2014-2018 Ocelot Computer Services Inc. License: GPL-2 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public diff --git a/debugger_reference.txt b/debugger_reference.txt index b9d0f31..3486b33 100644 --- a/debugger_reference.txt +++ b/debugger_reference.txt @@ -8,7 +8,7 @@ http://ocelot.ca/blog/blog/2015/03/02/the-ocelotgui-debugger/. Temporary warning: for debugging MySQL version 8.0 routines, you need a recent ocelotgui version as pushed to source on -or after June 2018. +or after June 2018. Use ocelotgui version 1.0.7 or later. Statements ---------- diff --git a/hparse.h b/hparse.h index 006defe..f8a9191 100644 --- a/hparse.h +++ b/hparse.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2014-2017 by Ocelot Computer Services Inc. All rights reserved. +/* Copyright (c) 2014-2018 by Ocelot Computer Services Inc. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/manual.htm b/manual.htm index 7ffe7e2..2d7ef29 100644 --- a/manual.htm +++ b/manual.htm @@ -1,9 +1,9 @@

The ocelotgui user manual


-
Version 1.0.5, July 02 2017 +
Version 1.0.7, August 29 2018

-
Copyright (c) 2014-2017 by Ocelot Computer Services Inc. All rights reserved. +
Copyright (c) 2014-2018 by Ocelot Computer Services Inc. All rights reserved.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by diff --git a/ocelotgui.1 b/ocelotgui.1 index 7f1a4f4..287dc7b 100644 --- a/ocelotgui.1 +++ b/ocelotgui.1 @@ -1,5 +1,5 @@ .\" Manpage for ocelotgui. -.TH man 1 "1.0.6" "ocelotgui man page" +.TH man 1 "1.0.7" "ocelotgui man page" .SH NAME ocelotgui \- GUI client for MySQL or MariaDB .SH SYNOPSIS @@ -13,4 +13,4 @@ See https://github.com/ocelot-inc/ocelotgui/issues .SH AUTHOR Peter Gulutzan (first-initial surname at-sign ocelot.ca) .SH COPYRIGHT -Copyright (c) 2014-2017 by Ocelot Computer Services Inc. +Copyright (c) 2014-2018 by Ocelot Computer Services Inc. diff --git a/ocelotgui.cpp b/ocelotgui.cpp index 4221665..ca05b7a 100644 --- a/ocelotgui.cpp +++ b/ocelotgui.cpp @@ -1,12 +1,12 @@ /* ocelotgui -- Ocelot GUI Front End for MySQL or MariaDB - Version: 1.0.6 - Last modified: August 19 2018 + Version: 1.0.7 + Last modified: August 29 2018 */ /* - Copyright (c) 2014-2017 by Ocelot Computer Services Inc. All rights reserved. + Copyright (c) 2014-2018 by Ocelot Computer Services Inc. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -391,7 +391,7 @@ int options_and_connect(unsigned int connection_number, char *database_as_utf8); /* This should correspond to the version number in the comment at the start of this program. */ - static const char ocelotgui_version[]="1.0.6"; /* For --version. Make sure it's in manual too. */ + static const char ocelotgui_version[]="1.0.7"; /* For --version. Make sure it's in manual too. */ /* Todo: initialize this as we do for hparse_dbms_mask */ static unsigned short int dbms_version_mask; @@ -3536,7 +3536,7 @@ void MainWindow::action_about() { QString the_text= "\ \"ocelotgui_logo.png\"\ -ocelotgui -- Ocelot Graphical User Interface
Copyright (c) 2014-2017 by Ocelot Computer Services Inc.
\ +ocelotgui -- Ocelot Graphical User Interface
Copyright (c) 2014-2018 by Ocelot Computer Services Inc.
\ This program is free software: you can redistribute it and/or modify \ it under the terms of the GNU General Public License as published by \ the Free Software Foundation, version 2 of the License,
\ @@ -3597,10 +3597,10 @@ void MainWindow::action_the_manual() QString the_text="\

ocelotgui

\
\ -
Version 1.0.6, December 12 2017 \ +
Version 1.0.7, August 29 2018 \
\
\ -
Copyright (c) 2014-2017 by Ocelot Computer Services Inc. All rights reserved. \ +
Copyright (c) 2014-2018 by Ocelot Computer Services Inc. All rights reserved. \
\
This program is free software; you can redistribute it and/or modify \
it under the terms of the GNU General Public License as published by \ @@ -6528,7 +6528,7 @@ if (lmysql->ldbms_mysql_real_query(&mysql[MYSQL_MAIN_CONNECTION], call_statement Interesting idea: you could have a way to show both the surrogate and the original. */ int i, j; - char i_as_string[10]; + char i_as_string[16]; /* Todo: n should not be hard-coded here, it limits us to only 10 routines can be searched */ for (i= 0, j= 0; j < DEBUG_TAB_WIDGET_MAX; ++i) { @@ -12761,14 +12761,15 @@ void MainWindow::set_dbms_version_mask(QString version) start|end). Todo: this could be useful in other places where we currently are making temporary copies that don't contain comments. + Warning: do not put next_i in a loop without checking that it is at end. */ int MainWindow::next_i(int i_start, int i_increment) { int i= i_start; for (;;) { - if (i == 0) break; - if (main_token_lengths[i] == 0) break; + if ((i == 0) && (i_increment <= 0)) break; + if ((main_token_lengths[i] == 0) && (i_increment >= 0)) break; i= i + i_increment; if ((main_token_types[i] != TOKEN_TYPE_COMMENT_WITH_SLASH) && (main_token_types[i] != TOKEN_TYPE_COMMENT_WITH_OCTOTHORPE) @@ -17585,7 +17586,7 @@ void MainWindow::print_help() char output_string[5120]; print_version(); - printf("Copyright (c) 2014-2017 by Ocelot Computer Services Inc. and others\n"); + printf("Copyright (c) 2014-2018 by Ocelot Computer Services Inc. and others\n"); printf("\n"); printf("Usage: ocelotgui [OPTIONS] [database]\n"); printf("Options files that were actually read:\n"); diff --git a/ocelotgui.h b/ocelotgui.h index 901f370..c28c84c 100644 --- a/ocelotgui.h +++ b/ocelotgui.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2014-2017 by Ocelot Computer Services Inc. All rights reserved. +/* Copyright (c) 2014-2018 by Ocelot Computer Services Inc. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -3182,7 +3182,7 @@ void ldbms_get_library(QString ocelot_ld_run_path, #if (OCELOT_THIRD_PARTY==1) /* If Tarantool we can use third_party.h we don't need to load. */ - /* OCELOT_THIRD_PARTY=1 should be on for Windows but not (for now) Linux. */ + /* OCELOT_THIRD_PARTY=1 should be on for Windows but maybe not for Linux. */ /* TODO: This should be controlled by ocelot_third_party = 1 */ if (which_library == WHICH_LIBRARY_LIBTARANTOOL) { diff --git a/ocelotgui.pro b/ocelotgui.pro index 1a3829b..bac054c 100644 --- a/ocelotgui.pro +++ b/ocelotgui.pro @@ -1,4 +1,4 @@ -# Copyright (c) 2014-2017 by Ocelot Computer Services Inc. All rights reserved. +# Copyright (c) 2014-2018 by Ocelot Computer Services Inc. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/ocelotgui.spec b/ocelotgui.spec index 7a1dd72..9ffab75 100755 --- a/ocelotgui.spec +++ b/ocelotgui.spec @@ -11,19 +11,19 @@ #%define _rpmdir %_topdir/RPMS #%define _srcrpmdir %_topdir/SRPMS -#%define _rpmfilename ocelotgui-1.0.6-1.x86_64.rpm +#%define _rpmfilename ocelotgui-1.0.7-1.x86_64.rpm #%define _unpackaged_files_terminate_build 0 -# BuildRoot: %_topdir/ocelotgui-1.0.6-1.x86_64 +# BuildRoot: %_topdir/ocelotgui-1.0.7-1.x86_64 Summary: GUI client for MySQL or MariaDB Name: ocelotgui -Version: 1.0.6 +Version: 1.0.7 Release: 1 License: GPLv2 Group: Applications/Databases Vendor: Ocelot Computer Services Inc. Url: http://ocelot.ca -Source0: ocelotgui-1.0.6-for-rpm.tar.gz +Source0: ocelotgui-1.0.7-for-rpm.tar.gz Prefix: /usr @@ -90,10 +90,13 @@ cp -a * %{buildroot} %{_docdir}/ocelotgui/starting-dialog.png %{_docdir}/ocelotgui/starting.png %{_docdir}/ocelotgui/statement-widget-example.png +%{_docdir}/ocelotgui/tarantool.txt /usr/share/pixmaps/ocelotgui_logo %changelog -* Tue Dec 12 2017 Peter Gulutzan - 1.0.6-1 +* Wed Aug 29 2018 Peter Gulutzan - 1.0.7-1 +- Synch with newer versions of DBMS servers. +* Tue Dec 12 2017 Peter Gulutzan - 1.0.7-1 - Some bug fixes. * Sun Jul 02 2017 Peter Gulutzan - 1.0.5-1 - Syntax checker understands more dialects. diff --git a/options.txt b/options.txt index 8de266b..e3fd2d2 100644 --- a/options.txt +++ b/options.txt @@ -254,7 +254,6 @@ ocelot_shortcut_connect, ocelotshortcut_exit, etc: you can change what the shortcut is, for any menu item, by specifying its name and a new keysequence. For example: SET ocelot_shortcut_paste = 'Ctrl+Shift+K'; -(This is not available in the version 1.05 Release.) one_database. Ignored. diff --git a/ostrings.h b/ostrings.h index 7a91ba3..fc0ae7e 100644 --- a/ostrings.h +++ b/ostrings.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2014-2017 by Ocelot Computer Services Inc. All rights reserved. +/* Copyright (c) 2014-2018 by Ocelot Computer Services Inc. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by diff --git a/rpm_build.sh b/rpm_build.sh index 480a8fb..9fe00eb 100755 --- a/rpm_build.sh +++ b/rpm_build.sh @@ -1,6 +1,9 @@ -# rpm_build.sh -- used by Ocelot to produce .rpm file for release 1.0.6 +# rpm_build.sh -- used by Ocelot to produce .rpm file for release 1.0.7 -# We produced ocelotgui-1.0.6-1.x86_64.rpm with Fedora Release 26 64-bit thus: +# rpm prerequissites are: +# dnf install gcc rpm-build rpm-devel rpmlint make python bash coreutils diffutils patch rpmdevtools + +# We produced ocelotgui-1.0.7.x86_64.rpm with Fedora Release 26 64-bit thus: # su root # yum install qt5-qttools-devel # yum install mysql mysql-devel @@ -13,21 +16,21 @@ # make clean # rm -r -f _CPack* # rm -f CMakeCache.txt -# rm -r -f ocelotgui-1.0.6/usr +# rm -r -f ocelotgui-1.0.7/usr # rm -r -f ocelotgui_autogen* -# cmake . -DQT_VERSION=5 -DCPACK_GENERATOR="RPM" -DCMAKE_INSTALL_PREFIX="ocelotgui-1.0.6/usr" +# cmake . -DQT_VERSION=5 -DCPACK_GENERATOR="RPM" -DCMAKE_INSTALL_PREFIX="ocelotgui-1.0.7/usr" # make # make install # chmod +x rpm_build.sh # ./rpm_build.sh -# rpmlint ./rp/rpmbuild/RPMS/ocelotgui-1.0.6-1.x86_64.rpm +# rpmlint ./rp/rpmbuild/RPMS/ocelotgui-1.0.7-1.x86_64.rpm -# We produced ocelotgui-1.0.6qt4-1.x86_64.rpm the same way, except: +# We produced ocelotgui-1.0.7qt4-1.x86_64.rpm the same way, except: # yum install qt4-devel -# cmake . -DQT_VERSION=4 -DCPACK_GENERATOR="RPM" -DCMAKE_INSTALL_PREFIX="ocelotgui-1.0.6/usr" -# cmake . -DQT_VERSION=4 -DCPACK_GENERATOR="RPM" -DFILENAME_EXTRA="qt4" -DCMAKE_INSTALL_PREFIX="ocelotgui-1.0.6/usr" +# cmake . -DQT_VERSION=4 -DCPACK_GENERATOR="RPM" -DCMAKE_INSTALL_PREFIX="ocelotgui-1.0.7/usr" +# cmake . -DQT_VERSION=4 -DCPACK_GENERATOR="RPM" -DFILENAME_EXTRA="qt4" -DCMAKE_INSTALL_PREFIX="ocelotgui-1.0.7/usr" # (filename has to be changed manually, dunno why -DFILENAME_EXTRA didn't work) -# rpmlint ./rp/rpmbuild/RPMS/ocelotgui-1.0.6qt4-1.x86_64.rpm +# rpmlint ./rp/rpmbuild/RPMS/ocelotgui-1.0.7qt4-1.x86_64.rpm # Instead of running rpm_build.sh we could produce an .rpm file by # using the default CMAKE_INSTALL_PREFIX and running cpack, @@ -43,7 +46,7 @@ # Tip: on Mageia, change ocelotgui.spec "Group:" to "Group: Databases". cd ~/ocelotgui -tar -czvf ocelotgui-1.0.6-for-rpm.tar.gz ocelotgui-1.0.6/ +tar -czvf ocelotgui-1.0.7-for-rpm.tar.gz ocelotgui-1.0.7/ rm -r rp mkdir rp cd rp @@ -53,8 +56,8 @@ cat < ~/.rpmmacros %_ocelotguidir $HOME/ocelotgui EOF mkdir -p rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} -cp ~/ocelotgui/ocelotgui-1.0.6-for-rpm.tar.gz ocelotgui-1.0.6-for-rpm.tar.gz -cp ocelotgui-1.0.6-for-rpm.tar.gz rpmbuild/SOURCES/ocelotgui-1.0.6-for-rpm.tar.gz +cp ~/ocelotgui/ocelotgui-1.0.7-for-rpm.tar.gz ocelotgui-1.0.7-for-rpm.tar.gz +cp ocelotgui-1.0.7-for-rpm.tar.gz rpmbuild/SOURCES/ocelotgui-1.0.7-for-rpm.tar.gz cp ~/ocelotgui/ocelotgui.spec ocelotgui.spec rpmbuild -ba ocelotgui.spec diff --git a/rpmchangelog b/rpmchangelog index 6fc40ad..9e799bb 100644 --- a/rpmchangelog +++ b/rpmchangelog @@ -1,3 +1,5 @@ +* Wed Aug 29 2018 Peter Gulutzan - 1.0.7-1 +- Synch with newer versions of DBMS servers * Tue Dec 12 2017 Peter Gulutzan - 1.0.6-1 - Some bug fixes. * Sun Jul 02 2017 Peter Gulutzan - 1.0.5-1 diff --git a/tarantool.txt b/tarantool.txt index c816a4e..43cc177 100644 --- a/tarantool.txt +++ b/tarantool.txt @@ -9,14 +9,17 @@ The ocelotgui connection to Tarantool is alpha and is not produced by Tarantool and has no warranty. You need the latest Tarantool "SQL" server. -You can get the release 1.8.1 release here: -https://github.com/tarantool/tarantool/releases/tag/1.8.1 -but it is obsolete. +The official "SQL" releases are 1.8.1 and 2.0. +Release 1.8.1 https://github.com/tarantool/tarantool/releases/tag/1.8.1 is slightly obsolete. +Release 2.0 will be available soon, look for it on https://github.com/tarantool/tarantool/releases, +but at time of writing is not there yet. For a more current version, download from github.com/tarantool/tarantool: git clone -b 2.0 https://github.com/tarantool/tarantool.git ~/tarantool-2.0 and build as instructed in the version-2.0 manual. -On Linux you need the Tarantool client (tarantool.so) library. +Usually you do not need to install the Tarantool client (tarantool.so) library, +but it is possible to use it if you build ocelotgui with "cmake -DTHIRD_PARTY=1". +If you did that, then this is how to get tarantool.so. The tarantool-dev package does not have it any more. Clone and follow the instructions at github.com/tarantool/tarantool-c ... @@ -43,13 +46,11 @@ you will have to say this before you start ocelotgui: export LD_RUN_PATH=/usr/local/lib Or you can add --ld_run_path=/usr/local/lib on the command line where you start ocelotgui. -GOOD NEWS: On Windows you do not need to install a +On Windows you do not need to install a Tarantool library, its code is embedded in ocelotgui.exe. -UPDATE: In ocelotgui 1.07, you will not need to install a -Tarantool library. You need the latest ocelotgui client. -The Release 1.06 version is okay, +The Release 1.07 version is okay, but some things might not be up to date. It is better to build it from source. Download from github.com/ocelot-inc/ocelotgui. @@ -86,7 +87,8 @@ But you can't drag and resize with --html.) Now type any other SQL statements, as described in the tarantool manual. (At time of writing this -manual is not available but it's similar to SQLite.) +manual is not available but it's similar to SQLite. +The tutorial https://www.tarantool.io/en/doc/2.0/tutorials/sql_tutorial/ SQL statements work.) Now type LUA 'return box.space._index:select()'; @@ -180,7 +182,7 @@ Rules concerning ocelotgui when connecting to tarantool: * All statements must end with ; (or something established by DELIMITER statement). This applies to Lua as well as SQL. * If you want a result set for a Lua request, you must say "return". - For example "return box.space.t:select();" rather than "box.space.t:select();" + For example "return box.space.T:select();" rather than "box.space.T:select();" * SQL-style comments /* ... */ will not be considered errors inside Lua statements, but will not be passed to the server. * Statements may contain [[...]] strings, but not =[[...]]= strings. diff --git a/windows.txt b/windows.txt index 55e8751..63ce98e 100644 --- a/windows.txt +++ b/windows.txt @@ -12,7 +12,7 @@ How to get it: * Download the ocelotgui.zip file from github. Check https://github.com/ocelot-inc/ocelotgui/blob/master/README.md to see where the latest release is. For example it might be - https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.6/ocelotgui-1.0.6-1.ocelotgui.zip + https://github.com/ocelot-inc/ocelotgui/releases/download/1.0.7/ocelotgui-1.0.7-1.ocelotgui.zip * Unzip. It was zipped with 7-zip from http://www.7-zip.org, but other utilities should work. For example, on Windows command prompt, if you have the PowerShell utility on your path: