diff --git a/CMakeLists.txt b/CMakeLists.txt index dfcfd2a..9d549ec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2023 by Peter Gulutzan. All rights reserved. +# Copyright (c) 2024 by Peter Gulutzan. 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 @@ -148,8 +148,8 @@ # FILENAME_EXTRA # Default is blank. ocelotgui passes -DFILENAME_EXTRA="qt4" when building with qt4, -# so the final package name will look like ocelotgui_2.1.0qt4-1_amd64.deb or -# ocelotgui-2.1.0qt4-1.x86_64.rpm. Ordinarily it should not be specified. +# so the final package name will look like ocelotgui_2.2.0qt4-1_amd64.deb or +# ocelotgui-2.2.0qt4-1.x86_64.rpm. Ordinarily it should not be specified. # FILENAME_RELEASE # Default is "1". Ordinarily it doesn't need to be changed. @@ -161,13 +161,13 @@ # e.g. to generate .deb file and install with dpkg: # deb_build.sh, which copies files and invokes debian/rules, which uses CMakeLists.txt -# sudo dpkg -i ocelotgui_2.1.0-1_amd64.deb +# sudo dpkg -i ocelotgui_2.2.0-1_amd64.deb # but see also comments in deb_build.sh and debian/README.Debian # e.g. to generate .rpm file and install with rpm: # rpm_build.sh, which copies files and invokes ocelotgui.spec, which uses CMakeLists.txt -# rpmlint ocelotgui-2.1.0-1.x86_64.rpm -# rpm -i ocelotgui-2.1.0-1.x86_64.rpm +# rpmlint ocelotgui-2.2.0-1.x86_64.rpm +# rpm -i ocelotgui-2.2.0-1.x86_64.rpm # but see also comments in rpm_build.sh # Todo: We only check if CMAKE_SYSTEM_PROCESSOR = x86_64. On FreeBSD 12, uname -p says amd64. @@ -175,7 +175,7 @@ # Todo: We do not install README_tarantool.htm or the *_tarantool.png files, though we put them on github. # Todo: We do not install ocelotgui-logo.png, we only install ocelotgui_logo.png. -message("-- CmakeLists.txt for ocelotgui 2.1.0") +message("-- CmakeLists.txt for ocelotgui 2.2.0") message("-- see comments in CMakeLists.txt for special instructions") message("-- see README.md for general instructions for building") @@ -546,14 +546,14 @@ if (PACKAGE_TYPE MATCHES "RPM") install(FILES ocelotgui.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) endif (PACKAGE_TYPE MATCHES "RPM") -# version = 2.1.0 +# version = 2.2.0 set(CPACK_PACKAGE_VERSION_MAJOR "2") -set(CPACK_PACKAGE_VERSION_MINOR "1") +set(CPACK_PACKAGE_VERSION_MINOR "2") set(CPACK_PACKAGE_VERSION_PATCH "0") -# I assume nobody wants package names like ocelotgui_2.1.0-Linux.deb +# I assume nobody wants package names like ocelotgui_2.2.0-Linux.deb # but that's what I get if CMAKE_SYSTEM_NAME = "Linux". -# I'd prefer ocelotgui_2.1.0-1_amd64.deb or ocelotgui-2.1.0.x86_64.rpm +# I'd prefer ocelotgui_2.2.0-1_amd64.deb or ocelotgui-2.2.0.x86_64.rpm # If it's neither "DEB" nor "RPM", = default. set(FILENAME_PLATFORM_FOR_DEB "Linux") set(FILENAME_PLATFORM_FOR_RPM "Linux") diff --git a/README.htm b/README.htm index 6e35a02..9e21c6c 100644 --- a/README.htm +++ b/README.htm @@ -1,7 +1,7 @@ ocelotgui -

Version 2.1.0

+

Version 2.2.0

The ocelotgui GUI, 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) 2023 by Peter Gulutzan. +

Copyright (c) 2024 by Peter Gulutzan. All rights reserved.

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

@@ -123,21 +123,21 @@

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, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui_2.1.0-1_i386.deb
-sudo apt install ./ocelotgui_2.1.0-1_i386.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui_2.2.0-1_i386.deb +sudo apt install ./ocelotgui_2.2.0-1_i386.deb For 64-bit, Debian-like, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui_2.1.0-1_amd64.deb
-sudo apt install ./ocelotgui_2.1.0-1_amd64.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui_2.2.0-1_amd64.deb +sudo apt install ./ocelotgui_2.2.0-1_amd64.deb For 64-bit, RPM-like, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui-2.1.0-1.x86_64.rpm
-sudo rpm -i ocelotgui-2.1.0-1.x86_64.rpm
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui-2.2.0-1.x86_64.rpm +sudo rpm -i ocelotgui-2.2.0-1.x86_64.rpm For 64-bit, any Linux, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui-2.1.0.tar.gz
-tar zxvf ocelotgui-2.1.0.tar.gz
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui-2.2.0.tar.gz
+tar zxvf ocelotgui-2.2.0.tar.gz
 ocelotgui/ocelotgui-qt5
For 64-bit, any Linux, Qt4 (deprecated)
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui-2.1.0.tar.gz
-tar zxvf ocelotgui-2.1.0.tar.gz
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui-2.2.0.tar.gz
+tar zxvf ocelotgui-2.2.0.tar.gz
 ocelotgui/ocelotgui-qt4

@@ -172,9 +172,9 @@

Some screenshots


User Manual



-

Version 2.1.0, September 29 2023

+

Version 2.2.0, February 15 2024

-

Copyright (c) 2023 by Peter Gulutzan. All rights reserved.

+

Copyright (c) 2024 by Peter Gulutzan. 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 @@ -1327,6 +1327,12 @@

Appendix 1 Details about ocelotgui options


... Options that begin with "ocelot_" are only recognized by the ocelotgui client. Everything on the Settings menu has an associated option name. The intuitively-named settings options are: +ocelot_explorer_action ocelot_explorer_applicable_dbmss ocelot_explorer_applicable_types +ocelot_explorer_background_color ocelot_explorer_detached ocelot_explorer_enabled +ocelot_explorer_font_family ocelot_explorer_font_size ocelot_explorer_font_style +ocelot_explorer_font_weight ocelot_explorer_height ocelot_explorer_left +ocelot_explorer_shortcut ocelot_explorer_text ocelot_explorer_text_color +ocelot_explorer_top ocelot_explorer_visible ocelot_explorer_width ocelot_extra_rule_1_text_color ocelot_extra_rule_1_background_color ocelot_extra_rule_1_condition ocelot_extra_rule_1_display_as ocelot_grid_text_color ocelot_grid_background_color @@ -2081,7 +2087,7 @@

