Thursday, August 22, 2013

ERROR 1558 (HY000)...: Column count of mysql.proc is wrong.

I had MySQL Stored Procedure to run from shell scrip on Red Hat 5.7. I got this error message:

ERROR 1558 (HY000) at line 1: Column count of mysql.proc is wrong. Expected 20, found 16. Created with MySQL 50077, now running 50168. Please use mysql_upgrade to fix this error.

The script ran without a problem on my other Red Hat instance. I compared Mysql versions on both. The version of MySQL where I did not get an error was 14.12 build 5.0.77. The version of MySQL where I got an error was 14.14 build 5.1.68. I run suggested command:


... and restarted the Server. It solved my problem.

Wednesday, March 6, 2013

Java: Determine what OS are you running

Today I stumble into a problem in my code... I run the code from different OS types, and depending on the OS, I need to create/read files in/from different locations. Of course I thought of Google! I found this code example, that I just wanted to save and share (Big thanks to '',

public class OSValidator {

private static String OS = System.getProperty("").toLowerCase();
private static String USER_HOME = System.getProperty("user.home");

public static void main(String[] args) {


if (isWindows()) {
System.out.println("This is Windows");
} else if (isMac()) {
System.out.println("This is Mac");
} else if (isUnix()) {
System.out.println("This is Unix or Linux");
} else if (isSolaris()) {
System.out.println("This is Solaris");
} else {
System.out.println("Your OS is not support!!");

public static boolean isWindows() {
return (OS.indexOf("win") >= 0);

public static boolean isMac() {
return (OS.indexOf("mac") >= 0);

public static boolean isUnix() {
return (OS.indexOf("nix") >= 0 || OS.indexOf("nux") >= 0 || OS.indexOf("aix") > 0 );

public static boolean isSolaris() {
return (OS.indexOf("sunos") >= 0);
public static String getUserHome() {
return (USER_HOME+"/");