aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clarke Casey2009-02-19 18:31:45 +0000
committerJustin Clarke Casey2009-02-19 18:31:45 +0000
commit631e10f269210cc352acc453fe04f56343c73360 (patch)
treeaa38818eb01549179f0f90322b8cd5c0a249c5d1
parent* It think it actually works now. Only that AssetService weirdness left to fix. (diff)
downloadopensim-SC_OLD-631e10f269210cc352acc453fe04f56343c73360.zip
opensim-SC_OLD-631e10f269210cc352acc453fe04f56343c73360.tar.gz
opensim-SC_OLD-631e10f269210cc352acc453fe04f56343c73360.tar.bz2
opensim-SC_OLD-631e10f269210cc352acc453fe04f56343c73360.tar.xz
* Apply http://opensimulator.org/mantis/view.php?id=3151
* Fixes NHibernate overflow exception when saving some objects (under at least PostgreSQL 8.3) * Thanks Tommil!
-rw-r--r--OpenSim/Data/NHibernate/Resources/MsSql2005Dialect/001_InventoryStore.sql2
-rw-r--r--OpenSim/Data/NHibernate/Resources/MsSql2005Dialect/001_RegionStore.sql10
-rw-r--r--OpenSim/Data/NHibernate/Resources/MySQLDialect/001_AssetStore.sql2
-rw-r--r--OpenSim/Data/NHibernate/Resources/MySQLDialect/001_InventoryStore.sql6
-rw-r--r--OpenSim/Data/NHibernate/Resources/MySQLDialect/001_RegionStore.sql1
-rw-r--r--OpenSim/Data/NHibernate/Resources/PostgreSQLDialect/001_InventoryStore.sql6
-rw-r--r--OpenSim/Data/NHibernate/Resources/PostgreSQLDialect/001_RegionStore.sql11
-rw-r--r--OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_AssetStore.sql2
-rw-r--r--OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_InventoryStore.sql6
-rw-r--r--OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_RegionStore.sql1
-rw-r--r--OpenSim/Data/NHibernate/UInt16Type.cs6
-rw-r--r--OpenSim/Data/Tests/BasicRegionTest.cs12
12 files changed, 37 insertions, 28 deletions
diff --git a/OpenSim/Data/NHibernate/Resources/MsSql2005Dialect/001_InventoryStore.sql b/OpenSim/Data/NHibernate/Resources/MsSql2005Dialect/001_InventoryStore.sql
index 37ba733..82936c4 100644
--- a/OpenSim/Data/NHibernate/Resources/MsSql2005Dialect/001_InventoryStore.sql
+++ b/OpenSim/Data/NHibernate/Resources/MsSql2005Dialect/001_InventoryStore.sql
@@ -1,7 +1,7 @@
1create table InventoryFolders ( 1create table InventoryFolders (
2 ID NVARCHAR(255) not null, 2 ID NVARCHAR(255) not null,
3 Type SMALLINT null, 3 Type SMALLINT null,
4 Version SMALLINT null, 4 Version INT null,
5 ParentID NVARCHAR(255) null, 5 ParentID NVARCHAR(255) null,
6 Owner NVARCHAR(255) null, 6 Owner NVARCHAR(255) null,
7 Name NVARCHAR(64) null, 7 Name NVARCHAR(64) null,
diff --git a/OpenSim/Data/NHibernate/Resources/MsSql2005Dialect/001_RegionStore.sql b/OpenSim/Data/NHibernate/Resources/MsSql2005Dialect/001_RegionStore.sql
index 56ad905..f388f1a 100644
--- a/OpenSim/Data/NHibernate/Resources/MsSql2005Dialect/001_RegionStore.sql
+++ b/OpenSim/Data/NHibernate/Resources/MsSql2005Dialect/001_RegionStore.sql
@@ -49,8 +49,8 @@ create table Prims (
49 ScaleY REAL null, 49 ScaleY REAL null,
50 ScaleZ REAL null, 50 ScaleZ REAL null,
51 PCode TINYINT null, 51 PCode TINYINT null,
52 PathBegin SMALLINT null, 52 PathBegin INT null,
53 PathEnd SMALLINT null, 53 PathEnd INT null,
54 PathScaleX TINYINT null, 54 PathScaleX TINYINT null,
55 PathScaleY TINYINT null, 55 PathScaleY TINYINT null,
56 PathShearX TINYINT null, 56 PathShearX TINYINT null,
@@ -62,10 +62,10 @@ create table Prims (
62 PathTaperX TINYINT null, 62 PathTaperX TINYINT null,
63 PathTaperY TINYINT null, 63 PathTaperY TINYINT null,
64 PathTwist TINYINT null, 64 PathTwist TINYINT null,
65 ProfileBegin SMALLINT null, 65 ProfileBegin INT null,
66 ProfileEnd SMALLINT null, 66 ProfileEnd INT null,
67 ProfileCurve TINYINT null, 67 ProfileCurve TINYINT null,
68 ProfileHollow SMALLINT null, 68 ProfileHollow INT null,
69 Texture VARBINARY(8000) null, 69 Texture VARBINARY(8000) null,
70 ExtraParams VARBINARY(8000) null, 70 ExtraParams VARBINARY(8000) null,
71 State TINYINT null, 71 State TINYINT null,
diff --git a/OpenSim/Data/NHibernate/Resources/MySQLDialect/001_AssetStore.sql b/OpenSim/Data/NHibernate/Resources/MySQLDialect/001_AssetStore.sql
index 9573781..cd0958d 100644
--- a/OpenSim/Data/NHibernate/Resources/MySQLDialect/001_AssetStore.sql
+++ b/OpenSim/Data/NHibernate/Resources/MySQLDialect/001_AssetStore.sql
@@ -1,6 +1,6 @@
1CREATE TABLE Assets ( 1CREATE TABLE Assets (
2 ID VARCHAR(36) NOT NULL, 2 ID VARCHAR(36) NOT NULL,
3 Type TINYINT DEFAULT NULL, 3 Type SMALLINT DEFAULT NULL,
4 Name VARCHAR(64) DEFAULT NULL, 4 Name VARCHAR(64) DEFAULT NULL,
5 Description VARCHAR(64) DEFAULT NULL, 5 Description VARCHAR(64) DEFAULT NULL,
6 Local BIT DEFAULT NULL, 6 Local BIT DEFAULT NULL,
diff --git a/OpenSim/Data/NHibernate/Resources/MySQLDialect/001_InventoryStore.sql b/OpenSim/Data/NHibernate/Resources/MySQLDialect/001_InventoryStore.sql
index 13d8cf6..93d282b 100644
--- a/OpenSim/Data/NHibernate/Resources/MySQLDialect/001_InventoryStore.sql
+++ b/OpenSim/Data/NHibernate/Resources/MySQLDialect/001_InventoryStore.sql
@@ -1,7 +1,7 @@
1CREATE TABLE InventoryFolders ( 1CREATE TABLE InventoryFolders (
2 ID VARCHAR(36) NOT NULL, 2 ID VARCHAR(36) NOT NULL,
3 Type SMALLINT DEFAULT NULL, 3 Type SMALLINT DEFAULT NULL,
4 Version SMALLINT DEFAULT NULL, 4 Version INT DEFAULT NULL,
5 ParentID VARCHAR(36) DEFAULT NULL, 5 ParentID VARCHAR(36) DEFAULT NULL,
6 Owner VARCHAR(36) DEFAULT NULL, 6 Owner VARCHAR(36) DEFAULT NULL,
7 Name VARCHAR(64) DEFAULT NULL, 7 Name VARCHAR(64) DEFAULT NULL,
@@ -13,8 +13,8 @@ CREATE INDEX InventoryFoldersParentIdIndex ON InventoryFolders (ParentID);
13 13
14CREATE TABLE InventoryItems ( 14CREATE TABLE InventoryItems (
15 ID VARCHAR(36) NOT NULL, 15 ID VARCHAR(36) NOT NULL,
16 InvType SMALLINT DEFAULT NULL, 16 InvType INT DEFAULT NULL,
17 AssetType SMALLINT DEFAULT NULL, 17 AssetType INT DEFAULT NULL,
18 AssetID VARCHAR(36) DEFAULT NULL, 18 AssetID VARCHAR(36) DEFAULT NULL,
19 Folder VARCHAR(36) DEFAULT NULL, 19 Folder VARCHAR(36) DEFAULT NULL,
20 Owner VARCHAR(36) DEFAULT NULL, 20 Owner VARCHAR(36) DEFAULT NULL,
diff --git a/OpenSim/Data/NHibernate/Resources/MySQLDialect/001_RegionStore.sql b/OpenSim/Data/NHibernate/Resources/MySQLDialect/001_RegionStore.sql
index e44f012..74f67f2 100644
--- a/OpenSim/Data/NHibernate/Resources/MySQLDialect/001_RegionStore.sql
+++ b/OpenSim/Data/NHibernate/Resources/MySQLDialect/001_RegionStore.sql
@@ -71,7 +71,6 @@ CREATE TABLE Prims (
71 PathTaperX INT DEFAULT NULL, 71 PathTaperX INT DEFAULT NULL,
72 PathTaperY INT DEFAULT NULL, 72 PathTaperY INT DEFAULT NULL,
73 PathTwist INT DEFAULT NULL, 73 PathTwist INT DEFAULT NULL,
74 PathTwistBegin INT DEFAULT NULL,
75 ProfileBegin INT DEFAULT NULL, 74 ProfileBegin INT DEFAULT NULL,
76 ProfileEnd INT DEFAULT NULL, 75 ProfileEnd INT DEFAULT NULL,
77 ProfileCurve INT DEFAULT NULL, 76 ProfileCurve INT DEFAULT NULL,
diff --git a/OpenSim/Data/NHibernate/Resources/PostgreSQLDialect/001_InventoryStore.sql b/OpenSim/Data/NHibernate/Resources/PostgreSQLDialect/001_InventoryStore.sql
index 9d0f711..42af659 100644
--- a/OpenSim/Data/NHibernate/Resources/PostgreSQLDialect/001_InventoryStore.sql
+++ b/OpenSim/Data/NHibernate/Resources/PostgreSQLDialect/001_InventoryStore.sql
@@ -1,7 +1,7 @@
1CREATE TABLE InventoryFolders ( 1CREATE TABLE InventoryFolders (
2 ID VARCHAR(36) NOT NULL, 2 ID VARCHAR(36) NOT NULL,
3 Type SMALLINT DEFAULT NULL, 3 Type SMALLINT DEFAULT NULL,
4 Version SMALLINT DEFAULT NULL, 4 Version INT DEFAULT NULL,
5 ParentID VARCHAR(36) DEFAULT NULL, 5 ParentID VARCHAR(36) DEFAULT NULL,
6 Owner VARCHAR(36) DEFAULT NULL, 6 Owner VARCHAR(36) DEFAULT NULL,
7 Name VARCHAR(64) DEFAULT NULL, 7 Name VARCHAR(64) DEFAULT NULL,
@@ -13,8 +13,8 @@ CREATE INDEX InventoryFoldersParentIdIndex ON InventoryFolders (ParentID);
13 13
14CREATE TABLE InventoryItems ( 14CREATE TABLE InventoryItems (
15 ID VARCHAR(36) NOT NULL, 15 ID VARCHAR(36) NOT NULL,
16 InvType SMALLINT DEFAULT NULL, 16 InvType INT DEFAULT NULL,
17 AssetType SMALLINT DEFAULT NULL, 17 AssetType INT DEFAULT NULL,
18 AssetID VARCHAR(36) DEFAULT NULL, 18 AssetID VARCHAR(36) DEFAULT NULL,
19 Folder VARCHAR(36) DEFAULT NULL, 19 Folder VARCHAR(36) DEFAULT NULL,
20 Owner VARCHAR(36) DEFAULT NULL, 20 Owner VARCHAR(36) DEFAULT NULL,
diff --git a/OpenSim/Data/NHibernate/Resources/PostgreSQLDialect/001_RegionStore.sql b/OpenSim/Data/NHibernate/Resources/PostgreSQLDialect/001_RegionStore.sql
index ff227c1..25c3945 100644
--- a/OpenSim/Data/NHibernate/Resources/PostgreSQLDialect/001_RegionStore.sql
+++ b/OpenSim/Data/NHibernate/Resources/PostgreSQLDialect/001_RegionStore.sql
@@ -58,8 +58,8 @@ CREATE TABLE Prims (
58 ScaleY DOUBLE PRECISION DEFAULT NULL, 58 ScaleY DOUBLE PRECISION DEFAULT NULL,
59 ScaleZ DOUBLE PRECISION DEFAULT NULL, 59 ScaleZ DOUBLE PRECISION DEFAULT NULL,
60 PCode INT DEFAULT NULL, 60 PCode INT DEFAULT NULL,
61 PathBegin SMALLINT DEFAULT NULL, 61 PathBegin INT DEFAULT NULL,
62 PathEnd SMALLINT DEFAULT NULL, 62 PathEnd INT DEFAULT NULL,
63 PathScaleX INT DEFAULT NULL, 63 PathScaleX INT DEFAULT NULL,
64 PathScaleY INT DEFAULT NULL, 64 PathScaleY INT DEFAULT NULL,
65 PathShearX INT DEFAULT NULL, 65 PathShearX INT DEFAULT NULL,
@@ -71,11 +71,10 @@ CREATE TABLE Prims (
71 PathTaperX SMALLINT DEFAULT NULL, 71 PathTaperX SMALLINT DEFAULT NULL,
72 PathTaperY SMALLINT DEFAULT NULL, 72 PathTaperY SMALLINT DEFAULT NULL,
73 PathTwist SMALLINT DEFAULT NULL, 73 PathTwist SMALLINT DEFAULT NULL,
74 PathTwistBegin INT DEFAULT NULL, 74 ProfileBegin INT DEFAULT NULL,
75 ProfileBegin SMALLINT DEFAULT NULL, 75 ProfileEnd INT DEFAULT NULL,
76 ProfileEnd SMALLINT DEFAULT NULL,
77 ProfileCurve INT DEFAULT NULL, 76 ProfileCurve INT DEFAULT NULL,
78 ProfileHollow SMALLINT DEFAULT NULL, 77 ProfileHollow INT DEFAULT NULL,
79 State INT DEFAULT NULL, 78 State INT DEFAULT NULL,
80 Texture BYTEA, 79 Texture BYTEA,
81 ExtraParams BYTEA, 80 ExtraParams BYTEA,
diff --git a/OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_AssetStore.sql b/OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_AssetStore.sql
index 15e10b3..aedf764 100644
--- a/OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_AssetStore.sql
+++ b/OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_AssetStore.sql
@@ -1,6 +1,6 @@
1CREATE TABLE Assets ( 1CREATE TABLE Assets (
2 ID VARCHAR(36) NOT NULL, 2 ID VARCHAR(36) NOT NULL,
3 Type TINYINT DEFAULT NULL, 3 Type SMALLINT DEFAULT NULL,
4 Name VARCHAR(64) DEFAULT NULL, 4 Name VARCHAR(64) DEFAULT NULL,
5 Description VARCHAR(64) DEFAULT NULL, 5 Description VARCHAR(64) DEFAULT NULL,
6 Local BIT DEFAULT NULL, 6 Local BIT DEFAULT NULL,
diff --git a/OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_InventoryStore.sql b/OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_InventoryStore.sql
index 5f4dcaa..38978ee 100644
--- a/OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_InventoryStore.sql
+++ b/OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_InventoryStore.sql
@@ -1,7 +1,7 @@
1CREATE TABLE InventoryFolders ( 1CREATE TABLE InventoryFolders (
2 ID VARCHAR(36) NOT NULL, 2 ID VARCHAR(36) NOT NULL,
3 Type SMALLINT DEFAULT NULL, 3 Type SMALLINT DEFAULT NULL,
4 Version SMALLINT DEFAULT NULL, 4 Version INT DEFAULT NULL,
5 ParentID VARCHAR(36) DEFAULT NULL, 5 ParentID VARCHAR(36) DEFAULT NULL,
6 Owner VARCHAR(36) DEFAULT NULL, 6 Owner VARCHAR(36) DEFAULT NULL,
7 Name VARCHAR(64) DEFAULT NULL, 7 Name VARCHAR(64) DEFAULT NULL,
@@ -13,8 +13,8 @@ CREATE INDEX InventoryFoldersParentIdIndex ON InventoryFolders (ParentID);
13 13
14CREATE TABLE InventoryItems ( 14CREATE TABLE InventoryItems (
15 ID VARCHAR(36) NOT NULL, 15 ID VARCHAR(36) NOT NULL,
16 InvType SMALLINT DEFAULT NULL, 16 InvType INT DEFAULT NULL,
17 AssetType SMALLINT DEFAULT NULL, 17 AssetType INT DEFAULT NULL,
18 AssetID VARCHAR(36) DEFAULT NULL, 18 AssetID VARCHAR(36) DEFAULT NULL,
19 Folder VARCHAR(36) DEFAULT NULL, 19 Folder VARCHAR(36) DEFAULT NULL,
20 Owner VARCHAR(36) DEFAULT NULL, 20 Owner VARCHAR(36) DEFAULT NULL,
diff --git a/OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_RegionStore.sql b/OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_RegionStore.sql
index 7b591be..1cf5e15 100644
--- a/OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_RegionStore.sql
+++ b/OpenSim/Data/NHibernate/Resources/SQLiteDialect/001_RegionStore.sql
@@ -71,7 +71,6 @@ CREATE TABLE Prims (
71 PathTaperX INT DEFAULT NULL, 71 PathTaperX INT DEFAULT NULL,
72 PathTaperY INT DEFAULT NULL, 72 PathTaperY INT DEFAULT NULL,
73 PathTwist INT DEFAULT NULL, 73 PathTwist INT DEFAULT NULL,
74 PathTwistBegin INT DEFAULT NULL,
75 ProfileBegin INT DEFAULT NULL, 74 ProfileBegin INT DEFAULT NULL,
76 ProfileEnd INT DEFAULT NULL, 75 ProfileEnd INT DEFAULT NULL,
77 ProfileCurve INT DEFAULT NULL, 76 ProfileCurve INT DEFAULT NULL,
diff --git a/OpenSim/Data/NHibernate/UInt16Type.cs b/OpenSim/Data/NHibernate/UInt16Type.cs
index 907e832..05b9ce6 100644
--- a/OpenSim/Data/NHibernate/UInt16Type.cs
+++ b/OpenSim/Data/NHibernate/UInt16Type.cs
@@ -73,7 +73,7 @@ namespace OpenSim.Data.NHibernate
73 int ord = rs.GetOrdinal(names[0]); 73 int ord = rs.GetOrdinal(names[0]);
74 if (!rs.IsDBNull(ord)) 74 if (!rs.IsDBNull(ord))
75 { 75 {
76 uint1 = (UInt16)rs.GetInt16(ord); 76 uint1 = (UInt16)rs.GetInt32(ord);
77 } 77 }
78 78
79 return uint1; 79 return uint1;
@@ -82,7 +82,7 @@ namespace OpenSim.Data.NHibernate
82 public void NullSafeSet(IDbCommand cmd, object obj, int index) 82 public void NullSafeSet(IDbCommand cmd, object obj, int index)
83 { 83 {
84 UInt16 uint1 = (UInt16)obj; 84 UInt16 uint1 = (UInt16)obj;
85 ((IDataParameter)cmd.Parameters[index]).Value = Convert.ToInt16(uint1); 85 ((IDataParameter)cmd.Parameters[index]).Value = Convert.ToInt32(uint1);
86 } 86 }
87 87
88 public object Replace(object original, object target, object owner) 88 public object Replace(object original, object target, object owner)
@@ -97,7 +97,7 @@ namespace OpenSim.Data.NHibernate
97 97
98 public SqlType[] SqlTypes 98 public SqlType[] SqlTypes
99 { 99 {
100 get { return new SqlType [] { NHibernateUtil.Int16.SqlType }; } 100 get { return new SqlType [] { NHibernateUtil.Int32.SqlType }; }
101 } 101 }
102 } 102 }
103} 103}
diff --git a/OpenSim/Data/Tests/BasicRegionTest.cs b/OpenSim/Data/Tests/BasicRegionTest.cs
index 8e58443..89cfd7f 100644
--- a/OpenSim/Data/Tests/BasicRegionTest.cs
+++ b/OpenSim/Data/Tests/BasicRegionTest.cs
@@ -243,6 +243,11 @@ namespace OpenSim.Data.Tests
243 byte clickaction = (byte) random.Next(127); 243 byte clickaction = (byte) random.Next(127);
244 PrimitiveBaseShape pbshap = new PrimitiveBaseShape(); 244 PrimitiveBaseShape pbshap = new PrimitiveBaseShape();
245 pbshap = PrimitiveBaseShape.Default; 245 pbshap = PrimitiveBaseShape.Default;
246 pbshap.PathBegin = ushort.MaxValue;
247 pbshap.PathEnd = ushort.MaxValue;
248 pbshap.ProfileBegin = ushort.MaxValue;
249 pbshap.ProfileEnd = ushort.MaxValue;
250 pbshap.ProfileHollow = ushort.MaxValue;
246 Vector3 scale = new Vector3(random.Next(),random.Next(),random.Next()); 251 Vector3 scale = new Vector3(random.Next(),random.Next(),random.Next());
247 byte updatef = (byte) random.Next(127); 252 byte updatef = (byte) random.Next(127);
248 253
@@ -366,7 +371,14 @@ namespace OpenSim.Data.Tests
366 //Assert.That(linknum,Is.EqualTo(p.LinkNum)); 371 //Assert.That(linknum,Is.EqualTo(p.LinkNum));
367 Assert.That(clickaction,Is.EqualTo(p.ClickAction)); 372 Assert.That(clickaction,Is.EqualTo(p.ClickAction));
368 Assert.That(scale,Is.EqualTo(p.Scale)); 373 Assert.That(scale,Is.EqualTo(p.Scale));
374
369 //Assert.That(updatef,Is.EqualTo(p.UpdateFlag)); 375 //Assert.That(updatef,Is.EqualTo(p.UpdateFlag));
376
377 Assert.That(pbshap.PathBegin, Is.EqualTo(p.Shape.PathBegin));
378 Assert.That(pbshap.PathEnd, Is.EqualTo(p.Shape.PathEnd));
379 Assert.That(pbshap.ProfileBegin, Is.EqualTo(p.Shape.ProfileBegin));
380 Assert.That(pbshap.ProfileEnd, Is.EqualTo(p.Shape.ProfileEnd));
381 Assert.That(pbshap.ProfileHollow, Is.EqualTo(p.Shape.ProfileHollow));
370 } 382 }
371 383
372 [Test] 384 [Test]