Appendix 3 Tarantool


Ordinarily ocelotgui is a client for MySQL/MariaDB, and some documentation assumes that. However, it is possible -to connect to Tarantool Tarantool 2.x (with SQL) instead. +to connect to Tarantool 2.x or 3.x (with SQL) instead. You get all the same features except the debugger.

The ocelotgui connection to Tarantool is not produced or approved by Tarantool.

@@ -2129,12 +2135,12 @@

Appendix 3 Tarantool


Tarantool library, its code is embedded in ocelotgui.exe.

You need the latest ocelotgui client. -The Release 2.1.0 version is okay at the time of release, +The Release 2.2.0 version is okay at the time of release, but some things might not be up to date. It may be better to build it from source. Download from github.com/ocelot-inc/ocelotgui.

-

Start the Tarantool server, and say:
+

For this example we assume Tarantool 2.x. Start the Tarantool server, and say:
box.cfg{listen=3301}
-- Second connect if you want LUA '...' to work
box.schema.user.grant('guest','read,write,execute','universe')
@@ -2290,11 +2296,11 @@

Appendix 4 Windows


* 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/2.1.0/ocelotgui-2.1.0-1.ocelotgui.zip
+ https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui-2.2.0-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: - PowerShell Expand-Archive ocelotgui-2.1.0-1.ocelotgui.zip c:\ocelotgui
+ PowerShell Expand-Archive ocelotgui-2.2.0-1.ocelotgui.zip c:\ocelotgui
* Read the COPYING and LICENSE arrangements. On Windows ocelotgui is statically linked to Qt and MariaDB libraries, so the copyright and licensing is not the same as for Linux.
@@ -2538,7 +2544,7 @@

Building ocelotgui.exe from source

del ocelotui.zip "C:\Program Files (x86)\7-Zip\7z" a -tzip ocelotgui.zip ocelotgui.exe changelog manual.htm ocelotgui-logo.png ocelotgui_logo.png shot8.jpg CMakeLists.txt menu-debug.png ocelotgui.pro shot9.jpg codeeditor.h menu-edit.png ocelotgui.ui special-detach.png COPYING menu-file.png options.txt shot10.jpg special-images.png COPYING.thirdparty menu-help.png ostrings.h shot11.png special-settings.png copyright menu-options.png README.htm shot1.jpg special-vertical.png debugger.png menu-run.png README.md shot2.jpg starting-dialog.png debugger_reference.txt menu-settings.png README.txt shot3.png starting.png example.cnf PKGBUILD ocelotgui.1 readmylogin.c shot4.jpg statement-widget-example.png hparse.h ocelotgui.cpp result-widget-example.png shot5.jpg third_party.h install_sql.cpp ocelotgui.desktop rpmchangelog shot6.jpg windows.txt LICENSE.GPL ocelotgui.h shot7.jpg tarantool.txt rpm_build.sh ocelotgui.spec completer_1.png completer_2.png completer_3.png conditional.png explorer1.png explorer2.png explorer3.png explorer4.png explorer5.png explorer6.png explorer7.png explorer8.png explorer9.png -: What we actually put in the release looks like ocelotgui-2.1.0-1.ocelotgui.zip, so rename the .zip file at some point. +: What we actually put in the release looks like ocelotgui-2.2.0-1.ocelotgui.zip, so rename the .zip file at some point. : (Dynamic linking) @@ -2616,23 +2622,25 @@

Appendix 5 Getting and using the by github and is named ocelotgui-[version].tar.gz. Since version 1.0.9, there is also a release file named ocelotgui_[version].orig.tar.gz which is preferable because it does not contain unnecessary executables. -Thus release 2.1.0 is at -https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui_2.1.0.orig.tar.gz. +Thus release 2.2.0 is at +https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui_2.2.0.orig.tar.gz. Typically, to get it, one would cd to a download directory, then
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui_2.1.0.orig.tar.gz
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui_2.2.0.orig.tar.gz
 
or use a browser to go to https://github.com/ocelot-inc/ocelotgui/releases -and click ocelotgui_2.1.0.orig.tar.gz.

+and click ocelotgui_2.2.0.orig.tar.gz.

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

  sudo apt-get install build-essential gcc cmake make
- #It is possible to say libmariadbclient-dev instead of libmysqlclient-dev
+ #The name of the following package (containing mysql.h) varies,
+ #it might be libmariadbclient-dev or libmariadb-dev
  sudo apt-get install libmysqlclient-dev
  #Do the following if and only if build is for use with Qt4
  sudo apt-get install qt4-dev-tools
  #Do the following if and only if build is for use with Qt5
+ #It is okay if qt5-default is absent
  sudo apt-get install qt5-default qtbase5-dev qt5-qmake qtbase5-dev-tools
  #Do the following if and only if build is for use with Qt6
  sudo apt-get install qt-6-base-dev qt-6-base-dev-tools

@@ -2662,8 +2670,8 @@

Appendix 5 Getting and using the

(Package builds on ArchLinux-like systems can also be done with the PKGBUILD file in the ocelotgui github repository.)

Unpack all the source files by saying:

- tar -zxvf ocelotgui_2.1.0.orig.tar.gz
- cd ocelotgui-2.1.0
+ tar -zxvf ocelotgui_2.2.0.orig.tar.gz + cd ocelotgui-2.2.0 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, @@ -2687,12 +2695,12 @@

Appendix 5 Getting and using the Please read the comments in the scripts before using them. For Debian-like platforms say
  ./deb_build.sh
- sudo apt install /tmp/debian3/ocelotgui_2.1.0-1_amd64.deb
- #or sudo apt install /tmp/debian3/ocelotgui_2.1.0-1_i386.deb
+ sudo apt install /tmp/debian3/ocelotgui_2.2.0-1_amd64.deb + #or sudo apt install /tmp/debian3/ocelotgui_2.2.0-1_i386.deb For RPM-like platforms say
  ./rpm_build.sh
- sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.1.0-1.x86_64.rpm
- #or sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.1.0-1.i686.rpm
+ sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.2.0-1.x86_64.rpm + #or sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.2.0-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.

diff --git a/README.md b/README.md index 6e35a02..9e21c6c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ ocelotgui -

Version 2.1.0

+

Version 2.2.0

The ocelotgui GUI, 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) 2023 by Peter Gulutzan. +

Copyright (c) 2024 by Peter Gulutzan. All rights reserved.

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

