diff --git a/OpenSim/Data/PGSQL/PGSQLManager.cs b/OpenSim/Data/PGSQL/PGSQLManager.cs index b8ece759d9..8c35bd2a6b 100644 --- a/OpenSim/Data/PGSQL/PGSQLManager.cs +++ b/OpenSim/Data/PGSQL/PGSQLManager.cs @@ -74,7 +74,7 @@ namespace OpenSim.Data.PGSQL { return NpgsqlDbType.Double; } - if (type == typeof(Single)) + if (type == typeof(float)) { return NpgsqlDbType.Double; } @@ -285,6 +285,18 @@ namespace OpenSim.Data.PGSQL return parameter; } + internal NpgsqlParameter CreateParameterNullBytea(string parameterName) + { + //Tweak so we dont always have to add : sign + if (parameterName.StartsWith(":")) parameterName = parameterName.Replace(":", ""); + + //HACK if object is null, it is turned into a string, there are no nullable type till now + NpgsqlParameter parameter = new NpgsqlParameter(parameterName, NpgsqlDbType.Bytea); + parameter.Direction = ParameterDirection.Input; + parameter.Value = null; + return parameter; + } + /// /// Create a parameter with PGSQL schema type /// diff --git a/OpenSim/Data/PGSQL/PGSQLSimulationData.cs b/OpenSim/Data/PGSQL/PGSQLSimulationData.cs index 291b60b8c4..dfaac39c58 100755 --- a/OpenSim/Data/PGSQL/PGSQLSimulationData.cs +++ b/OpenSim/Data/PGSQL/PGSQLSimulationData.cs @@ -1874,12 +1874,12 @@ namespace OpenSim.Data.PGSQL if (prim.Animations != null) parameters.Add(_Database.CreateParameter("sopanims", prim.SerializeAnimations())); else - parameters.Add(_Database.CreateParameter("sopanims", null)); + parameters.Add(_Database.CreateParameterNullBytea("sopanims")); if (prim.IsRoot && prim.ParentGroup.LinksetData is not null) parameters.Add(_Database.CreateParameter("lnkstBinData", prim.ParentGroup.LinksetData.ToBin())); else - parameters.Add(_Database.CreateParameter("lnkstBinData", null)); + parameters.Add(_Database.CreateParameterNullBytea("lnkstBinData")); return parameters.ToArray(); }