|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Support::Windows Servers Support forum for Windows EQEMu users. |
|
|
|
01-29-2015, 02:00 AM
|
Hill Giant
|
|
Join Date: May 2003
Location: Tacoma, WA
Posts: 225
|
|
MySQL Error showing up on GM screen
So it's been about 3 weeks since I last sourced and recompiled. Everything compiled normally. Bots needed to be reloaded, but I am now getting an error I haven't seen before. This error shows up in the chat window of the GM character. The error is in RED text and is as follows:
[MySQL Error] 1054: Unknown column 'c.timelaston' in 'field list' SELECT
c.id,c.name,c.class,c.level,c.timelaston,c.zoneid,
g.guild_id,g.rank,g.tribute_enable,g.total_tribute ,g.last_tribute,g.banker,g.public_note,g.alt
FROM vwBotCharacterMobs AS c LEFT JOIN vwGuildMembers as g ON c.id=g.char_id
AND c.mobtype = b.mobtype WHERE g.guild_id=1
This only shows up on the GM account, not on any others. I checked the views and they appear to be normal. This same error showed up on the world.exe screen the first time I started the server. I did the patching thing and it doesn't show up when starting the server. It only shows up on the GM character.
Again, this has never ever showed up before doing the build tonight...
|
|
|
|
|
|
|
01-29-2015, 11:40 AM
|
|
Developer
|
|
Join Date: Aug 2006
Location: USA
Posts: 5,946
|
|
When you update your source, you should read through the changelog.txt file for information on what was changed as well as the occasional special instructions for things you may need to change manually after updating (there were a few recently).
https://github.com/EQEmu/Server/blob.../changelog.txt
In the Changelog, Akkadius provides this link to explain the new logging system in-depth:
http://wiki.eqemulator.org/p?Logging...rhaul&frm=Main
In the case of this particular error, that is one of the few types enabled by default to be sent to GMs in game. It is an important error, which means either your database has a table that is not current (such as a missing field or renamed field), or that the source code has a bad query written in it.
Generally, the query issues in the source are fixed quickly because they have lots of exposure. There is one that needs to be fixed for raid_leaders (that I actually have fixed for the next push I do). In the case of your error, that is something related to bots. I don't compile with bots, so I don't really know the details of that error. Most likely, one of the EQEmu devs will need to fix something with the bot queries to stop that error from coming in.
Bots use views as if they were normal tables, which really is not ideal for our solution. They should probably be converted over to just use normal tables at some point. Unfortunately, I don't think there are any of the current EQEmu Devs actually use bots, so I am not sure when that would get fixed. Bots really need someone devoted to them that can code, and will make pull requests on Git to fix their issues.
|
|
|
|
01-29-2015, 05:31 PM
|
Hill Giant
|
|
Join Date: May 2003
Location: Tacoma, WA
Posts: 225
|
|
Excellent explanation. Thank you!
I have wondered where the changelog.txt was, but couldn't find it. I would have reviewed them every time, but didn't know where to find them.
It's nice to know that my explanation was in fact a new "feature" that reveals a bug of some kind and not a but itself... That had me somewhat concerned. I'll see if I can fix it tonight by investigating the views and possibly taking a look at the header files involving those bot changes. My full time job is as a developer for a "significant northwest aerospace corporation", so this is something I do all the time anyway...
Riklin (Halls Havoc)
|
01-29-2015, 05:41 PM
|
Demi-God
|
|
Join Date: Apr 2008
Location: MA
Posts: 1,164
|
|
The changelog.txt is in the root folder of the repo, if you are building it yourself, you should see it ...
|
|
|
|
01-29-2015, 09:00 PM
|
Hill Giant
|
|
Join Date: May 2003
Location: Tacoma, WA
Posts: 225
|
|
Thanks for that info about changelog. I found it and will diligently use it for now on!.
In trying to figure out the error itself...
SELECT
c.id,c.name,c.class,c.level,c.timelaston,c.zoneid,
g.guild_id,g.rank,g.tribute_enable,g.total_tribute ,g.last_tribute,g.banker,g.public_note,g.alt
FROM vwBotCharacterMobs AS c LEFT JOIN vwGuildMembers as g ON c.id=g.char_id
AND c.mobtype = b.mobtype WHERE g.guild_id=1
This is looking for c.timelaston. There indeed is no column in vwBOTCharacterMobs called "timelaston". There is a column called "last_login" which appears to be the same thing.
I have a version of the database which is empty, created from the 9/25/2014 peq database. It has been appropriately patched. That version also has this error and the bot views appear to be set up identically. I suspect this is a code issue somewhere. I'll continue to look at it. Maybe I'll get lucky and stumble on the code somewhere... LOL!
Riklin
|
|
|
|
01-29-2015, 09:06 PM
|
Hill Giant
|
|
Join Date: May 2003
Location: Tacoma, WA
Posts: 225
|
|
This query works correctly... I believe this is what the query should be.
SELECT
c.id,c.name,c.class,c.level,c.last_login,c.zone_id ,
g.guild_id,g.rank,g.tribute_enable,g.total_tribute ,g.last_tribute,g.banker,g.public_note,g.alt
FROM vwBotCharacterMobs AS c LEFT JOIN vwGuildMembers as g ON c.id=g.char_id
AND c.mobtype = g.mobtype WHERE g.guild_id=1
Now to figure out where it goes...
Riklin
|
01-29-2015, 09:08 PM
|
Hill Giant
|
|
Join Date: May 2003
Location: Tacoma, WA
Posts: 225
|
|
This query is a bit more dynamic than I thought. The guild ID value changes, so I suspect this is a resulting query from some sql assembler process.
|
01-29-2015, 09:43 PM
|
Demi-God
|
|
Join Date: Apr 2008
Location: MA
Posts: 1,164
|
|
Quote:
Originally Posted by Riklin
Thanks for that info about changelog. I found it and will diligently use it for now on!.
|
Make sure you read the commit messages, some of us like to be lazy and piss akka off.
|
01-29-2015, 10:19 PM
|
|
Developer
|
|
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
|
|
Oh, I disagree! I diligently try to piss akka off :P
__________________
Uleat of Bertoxxulous
Compilin' Dirty
|
01-30-2015, 05:40 AM
|
Hill Giant
|
|
Join Date: Feb 2013
Posts: 220
|
|
Quote:
Originally Posted by Riklin
This is looking for c.timelaston. There indeed is no column in vwBOTCharacterMobs called "timelaston". There is a column called "last_login" which appears to be the same thing.
I have a version of the database which is empty, created from the 9/25/2014 peq database. It has been appropriately patched. That version also has this error and the bot views appear to be set up identically. I suspect this is a code issue somewhere. I'll continue to look at it. Maybe I'll get lucky and stumble on the code somewhere... LOL!
Riklin
|
My PEQ Database does have a timelaston column is vwBOTCHaracterMobs, so one of us is not up to date.
|
01-30-2015, 07:26 PM
|
|
Developer
|
|
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
|
|
Bots are always out of date... Probably needs to be updated to reflect the pp conversion.
__________________
Uleat of Bertoxxulous
Compilin' Dirty
|
02-06-2015, 08:54 AM
|
Hill Giant
|
|
Join Date: Mar 2010
Posts: 101
|
|
I have the same issue, if I fix it Ill let you know.
edit: Fixed -
You need to edit two tables for bots on the latest RoF2 code.
table botbuffs:
add a column dot_rune after MagicRune as an INT
vwbotcharactermobs:
The view should read this:
select _utf8'C' AS `mobtype`,`c`.`id` AS `id`,`c`.`name` AS `name`,`c`.`class` AS `class`,`c`.`level` AS `level`,`c`.`last_login` AS `timelaston`,`c`.`zone_id` AS `zoneid` from `character_data` `c` union all select _utf8'B' AS `mobtype`,`b`.`BotID` AS `id`,`b`.`Name` AS `name`,`b`.`Class` AS `class`,`b`.`BotLevel` AS `level`,0 AS `timelaston`,0 AS `zoneid` from `bots` `b`
|
05-29-2015, 02:41 PM
|
|
Discordant
|
|
Join Date: Aug 2010
Location: Colorado
Posts: 410
|
|
I can confirm that it works now. to save a few minutes of trouble heres the same thing nibiuno posted but made it easier to copy and paste it
You need to edit two tables for bots on the latest RoF2 code.
table botbuffs:
add a column dot_rune after MagicRune as an INT
vwbotcharactermobs:
select _utf8'C'
AS `mobtype`,`c`.`id`
AS `id`,`c`.`name`
AS `name`,`c`.`class`
AS `class`,`c`.`level`
AS `level`,`c`.`last_login`
AS `timelaston`,`c`.`zone_id`
AS `zoneid`
from `character_data` `c`
union all
select _utf8'B'
AS `mobtype`,`b`.`BotID`
AS `id`,`b`.`Name`
AS `name`,`b`.`Class`
AS `class`,`b`.`BotLevel`
AS `level`,0
AS `timelaston`,0
AS `zoneid`
from `bots` `b`
Thanks again nibiuno saved me some time.
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 08:14 AM.
|
|
|
|
|
|
|
|
|
|
|
|
|