@@ -123,21 +123,21 @@ 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, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui_2.1.0-1_i386.deb
-sudo apt install ./ocelotgui_2.1.0-1_i386.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui_2.2.0-1_i386.deb +sudo apt install ./ocelotgui_2.2.0-1_i386.deb For 64-bit, Debian-like, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui_2.1.0-1_amd64.deb
-sudo apt install ./ocelotgui_2.1.0-1_amd64.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui_2.2.0-1_amd64.deb +sudo apt install ./ocelotgui_2.2.0-1_amd64.deb For 64-bit, RPM-like, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui-2.1.0-1.x86_64.rpm
-sudo rpm -i ocelotgui-2.1.0-1.x86_64.rpm
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui-2.2.0-1.x86_64.rpm +sudo rpm -i ocelotgui-2.2.0-1.x86_64.rpm For 64-bit, any Linux, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui-2.1.0.tar.gz
-tar zxvf ocelotgui-2.1.0.tar.gz
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui-2.2.0.tar.gz
+tar zxvf ocelotgui-2.2.0.tar.gz
 ocelotgui/ocelotgui-qt5
For 64-bit, any Linux, Qt4 (deprecated)
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui-2.1.0.tar.gz
-tar zxvf ocelotgui-2.1.0.tar.gz
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui-2.2.0.tar.gz
+tar zxvf ocelotgui-2.2.0.tar.gz
 ocelotgui/ocelotgui-qt4

@@ -172,9 +172,9 @@ Stop again with File|Exit or control-Q.

User Manual



-

Version 2.1.0, September 29 2023

+

Version 2.2.0, February 15 2024

-

Copyright (c) 2023 by Peter Gulutzan. All rights reserved.

+

Copyright (c) 2024 by Peter Gulutzan. 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 @@ -1327,6 +1327,12 @@ files are read but not used. ... Options that begin with "ocelot_" are only recognized by the ocelotgui client. Everything on the Settings menu has an associated option name. The intuitively-named settings options are: +ocelot_explorer_action ocelot_explorer_applicable_dbmss ocelot_explorer_applicable_types +ocelot_explorer_background_color ocelot_explorer_detached ocelot_explorer_enabled +ocelot_explorer_font_family ocelot_explorer_font_size ocelot_explorer_font_style +ocelot_explorer_font_weight ocelot_explorer_height ocelot_explorer_left +ocelot_explorer_shortcut ocelot_explorer_text ocelot_explorer_text_color +ocelot_explorer_top ocelot_explorer_visible ocelot_explorer_width ocelot_extra_rule_1_text_color ocelot_extra_rule_1_background_color ocelot_extra_rule_1_condition ocelot_extra_rule_1_display_as ocelot_grid_text_color ocelot_grid_background_color @@ -2081,7 +2087,7 @@ https://github.com/ocelot-inc/ocelotgui-tarantool.

Ordinarily ocelotgui is a client for MySQL/MariaDB, and some documentation assumes that. However, it is possible -to connect to Tarantool Tarantool 2.x (with SQL) instead. +to connect to Tarantool 2.x or 3.x (with SQL) instead. You get all the same features except the debugger.

The ocelotgui connection to Tarantool is not produced or approved by Tarantool.

@@ -2129,12 +2135,12 @@ On Windows you do not need to install a Tarantool library, its code is embedded in ocelotgui.exe.

You need the latest ocelotgui client. -The Release 2.1.0 version is okay at the time of release, +The Release 2.2.0 version is okay at the time of release, but some things might not be up to date. It may be better to build it from source. Download from github.com/ocelot-inc/ocelotgui.

-

Start the Tarantool server, and say:
+

For this example we assume Tarantool 2.x. Start the Tarantool server, and say:
box.cfg{listen=3301}
-- Second connect if you want LUA '...' to work
box.schema.user.grant('guest','read,write,execute','universe')
@@ -2290,11 +2296,11 @@ 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/2.1.0/ocelotgui-2.1.0-1.ocelotgui.zip
+ https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui-2.2.0-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: - PowerShell Expand-Archive ocelotgui-2.1.0-1.ocelotgui.zip c:\ocelotgui
+ PowerShell Expand-Archive ocelotgui-2.2.0-1.ocelotgui.zip c:\ocelotgui
* Read the COPYING and LICENSE arrangements. On Windows ocelotgui is statically linked to Qt and MariaDB libraries, so the copyright and licensing is not the same as for Linux.
@@ -2538,7 +2544,7 @@ copy release\ocelotgui.exe ocelotgui.exe del ocelotui.zip "C:\Program Files (x86)\7-Zip\7z" a -tzip ocelotgui.zip ocelotgui.exe changelog manual.htm ocelotgui-logo.png ocelotgui_logo.png shot8.jpg CMakeLists.txt menu-debug.png ocelotgui.pro shot9.jpg codeeditor.h menu-edit.png ocelotgui.ui special-detach.png COPYING menu-file.png options.txt shot10.jpg special-images.png COPYING.thirdparty menu-help.png ostrings.h shot11.png special-settings.png copyright menu-options.png README.htm shot1.jpg special-vertical.png debugger.png menu-run.png README.md shot2.jpg starting-dialog.png debugger_reference.txt menu-settings.png README.txt shot3.png starting.png example.cnf PKGBUILD ocelotgui.1 readmylogin.c shot4.jpg statement-widget-example.png hparse.h ocelotgui.cpp result-widget-example.png shot5.jpg third_party.h install_sql.cpp ocelotgui.desktop rpmchangelog shot6.jpg windows.txt LICENSE.GPL ocelotgui.h shot7.jpg tarantool.txt rpm_build.sh ocelotgui.spec completer_1.png completer_2.png completer_3.png conditional.png explorer1.png explorer2.png explorer3.png explorer4.png explorer5.png explorer6.png explorer7.png explorer8.png explorer9.png -: What we actually put in the release looks like ocelotgui-2.1.0-1.ocelotgui.zip, so rename the .zip file at some point. +: What we actually put in the release looks like ocelotgui-2.2.0-1.ocelotgui.zip, so rename the .zip file at some point. : (Dynamic linking) @@ -2616,23 +2622,25 @@ A release file is highlighted in green by github and is named ocelotgui-[version].tar.gz. Since version 1.0.9, there is also a release file named ocelotgui_[version].orig.tar.gz which is preferable because it does not contain unnecessary executables. -Thus release 2.1.0 is at -https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui_2.1.0.orig.tar.gz. +Thus release 2.2.0 is at +https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui_2.2.0.orig.tar.gz. Typically, to get it, one would cd to a download directory, then

