diff options
-rw-r--r-- | OpenSim/Data/MySQL/MySQLSimulationData.cs | 36 | ||||
-rw-r--r-- | OpenSim/Data/PGSQL/Resources/AgentPrefs.migrations | 19 | ||||
-rw-r--r-- | OpenSim/Data/PGSQL/Resources/EstateStore.migrations | 403 | ||||
-rw-r--r-- | OpenSim/Region/Application/OpenSim.cs | 7 | ||||
-rw-r--r-- | OpenSim/Server/Base/ServicesServerBase.cs | 5 | ||||
-rwxr-xr-x | bin/Mono.Posix.dll | bin | 207872 -> 0 bytes | |||
-rwxr-xr-x | bin/OpenSim.exe.config | 2 | ||||
-rw-r--r-- | bin/Robust.exe.config | 2 |
8 files changed, 156 insertions, 318 deletions
diff --git a/OpenSim/Data/MySQL/MySQLSimulationData.cs b/OpenSim/Data/MySQL/MySQLSimulationData.cs index 4766372..e754522 100644 --- a/OpenSim/Data/MySQL/MySQLSimulationData.cs +++ b/OpenSim/Data/MySQL/MySQLSimulationData.cs | |||
@@ -607,6 +607,10 @@ namespace OpenSim.Data.MySQL | |||
607 | { | 607 | { |
608 | m_log.Info("[REGION DB]: Storing terrain"); | 608 | m_log.Info("[REGION DB]: Storing terrain"); |
609 | 609 | ||
610 | int terrainDBRevision; | ||
611 | Array terrainDBblob; | ||
612 | terrData.GetDatabaseBlob(out terrainDBRevision, out terrainDBblob); | ||
613 | |||
610 | lock (m_dbLock) | 614 | lock (m_dbLock) |
611 | { | 615 | { |
612 | using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) | 616 | using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) |
@@ -626,10 +630,6 @@ namespace OpenSim.Data.MySQL | |||
626 | "Revision, Heightfield) values (?RegionUUID, " + | 630 | "Revision, Heightfield) values (?RegionUUID, " + |
627 | "?Revision, ?Heightfield)"; | 631 | "?Revision, ?Heightfield)"; |
628 | 632 | ||
629 | int terrainDBRevision; | ||
630 | Array terrainDBblob; | ||
631 | terrData.GetDatabaseBlob(out terrainDBRevision, out terrainDBblob); | ||
632 | |||
633 | cmd2.Parameters.AddWithValue("RegionUUID", regionID.ToString()); | 633 | cmd2.Parameters.AddWithValue("RegionUUID", regionID.ToString()); |
634 | cmd2.Parameters.AddWithValue("Revision", terrainDBRevision); | 634 | cmd2.Parameters.AddWithValue("Revision", terrainDBRevision); |
635 | cmd2.Parameters.AddWithValue("Heightfield", terrainDBblob); | 635 | cmd2.Parameters.AddWithValue("Heightfield", terrainDBblob); |
@@ -655,6 +655,10 @@ namespace OpenSim.Data.MySQL | |||
655 | { | 655 | { |
656 | m_log.Info("[REGION DB]: Storing Baked terrain"); | 656 | m_log.Info("[REGION DB]: Storing Baked terrain"); |
657 | 657 | ||
658 | int terrainDBRevision; | ||
659 | Array terrainDBblob; | ||
660 | terrData.GetDatabaseBlob(out terrainDBRevision, out terrainDBblob); | ||
661 | |||
658 | lock (m_dbLock) | 662 | lock (m_dbLock) |
659 | { | 663 | { |
660 | using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) | 664 | using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) |
@@ -674,10 +678,6 @@ namespace OpenSim.Data.MySQL | |||
674 | "Revision, Heightfield) values (?RegionUUID, " + | 678 | "Revision, Heightfield) values (?RegionUUID, " + |
675 | "?Revision, ?Heightfield)"; | 679 | "?Revision, ?Heightfield)"; |
676 | 680 | ||
677 | int terrainDBRevision; | ||
678 | Array terrainDBblob; | ||
679 | terrData.GetDatabaseBlob(out terrainDBRevision, out terrainDBblob); | ||
680 | |||
681 | cmd2.Parameters.AddWithValue("RegionUUID", regionID.ToString()); | 681 | cmd2.Parameters.AddWithValue("RegionUUID", regionID.ToString()); |
682 | cmd2.Parameters.AddWithValue("Revision", terrainDBRevision); | 682 | cmd2.Parameters.AddWithValue("Revision", terrainDBRevision); |
683 | cmd2.Parameters.AddWithValue("Heightfield", terrainDBblob); | 683 | cmd2.Parameters.AddWithValue("Heightfield", terrainDBblob); |
@@ -711,9 +711,12 @@ namespace OpenSim.Data.MySQL | |||
711 | public TerrainData LoadTerrain(UUID regionID, int pSizeX, int pSizeY, int pSizeZ) | 711 | public TerrainData LoadTerrain(UUID regionID, int pSizeX, int pSizeY, int pSizeZ) |
712 | { | 712 | { |
713 | TerrainData terrData = null; | 713 | TerrainData terrData = null; |
714 | byte[] blob = null; | ||
715 | int rev = 0; | ||
714 | 716 | ||
715 | lock (m_dbLock) | 717 | lock (m_dbLock) |
716 | { | 718 | { |
719 | |||
717 | using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) | 720 | using (MySqlConnection dbcon = new MySqlConnection(m_connectionString)) |
718 | { | 721 | { |
719 | dbcon.Open(); | 722 | dbcon.Open(); |
@@ -729,11 +732,10 @@ namespace OpenSim.Data.MySQL | |||
729 | { | 732 | { |
730 | while (reader.Read()) | 733 | while (reader.Read()) |
731 | { | 734 | { |
732 | int rev = Convert.ToInt32(reader["Revision"]); | 735 | rev = Convert.ToInt32(reader["Revision"]); |
733 | if ((reader["Heightfield"] != DBNull.Value)) | 736 | if ((reader["Heightfield"] != DBNull.Value)) |
734 | { | 737 | { |
735 | byte[] blob = (byte[])reader["Heightfield"]; | 738 | blob = (byte[])reader["Heightfield"]; |
736 | terrData = TerrainData.CreateFromDatabaseBlobFactory(pSizeX, pSizeY, pSizeZ, rev, blob); | ||
737 | } | 739 | } |
738 | } | 740 | } |
739 | } | 741 | } |
@@ -742,12 +744,17 @@ namespace OpenSim.Data.MySQL | |||
742 | } | 744 | } |
743 | } | 745 | } |
744 | 746 | ||
747 | if(blob != null) | ||
748 | terrData = TerrainData.CreateFromDatabaseBlobFactory(pSizeX, pSizeY, pSizeZ, rev, blob); | ||
749 | |||
745 | return terrData; | 750 | return terrData; |
746 | } | 751 | } |
747 | 752 | ||
748 | public TerrainData LoadBakedTerrain(UUID regionID, int pSizeX, int pSizeY, int pSizeZ) | 753 | public TerrainData LoadBakedTerrain(UUID regionID, int pSizeX, int pSizeY, int pSizeZ) |
749 | { | 754 | { |
750 | TerrainData terrData = null; | 755 | TerrainData terrData = null; |
756 | byte[] blob = null; | ||
757 | int rev = 0; | ||
751 | 758 | ||
752 | lock (m_dbLock) | 759 | lock (m_dbLock) |
753 | { | 760 | { |
@@ -765,11 +772,10 @@ namespace OpenSim.Data.MySQL | |||
765 | { | 772 | { |
766 | while (reader.Read()) | 773 | while (reader.Read()) |
767 | { | 774 | { |
768 | int rev = Convert.ToInt32(reader["Revision"]); | 775 | rev = Convert.ToInt32(reader["Revision"]); |
769 | if ((reader["Heightfield"] != DBNull.Value)) | 776 | if ((reader["Heightfield"] != DBNull.Value)) |
770 | { | 777 | { |
771 | byte[] blob = (byte[])reader["Heightfield"]; | 778 | blob = (byte[])reader["Heightfield"]; |
772 | terrData = TerrainData.CreateFromDatabaseBlobFactory(pSizeX, pSizeY, pSizeZ, rev, blob); | ||
773 | } | 779 | } |
774 | } | 780 | } |
775 | } | 781 | } |
@@ -777,6 +783,8 @@ namespace OpenSim.Data.MySQL | |||
777 | dbcon.Close(); | 783 | dbcon.Close(); |
778 | } | 784 | } |
779 | } | 785 | } |
786 | if(blob != null) | ||
787 | terrData = TerrainData.CreateFromDatabaseBlobFactory(pSizeX, pSizeY, pSizeZ, rev, blob); | ||
780 | 788 | ||
781 | return terrData; | 789 | return terrData; |
782 | } | 790 | } |
diff --git a/OpenSim/Data/PGSQL/Resources/AgentPrefs.migrations b/OpenSim/Data/PGSQL/Resources/AgentPrefs.migrations new file mode 100644 index 0000000..ca3cca2 --- /dev/null +++ b/OpenSim/Data/PGSQL/Resources/AgentPrefs.migrations | |||
@@ -0,0 +1,19 @@ | |||
1 | :VERSION 1 | ||
2 | |||
3 | BEGIN TRANSACTION; | ||
4 | |||
5 | CREATE TABLE IF NOT EXISTS "public"."agentprefs" ( | ||
6 | "PrincipalID" uuid NOT NULL, | ||
7 | "AccessPrefs" char(2) NOT NULL DEFAULT 'M'::bpchar COLLATE "default", | ||
8 | "HoverHeight" float8 NOT NULL DEFAULT 0, | ||
9 | "Language" char(5) NOT NULL DEFAULT 'en-us'::bpchar COLLATE "default", | ||
10 | "LanguageIsPublic" bool NOT NULL DEFAULT true, | ||
11 | "PermEveryone" int4 NOT NULL DEFAULT 0, | ||
12 | "PermGroup" int4 NOT NULL DEFAULT 0, | ||
13 | "PermNextOwner" int4 NOT NULL DEFAULT 532480 | ||
14 | ) | ||
15 | WITH (OIDS=FALSE); | ||
16 | |||
17 | ALTER TABLE "public"."agentprefs" ADD PRIMARY KEY ("PrincipalID") NOT DEFERRABLE INITIALLY IMMEDIATE; | ||
18 | |||
19 | COMMIT; | ||
diff --git a/OpenSim/Data/PGSQL/Resources/EstateStore.migrations b/OpenSim/Data/PGSQL/Resources/EstateStore.migrations index 59270f8..63b70bd 100644 --- a/OpenSim/Data/PGSQL/Resources/EstateStore.migrations +++ b/OpenSim/Data/PGSQL/Resources/EstateStore.migrations | |||
@@ -1,307 +1,112 @@ | |||
1 | :VERSION 1 | 1 | :VERSION 12 |
2 | 2 | ||
3 | BEGIN TRANSACTION; | 3 | BEGIN TRANSACTION; |
4 | 4 | ||
5 | CREATE TABLE estate_managers( | 5 | -- ---------------------------- |
6 | "EstateID" int NOT NULL Primary Key, | 6 | -- Table structure for estate_groups |
7 | uuid varchar(36) NOT NULL | 7 | -- ---------------------------- |
8 | ); | 8 | CREATE TABLE IF NOT EXISTS "public"."estate_groups" ( |
9 | 9 | "EstateID" int4 NOT NULL, | |
10 | CREATE TABLE estate_groups( | 10 | "uuid" uuid NOT NULL |
11 | "EstateID" int NOT NULL, | 11 | ) |
12 | uuid varchar(36) NOT NULL | 12 | WITH (OIDS=FALSE); |
13 | ); | 13 | |
14 | 14 | -- Indexes structure for table estate_groups | |
15 | 15 | -- ---------------------------- | |
16 | CREATE TABLE estate_users( | 16 | CREATE INDEX IF NOT EXISTS "ix_estate_groups" ON "public"."estate_groups" USING btree("EstateID" "pg_catalog"."int4_ops" ASC NULLS LAST); |
17 | "EstateID" int NOT NULL, | 17 | |
18 | uuid varchar(36) NOT NULL | 18 | -- ---------------------------- |
19 | ); | 19 | -- Table structure for estate_managers |
20 | 20 | -- ---------------------------- | |
21 | 21 | CREATE TABLE IF NOT EXISTS "public"."estate_managers" ( | |
22 | CREATE TABLE estateban( | 22 | "EstateID" int4 NOT NULL, |
23 | "EstateID" int NOT NULL, | 23 | "uuid" uuid NOT NULL |
24 | "bannedUUID" varchar(36) NOT NULL, | 24 | ) |
25 | "bannedIp" varchar(16) NOT NULL, | 25 | WITH (OIDS=FALSE); |
26 | "bannedIpHostMask" varchar(16) NOT NULL, | 26 | |
27 | "bannedNameMask" varchar(64) NULL DEFAULT NULL | 27 | -- Indexes structure for table estate_managers |
28 | ); | 28 | -- ---------------------------- |
29 | 29 | CREATE INDEX IF NOT EXISTS "ix_estate_managers" ON "public"."estate_managers" USING btree("EstateID" "pg_catalog"."int4_ops" ASC NULLS LAST); | |
30 | Create Sequence estate_settings_id increment by 100 start with 100; | 30 | |
31 | 31 | -- ---------------------------- | |
32 | CREATE TABLE estate_settings( | 32 | -- Table structure for estate_map |
33 | "EstateID" integer DEFAULT nextval('estate_settings_id') NOT NULL, | 33 | -- ---------------------------- |
34 | "EstateName" varchar(64) NULL DEFAULT (NULL), | 34 | CREATE TABLE IF NOT EXISTS "public"."estate_map" ( |
35 | "AbuseEmailToEstateOwner" boolean NOT NULL, | 35 | "RegionID" uuid NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000'::uuid, |
36 | "DenyAnonymous" boolean NOT NULL, | 36 | "EstateID" int4 NOT NULL |
37 | "ResetHomeOnTeleport" boolean NOT NULL, | 37 | ) |
38 | "FixedSun" boolean NOT NULL, | 38 | WITH (OIDS=FALSE); |
39 | "DenyTransacted" boolean NOT NULL, | 39 | |
40 | "BlockDwell" boolean NOT NULL, | 40 | -- Primary key structure for table estate_map |
41 | "DenyIdentified" boolean NOT NULL, | 41 | -- ---------------------------- |
42 | "AllowVoice" boolean NOT NULL, | 42 | ALTER TABLE "public"."estate_map" ADD PRIMARY KEY ("RegionID") NOT DEFERRABLE INITIALLY IMMEDIATE; |
43 | "UseGlobalTime" boolean NOT NULL, | 43 | |
44 | "PricePerMeter" int NOT NULL, | 44 | -- ---------------------------- |
45 | "TaxFree" boolean NOT NULL, | 45 | -- Table structure for estate_settings |
46 | "AllowDirectTeleport" boolean NOT NULL, | 46 | -- ---------------------------- |
47 | "RedirectGridX" int NOT NULL, | 47 | CREATE TABLE IF NOT EXISTS "public"."estate_settings" ( |
48 | "RedirectGridY" int NOT NULL, | 48 | "EstateID" int4 NOT NULL DEFAULT nextval('estate_settings_id'::regclass), |
49 | "ParentEstateID" int NOT NULL, | 49 | "EstateName" varchar(64) DEFAULT NULL::character varying COLLATE "default", |
50 | "SunPosition" double precision NOT NULL, | 50 | "AbuseEmailToEstateOwner" bool NOT NULL, |
51 | "EstateSkipScripts" boolean NOT NULL, | 51 | "DenyAnonymous" bool NOT NULL, |
52 | "BillableFactor" double precision NOT NULL, | 52 | "ResetHomeOnTeleport" bool NOT NULL, |
53 | "PublicAccess" boolean NOT NULL, | 53 | "FixedSun" bool NOT NULL, |
54 | "AbuseEmail" varchar(255) NOT NULL, | 54 | "DenyTransacted" bool NOT NULL, |
55 | "EstateOwner" varchar(36) NOT NULL, | 55 | "BlockDwell" bool NOT NULL, |
56 | "DenyMinors" boolean NOT NULL | 56 | "DenyIdentified" bool NOT NULL, |
57 | ); | 57 | "AllowVoice" bool NOT NULL, |
58 | 58 | "UseGlobalTime" bool NOT NULL, | |
59 | 59 | "PricePerMeter" int4 NOT NULL, | |
60 | CREATE TABLE estate_map( | 60 | "TaxFree" bool NOT NULL, |
61 | "RegionID" varchar(36) NOT NULL DEFAULT ('00000000-0000-0000-0000-000000000000'), | 61 | "AllowDirectTeleport" bool NOT NULL, |
62 | "EstateID" int NOT NULL | 62 | "RedirectGridX" int4 NOT NULL, |
63 | ); | 63 | "RedirectGridY" int4 NOT NULL, |
64 | 64 | "ParentEstateID" int4 NOT NULL, | |
65 | COMMIT; | 65 | "SunPosition" float8 NOT NULL, |
66 | 66 | "EstateSkipScripts" bool NOT NULL, | |
67 | :VERSION 2 | 67 | "BillableFactor" float8 NOT NULL, |
68 | 68 | "PublicAccess" bool NOT NULL, | |
69 | BEGIN TRANSACTION; | 69 | "AbuseEmail" varchar(255) NOT NULL COLLATE "default", |
70 | |||
71 | CREATE INDEX IX_estate_managers ON estate_managers | ||
72 | ( | ||
73 | "EstateID" | ||
74 | ); | ||
75 | |||
76 | |||
77 | CREATE INDEX IX_estate_groups ON estate_groups | ||
78 | ( | ||
79 | "EstateID" | ||
80 | ); | ||
81 | |||
82 | |||
83 | CREATE INDEX IX_estate_users ON estate_users | ||
84 | ( | ||
85 | "EstateID" | ||
86 | ); | ||
87 | |||
88 | COMMIT; | ||
89 | |||
90 | :VERSION 3 | ||
91 | |||
92 | BEGIN TRANSACTION; | ||
93 | |||
94 | CREATE TABLE Tmp_estateban | ||
95 | ( | ||
96 | "EstateID" int NOT NULL, | ||
97 | "bannedUUID" varchar(36) NOT NULL, | ||
98 | "bannedIp" varchar(16) NULL, | ||
99 | "bannedIpHostMask" varchar(16) NULL, | ||
100 | "bannedNameMask" varchar(64) NULL | ||
101 | ); | ||
102 | |||
103 | INSERT INTO Tmp_estateban ("EstateID", "bannedUUID", "bannedIp", "bannedIpHostMask", "bannedNameMask") | ||
104 | SELECT "EstateID", "bannedUUID", "bannedIp", "bannedIpHostMask", "bannedNameMask" FROM estateban; | ||
105 | |||
106 | DROP TABLE estateban; | ||
107 | |||
108 | Alter table Tmp_estateban | ||
109 | rename to estateban; | ||
110 | |||
111 | CREATE INDEX IX_estateban ON estateban | ||
112 | ( | ||
113 | "EstateID" | ||
114 | ); | ||
115 | |||
116 | COMMIT; | ||
117 | |||
118 | |||
119 | :VERSION 4 | ||
120 | |||
121 | BEGIN TRANSACTION; | ||
122 | |||
123 | CREATE TABLE Tmp_estate_managers | ||
124 | ( | ||
125 | "EstateID" int NOT NULL, | ||
126 | uuid uuid NOT NULL | ||
127 | ); | ||
128 | |||
129 | INSERT INTO Tmp_estate_managers ("EstateID", uuid) | ||
130 | SELECT "EstateID", cast(uuid as uuid) FROM estate_managers; | ||
131 | |||
132 | DROP TABLE estate_managers; | ||
133 | |||
134 | Alter table Tmp_estate_managers | ||
135 | rename to estate_managers; | ||
136 | |||
137 | CREATE INDEX IX_estate_managers ON estate_managers | ||
138 | ( | ||
139 | "EstateID" | ||
140 | ); | ||
141 | |||
142 | COMMIT; | ||
143 | |||
144 | |||
145 | :VERSION 5 | ||
146 | |||
147 | BEGIN TRANSACTION; | ||
148 | |||
149 | CREATE TABLE Tmp_estate_groups | ||
150 | ( | ||
151 | "EstateID" int NOT NULL, | ||
152 | uuid uuid NOT NULL | ||
153 | ) ; | ||
154 | |||
155 | INSERT INTO Tmp_estate_groups ("EstateID", uuid) | ||
156 | SELECT "EstateID", cast(uuid as uuid) FROM estate_groups; | ||
157 | |||
158 | DROP TABLE estate_groups; | ||
159 | |||
160 | Alter table Tmp_estate_groups | ||
161 | rename to estate_groups; | ||
162 | |||
163 | CREATE INDEX IX_estate_groups ON estate_groups | ||
164 | ( | ||
165 | "EstateID" | ||
166 | ); | ||
167 | |||
168 | COMMIT; | ||
169 | |||
170 | |||
171 | :VERSION 6 | ||
172 | |||
173 | BEGIN TRANSACTION; | ||
174 | |||
175 | CREATE TABLE Tmp_estate_users | ||
176 | ( | ||
177 | "EstateID" int NOT NULL, | ||
178 | uuid uuid NOT NULL | ||
179 | ); | ||
180 | |||
181 | INSERT INTO Tmp_estate_users ("EstateID", uuid) | ||
182 | SELECT "EstateID", cast(uuid as uuid) FROM estate_users ; | ||
183 | |||
184 | DROP TABLE estate_users; | ||
185 | |||
186 | Alter table Tmp_estate_users | ||
187 | rename to estate_users; | ||
188 | |||
189 | CREATE INDEX IX_estate_users ON estate_users | ||
190 | ( | ||
191 | "EstateID" | ||
192 | ); | ||
193 | |||
194 | COMMIT; | ||
195 | |||
196 | |||
197 | :VERSION 7 | ||
198 | |||
199 | BEGIN TRANSACTION; | ||
200 | |||
201 | CREATE TABLE Tmp_estateban | ||
202 | ( | ||
203 | "EstateID" int NOT NULL, | ||
204 | "bannedUUID" uuid NOT NULL, | ||
205 | "bannedIp" varchar(16) NULL, | ||
206 | "bannedIpHostMask" varchar(16) NULL, | ||
207 | "bannedNameMask" varchar(64) NULL | ||
208 | ); | ||
209 | |||
210 | INSERT INTO Tmp_estateban ("EstateID", "bannedUUID", "bannedIp", "bannedIpHostMask", "bannedNameMask") | ||
211 | SELECT "EstateID", cast("bannedUUID" as uuid), "bannedIp", "bannedIpHostMask", "bannedNameMask" FROM estateban ; | ||
212 | |||
213 | DROP TABLE estateban; | ||
214 | |||
215 | Alter table Tmp_estateban | ||
216 | rename to estateban; | ||
217 | |||
218 | CREATE INDEX IX_estateban ON estateban | ||
219 | ( | ||
220 | "EstateID" | ||
221 | ); | ||
222 | |||
223 | COMMIT; | ||
224 | |||
225 | |||
226 | :VERSION 8 | ||
227 | |||
228 | BEGIN TRANSACTION; | ||
229 | |||
230 | CREATE TABLE Tmp_estate_settings | ||
231 | ( | ||
232 | "EstateID" integer default nextval('estate_settings_id') NOT NULL, | ||
233 | "EstateName" varchar(64) NULL DEFAULT (NULL), | ||
234 | "AbuseEmailToEstateOwner" boolean NOT NULL, | ||
235 | "DenyAnonymous" boolean NOT NULL, | ||
236 | "ResetHomeOnTeleport" boolean NOT NULL, | ||
237 | "FixedSun" boolean NOT NULL, | ||
238 | "DenyTransacted" boolean NOT NULL, | ||
239 | "BlockDwell" boolean NOT NULL, | ||
240 | "DenyIdentified" boolean NOT NULL, | ||
241 | "AllowVoice" boolean NOT NULL, | ||
242 | "UseGlobalTime" boolean NOT NULL, | ||
243 | "PricePerMeter" int NOT NULL, | ||
244 | "TaxFree" boolean NOT NULL, | ||
245 | "AllowDirectTeleport" boolean NOT NULL, | ||
246 | "RedirectGridX" int NOT NULL, | ||
247 | "RedirectGridY" int NOT NULL, | ||
248 | "ParentEstateID" int NOT NULL, | ||
249 | "SunPosition" double precision NOT NULL, | ||
250 | "EstateSkipScripts" boolean NOT NULL, | ||
251 | "BillableFactor" double precision NOT NULL, | ||
252 | "PublicAccess" boolean NOT NULL, | ||
253 | "AbuseEmail" varchar(255) NOT NULL, | ||
254 | "EstateOwner" uuid NOT NULL, | 70 | "EstateOwner" uuid NOT NULL, |
255 | "DenyMinors" boolean NOT NULL | 71 | "DenyMinors" bool NOT NULL, |
256 | ); | 72 | "AllowLandmark" bool NOT NULL DEFAULT true, |
257 | 73 | "AllowParcelChanges" bool NOT NULL DEFAULT true, | |
258 | INSERT INTO Tmp_estate_settings ("EstateID", "EstateName", "AbuseEmailToEstateOwner", "DenyAnonymous", "ResetHomeOnTeleport", "FixedSun", "DenyTransacted", "BlockDwell", "DenyIdentified", "AllowVoice", "UseGlobalTime", "PricePerMeter", "TaxFree", "AllowDirectTeleport", "RedirectGridX", "RedirectGridY", "ParentEstateID", "SunPosition", "EstateSkipScripts", "BillableFactor", "PublicAccess", "AbuseEmail", "EstateOwner", "DenyMinors") | 74 | "AllowSetHome" bool NOT NULL DEFAULT true |
259 | SELECT "EstateID", "EstateName", "AbuseEmailToEstateOwner", "DenyAnonymous", "ResetHomeOnTeleport", "FixedSun", "DenyTransacted", "BlockDwell", "DenyIdentified", "AllowVoice", "UseGlobalTime", "PricePerMeter", "TaxFree", "AllowDirectTeleport", "RedirectGridX", "RedirectGridY", "ParentEstateID", "SunPosition", "EstateSkipScripts", "BillableFactor", "PublicAccess", "AbuseEmail", cast("EstateOwner" as uuid), "DenyMinors" FROM estate_settings ; | 75 | ) |
260 | 76 | WITH (OIDS=FALSE); | |
261 | DROP TABLE estate_settings; | 77 | |
262 | 78 | -- Primary key structure for table estate_settings | |
263 | 79 | -- ---------------------------- | |
264 | Alter table Tmp_estate_settings | 80 | ALTER TABLE "public"."estate_settings" ADD PRIMARY KEY ("EstateID") NOT DEFERRABLE INITIALLY IMMEDIATE; |
265 | rename to estate_settings; | 81 | |
266 | 82 | -- ---------------------------- | |
267 | 83 | -- Table structure for estate_users | |
268 | Create index on estate_settings (lower("EstateName")); | 84 | -- ---------------------------- |
269 | 85 | CREATE TABLE IF NOT EXISTS "public"."estate_users" ( | |
270 | COMMIT; | 86 | "EstateID" int4 NOT NULL, |
271 | 87 | "uuid" uuid NOT NULL | |
272 | 88 | ) | |
273 | :VERSION 9 | 89 | WITH (OIDS=FALSE); |
274 | 90 | ||
275 | BEGIN TRANSACTION; | 91 | -- Indexes structure for table estate_users |
276 | 92 | -- ---------------------------- | |
277 | CREATE TABLE Tmp_estate_map | 93 | CREATE INDEX IF NOT EXISTS "ix_estate_users" ON "public"."estate_users" USING btree("EstateID" "pg_catalog"."int4_ops" ASC NULLS LAST); |
278 | ( | 94 | |
279 | "RegionID" uuid NOT NULL DEFAULT ('00000000-0000-0000-0000-000000000000'), | 95 | -- ---------------------------- |
280 | "EstateID" int NOT NULL | 96 | -- Table structure for estateban |
281 | ); | 97 | -- ---------------------------- |
282 | 98 | CREATE TABLE IF NOT EXISTS "public"."estateban" ( | |
283 | INSERT INTO Tmp_estate_map ("RegionID", "EstateID") | 99 | "EstateID" int4 NOT NULL, |
284 | SELECT cast("RegionID" as uuid), "EstateID" FROM estate_map ; | 100 | "bannedUUID" uuid NOT NULL, |
285 | 101 | "bannedIp" varchar(16) COLLATE "default", | |
286 | DROP TABLE estate_map; | 102 | "bannedIpHostMask" varchar(16) COLLATE "default", |
287 | 103 | "bannedNameMask" varchar(64) COLLATE "default" | |
288 | Alter table Tmp_estate_map | 104 | ) |
289 | rename to estate_map; | 105 | WITH (OIDS=FALSE); |
290 | |||
291 | COMMIT; | ||
292 | 106 | ||
293 | :VERSION 10 | 107 | -- Indexes structure for table estateban |
108 | -- ---------------------------- | ||
109 | CREATE INDEX IF NOT EXISTS "ix_estateban" ON "public"."estateban" USING btree("EstateID" "pg_catalog"."int4_ops" ASC NULLS LAST); | ||
294 | 110 | ||
295 | BEGIN TRANSACTION; | ||
296 | ALTER TABLE estate_settings ADD COLUMN "AllowLandmark" boolean NOT NULL default true; | ||
297 | ALTER TABLE estate_settings ADD COLUMN "AllowParcelChanges" boolean NOT NULL default true; | ||
298 | ALTER TABLE estate_settings ADD COLUMN "AllowSetHome" boolean NOT NULL default true; | ||
299 | COMMIT; | 111 | COMMIT; |
300 | 112 | ||
301 | :VERSION 11 | ||
302 | |||
303 | Begin transaction; | ||
304 | |||
305 | |||
306 | Commit; | ||
307 | |||
diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index 58178bc..f9f103a 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs | |||
@@ -33,6 +33,7 @@ using System.Diagnostics; | |||
33 | using System.IO; | 33 | using System.IO; |
34 | using System.Linq; | 34 | using System.Linq; |
35 | using System.Reflection; | 35 | using System.Reflection; |
36 | using System.Runtime; | ||
36 | using System.Text; | 37 | using System.Text; |
37 | using System.Text.RegularExpressions; | 38 | using System.Text.RegularExpressions; |
38 | using System.Timers; | 39 | using System.Timers; |
@@ -124,8 +125,11 @@ namespace OpenSim | |||
124 | Util.InitThreadPool(stpMinThreads, stpMaxThreads); | 125 | Util.InitThreadPool(stpMinThreads, stpMaxThreads); |
125 | 126 | ||
126 | m_log.Info("[OPENSIM MAIN]: Using async_call_method " + Util.FireAndForgetMethod); | 127 | m_log.Info("[OPENSIM MAIN]: Using async_call_method " + Util.FireAndForgetMethod); |
128 | |||
129 | m_log.InfoFormat("[OPENSIM MAIN] Running GC in {0} mode", GCSettings.IsServerGC ? "server":"workstation"); | ||
127 | } | 130 | } |
128 | 131 | ||
132 | #if (_MONO) | ||
129 | private static Mono.Unix.UnixSignal[] signals; | 133 | private static Mono.Unix.UnixSignal[] signals; |
130 | 134 | ||
131 | 135 | ||
@@ -140,6 +144,7 @@ namespace OpenSim | |||
140 | MainConsole.Instance.RunCommand("shutdown"); | 144 | MainConsole.Instance.RunCommand("shutdown"); |
141 | } | 145 | } |
142 | }); | 146 | }); |
147 | #endif | ||
143 | 148 | ||
144 | /// <summary> | 149 | /// <summary> |
145 | /// Performs initialisation of the scene, such as loading configuration from disk. | 150 | /// Performs initialisation of the scene, such as loading configuration from disk. |
@@ -150,6 +155,7 @@ namespace OpenSim | |||
150 | m_log.Info("========================= STARTING OPENSIM ========================="); | 155 | m_log.Info("========================= STARTING OPENSIM ========================="); |
151 | m_log.Info("===================================================================="); | 156 | m_log.Info("===================================================================="); |
152 | 157 | ||
158 | #if (_MONO) | ||
153 | if(!Util.IsWindows()) | 159 | if(!Util.IsWindows()) |
154 | { | 160 | { |
155 | try | 161 | try |
@@ -168,6 +174,7 @@ namespace OpenSim | |||
168 | m_log.Debug("Exception was: ", e); | 174 | m_log.Debug("Exception was: ", e); |
169 | } | 175 | } |
170 | } | 176 | } |
177 | #endif | ||
171 | //m_log.InfoFormat("[OPENSIM MAIN]: GC Is Server GC: {0}", GCSettings.IsServerGC.ToString()); | 178 | //m_log.InfoFormat("[OPENSIM MAIN]: GC Is Server GC: {0}", GCSettings.IsServerGC.ToString()); |
172 | // http://msdn.microsoft.com/en-us/library/bb384202.aspx | 179 | // http://msdn.microsoft.com/en-us/library/bb384202.aspx |
173 | //GCSettings.LatencyMode = GCLatencyMode.Batch; | 180 | //GCSettings.LatencyMode = GCLatencyMode.Batch; |
diff --git a/OpenSim/Server/Base/ServicesServerBase.cs b/OpenSim/Server/Base/ServicesServerBase.cs index d151de6..4951776 100644 --- a/OpenSim/Server/Base/ServicesServerBase.cs +++ b/OpenSim/Server/Base/ServicesServerBase.cs | |||
@@ -61,8 +61,9 @@ namespace OpenSim.Server.Base | |||
61 | // | 61 | // |
62 | private bool m_Running = true; | 62 | private bool m_Running = true; |
63 | 63 | ||
64 | #if (_MONO) | ||
64 | private static Mono.Unix.UnixSignal[] signals; | 65 | private static Mono.Unix.UnixSignal[] signals; |
65 | 66 | #endif | |
66 | 67 | ||
67 | // Handle all the automagical stuff | 68 | // Handle all the automagical stuff |
68 | // | 69 | // |
@@ -186,6 +187,7 @@ namespace OpenSim.Server.Base | |||
186 | RegisterCommonCommands(); | 187 | RegisterCommonCommands(); |
187 | RegisterCommonComponents(Config); | 188 | RegisterCommonComponents(Config); |
188 | 189 | ||
190 | #if (_MONO) | ||
189 | Thread signal_thread = new Thread (delegate () | 191 | Thread signal_thread = new Thread (delegate () |
190 | { | 192 | { |
191 | while (true) | 193 | while (true) |
@@ -218,6 +220,7 @@ namespace OpenSim.Server.Base | |||
218 | m_log.Debug("Exception was: ", e); | 220 | m_log.Debug("Exception was: ", e); |
219 | } | 221 | } |
220 | } | 222 | } |
223 | #endif | ||
221 | 224 | ||
222 | // Allow derived classes to perform initialization that | 225 | // Allow derived classes to perform initialization that |
223 | // needs to be done after the console has opened | 226 | // needs to be done after the console has opened |
diff --git a/bin/Mono.Posix.dll b/bin/Mono.Posix.dll deleted file mode 100755 index 97ec8bf..0000000 --- a/bin/Mono.Posix.dll +++ /dev/null | |||
Binary files differ | |||
diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index f1bf8a0..3f718d2 100755 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config | |||
@@ -5,8 +5,6 @@ | |||
5 | </configSections> | 5 | </configSections> |
6 | <runtime> | 6 | <runtime> |
7 | <loadFromRemoteSources enabled="true" /> | 7 | <loadFromRemoteSources enabled="true" /> |
8 | <gcConcurrent enabled="true" /> | ||
9 | <gcServer enabled="true" /> | ||
10 | </runtime> | 8 | </runtime> |
11 | <appSettings> | 9 | <appSettings> |
12 | </appSettings> | 10 | </appSettings> |
diff --git a/bin/Robust.exe.config b/bin/Robust.exe.config index 7db6458..025555e 100644 --- a/bin/Robust.exe.config +++ b/bin/Robust.exe.config | |||
@@ -5,8 +5,6 @@ | |||
5 | </configSections> | 5 | </configSections> |
6 | <runtime> | 6 | <runtime> |
7 | <loadFromRemoteSources enabled="true" /> | 7 | <loadFromRemoteSources enabled="true" /> |
8 | <gcConcurrent enabled="true" /> | ||
9 | <gcServer enabled="true" /> | ||
10 | </runtime> | 8 | </runtime> |
11 | <appSettings> | 9 | <appSettings> |
12 | </appSettings> | 10 | </appSettings> |