Commit Graph

949 Commits

Author SHA1 Message Date
Melanie
d2bc673667 Make m_log in migrations private. Define new m_log in derived class 2010-05-18 23:33:05 +01:00
Melanie
caf61ab7d8 Binary Guids are 16 chars long. Fix parser. 2010-05-18 23:22:30 +01:00
AlexRa
deae030145 Some more corrections after MySQL connector update 2010-05-19 02:28:19 +03:00
AlexRa
8a0c5d14d4 All (?) MySQL stores fixed to use DBGuid.FromDB()
This was needed if we want to update to the latest MySQL
connector dll.  It automatically converts CHAR(36) to
Guids, so getting them as strings no longer works.

By using DBGuid.FromDB(), we unlink from any particular
storage format of GUIDs, could even make them BINARY(16)
if we like.

Actually not all MySql units are touched, but the remaining ones don't
seem to be affected (they don't read GUIDs from DB)
2010-05-19 01:33:02 +03:00
AlexRa
a27d49b188 Added DBGuids.cs (static func DBGuid.FromDB()
This DBMS-independent function to be used converting UUIDs
from whatever format used in the DB (string/binary/Guid).
This is mostly needed for MySQL, as in MSSQL they are always
UNIQUEIDENTIFIERs and in SQLite always strings (but would look
better if we use it there anyway).
2010-05-19 01:32:50 +03:00
AlexRa
dfeb9a0b5c MS SQL migrations converted to the new format 2010-05-16 17:04:50 +03:00
AlexRa
1ad12851d0 Migrations for SQLite converted to new format 2010-05-16 17:04:39 +03:00
AlexRa
ee713cb253 Converted MySQL migration history to the new format
Replaced all NNN_StoreName.sql migration resources with a more
readable, single-file-per-store
2010-05-16 17:04:13 +03:00
AlexRa
b49fb3db7c Added MySqlMigrations.cs (supports stored proc/funcs)
Uses MySqlScript class to correctly run proc/func definitions
that need delimiter change. Requires MySql.Data.dll 6.2 or later.
2010-05-16 16:25:08 +03:00
AlexRa
8b6a295874 Migration.cs supports single-file migration history format
Scans for migration resources in either old-style "scattered" (one file per version)
or new-style "integrated" format (single file "Resources/{StoreName}.migrations[.nnn]") with ":VERSION nnn" sections).
In the new-style migrations it also recognizes ':GO' separators for parts of the SQL script
that must be sent to the server separately.  The old-style migrations are loaded each in one piece
and don't support the ':GO' feature.

Status:  TESTED and works fine in all modes!
2010-05-16 16:22:38 +03:00
Diva Canto
6f2f0fa0ca OK, this really fixes it, I promise. 2010-05-09 14:12:59 -07:00
Diva Canto
9cf6b81256 Yey for unit tests. The previous commit had a couple of bugs on SQL statements. Fixed here. 2010-05-09 14:02:02 -07:00
Diva Canto
b233a4b2ca * Fixed spamming the assets table with map tiles. The tile image ID is now stored in regionsettings. Upon generation of a new tile image, the old one is deleted. Tested for SQLite and MySql standalone.
* Fixed small bug with map search where the local sim regions weren't found.
2010-05-09 13:39:56 -07:00
Melanie
bc6995f921 Add Delete handler to SQLite (NG) 2010-05-09 18:02:36 +01:00
Melanie
60357d3778 Implement the "delete" path for assets. Adds a new option to allow remote asset deletion in robust handler. 2010-05-09 17:56:52 +01:00
Melanie
9b22393cf3 Add a field asset_flags and a corresponding enum to the asset database. This
CHANGES THE ASSET SERVER PROTOCOL and means you CAN NOT MIX PRIOR VERSIONS
WITH LATER ONES. It may also eat your babies, yada, yada, yada.
The usual cautions for migrations to the assets table apply.
Coding: Can not guarantee nut free.
2010-05-09 17:02:22 +01:00
Diva Canto
15562017f2 These files are part of the GridUserService write-up. 2010-05-07 21:32:02 -07:00
Diva Canto
a58859a0d4 GridUserService in place. Replaces the contrived concept of storing user's home and position info in the presence service. WARNING: I violated a taboo by deleting 2 migration files and simplifying the original table creation for Presence. This should not cause any problems to anyone, though. Things will work with the new simplified table, as well as with the previous contrived one. If there are any problems, solving them is as easy as dropping the presence table and deleting its row in the migrations table. The presence info only exists during a user's session anyway.
BTW, the Meshing files want to be committed too -- EOFs.
2010-05-07 21:29:56 -07:00
Diva Canto
484584b83c Fixed: migration #2 for SQLite. Problem was that ATTACH cannot be done inside a transaction. 2010-05-04 09:44:30 -07:00
Melanie Thielker
9635af61f0 Allow regions to get the list of the other regions in the estate 2010-05-04 15:52:29 +01:00
Melanie Thielker
23d7a942ea Refix the fix 2010-05-03 23:11:48 +01:00
Melanie Thielker
92dff5edb1 Add folder version incrementing to XInventoryService. Fixes offline give
for avatar->avatar
2010-05-03 23:11:37 +01:00
Diva Canto
bd49985afa Switched everything to XInventory by default. The old Inventory is still there for now, in case bugs pop up with XInventory. 2010-05-02 10:31:35 -07:00
Justin Clark-Casey (justincc)
f3662e3d15 minor: eliminate more debug Console.WriteLines, convert one to logging instead 2010-04-30 22:22:03 +01:00
Justin Clark-Casey (justincc)
d921329799 take out some debug logging in the sqlite db adaptor 2010-04-30 18:18:21 +01:00
Justin Clark-Casey (justincc)
89e79c1133 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-04-30 17:54:00 +01:00
Justin Clark-Casey (justincc)
cc67de5b86 rename SQLiteNG to SQLite and SQLite to SQLiteLegacy
this seems the least evil way forward since mono 2.6 and later will see increasing usage, and this only works with what was SQLiteNG
MAC USERS WILL NEED TO CHANGE REFERENCES TO "OpenSim.Data.SQLite.dll" to "OpenSim.Data.SQLiteLegacy.dll" in OpenSim.ini and config-include/StandaloneCommon.ini (if using standalone)
See the OpenSim.ini.example and StandaloneCommon.ini.example files for more details
This commit also temporarily changes unsigned ParentEstateID values in the OpenSim.Data.Tests to signed temporarily, since the new plugin enforces creation of signed fields in the database (which is what the SQL actually specifies).  And change data columns in sqlite is a pita.
2010-04-30 17:45:00 +01:00
AlexRa
be1141f0f7 Refactoring in Migration.cs: "using()" instead of explicit Dispose()
This ensures that 'cmd' gets disposed on errors
2010-04-28 13:40:35 +03:00
AlexRa
b49e9eff56 Fixed comments in Migration.cs: wrong argument order (no change to code) 2010-04-28 13:11:42 +03:00
AlexRa
8b75302a1e Just a bit of spellchecking in the comments 2010-04-28 12:21:39 +03:00
Justin Clark-Casey (justincc)
6e99e5b47a get region prim saving working properly in SQLiteNG
it wasn't working because of debug work that I'd forgotton to take out
2010-04-23 20:56:24 +01:00
Justin Clark-Casey (justincc)
f313d57fa4 Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-04-23 20:11:26 +01:00
Justin Clark-Casey (justincc)
1b488c2581 dispose of the DbCommand used to execute migrations after we've finished with it rather than within the loop
disposing of it within the loop causes Mono.Data.Sqlite.dll to get upset, and it's the wrong behaviour anyway
2010-04-23 20:08:24 +01:00
Justin Clark-Casey
e78f874cfd put SQLiteNG classes in their own namespace to avoid confusion 2010-04-23 19:40:15 +01:00
Justin Clark-Casey (justincc)
fcbac43114 minor: correct the assembly information for SQLiteNG 2010-04-23 19:14:43 +01:00
Justin Clark-Casey (justincc)
5ee77886ac Merge branch 'master' of ssh://justincc@opensimulator.org/var/git/opensim 2010-04-23 19:05:32 +01:00
Justin Clark-Casey (justincc)
e84cc2f9db Change SQLiteNG to work with mono 2.6 and above using the Mono.Data.Sqlite.dll
Include the library so that Windows builds correctly
It appears that Windows is okay with either SQLite or SQLiteNG
Incorporate the latest fixes made by Diva to OpenSim.Data.SQLite
2010-04-23 18:56:50 +01:00
Justin Clark-Casey (justincc)
a23bebdc0f Duplicate OpenSim.Data.SQLite into OpenSim.Data.SQLiteNG. SQLiteNG will shortly be changed to work under mono 2.6 and above 2010-04-23 17:17:15 +01:00
Melanie
ebcc9874d4 Insert a ROLLBACK command on migration step failure. This ensures that
updating the Migrations table will not occur in a partial transaction, which
would be auto-rolled-back later.
2010-04-22 17:45:03 +01:00
Diva Canto
4e1cbd1bf3 One more bug fix in sqlite sql statements. 2010-04-16 18:04:20 -07:00
Diva Canto
2597a3406c Bug fix: UserAccounts in SQLite was missing the primary key constraint. 2010-04-16 17:43:15 -07:00
Diva Canto
930d374525 Expose Delete at IUserAccountData interface. It was there already. No changes in IUserAccountService, just the data layer. 2010-04-16 16:36:44 -07:00
Diva Canto
b3e9dd4fc2 Bug fix in SQLite/SQLiteUserAccountData.cs: Missing'(' in one of the SQL statements. 2010-04-16 15:10:57 -07:00
Justin Clark-Casey (justincc)
e0f8362e7a minor: add some documentation around the asset udp request path and replace some magic numbers with libomv enums 2010-04-14 22:31:11 +01:00
Diva Canto
5fc9fe70af Added NullInventoryData for unit tests and quick try-outs of the services in 64-bit machines (no SQLite). 2010-04-06 19:38:01 -07:00
Melanie
ec637e2b8c Committing the LightShare code, which was developed by TomMeta of Meta7.
This allows scripts to set WindLight parameters for clients connecting
to a region. Currently, this is only supported by the Meta7 viewer.
2010-03-31 04:20:20 +01:00
John Hurliman
d6a64bf732 * Catch exceptions thrown when MySQLEstateData.LinkRegion() is called. This won't fix the bug I'm seeing with regions not realizing they are already part of an estate, but it will fix the OpenSim crash if that situation ever comes up 2010-03-26 13:50:25 -07:00
Justin Clark-Casey (justincc)
87fe96ae2c replace recent IModule.GetGroup() with better GetGroupRecord(string name) 2010-03-26 00:10:29 +00:00
Melanie
3fb73e4e26 UNTESTED SQLite code to enable estate setup in interactive confguration 2010-03-23 02:18:55 +00:00
Melanie
dcf18689b9 First stage of the new interactive region creation. This will allow creation
of a region and joining it to an existing estate or creating a new estate,
as well as creating an estate owner if in standalone, and assigning estate
owners. In Grid mode, existing users must be used. MySQL ONLY!!!! so far, as
I can't develop or test for either SQLite or MSSQL.
2010-03-23 02:05:56 +00:00