-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui_2.1.0.orig.tar.gz
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui_2.2.0.orig.tar.gz
 
or use a browser to go to https://github.com/ocelot-inc/ocelotgui/releases -and click ocelotgui_2.1.0.orig.tar.gz.

+and click ocelotgui_2.2.0.orig.tar.gz.

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

  sudo apt-get install build-essential gcc cmake make
- #It is possible to say libmariadbclient-dev instead of libmysqlclient-dev
+ #The name of the following package (containing mysql.h) varies,
+ #it might be libmariadbclient-dev or libmariadb-dev
  sudo apt-get install libmysqlclient-dev
  #Do the following if and only if build is for use with Qt4
  sudo apt-get install qt4-dev-tools
  #Do the following if and only if build is for use with Qt5
+ #It is okay if qt5-default is absent
  sudo apt-get install qt5-default qtbase5-dev qt5-qmake qtbase5-dev-tools
  #Do the following if and only if build is for use with Qt6
  sudo apt-get install qt-6-base-dev qt-6-base-dev-tools

@@ -2662,8 +2670,8 @@ sudo pacman -S mariadb-clients

(Package builds on ArchLinux-like systems can also be done with the PKGBUILD file in the ocelotgui github repository.)

Unpack all the source files by saying:

- tar -zxvf ocelotgui_2.1.0.orig.tar.gz
- cd ocelotgui-2.1.0
+ tar -zxvf ocelotgui_2.2.0.orig.tar.gz + cd ocelotgui-2.2.0 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, @@ -2687,12 +2695,12 @@ Peter Gulutzan provides scripts that will create .deb or .rpm packages. Please read the comments in the scripts before using them. For Debian-like platforms say
  ./deb_build.sh
- sudo apt install /tmp/debian3/ocelotgui_2.1.0-1_amd64.deb
- #or sudo apt install /tmp/debian3/ocelotgui_2.1.0-1_i386.deb
+ sudo apt install /tmp/debian3/ocelotgui_2.2.0-1_amd64.deb + #or sudo apt install /tmp/debian3/ocelotgui_2.2.0-1_i386.deb For RPM-like platforms say
  ./rpm_build.sh
- sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.1.0-1.x86_64.rpm
- #or sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.1.0-1.i686.rpm
+ sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.2.0-1.x86_64.rpm + #or sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.2.0-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.

diff --git a/README.txt b/README.txt index 6e35a02..9e21c6c 100644 --- a/README.txt +++ b/README.txt @@ -1,7 +1,7 @@ ocelotgui -

Version 2.1.0

+

Version 2.2.0

The ocelotgui GUI, 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) 2023 by Peter Gulutzan. +

Copyright (c) 2024 by Peter Gulutzan. All rights reserved.

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

@@ -123,21 +123,21 @@ 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, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui_2.1.0-1_i386.deb
-sudo apt install ./ocelotgui_2.1.0-1_i386.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui_2.2.0-1_i386.deb +sudo apt install ./ocelotgui_2.2.0-1_i386.deb For 64-bit, Debian-like, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui_2.1.0-1_amd64.deb
-sudo apt install ./ocelotgui_2.1.0-1_amd64.deb
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui_2.2.0-1_amd64.deb +sudo apt install ./ocelotgui_2.2.0-1_amd64.deb For 64-bit, RPM-like, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui-2.1.0-1.x86_64.rpm
-sudo rpm -i ocelotgui-2.1.0-1.x86_64.rpm
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui-2.2.0-1.x86_64.rpm +sudo rpm -i ocelotgui-2.2.0-1.x86_64.rpm For 64-bit, any Linux, Qt5
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui-2.1.0.tar.gz
-tar zxvf ocelotgui-2.1.0.tar.gz
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui-2.2.0.tar.gz
+tar zxvf ocelotgui-2.2.0.tar.gz
 ocelotgui/ocelotgui-qt5
For 64-bit, any Linux, Qt4 (deprecated)
-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui-2.1.0.tar.gz
-tar zxvf ocelotgui-2.1.0.tar.gz
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui-2.2.0.tar.gz
+tar zxvf ocelotgui-2.2.0.tar.gz
 ocelotgui/ocelotgui-qt4

@@ -172,9 +172,9 @@ Stop again with File|Exit or control-Q.

User Manual



-

Version 2.1.0, September 29 2023

+

Version 2.2.0, February 15 2024

-

Copyright (c) 2023 by Peter Gulutzan. All rights reserved.

+

Copyright (c) 2024 by Peter Gulutzan. 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 @@ -1327,6 +1327,12 @@ files are read but not used. ... Options that begin with "ocelot_" are only recognized by the ocelotgui client. Everything on the Settings menu has an associated option name. The intuitively-named settings options are: +ocelot_explorer_action ocelot_explorer_applicable_dbmss ocelot_explorer_applicable_types +ocelot_explorer_background_color ocelot_explorer_detached ocelot_explorer_enabled +ocelot_explorer_font_family ocelot_explorer_font_size ocelot_explorer_font_style +ocelot_explorer_font_weight ocelot_explorer_height ocelot_explorer_left +ocelot_explorer_shortcut ocelot_explorer_text ocelot_explorer_text_color +ocelot_explorer_top ocelot_explorer_visible ocelot_explorer_width ocelot_extra_rule_1_text_color ocelot_extra_rule_1_background_color ocelot_extra_rule_1_condition ocelot_extra_rule_1_display_as ocelot_grid_text_color ocelot_grid_background_color @@ -2081,7 +2087,7 @@ https://github.com/ocelot-inc/ocelotgui-tarantool.

Ordinarily ocelotgui is a client for MySQL/MariaDB, and some documentation assumes that. However, it is possible -to connect to Tarantool Tarantool 2.x (with SQL) instead. +to connect to Tarantool 2.x or 3.x (with SQL) instead. You get all the same features except the debugger.

The ocelotgui connection to Tarantool is not produced or approved by Tarantool.

@@ -2129,12 +2135,12 @@ On Windows you do not need to install a Tarantool library, its code is embedded in ocelotgui.exe.

You need the latest ocelotgui client. -The Release 2.1.0 version is okay at the time of release, +The Release 2.2.0 version is okay at the time of release, but some things might not be up to date. It may be better to build it from source. Download from github.com/ocelot-inc/ocelotgui.

-

Start the Tarantool server, and say:
+

