Log in

View Full Version : Possible MySQL 5.1 bug loading items


totalcynic
12-18-2006, 09:06 AM
It's possible that this is just my install, but items would not load for me with my install of MySQL 5.1.11 beta. The issue was with the column name "range"", which seems to now be a reserved word. To solve the problem I changed the common/shareddb.cpp at line 666 to read;

#define F(x) "`" #x "`,"

This quotes the column name so that MySQL will accept the name no matter what.

Like I say, its possible that this is just my install, but I thought I would let everyone know just incase :-)

rojadruid
12-18-2006, 12:42 PM
It's possible that this is just my install, but items would not load for me with my install of MySQL 5.1.11 beta. The issue was with the column name "range"", which seems to now be a reserved word. To solve the problem I changed the common/shareddb.cpp at line 666 to read;

#define F(x) "`" #x "`,"

This quotes the column name so that MySQL will accept the name no matter what.

Like I say, its possible that this is just my install, but I thought I would let everyone know just incase :-)

That version of MYSQL is not supported.

The officialy supported version is 4.0.23.

Angelox
12-18-2006, 01:10 PM
It's possible that this is just my install, but items would not load for me with my install of MySQL 5.1.11 beta. The issue was with the column name "range"", which seems to now be a reserved word. To solve the problem I changed the common/shareddb.cpp at line 666 to read;

#define F(x) "`" #x "`,"

This quotes the column name so that MySQL will accept the name no matter what.

Like I say, its possible that this is just my install, but I thought I would let everyone know just incase :-)

I have Version 5.0.24 , and it works pretty well, there has been some support by the users here for it. You'd probably be the first with the 5.1x Beta, if you got it running , I'm sure some will be interested. I might try when it goes out of beta.
But Like rojadruid said, there's really no need for it - all the Devs use 4.0.
If you plan to continue with your 5.1x beta, you might consider posting the "Fixed" Eqemu versions somewhere, unless a Dev decides to incorporate your fixes.
I think, the more compatible the Emulator is with all the versions of MySql, the better.

totalcynic
12-19-2006, 01:22 AM
I would agree that MySQL 5.x give us nothing of major advantage due to the simple queries we do. However, with 5.x the date time comparisions have been fixed, and now work between different time formats correctly. Try comparing a Timestamp field with a Date field. Under 4.0 you will get some random results, though generally it will seem to work.

I also understand that 4.0 of MySQL is the supported version. Rojadruid, did you know that MySQL are about to stop supporting that version. It is going EOL in 2007.

All I'm trying to say, is that its better to be ready for change, than to have to run around after the change has been made. The code alteration I made just makes the SQL more compatible, both forwards and backwards. Therefore, it is protecting this project. Just coming back with;

---------------------------------------
Quote :-

That version of MYSQL is not supported.

The officialy supported version is 4.0.23.

---------------------------------------

Is not very helpful with an opensource project. Your actually doing your best to put people off contributing.

Angelox
12-20-2006, 12:28 AM
I think MySql 5x is not supported simply because the few devs we have working on the emulator, are better spending their time on bigger issues, they have no need for it.
I've been told (by Devs) that EqEmu currently handles a large player-base much better with the original MySql4.0, which would never be a problem for me and my two or three friends.
In any case, this is not my goal. One goal i have (and everyone else should too), is to help this project in any way I can.
Like you want to see, MySql 5x incorperated in EqEmu, I wanted to see other things. for example, I wanted LoY zones, and also just like they were when I played on live. Today, although I know I'm still standing on the "tip of the Iceburg", I can say, "LoY zones are playable", and I like to think, although it's just my database, other people in this community can find use in it.
You can do the same with MySql 5x, as other people have started too.

In these forums, it's like a marathon race,where there are the "long-runners" , people who have been around for years and done nothing but help out. Then there are the "sprinters", people who start out full speed ahead, look like they are going to win the race (very promising)! but they run "too fast", and soon drop out.
In my book, rojadruid is a long-runner, and a senior. So, I have nothing but respect for him. And even if I did think he was wrong, I'd be real careful on how I told him.

