aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Data/MySQL (unfollow)
Commit message (Collapse)AuthorFilesLines
2012-04-24Fixed problem with MySQL: it was possible for one thread to use an ↵Oren Hurvitz3-21/+37
incomplete list of column names if another thread was creating the list at the same time. Now this is thread-safe.
2012-04-24When reading a region, use null objects to represent NULL fields.Oren Hurvitz1-1/+5
Previously NULL fields were converted to an empty string due to the use of ToString(). But if the field was an Int (e.g., "locZ"), then the subsequent attempt to convert an empty string to an int caused an exception. Now the field is null so we don't try to convert it, so there's no exception.
2012-03-19Fix configuration problems where XAssetDatabasePlugin was picked up ↵Justin Clark-Casey (justincc)1-11/+11
accidentally. The asset data plugin now implements IXAssetData rather than IAssetData so the ordinary AssetService should no longer pick it up. This replaces the changes in 92b1ade. There is no longer any need to adjust your StandaloneCommon.ini/Robust.ini/Robust.HG.ini files. This may explain very recent issues in the last few weeks where textures have been disappearing or turning white (as they were going to different places). Unfortunately, you will need to rollback to an earlier database backup or reupload the textures.
2012-03-12Rename the stream extension method WebUtil.CopyTo() to WebUtil.CopyStream().Robert Adams1-1/+1
.NET 4.0 added the method Stream.CopyTo(stream, bufferSize). For .NET 3.5 and before, WebUtil defined an extension method for Stream with the signature Stream.CopyTo(stream, maxBytesToCopy). The meaning of the second parameter is different in the two forms and depending on which compiler and/or runtime you use, you could get one form or the other. Crashes ensue. This change renames the WebUtil stream copy method to something that cannot be confused with the new CopyTo method defined in .NET 4.0.
2012-03-09minor: move some compression related var setup inside compression if/then switchJustin Clark-Casey (justincc)1-4/+3
2012-03-09Put big fat EXPERIMENTAL warning in xassetservice database pluginJustin Clark-Casey (justincc)1-0/+10
This should not currently be used in any circumstances except for experimentation. Database tables used by this plugin can still change at any time with no migration path.
2012-03-06Switch to sha256 from sha1 in order to avoid future asset hash collisions.Justin Clark-Casey (justincc)2-9/+17
Some successful collision attacks have been carried out on sha1 with speculation that more are possible. http://en.wikipedia.org/wiki/Cryptographic_hash_function#Cryptographic_hash_algorithms No successful attacks have been shown on sha256, which makes it less likely that anybody will be able to engineer an asset hash collision in the future. Tradeoff is more storage required for hashes, and more cpu to hash, though this is neglible compared to db operations and network access.
2012-03-05remove unnecessary hash local variableJustin Clark-Casey (justincc)1-2/+0
2012-03-03Make asset compression optional. Currently set to false and not ↵Justin Clark-Casey (justincc)1-16/+24
configurable from outside MySQLXAssetData.
2012-03-03Implement basic gzip compression for xassetdataJustin Clark-Casey (justincc)1-10/+41
Whether this is worthwhile is debatable since here we are not transmitting data over a network In addition, jpeg2000 (the biggest data hog) is already a compressed image format. May not remain.
2012-03-03If asset data already exists with the required hash then don't rewrite itJustin Clark-Casey (justincc)1-17/+59
2012-03-02Perform asset storage transactionallyJustin Clark-Casey (justincc)1-57/+69
2012-03-02Make xassetservice execute one query to retrieve the asset, not twoJustin Clark-Casey (justincc)1-28/+4
2012-03-02Make XAssetService a de-duplicating asset service.Justin Clark-Casey (justincc)2-0/+443
This is an extremely crude implemenation which almost works by accident. Nevertheless it does work. It can be tested with the instructions at http://opensimulator.org/wiki/Feature_Proposals/Deduplicating_Asset_Service#Testing It does not interact at all with the existing asset service or any data stored there. This code is subject to change without notice and should not be used for anything other than gawking.
2012-02-29Use correct casing of RegionSettings.Sandbox in the various database modules.Justin Clark-Casey (justincc)1-1/+1
MySQL and MSSQL have it as Sandbox, sqlite as sandbox. In various different places in every plugin the wrong casing is used... Consistency, who needs it? Or one day sqlite can change to Sandbox.
2012-02-04Add default value to TelehubObjectBlueWall1-0/+10
2012-02-03Fix: Covenant changed time not set ↵PixelTomsen2-3/+9
http://opensimulator.org/mantis/view.php?id=5869 Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2012-02-02Replace ParcelAccessEntry with a new struct, LandAccessEntry, which moreMelanie2-8/+15
accurately reflects the data sent by the viewer. Add times bans and the expiration of timed bans. Warning: Contains a Migration (and nuts)
2012-01-30Add the needed column in the regions table and a few tweaks.Melanie1-0/+9
Warning: Contains a Migration Warning: Cannot guarantee nut free
2012-01-30Add ParcelImageID to RegionSettings so we can have that overlay.Melanie2-2/+10
Warning: Contains a Migration. Warning: May contain nuts.
2012-01-24Add a forgotten parameterMelanie1-1/+1
2012-01-24Change Telehubs to store only the data that is really needed and notMelanie1-40/+13
additional redundant information.
2012-01-23IMPORTANT!!!!! Please READ. DO NOT Use this version or any before it since theMelanie1-12/+3
Telehub commits! They will eat your babies and corrupt your database while they munch. DO NOT use anything from the first Telehub commit to this one. FIRST GOOD COMMIT is the one FOLLOWING this one. You have been warned.
2012-01-22Fix up some parameter namingMelanie1-2/+2
2012-01-22Finish connecting Telehub to databaseBlueWall1-3/+19
2012-01-22Hooking up new telehub data to the databaseBlueWall1-0/+14
2012-01-22Change the key name I missed in last commitMelanie1-1/+1
2012-01-22Move Telehub tables and data from EstateSettings to RegionSettings.Melanie4-87/+95
This is damage control es EstateSettings is not the place this can be put. EstateSettings is nt unique to a region and therefore would introduce a hard limit of one telehub per estate, completely shutting off the option of having SL style telehubs, e.g. one per region. Whole estate teleport routing can still be implemented id desiresd, this way all options are open while the other way most options get closed off.
2012-01-21Telehub Support:BlueWall2-1/+86
Telehub settings now persist to the database and are saved across sim restarts. So-far this only works on MySQL. this is a work in progress, teleport routing is not yet implemented.
2011-10-31Plug a security hole in the inventory serviceMelanie1-1/+2
2011-09-20Remove vestigal OpenSim.Data mono addins extension points that don't look ↵Justin Clark-Casey (justincc)1-23/+0
like they've been active for at least 2 and a half years
2011-09-16Reattaching a region was failing if the estate name had not changed (issue ↵Kevin Houlihan1-44/+79
5035). Using the RemoteAdmin API to close then recreate a region would fail if the estate name had not changed. If the estate name /was/ changed then the existing estate would be renamed rather than a new one being created. The problem really arose from a lack of distinction in the data storage layer between creating new estates and loading existing ones.
2011-09-09Save the default terrain texture UUIDs for a new region instead of leaving ↵Justin Clark-Casey (justincc)1-1/+0
them as UUID.Zero. Leaving them at UUID.Zero meant that when a viewer 2 logged into a region that had been freshly created, it received UUID.Zero for these textures, and hence display the land as plain white. On a simulator restart, the problem would go away since when the database adapators loaded the new region settings, RegionSettings itself has code to use default textures instead of UUID.Zero. This commit resolves the problem by saving the default texture UUIDs instead of Zero. However, we currently have to do this in a roundabout way by resaving once the RegionSettings have been created by the database for the first time. This needless complexity should be addressed. This change will also have the effect of replacing any existing UUID.Zero terrain textures with the default ones. However, this shouldn't have any effect since the UUID.Zeros were already being replaced in memory with those same UUIDs.
2011-09-01Remove code which was automatically deleting non-root prims from scene ↵Justin Clark-Casey (justincc)1-17/+0
objects that had previous been attachments. Looks like this code was accidentally uncommented in e1b5c612 from feb 2010. Appears to resolve the rest of http://opensimulator.org/mantis/view.php?id=5664
2011-08-17In the asset service, check that an asset exists before attempting to store it.Justin Clark-Casey (justincc)1-2/+7
2011-06-11Switched order of SQL statements in Friends migration -- resulted in the ↵Diva Canto1-1/+1
wrong key
2011-06-10For MySQL, migrate region tables to the MyISAM storage engine rather than InnoDBJustin Clark-Casey (justincc)1-0/+16
Using MyISAM proves vastly faster for persisting scene objects. For instance, a scene object that took 9 seconds to persist before now takes 1. This also improves the experience of loading large OARs. We don't use any of the transactional features of InnoDB. The only thing that may have an impact is that InnoDB does row locking on inserts while MyISAM does table locking. However, field reports say there is no noticeable difference.
2011-06-01This is the better solution: make the combined key be only on the first 36 ↵Diva Canto1-1/+2
characters of each field -- that's the UUIDs. Thanks coyled. WARNING: Again, people who have gone through this migration and failed need to run it manually.
2011-06-01It looks like there's a better solution for that problem.Diva Canto1-2/+1
Revert "Changed Friends table to have 165-sized varchars on PrincipalID and FriendID. The reason for this number is the following: there is a combined key of these 2 fields; apparently MySql can't handle keys larger than 1000 bytes; when the table is created with utf8 encoding, this combined key is bigger than 1000 bytes, and the migration fails. WARNING: this is not a new migration! People who have gone through this migration and failed should update the sizes of these fields manually." This reverts commit 3fa54a156a83e498a7d5d0949a5f848fe82fe86f.
2011-06-01Changed Friends table to have 165-sized varchars on PrincipalID and ↵Diva Canto1-1/+2
FriendID. The reason for this number is the following: there is a combined key of these 2 fields; apparently MySql can't handle keys larger than 1000 bytes; when the table is created with utf8 encoding, this combined key is bigger than 1000 bytes, and the migration fails. WARNING: this is not a new migration! People who have gone through this migration and failed should update the sizes of these fields manually.
2011-05-22More on HG Friends. Added Delete(string, string) across the board. Added ↵Diva Canto1-4/+13
security to friendship identifiers so that they can safely be deleted across worlds. Had to change Get(string) to use LIKE because the secret in the identifier is not always known -- affects only HG visitors. BOTTOM LINE SO FAR: HG friendships established and deleted safely across grids, local rights working but not (yet?) being transmitted back.
2011-05-21Fixed permissions bug related to friends in PermissionsModule. Added ↵Diva Canto1-0/+5
FriendsData[] GetFriends(string principalID) to IFriendsData and FriendInfo[] GetFriends(string PrincipalID) to IFriendsService. Refactored some more in the FriendsModule. Made client get notification of local friends permissions upon HGLogin. HG Friends object permissions work.
2011-05-19HG Friends working to some extent: friendships offered and accepted ↵Diva Canto1-0/+6
correctly handled. Friends list showing correct foreign names. TODO: GrantRights.
2011-05-19Allow item links to be deleted even when other deletes and purges are disabled.Justin Clark-Casey (justincc)2-6/+31
If these links are not deleted, then they will build up in the player's inventory until they can no longer log in. Accidental deletion of links due to bugs or other causes is potentially inconvenient but on a par with items being accidentally moved. When a link is deleted, the target of the link is never touched. This is a general solution that accounts for the use of links anywhere in the user's inventory.
2011-05-18Accidentally committed too earlyJustin Clark-Casey (justincc)2-31/+6
Revert "Allow item links to be deleted even when other deletes and purges are disabled." This reverts commit 491279f99afc65860d44765ee7829c7dd5e4e38e.
2011-05-17Allow item links to be deleted even when other deletes and purges are disabled.Justin Clark-Casey (justincc)2-6/+31
If these links are not deleted, then they will build up in the player's inventory until they can no longer log in. Accidental deletion of links due to bugs or other causes is potentially inconvenient but on a par with items being accidentally moved. When a link is deleted, the target of the link is never touched. This is a general solution that accounts for the use of links anywhere in the user's inventory.
2011-05-06remove further mono compiler warningsJustin Clark-Casey (justincc)5-6/+6
2011-04-11Include code to return more information about the NullReferenceException seen inJustin Clark-Casey (justincc)1-2/+13
http://opensimulator.org/mantis/view.php?id=5403 prior to doing something about it.
2011-04-05Make the "All Estates" option work from the client (this makes chosen ↵Justin Clark-Casey (justincc)1-0/+30
changes to all the estates that the user owns). This applies to adding/removing estate users, groups, managers and bans. This is the application of the AllEstates_0.5.patch from http://opensimulator.org/mantis/view.php?id=5420 Thanks very much, Snoopy!
2011-03-21On initial region registration, if the user chooses the option to make the ↵Justin Clark-Casey (justincc)1-0/+40
region part of an existing estate, then list the existing region names.