For this example we assume Tarantool 2.x. Start the Tarantool server, and say:
box.cfg{listen=3301}
-- Second connect if you want LUA '...' to work
box.schema.user.grant('guest','read,write,execute','universe')
@@ -2290,11 +2296,11 @@ 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/2.1.0/ocelotgui-2.1.0-1.ocelotgui.zip
+ https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui-2.2.0-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: - PowerShell Expand-Archive ocelotgui-2.1.0-1.ocelotgui.zip c:\ocelotgui
+ PowerShell Expand-Archive ocelotgui-2.2.0-1.ocelotgui.zip c:\ocelotgui
* Read the COPYING and LICENSE arrangements. On Windows ocelotgui is statically linked to Qt and MariaDB libraries, so the copyright and licensing is not the same as for Linux.
@@ -2538,7 +2544,7 @@ copy release\ocelotgui.exe ocelotgui.exe del ocelotui.zip "C:\Program Files (x86)\7-Zip\7z" a -tzip ocelotgui.zip ocelotgui.exe changelog manual.htm ocelotgui-logo.png ocelotgui_logo.png shot8.jpg CMakeLists.txt menu-debug.png ocelotgui.pro shot9.jpg codeeditor.h menu-edit.png ocelotgui.ui special-detach.png COPYING menu-file.png options.txt shot10.jpg special-images.png COPYING.thirdparty menu-help.png ostrings.h shot11.png special-settings.png copyright menu-options.png README.htm shot1.jpg special-vertical.png debugger.png menu-run.png README.md shot2.jpg starting-dialog.png debugger_reference.txt menu-settings.png README.txt shot3.png starting.png example.cnf PKGBUILD ocelotgui.1 readmylogin.c shot4.jpg statement-widget-example.png hparse.h ocelotgui.cpp result-widget-example.png shot5.jpg third_party.h install_sql.cpp ocelotgui.desktop rpmchangelog shot6.jpg windows.txt LICENSE.GPL ocelotgui.h shot7.jpg tarantool.txt rpm_build.sh ocelotgui.spec completer_1.png completer_2.png completer_3.png conditional.png explorer1.png explorer2.png explorer3.png explorer4.png explorer5.png explorer6.png explorer7.png explorer8.png explorer9.png -: What we actually put in the release looks like ocelotgui-2.1.0-1.ocelotgui.zip, so rename the .zip file at some point. +: What we actually put in the release looks like ocelotgui-2.2.0-1.ocelotgui.zip, so rename the .zip file at some point. : (Dynamic linking) @@ -2616,23 +2622,25 @@ A release file is highlighted in green by github and is named ocelotgui-[version].tar.gz. Since version 1.0.9, there is also a release file named ocelotgui_[version].orig.tar.gz which is preferable because it does not contain unnecessary executables. -Thus release 2.1.0 is at -https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui_2.1.0.orig.tar.gz. +Thus release 2.2.0 is at +https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui_2.2.0.orig.tar.gz. Typically, to get it, one would cd to a download directory, then

-wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui_2.1.0.orig.tar.gz
+wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui_2.2.0.orig.tar.gz
 
or use a browser to go to https://github.com/ocelot-inc/ocelotgui/releases -and click ocelotgui_2.1.0.orig.tar.gz.

+and click ocelotgui_2.2.0.orig.tar.gz.

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

  sudo apt-get install build-essential gcc cmake make
- #It is possible to say libmariadbclient-dev instead of libmysqlclient-dev
+ #The name of the following package (containing mysql.h) varies,
+ #it might be libmariadbclient-dev or libmariadb-dev
  sudo apt-get install libmysqlclient-dev
  #Do the following if and only if build is for use with Qt4
  sudo apt-get install qt4-dev-tools
  #Do the following if and only if build is for use with Qt5
+ #It is okay if qt5-default is absent
  sudo apt-get install qt5-default qtbase5-dev qt5-qmake qtbase5-dev-tools
  #Do the following if and only if build is for use with Qt6
  sudo apt-get install qt-6-base-dev qt-6-base-dev-tools

@@ -2662,8 +2670,8 @@ sudo pacman -S mariadb-clients

(Package builds on ArchLinux-like systems can also be done with the PKGBUILD file in the ocelotgui github repository.)

Unpack all the source files by saying:

- tar -zxvf ocelotgui_2.1.0.orig.tar.gz
- cd ocelotgui-2.1.0
+ tar -zxvf ocelotgui_2.2.0.orig.tar.gz + cd ocelotgui-2.2.0 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, @@ -2687,12 +2695,12 @@ Peter Gulutzan provides scripts that will create .deb or .rpm packages. Please read the comments in the scripts before using them. For Debian-like platforms say
  ./deb_build.sh
- sudo apt install /tmp/debian3/ocelotgui_2.1.0-1_amd64.deb
- #or sudo apt install /tmp/debian3/ocelotgui_2.1.0-1_i386.deb
+ sudo apt install /tmp/debian3/ocelotgui_2.2.0-1_amd64.deb + #or sudo apt install /tmp/debian3/ocelotgui_2.2.0-1_i386.deb For RPM-like platforms say
  ./rpm_build.sh
- sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.1.0-1.x86_64.rpm
- #or sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.1.0-1.i686.rpm
+ sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.2.0-1.x86_64.rpm + #or sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.2.0-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.

