From cbf9fcfac591bd8c8fcbccaa562c7a5fa05c4d9c Mon Sep 17 00:00:00 2001 From: lbsa71 Date: Fri, 11 Apr 2008 09:56:22 +0000 Subject: * Discerned between AddProfile and UpdateProfile in region registration :: Believe it or not, but INSERT/UPDATE is actually a better pattern than REPLACE, since, with INSERT/UPDATE you can catch erroneous UPDATES to non-INSERTed items as well as catch erroneous re-INSERTS. in 95% of the cases, you SHOULD have a clear INSERT context, and a clear and separate UPDATE context. If you think your case falls within the 5%, maybe you should re-evaluate your code. :: --- OpenSim/Grid/GridServer/GridManager.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'OpenSim/Grid/GridServer/GridManager.cs') diff --git a/OpenSim/Grid/GridServer/GridManager.cs b/OpenSim/Grid/GridServer/GridManager.cs index 5ca8cf7..7b41f6e 100644 --- a/OpenSim/Grid/GridServer/GridManager.cs +++ b/OpenSim/Grid/GridServer/GridManager.cs @@ -333,7 +333,17 @@ namespace OpenSim.Grid.GridServer { try { - DataResponse insertResponse = kvp.Value.AddProfile(sim); + DataResponse insertResponse; + + if( existingSim == null ) + { + insertResponse = kvp.Value.AddProfile(sim); + } + else + { + insertResponse = kvp.Value.UpdateProfile(sim); + } + switch (insertResponse) { case DataResponse.RESPONSE_OK: -- cgit v1.1