Gossamer Forum
Home : Products : Gossamer Mail : Discussion :

DBD::mysql::st execute failed:!!!

Quote Reply
DBD::mysql::st execute failed:!!!
Hello!

After updating from 2.0.3 to 2.0.6 the following error has occured when a new user signs up:

A fatal error has occured:

DBD::mysql::st execute failed: Unknown column 'email' in 'where clause' at /usr/www/users/XXX/admin/GT/SQL/Driver/MYSQL.pm line 113.

Please enable debugging in setup for more details.

Is the update not properly done?
Quote Reply
Re: [rajani] DBD::mysql::st execute failed:!!! In reply to
Hello Alex!

Thats interesting!!!

I used the function create default tables without overwriting the tables data, it had the same problem.

But when I used the create default tables with overwrite function, it does not show any problems.

This ofcourse means that either the column is missing or the defs are not correct. Note that the defs sync did not work earlier.
Quote Reply
Re: [rajani] DBD::mysql::st execute failed:!!! In reply to
Hi,

It sounds like the upgrade did not finish, or did not run? What happened at the end during the upgrade? The column name 'user' in the users table changed to 'email' as user is a reserved word in postgres.

If the upgrade didn't finish, your version should still say 2.0.3, you can run the upgrade again and see what happened.

Cheers,

Alex
--
Gossamer Threads Inc.
Quote Reply
Re: [Alex] DBD::mysql::st execute failed:!!! In reply to
Hello Alex!

Thanks for your reply.

The upgrade did finish completely. At the end it said that 2.0.3 was upgraded to 2.0.5! I downloaded 2.0.6. So there was a mistake in the install.dat file, I beleive, but not serious. The only error that came at the end was that sessions.def could not be accessed, permission 644.

All the defs are 644. Could it be that it needed to change but could not and also hence no change in the table?

I never understand why it creates permissions 644 that I have no access to it. This has Happened will all the installations. I run cgiwrap/cgi-sys and make it working with my user id through the browser. Then this should not happen. For every installtion trial I have to send an email to my provider to change the permissions.

I start to beleive that 30 sec. CPU power may not be sufficient to install the big tar ball. The core files needs to be installed by steps of two or three, so that if it is interrupted then atleast there is no doubt about it. For e.g. Templates could be updates in one step, program files anathor, and the last step would be help files.

In the version number it shows 2.0.6! So the install went correct. However, I used the default table instal function and hence did not notice the change in the column name. But it looks like that it did not make the change.

An important idea would be that it tells the user what it does and where it stops, if thats easy. Otherwise I would have no way to find out what its doing.
Quote Reply
Re: [rajani] DBD::mysql::st execute failed:!!! In reply to
Hi,

You should have seen:

Upgrading Gossamer Mail from 2.0.4 to 2.0.5 ...
..
Gossamer Mail has been successfully upgraded from 2.0.4 to 2.0.5.

Upgrading Gossamer Mail from 2.0.5 to 2.0.6 ...
...
Gossamer Mail has been successfully upgraded from 2.0.5 to 2.0.6.

There is no 2.0.3 - 2.0.4 changes so you wouldn't have seen that. What looks like happened is it tried to do the upgrade from 2.0.5 to 2.0.6, but failed due to permissions.

Did you run install.cgi from the web or from shell? As long as you run them the same way during install as you do from upgrades you should be fine.

We are looking at changing the permissions of def files to make it so it doesn't matter.

Cheers,

Alex
--
Gossamer Threads Inc.
Quote Reply
Re: [Alex] DBD::mysql::st execute failed:!!! In reply to
Hello Alex!

Thanks again for your interest and reply.

I used 2.0.3 as a test installation where I check my templates and see what are the changes that needs to be done.

I downlaoded the version Upgrade 2.0.6.

I did run through the web browser using cgiwrap running under my user ID.

At the end it said upgrading from 2.0.3 to 2.0.5! I wondered why did it say this. It should have said 2.0.6. I have seen:

-----------------
Upgrading Gossamer Mail from 2.0.3 to 2.0.5 .....

Gossamer Mail has been successfully upgraded from 2.0.3 to 2.0.5.
-----------------

I however would not like to take a lot of your precious time as this problem does not exist any more. Although it may be interesting to learn from the observations.

I shall let you know if it happens again and exactly in what manner.

Thanks again for your concern.

Quote Reply
Re: [rajani] DBD::mysql::st execute failed:!!! In reply to
Hi,

Are you sure about this? Nowhere in install.cgi does it say 2.0.3. It could have said 2.0.4 - 2.0.5, or 2.0.5 - 2.06?

Very strange...

Alex
--
Gossamer Threads Inc.
Quote Reply
Re: [Alex] DBD::mysql::st execute failed:!!! In reply to
Hello Alex!

I was using 2.0.3 test installation and hence I remembered that it should have done the upgrade from it. What noticing was that it said 2.0.5 and not 2.0.6! I wonder why?

After you shook my confindence, I myself became curious ;) So I needed to try it out again.

You are right, Guru. I made anathor test installtion over the existing test installtion and found out that it said 2.0.4 to 2.0.5 (Not 2.0.3, that seems to be my bad memory)!

However I noticed that it did not say upgrading to 2.0.6 again even though on the top the version is displayed 2.0.6.

Following is the error:


Error

An error occured:

Could not create table session; Reason: Can not open file
'/usr/www/users/rajani/XXX/admin/defs/test_session.def'.
Reason: Permission denied at /u2/home/rajani/public_html/XXX/install.cgi
line 7108.

But yes, you are right in catiching my mistake in the observation.


Quote Reply
Re: [rajani] DBD::mysql::st execute failed:!!! In reply to
Hello Alex!

Just after doing the test installation and meditating on the big long listing it produces I came up with some more interesting observation.

I used skip both the option of templates and *.pl for the upgrade.

It was still


Unarchiving (644) /usr/www/users/rajani
Skipping /usr/www/users/rajani/

There I found that it "Jumped out of the directory where it was. Interesting. There is something fishy in this area of installation unpack routine. They are as follows where it went out of the directory:

>>> Correct directory >>>test/email/admin/mysqlman/templates/table_select.html
>>> Out of the directory>>> test/email/batch/.htaccess

till the following:

test/email/user/join.cgi

Tracing the problem, I see that there has been something fishy in the paths of configuration. There is something not in order. Hence the new installation takes whats saved in the config.pm!!!

However, I cannot change it. I tried in there but it does not get changed.

Here, there is a "c" missing
-----------------------------
This should be the PATH (starts with a / or drive letter) to the directory where the batch files are. These files include incoming.pl and outgoing.pl. No trailing slash.
-------------------------
in the path but I cannot change it. I tried but it does not pickup.

It seems that during the original installation, there was something like typo that I did not notice and its still there but cannot change it. So the installation is screwed up, it seems. Its interesting to know the behaviour!!!
Quote Reply
Re: [rajani] DBD::mysql::st execute failed:!!! In reply to
Hello Alex!

That actually means that the installation routine does not actually check the paths, or it forgets somewhere on the way.

The reason why I say this is because, there is only one typo of a letter "c" in the batch path and not in the images path.

But the installation routine DID install in the directory outside also for the images directory. Hence it did not come back to its original path where it should be from the links config.pm!


Very intersting observation.