Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD Beta Forum
Menliros
Beginner


Joined: 30 May 2010
Posts: 18

PostPosted: Fri Jun 04, 2010 1:39 pm   

SQL Error: PRIMARY KEY must be unique.
 
Suddenly getting this error when trying to create a new room in my map. Never got this error before and i'm using the map quite extensively. I've tried removing all rooms in the zone I was mapping, but that had no effect.

Crash log below:

Code:

date/time         : 2010-06-04, 15:33:50, 502msregistered owner  : Microsoft / Microsoft
operating system  : Windows 7 x64 build 7600
system language   : English
system up time    : 4 days 6 hours
program up time   : 59 seconds
processors        : 4x Intel(R) Core(TM)2 Quad CPU @ 2.40GHz
physical memory   : 1015/4095 MB (free/total)
free disk space   : (C:) 986.19 GB
display mode      : 1920x1080, 32 bit
process id        : $15ac
allocated memory  : 157.38 MB
executable        : CMUD.exe
exec. date/time   : 2010-06-03 23:53
version           : 3.18.0.3
compiled with     : BCB 2006/07
madExcept version : 3.0k
callstack crc     : $06a99d80, $e451700c, $e451700c
exception number  : 1
exception class   : EZDatabaseError
exception message : SQL Error: PRIMARY KEY must be unique.

Main ($152c):
008c160d +00e9 CMUD.exe     ZAbstractDataset     417  +14 TZAbstractDataset.InternalAddRecord
77dd010a +000a ntdll.dll                                  KiUserExceptionDispatcher
0089c3a2 +002a CMUD.exe     ZDbcStatement       2000   +1 TZEmulatedPreparedStatement.ExecuteUpdate
0089c4a2 +002a CMUD.exe     ZDbcStatement       2040   +1 TZEmulatedPreparedStatement.ExecuteUpdatePrepared
00888608 +014c CMUD.exe     ZDbcGenericResolver  776  +26 TZGenericCachedResolver.PostUpdates
008a2a68 +0038 CMUD.exe     ZDbcSqLiteResultSet  853   +1 TZSQLiteCachedResolver.PostUpdates
00889d40 +0018 CMUD.exe     ZDbcCachedResultSet  439   +5 TZAbstractCachedResultSet.PostRowUpdates
00889eb8 +005c CMUD.exe     ZDbcCachedResultSet  545  +14 TZAbstractCachedResultSet.PostUpdates
0088a830 +0080 CMUD.exe     ZDbcCachedResultSet 1526  +16 TZAbstractCachedResultSet.InsertRow
008c15dc +00b8 CMUD.exe     ZAbstractDataset     415  +12 TZAbstractDataset.InternalAddRecord
008c17b4 +010c CMUD.exe     ZAbstractDataset     465  +19 TZAbstractDataset.InternalPost
00517841 +0029 CMUD.exe     DB                            TDataSet.CheckOperation

C
005174dc +0048 CMUD.exe     DB                            TDataSet.Post
00d82c74 +04b4 CMUD.exe     RoomRec3            1780  +72 TMapLink.SaveLink
00d80d28 +00e0 CMUD.exe     RoomRec3             902  +25 TRoomRec.SetLink
00d650df +082f CMUD.exe     MapLoc3             1995 +167 TMapLoc.NewRoom
00d67e3b +012f CMUD.exe     MapLoc3             2792  +20 FollowLink
00d6a46a +21e2 CMUD.exe     MapLoc3             3310 +369 CheckForRoom
00d6a9cf +013f CMUD.exe     MapLoc3             3363  +15 TMapLoc.MapLine
00d6662f +02db CMUD.exe     MapLoc3             2366  +49 TMapLoc.AddLine
00cde595 +18bd CMUD.exe     MAIN                8527 +460 TMUDForm.HandleTrigger
00cdc7a7 +000f CMUD.exe     MAIN                7889   +1 TMUDForm.UserOutNewLine
00a2dfdb +0067 CMUD.exe     term                9748   +6 TTerm.DoTriggerLine
00a2c90a +020e CMUD.exe     term                9306  +34 HandleNewLine
00a2d169 +06e1 CMUD.exe     term                9434 +104 TTerm.PutText
00a2d74b +0053 CMUD.exe     term                9541   +2 TTerm.Add
00cc7492 +00b6 CMUD.exe     MAIN                1824   +8 TMUDForm.OutputStr
00cc77b6 +011a CMUD.exe     MAIN                1912  +29 TMUDForm.NextMUDLine
00cc7c86 +0022 CMUD.exe     MAIN                1993   +4 TMUDForm.DoNextLine
004bc093 +02bb CMUD.exe     Controls                      TControl.WndProc
004c0097 +04fb CMUD.exe     Controls                      TWinControl.WndProc
004a25f7 +0553 CMUD.exe     Forms                         TCustomForm.WndProc
004bf7c0 +002c CMUD.exe     Controls                      TWinControl.MainWndProc
0047d424 +0014 CMUD.exe     Classes                       StdWndProc
75f9810d +000a USER32.dll                                 DispatchMessageA
004aa76c +00fc CMUD.exe     Forms                         TApplication.ProcessMessage
004aa7a6 +000a CMUD.exe     Forms                         TApplication.HandleMessage
004aaa9b +00b3 CMUD.exe     Forms                         TApplication.Run
00e42b4c +0088 CMUD.exe     CMUD                 373  +20 initialization
76593675 +0010 kernel32.dll                               BaseThreadInitThunk
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23377
Location: Colorado, USA

