/Aurora/DataManager/Migration/Migrators/Stats/StatsMigrator_2.cs

https://bitbucket.org/VirtualReality/software-testing · C# · 103 lines · 69 code · 8 blank · 26 comment · 0 complexity · 6030cf2d46bd2cc4fa3b16b45d537c80 MD5 · raw file

  1. /*
  2. * Copyright (c) Contributors, http://aurora-sim.org/
  3. * See CONTRIBUTORS.TXT for a full list of copyright holders.
  4. *
  5. * Redistribution and use in source and binary forms, with or without
  6. * modification, are permitted provided that the following conditions are met:
  7. * * Redistributions of source code must retain the above copyright
  8. * notice, this list of conditions and the following disclaimer.
  9. * * Redistributions in binary form must reproduce the above copyright
  10. * notice, this list of conditions and the following disclaimer in the
  11. * documentation and/or other materials provided with the distribution.
  12. * * Neither the name of the Aurora-Sim Project nor the
  13. * names of its contributors may be used to endorse or promote products
  14. * derived from this software without specific prior written permission.
  15. *
  16. * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
  17. * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  18. * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  19. * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
  20. * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  21. * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  22. * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  23. * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  24. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  25. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  26. */
  27. using System;
  28. using System.Collections.Generic;
  29. using Aurora.DataManager.Migration;
  30. using Aurora.Framework;
  31. using Aurora.Framework.Utilities;
  32. namespace Aurora.DataManager
  33. {
  34. public class StatsMigrator_2 : Migrator
  35. {
  36. public StatsMigrator_2()
  37. {
  38. Version = new Version(0, 0, 2);
  39. MigrationName = "Stats";
  40. schema = new List<SchemaDefinition>();
  41. AddSchema("statsdata", ColDefs(ColDef("session_id", ColumnTypes.String50),
  42. ColDef("agent_id", ColumnTypes.String50),
  43. ColDef("region_id", ColumnTypes.String50),
  44. ColDef("agents_in_view", ColumnTypes.String50),
  45. ColDef("fps", ColumnTypes.Integer11),
  46. ColDef("a_language", ColumnTypes.String50),
  47. ColDef("mem_use", ColumnTypes.Integer11),
  48. ColDef("meters_traveled", ColumnTypes.Integer11),
  49. ColDef("ping", ColumnTypes.Integer11),
  50. ColDef("regions_visited", ColumnTypes.Integer11),
  51. ColDef("run_time", ColumnTypes.String50),
  52. ColDef("sim_fps", ColumnTypes.Integer11),
  53. ColDef("start_time", ColumnTypes.Integer11),
  54. ColDef("client_version", ColumnTypes.String50),
  55. ColDef("s_cpu", ColumnTypes.String128),
  56. ColDef("s_gpu", ColumnTypes.String128),
  57. ColDef("s_gpuclass", ColumnTypes.String50),
  58. ColDef("s_gpuvendor", ColumnTypes.String50),
  59. ColDef("s_gpuversion", ColumnTypes.String50),
  60. ColDef("s_os", ColumnTypes.String50),
  61. ColDef("s_ram", ColumnTypes.String50),
  62. ColDef("d_object_kb", ColumnTypes.Integer11),
  63. ColDef("d_texture_kb", ColumnTypes.Integer11),
  64. ColDef("d_world_kb", ColumnTypes.Integer11),
  65. ColDef("n_in_kb", ColumnTypes.Integer11),
  66. ColDef("n_in_pk", ColumnTypes.Integer11),
  67. ColDef("n_out_kb", ColumnTypes.Integer11),
  68. ColDef("n_out_pk", ColumnTypes.Integer11),
  69. ColDef("f_dropped", ColumnTypes.Integer11),
  70. ColDef("f_failed_resends", ColumnTypes.Integer11),
  71. ColDef("f_invalid", ColumnTypes.Integer11),
  72. ColDef("f_off_circuit", ColumnTypes.Integer11),
  73. ColDef("f_resent", ColumnTypes.Integer11),
  74. ColDef("f_send_packet", ColumnTypes.Integer11)),
  75. IndexDefs(
  76. IndexDef(new string[1] {"session_id"}, IndexType.Primary)));
  77. }
  78. protected override void DoCreateDefaults(IDataConnector genericData)
  79. {
  80. EnsureAllTablesInSchemaExist(genericData);
  81. }
  82. protected override bool DoValidate(IDataConnector genericData)
  83. {
  84. return TestThatAllTablesValidate(genericData);
  85. }
  86. protected override void DoMigrate(IDataConnector genericData)
  87. {
  88. DoCreateDefaults(genericData);
  89. }
  90. protected override void DoPrepareRestorePoint(IDataConnector genericData)
  91. {
  92. CopyAllTablesToTempVersions(genericData);
  93. }
  94. }
  95. }