diff --git a/changelog b/changelog index 21ac878..4d53f29 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,15 @@ +ocelotgui (2.2.0-1) UNRELEASED; urgency=low + + * New server syntax + + -- Peter Gulutzan Thu, 15 Feb 2024 12:00:00 -0600 + +ocelotgui (2.1.0-1) UNRELEASED; urgency=low + + * Improved Chart + + -- Peter Gulutzan Fri, 29 Sep 2023 12:00:00 -0600 + ocelotgui (2.0.0-1) UNRELEASED; urgency=low * Chart diff --git a/chart_options.txt b/chart_options.txt index d8f0429..1d3767f 100644 --- a/chart_options.txt +++ b/chart_options.txt @@ -16,7 +16,7 @@ still will work. The same functionality is available without it. The source code which has the feature is inside #if (OCELOT_CHART == 1) ... #endif, or #if (OCELOT_CHART_OR_QCHART == 1) ... #endif, and this is the default. Therefore the instructions for building are as described for -ocelotgui 2.1.0 in the README file. +ocelotgui 2.2.0 in the README file. SET ocelot_grid_chart= ---------------------- diff --git a/deb_build.sh b/deb_build.sh index 0ee577f..455a481 100755 --- a/deb_build.sh +++ b/deb_build.sh @@ -1,11 +1,11 @@ -# deb_build.sh -- produce ocelotgui-2.1.0 .deb from ~/ocelotgui +# deb_build.sh -- produce ocelotgui-2.2.0 .deb from ~/ocelotgui # The ocelotgui developer uses this script to produce a .deb file from a source directory ~/ocelotgui on Ubuntu xenial. # Only advanced users will want this, ordinary users will download the official-release .deb file or make with cmake. # An easy way to get ~/ocelotgui is "cd ~" + "git clone https://github.com/ocelot-inc/ocelotgui ocelotgui". # This script uses /tmp and cheerily deletes existing files in /tmp. -# The result will be /tmp/debian3/ocelotgui_2.1.0-1_amd64.deb or /tmp/debian3/ocelotgui_2.1.0-1_i386.deb. +# The result will be /tmp/debian3/ocelotgui_2.2.0-1_amd64.deb or /tmp/debian3/ocelotgui_2.2.0-1_i386.deb. # See also the comments in README.Debian. sudo apt-get install debhelper dpkg-dev devscripts @@ -15,7 +15,7 @@ sudo apt-get install qtbase5-dev sudo apt-get install default-libmysqlclient-dev sudo apt-get install piuparts -export VERSION=2.1.0 +export VERSION=2.2.0 export SOURCE=$HOME/ocelotgui cd /tmp diff --git a/debian/README.Debian b/debian/README.Debian index 36fc8e0..fe5bd67 100644 --- a/debian/README.Debian +++ b/debian/README.Debian @@ -12,15 +12,15 @@ The ocelotgui source package includes a script deb_build.sh which builds a .deb # Get the prerequisites for build: apt-get install git cmake g++ default-libmysqlclient-dev qtbase5-dev # Get the prerequisites for debuild: apt-get install devscripts build-essential lintian -# Get the latest source, including the debian subdirectory, compressed into a file named ocelotgui-2.1.0.tar.gz. +# Get the latest source, including the debian subdirectory, compressed into a file named ocelotgui-2.2.0.tar.gz. # (Internally Peter Gulutzan has a script for "Making a package" but we do not supply it, you must make your own tar.gz.) -# (Since release 1.0.9, you're able to simply download ocelotgui-2.1.0.tar.gz from the github release files.) +# (Since release 1.0.9, you're able to simply download ocelotgui-2.2.0.tar.gz from the github release files.) cd ~ rm -r -f ~/debian2 mkdir ~/debian2 cd ~/debian2 -cp ~/ocelotgui-2.1.0.tar.gz ocelotgui_2.1.0.orig.tar.gz -tar -xvf ocelotgui_2.1.0.orig.tar.gz +cp ~/ocelotgui-2.2.0.tar.gz ocelotgui_2.2.0.orig.tar.gz +tar -xvf ocelotgui_2.2.0.orig.tar.gz cd ./ocelotgui/debian debuild @@ -29,7 +29,7 @@ dpkg-genchanges: info: including full source code in upload ... but source isn't .png files were subjected to normalizing by "dh_strip_nondeterminism" # Lintian results -After "debuild" and after "lintian -I ~/tmp/debian3/ocelotgui_2.1.0_amd64.deb": +After "debuild" and after "lintian -I ~/tmp/debian3/ocelotgui_2.2.0_amd64.deb": When we build: There are no errors. There are no warnings. There are no informative messages. Hurrah. But it depends on what the distro's version is. We deliberately build on an old version. This is how to get rid of warnings or informative messages that might appear on newer distros. diff --git a/debian/changelog b/debian/changelog index 3f97824..c637c3c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +ocelotgui (2.2.0-1) UNRELEASED; urgency=low + + * New server syntax + + -- Peter Gulutzan Thu, 15 Feb 2024 12:00:00 -0600 + ocelotgui (2.1.0-1) UNRELEASED; urgency=low * Improved Charts diff --git a/hparse.h b/hparse.h index 1c70a37..4dfa2f5 100644 --- a/hparse.h +++ b/hparse.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2023 by Peter Gulutzan. All rights reserved. +/* Copyright (c) 2024 by Peter Gulutzan. 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 53a7a50..70ef6e7 100644 --- a/manual.htm +++ b/manual.htm @@ -1,9 +1,9 @@

The ocelotgui user manual


-
Version 2.1.0, September 29 2023 +
Version 2.2.0, February 15 2024