mattmeck
12-20-2006, 01:30 AM
Is not very helpful with an opensource project. Your actually doing your best to put people off contributing.

This is an open source community, if you dont like it fix it.

If you want 5.x to work, get it working, im sure people other then you will use it.


THis community's main issue is people fixing stuff and keeping it for just there server or just there project. Stop complaining about the way things are and change them, open source = everyone here has a say.

So if you want Mysql 5.x to be supported, get it working and support it.

John Adams
12-20-2006, 01:47 AM
This is an open source community, if you dont like it fix it.
Matt may be a little rough around the edges, but he is absolutely correct. There are many reasons why 4.0.23 is the "official" engine of choice - none of which have anything to do with staying current or modern with the MySQL dev team. It's all about functionality.

Tuning this entire project to work with an ever-changing open-source database engine would be a monsterous task. Let us know how that turns out.

totalcynic
12-23-2006, 06:00 AM
This is an open source community, if you dont like it fix it.

If you want 5.x to work, get it working, im sure people other then you will use it.




That I agree with you, and is exactly what I did, see the original post. However, your reply was;



That version of MYSQL is not supported.

The officialy supported version is 4.0.23.



Now to me that reads, "we don't want to know that you have a problem, and we don't want your fix as its MySQL 5.x". From your follow up post this is obviously not what you ment, and I appologise for taking it that way.

WildcardX
12-23-2006, 06:50 AM
As a developer myself, I can tell you that there is no reason the EMU server can't run on MySQL 5.0, as it is today. I know there is general resistance to the newer MySQL 5.0, but from a technical point of view, there isn't a single reason why you can't run with MySQL 5.0 today, if that is what you want. Just download the source code, compile it against the MySQL 5.0 libraries and you are now ready to load your server from a MySQL 5.0 database server. As for MySQL 5.1, that is still a beta product and i have not evaluated it, so I can not speak intelligently about it. As for MySQL 4.0, MySQL's website doesn't even allow you to download it any longer...

So, today, it is really your choice. Compile to use MySQL 5.0 or keep on using 4.0. I have been using MySQL 5.0 for my own server now for almost a year and it runs from a Windows server even. I can categorically deny the rumors about how MySQL doesn't work on Windows. It does. And it also works from linux if thats your cup of tea as well.

Frankly, this whole MySQL version debate drives me nuts. There is so much bad information on the forums surrounding this, it is silly. If you are interested in MySQL 5.0 but your not sure about if it will run or not, try it your self.. But you will have to know how to compile c++ code.

Angelox
12-23-2006, 09:30 AM
I'm pretty sure MYSql 4.0 is totally unsupported by MySql now - what they support appears to be 4.1 and up (might as well get 5x for that matter).
But didn't they apply your fixes for 5.0 to the code already?

tallerin
12-23-2006, 10:20 AM
I run Mysql 5.0.0.24 newer then that i ran into client authetication issues with the server.

I don't see why chase Mysql for each new version they put out. eqemu works fine with older versions that can still be downloaded off there sight.

Angelox
12-23-2006, 11:11 AM
I run Mysql 5.0.0.24 newer then that i ran into client authetication issues with the server.

I don't see why chase Mysql for each new version they put out. eqemu works fine with older versions that can still be downloaded off there sight.

The solution to this is simple, and I have it posted at my web page - also MySql site does (is where I learned how to correct this).
Quoting myself;
-If you see this error (and you probably will) "Failed to connect to database: Error: #1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client"
Then you need to run this line in a MySQL shell;
SET PASSWORD FOR eq@localhost = OLD_PASSWORD('eq');
This enables a "backwards" compatibility for login from the EqEmu program.

-The only other thing I saw, was the new MySQL 5 default installs to c:\program files\mysql\ my old 4.0 was in c:\mysql\ . So , just incase anything was looking for Mysql there , I changed default install to c:\mysql\ .
That's what I use (5x) and have no problems - But I can't afford a big connection for a public server to tell you it works like that too.