aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Data/SQLite/SQLiteUserData.cs37
1 files changed, 21 insertions, 16 deletions
diff --git a/OpenSim/Data/SQLite/SQLiteUserData.cs b/OpenSim/Data/SQLite/SQLiteUserData.cs
index ebc58c1..d37c75d 100644
--- a/OpenSim/Data/SQLite/SQLiteUserData.cs
+++ b/OpenSim/Data/SQLite/SQLiteUserData.cs
@@ -483,10 +483,8 @@ namespace OpenSim.Data.SQLite
483 user.WebLoginKey = WebLoginKey; 483 user.WebLoginKey = WebLoginKey;
484 fillUserRow(row, user); 484 fillUserRow(row, user);
485 da.Update(ds, "users"); 485 da.Update(ds, "users");
486
487 } 486 }
488 } 487 }
489
490 } 488 }
491 489
492 private bool ExistsFirstLastName(String fname, String lname) 490 private bool ExistsFirstLastName(String fname, String lname)
@@ -539,15 +537,16 @@ namespace OpenSim.Data.SQLite
539 row = users.NewRow(); 537 row = users.NewRow();
540 fillUserRow(row, user); 538 fillUserRow(row, user);
541 users.Rows.Add(row); 539 users.Rows.Add(row);
540
541 m_log.Debug("[USER DB]: Syncing user database: " + ds.Tables["users"].Rows.Count + " users stored");
542
543 // save changes off to disk
544 da.Update(ds, "users");
542 } 545 }
543 else 546 else
544 { 547 {
545 fillUserRow(row, user); 548 m_log.Warn("[USER DB]: Ignoring add since user with id {0} already exists", user.ID);
546
547 } 549 }
548 m_log.Info("[USER DB]: Syncing user database: " + ds.Tables["users"].Rows.Count + " users stored");
549 // save changes off to disk
550 da.Update(ds, "users");
551 } 550 }
552 } 551 }
553 552
@@ -558,15 +557,23 @@ namespace OpenSim.Data.SQLite
558 /// <returns>True on success, false on error</returns> 557 /// <returns>True on success, false on error</returns>
559 override public bool UpdateUserProfile(UserProfileData user) 558 override public bool UpdateUserProfile(UserProfileData user)
560 { 559 {
561 try 560 DataTable users = ds.Tables["users"];
562 { 561 lock (ds)
563 AddNewUserProfile(user);
564 return true;
565 }
566 catch (Exception)
567 { 562 {
568 return false; 563 DataRow row = users.Rows.Find(Util.ToRawUuidString(user.ID));
564 if (row == null)
565 {
566 return false;
567 }
568 else
569 {
570 fillUserRow(row, user);
571 da.Update(ds, "users");
572 }
569 } 573 }
574
575 //AddNewUserProfile(user);
576 return true;
570 } 577 }
571 578
572 /// <summary> 579 /// <summary>
@@ -598,7 +605,6 @@ namespace OpenSim.Data.SQLite
598 // save changes off to disk 605 // save changes off to disk
599 dua.Update(ds, "useragents"); 606 dua.Update(ds, "useragents");
600 } 607 }
601
602 } 608 }
603 609
604 /// <summary> 610 /// <summary>
@@ -859,7 +865,6 @@ namespace OpenSim.Data.SQLite
859 row["passwordHash"] = user.PasswordHash; 865 row["passwordHash"] = user.PasswordHash;
860 row["passwordSalt"] = user.PasswordSalt; 866 row["passwordSalt"] = user.PasswordSalt;
861 867
862
863 row["homeRegionX"] = user.HomeRegionX; 868 row["homeRegionX"] = user.HomeRegionX;
864 row["homeRegionY"] = user.HomeRegionY; 869 row["homeRegionY"] = user.HomeRegionY;
865 row["homeRegionID"] = user.HomeRegionID; 870 row["homeRegionID"] = user.HomeRegionID;