-
Copyright (c) 2023 by Peter Gulutzan. All rights reserved. +
Copyright (c) 2024 by Peter Gulutzan. 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 3a9d7f3..bdf1179 100644 --- a/ocelotgui.1 +++ b/ocelotgui.1 @@ -1,5 +1,5 @@ .\" Manpage for ocelotgui. -.TH man 1 "2.1.0" "ocelotgui man page" +.TH man 1 "2.2.0" "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) 2023 by Peter Gulutzan. +Copyright (c) 2024 by Peter Gulutzan. diff --git a/ocelotgui.cpp b/ocelotgui.cpp index 79b20a6..61e759e 100644 --- a/ocelotgui.cpp +++ b/ocelotgui.cpp @@ -1,11 +1,11 @@ /* ocelotgui -- GUI Front End for MySQL or MariaDB - Version: 2.1.0 - Last modified: February 7 2024 + Version: 2.2.0 + Last modified: February 15 2024 */ /* - Copyright (c) 2023 by Peter Gulutzan. All rights reserved. + Copyright (c) 2024 by Peter Gulutzan. 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 @@ -423,7 +423,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[]="2.1.0"; /* For --version. Make sure it's in manual too. */ + static const char ocelotgui_version[]="2.2.0"; /* For --version. Make sure it's in manual too. */ unsigned int dbms_version_mask= FLAG_VERSION_DEFAULT; /* Global mysql definitions */ @@ -6064,7 +6064,7 @@ void MainWindow::action_about() { QString the_text= "\ \"ocelotgui_logo.png\"\ -ocelotgui -- Graphical User Interface
Copyright (c) 2023 by Peter Gulutzan.
\ +ocelotgui -- Graphical User Interface
Copyright (c) 2024 by Peter Gulutzan.
\ 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,
\ @@ -6150,10 +6150,10 @@ void MainWindow::action_the_manual() QString the_text="\

ocelotgui

\
\ -
Version 2.1.0, September 29 2023 \ +
Version 2.2.0, February 15 2024 \
\
\ -
Copyright (c) 2023 by Peter Gulutzan. All rights reserved. \ +
Copyright (c) 2024 by Peter Gulutzan. 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 \ @@ -18357,7 +18357,12 @@ int MainWindow::tarantool_fetch_row_ext(const char *tarantool_tnt_reply_data, tarantool_tnt_reply_data+= 2; seconds+= tzoffset * 60; /* Despite Tarantool documentation, we don't ignore tzoffset even if tzindex != 0 */ } + /* fromSecsSinceEpoch was introduced in Qt 5.8 (2017) */ +#if (QT_VERSION <= 0x050800) + QDateTime dt= QDateTime::fromMSecsSinceEpoch(seconds * 1000); +#else QDateTime dt= QDateTime::fromSecsSinceEpoch(seconds, Qt::UTC); +#endif QString s= dt.toString("yyyy-MM-ddThh:mm:ss"); /* Tarantool quirk: character after date is 'T' not ' ' */ if (s.left(1) == "-") { @@ -24401,7 +24406,7 @@ void MainWindow::print_help() char output_string[5120]; print_version(); - printf("Copyright (c) 2023 by Peter Gulutzan and others\n"); + printf("Copyright (c) 2024 by Peter Gulutzan and others\n"); printf("\n"); printf("Usage: ocelotgui [OPTIONS] [database]\n"); printf("Options files that were actually read:\n"); @@ -30589,7 +30594,7 @@ int Chart::draw_group( { QVector series_columns= series.at(i_of_series); int bar_y= chart_canvas_rect.height(); - int bar_height; + int bar_height= 0; for (int i_of_series_columns= 0; i_of_series_columns < series_columns.size(); ++i_of_series_columns) { int series_column= series_columns.at(i_of_series_columns); @@ -30632,7 +30637,7 @@ int Chart::draw_group( { QVector series_columns= series.at(i_of_series); int bar_x= chart_canvas_rect.x(); - int bar_width; + int bar_width= 0; for (int i_of_series_columns= 0; i_of_series_columns < series_columns.size(); ++i_of_series_columns) { int series_column= series_columns.at(i_of_series_columns); diff --git a/ocelotgui.h b/ocelotgui.h index b2907c2..c6e9079 100644 --- a/ocelotgui.h +++ b/ocelotgui.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2023 by Peter Gulutzan. All rights reserved. +/* Copyright (c) 2024 by Peter Gulutzan. 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.pro b/ocelotgui.pro index ea38314..8a6d1f6 100644 --- a/ocelotgui.pro +++ b/ocelotgui.pro @@ -1,4 +1,4 @@ -# Copyright (c) 2023 by Peter Gulutzan. All rights reserved. +# Copyright (c) 2024 by Peter Gulutzan. 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 f244fbf..c5ddc71 100644 --- a/ocelotgui.spec +++ b/ocelotgui.spec @@ -1,4 +1,4 @@ -# ocelotgui.spec file for version 2.1.0 supplied by Peter Gulutzan as part of ocelotgui package +# ocelotgui.spec file for version 2.2.0 supplied by Peter Gulutzan as part of ocelotgui package #How to Build an .rpm file #------------------------- @@ -10,29 +10,29 @@ # sudo yum install rpm rpm-build rpmlint # 2. Copy the ocelotgui tar.gz file to your $HOME directory. # It is available on github. You might have downloaded it already. -# For example you might say: wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.1.0/ocelotgui-2.1.0.tar.gz +# For example you might say: wget https://github.com/ocelot-inc/ocelotgui/releases/download/2.2.0/ocelotgui-2.2.0.tar.gz # (For this step, we assume you know where you downloaded to. See later explanation in section "Re: Source".) -# You must copy it to $HOME/ocelotgui-2.1.0.tar.gz -- this is hard coded. -# If CmakeLists.txt was updated since the release, which is true for 2.1.0, Step #2 will not work -- use Step #2a instead. -# 2a. Alternative to step 2: make ocelotgui-2.1.0.tar.gz from a clone of the latest ocelotgui source. +# You must copy it to $HOME/ocelotgui-2.2.0.tar.gz -- this is hard coded. +# If CmakeLists.txt was updated since the release, which is true for 2.2.0, Step #2 will not work -- use Step #2a instead. +# 2a. Alternative to step 2: make ocelotgui-2.2.0.tar.gz from a clone of the latest ocelotgui source. # This is approximately the way that the ocelotgui developer makes new tar.gz files when making new releases. -# To produce $HOME/ocelotgui-2.1.0.tar.gz from the latest github source, say: +# To produce $HOME/ocelotgui-2.2.0.tar.gz from the latest github source, say: # cd /tmp # rm -r -f ocelotgui # git clone https://github.com/ocelot-inc/ocelotgui ocelotgui # rm -r -f ocelotgui/.git -# tar -zcvf $HOME/ocelotgui-2.1.0.tar.gz ocelotgui +# tar -zcvf $HOME/ocelotgui-2.2.0.tar.gz ocelotgui # rm -r -f ocelotgui -# 3. Remake ocelotgui-2.1.0.tar.gz so it will unpack to directory ocelotgui-2.1.0 rather than to ocelotgui. -# This step is necessary because ocelotgui.spec will look for files in ocelotgui-2.1.0. -# To change $HOME/ocelotgui-2.1.0.tar.gz to be ready for rpm, say: +# 3. Remake ocelotgui-2.2.0.tar.gz so it will unpack to directory ocelotgui-2.2.0 rather than to ocelotgui. +# This step is necessary because ocelotgui.spec will look for files in ocelotgui-2.2.0. +# To change $HOME/ocelotgui-2.2.0.tar.gz to be ready for rpm, say: # cd /tmp # rm -r -f ocelotgui -# rm -r -f ocelotgui-2.1.0 -# cp -p $HOME/ocelotgui-2.1.0.tar.gz ocelotgui-2.1.0.tar.gz -# tar -xf ocelotgui-2.1.0.tar.gz -# mv ocelotgui ocelotgui-2.1.0 -# tar -zcvf $HOME/ocelotgui-2.1.0.tar.gz ocelotgui-2.1.0 +# rm -r -f ocelotgui-2.2.0 +# cp -p $HOME/ocelotgui-2.2.0.tar.gz ocelotgui-2.2.0.tar.gz +# tar -xf ocelotgui-2.2.0.tar.gz +# mv ocelotgui ocelotgui-2.2.0 +# tar -zcvf $HOME/ocelotgui-2.2.0.tar.gz ocelotgui-2.2.0 # 4. Copy the ocelotgui.spec file to your $HOME directory. # (For this step, we assume you know where the spec file is. After all, it is what you are reading now.) # You must copy it to $HOME/ocelotgui.spec -- this is hard coded. @@ -43,11 +43,11 @@ # 6. Run rpmbuild using the $HOME/ocelotgui_rpm directory. Notice that we don't bother with an .rpmmacros file. # rpmbuild -ba $HOME/ocelotgui.spec --define "_topdir $HOME/ocelotgui_rpm/rp/rpmbuild" --define "_sourcedir $HOME" # 7. Find the resulting rpm in the RPMS subdirectory and check it. Here we assume the platform is x86-64. -# rpmlint ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.1.0-1.x86_64.rpm +# rpmlint ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.2.0-1.x86_64.rpm # If it says "0 errors, 0 warnings", you're done! # You can copy the .rpm file to a permanent location and remove the ~/ocelotgui_rpm directory. # 8. With the .rpm file you can say -# sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.1.0-1.x86_64.rpm +# sudo rpm -i ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.2.0-1.x86_64.rpm # Of course, the .rpm file name will be different on a 32-bit platform. # Todo: nowadays yum install or dnf install is probably better, we'll say that in the main README. @@ -65,7 +65,7 @@ #Re Source: # The URL here is in fact the source of the ocelotgui release. # However, we commented it out because setup doesn't download it -# and in any case it would unpack to ocelotgui not ocelotgui-2.1.0. +# and in any case it would unpack to ocelotgui not ocelotgui-2.2.0. # The assumption is that Source0: is the file name and the directory # is $HOME and the file needs pre-processing as described above. # Todo: Consider that this is possible: @@ -155,7 +155,7 @@ # # spec file for package ocelotgui # -# Copyright (c) 2023 by Peter Gulutzan +# Copyright (c) 2024 by Peter Gulutzan # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -180,7 +180,7 @@ Summary: GUI client for MySQL or MariaDB Name: ocelotgui -Version: 2.1.0 +Version: 2.2.0 Release: 1 %if %{?suse_version:1}%{!?suse_version:0} @@ -200,8 +200,8 @@ Group: Databases %endif Vendor: Peter Gulutzan Url: http://ocelot.ca -#Source0: ocelotgui-2.1.0.tar.gz -Source: https://github.com/ocelot-inc/%name/releases/download/2.1.0/%name-%{version}.tar.gz +#Source0: ocelotgui-2.2.0.tar.gz +Source: https://github.com/ocelot-inc/%name/releases/download/2.2.0/%name-%{version}.tar.gz %if %{?suse_version:1}%{!?suse_version:0} BuildRequires: libqt5-qttools-devel @@ -321,6 +321,8 @@ cd %{_builddir}/%{name}-%{version}/build %{_datadir}/pixmaps/ocelotgui-logo.png %changelog +* Thu Feb 15 2024 Peter Gulutzan - 2.2.0-1 + New server syntax. * Fri Sep 29 2023 Peter Gulutzan - 2.1.0-1 Improved Chart. * Wed Jun 07 2023 Peter Gulutzan - 2.0.0-1 diff --git a/rpm_build.sh b/rpm_build.sh index 1c7a1e1..8e63586 100755 --- a/rpm_build.sh +++ b/rpm_build.sh @@ -1,15 +1,15 @@ -# rpmbuild.sh -- produce ocelotgui-2.1.0 .rpm from ~/ocelotgui +# rpmbuild.sh -- produce ocelotgui-2.2.0 .rpm from ~/ocelotgui # Peter Gulutzan uses this script to produce a .rpm file from a source directory ~/ocelotgui on Fedora 28. # Only advanced users will want this, ordinary users will download the official-release .rpm file or make with cmake. -# For 2.1.0 32-bit ocelotgui was on Fedora 26 from archives.fedoraproject.org/pub/archive/fedora-secondary/releases/26, with pae. +# For 2.2.0 32-bit ocelotgui was on Fedora 26 from archives.fedoraproject.org/pub/archive/fedora-secondary/releases/26, with pae. # An easy way to get ~/ocelotgui is "cd ~" + "git clone https://github.com/ocelot-inc/ocelotgui ocelotgui". # This script uses /tmp and cheerily deletes existing files in /tmp. # This script uses $HOME and cheerily overwrites $HOME/ocelotgui-$VERSION.tar.gz ocelotgui-$VERSION + $HOME/ocelotgui-$VERSION + $HOME/ocelotgui.spec. # This script uses $HOME/rpm_build and cheerily deletes existing files in $HOME/rpm_build. -# The result will be / ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.1.0-1.x86_64.rpm or ~/ocelotgui_rpm//rp/rpmbuild/RPMS/i686/ocelotgui-2.1.0-1.i686.rpm +# The result will be / ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.2.0-1.x86_64.rpm or ~/ocelotgui_rpm//rp/rpmbuild/RPMS/i686/ocelotgui-2.2.0-1.i686.rpm # See also the comments in ocelotgui.spec. #For SUSE, replace following line with sudo yum install libqt5-qttools-devel @@ -21,7 +21,7 @@ sudo yum install gcc gcc-c++ make cmake sudo yum install sed rpm rpm-build rpmlint desktop-file-utils sudo yum install python -export VERSION=2.1.0 +export VERSION=2.2.0 export SOURCE=$HOME/ocelotgui cd /tmp @@ -129,7 +129,7 @@ cd ~ tar -xf ocelotgui-$VERSION.tar.gz rm -r -f $HOME/ocelotgui_rpm -cp ~/ocelotgui-2.1.0/ocelotgui.spec $HOME/ocelotgui.spec +cp ~/ocelotgui-2.2.0/ocelotgui.spec $HOME/ocelotgui.spec rpmbuild -ba $HOME/ocelotgui.spec --define "_topdir $HOME/ocelotgui_rpm/rp/rpmbuild" --define "_sourcedir $HOME" @@ -137,4 +137,4 @@ rpmbuild -ba $HOME/ocelotgui.spec --define "_topdir $HOME/ocelotgui_rpm/rp/rpmbu # The result of rpmbuild should be ocelotgui_$VERSION-1.x86_64.rpm or ocelotgui_$VERSION-1_i686.rpm if 32-bit # Final lines of output should show: rpmlint says 0 errors, 0 warnings. rpmlint ~/ocelotgui.spec -rpmlint ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.1.0-1.x86_64.rpm +rpmlint ~/ocelotgui_rpm//rp/rpmbuild/RPMS/x86_64/ocelotgui-2.2.0-1.x86_64.rpm diff --git a/rpmchangelog b/rpmchangelog index 8c30e74..f0fcece 100644 --- a/rpmchangelog +++ b/rpmchangelog @@ -1,3 +1,5 @@ +* Thu Feb 15 2024 Peter Gulutzan - 2.2.0-1 +- New server syntax * Fri Sep 29 2023 Peter Gulutzan - 2.1.0-1 - Improved Chart * Wed Jun 07 2023 Peter Gulutzan - 2.0.0-1