PostPosted: Fri Jun 04, 2010 4:21 pm   
 
What version of CMUD was the map originally created in? You can try downloading the MapConvert program and use the Repair button to try and repair your *.DBM map database. It actually looks like an exit link causing the problem rather than a room record.
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Fri Jun 04, 2010 6:45 pm   
 
On a related note, you can make this happen by editing the Room Properties when no room is actually selected. The actual edit will not throw the error, but the edits you do make will persist for the duration of the session. The AV message finally appears when you exit the session, but I dunno of other situations where it would occur.
_________________
EDIT: I didn't like my old signature
Reply with quote
Menliros
Beginner


Joined: 30 May 2010
Posts: 18

PostPosted: Fri Jun 04, 2010 6:49 pm   
 
The map was originately created in Zmud, years ago. I've tried using the map converter to repair the map, but to no avail. It still gives the error when i try when i map a new room.
I've even tried converting it to zmud format and back.
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Fri Jun 04, 2010 7:39 pm   
 
If Zugg's converter doesn't fix it, make a copy (in case he wants you to send it to him) and then use ReedN's cmud_map_doctor utility on it. This should fix these sorts of errors, as sometimes the converter won't recognize something as wrong if it's not also broken.

Just keep in mind that it doesn't try to maintain the order of rooms, so any room scripts you have will have to be adjusted manually (I can't wait until "roomXXX" class keys become optional).
_________________
EDIT: I didn't like my old signature
Reply with quote
Menliros
Beginner


Joined: 30 May 2010
Posts: 18

PostPosted: Sat Jun 05, 2010 10:08 am   
 
ReedN's utility worked! Thanks.
Reply with quote
kittyfish
Novice


Joined: 20 Sep 2011
Posts: 37

PostPosted: Mon Nov 06, 2017 9:44 am   
 
ReedN hasn't posted on zuggsoft in 5 years, does anyone have a copy of this to put up? (maybe archive.org it in case that goes down later too)

I found this by searching for cmud SQL Error: PRIMARY KEY must be unique - the only info I can find says to use this thing to stop this keep happening to the maps :(
(
http://forums.zuggsoft.com/forums/viewtopic.php?t=33703
http://forums.zuggsoft.com/forums/viewtopic.php?t=37595
http://forums.zuggsoft.com/forums/viewtopic.php?p=151095#151095
)
Reply with quote
kittyfish
Novice


Joined: 20 Sep 2011
Posts: 37

PostPosted: Thu Nov 09, 2017 3:25 pm   
 
ReedN responded on http://forums.zuggsoft.com/forums/viewtopic.php?t=33703&postdays=0&postorder=asc&start=50 but said they don't have the program to fix map corruption anymore after it disappeared from mediafire - if anyone else has it please please upload? :)
( and put it on https://archive.org/create/
or web.archive.org/save/http://PUTURLHERE
or http://webcitation.org
or http://archive.is
or http://webrecorder.io :) )
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD Beta Forum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net