Guest User

Untitled

a guest
Jan 22nd, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.17 KB | None | 0 0
  1. -- This file is part of Buildbot. Buildbot is free software: you can
  2. -- redistribute it and/or modify it under the terms of the GNU General Public
  3. -- License as published by the Free Software Foundation, version 2.
  4. --
  5. -- This program is distributed in the hope that it will be useful, but WITHOUT
  6. -- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  7. -- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
  8. -- details.
  9. --
  10. -- You should have received a copy of the GNU General Public License along with
  11. -- this program; if not, write to the Free Software Foundation, Inc., 51
  12. -- Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  13. --
  14. -- Copyright Buildbot Team Members
  15.  
  16. BEGIN;
  17.  
  18. -- Delete soucestamps older than %s days.
  19. -- The starting point is not "now" but the most recent sourcestamp.
  20. DELETE FROM sourcestamps
  21. WHERE created_at < (SELECT max(created_at) - (%s * 24 * 60 * 60) FROM sourcestamps);
  22.  
  23. DELETE FROM patches WHERE id NOT IN (SELECT patchid FROM sourcestamps);
  24.  
  25. -- Delete changes with no link to a sourcestamp.
  26. UPDATE changes SET parent_changeids = NULL
  27. WHERE parent_changeids IN (SELECT changeid FROM changes
  28. WHERE sourcestampid NOT IN (SELECT id FROM sourcestamps));
  29.  
  30. DELETE FROM changes
  31. WHERE sourcestampid NOT IN (SELECT id FROM sourcestamps);
  32.  
  33. DELETE FROM change_files
  34. WHERE changeid NOT IN (SELECT changeid FROM changes);
  35.  
  36. DELETE FROM change_properties
  37. WHERE changeid NOT IN (SELECT changeid FROM changes);
  38.  
  39. DELETE FROM change_users
  40. WHERE changeid NOT IN (SELECT changeid FROM changes);
  41.  
  42. DELETE FROM scheduler_changes
  43. WHERE changeid NOT IN (SELECT changeid FROM changes);
  44.  
  45. -- Delete buildsets that have no link to a sourcestamp.
  46. DELETE FROM buildset_sourcestamps
  47. WHERE sourcestampid NOT IN (SELECT id FROM sourcestamps);
  48.  
  49. DELETE FROM buildsets
  50. WHERE id NOT IN (SELECT buildsetid FROM buildset_sourcestamps);
  51.  
  52. DELETE FROM buildset_properties
  53. WHERE buildsetid NOT IN (SELECT id FROM buildsets);
  54.  
  55. DELETE FROM buildrequests
  56. WHERE buildsetid NOT IN (SELECT id FROM buildsets);
  57.  
  58. DELETE FROM buildrequest_claims
  59. WHERE brid NOT IN (SELECT id FROM buildrequests);
  60.  
  61. UPDATE buildsets SET parent_buildid = NULL, parent_relationship = NULL
  62. WHERE parent_buildid IN (SELECT id FROM builds
  63. WHERE buildrequestid NOT IN (SELECT id FROM buildrequests));
  64.  
  65. DELETE FROM builds
  66. WHERE buildrequestid NOT IN (SELECT id FROM buildrequests);
  67.  
  68. DELETE FROM build_properties
  69. WHERE buildid NOT IN (SELECT id FROM builds);
  70.  
  71. DELETE FROM steps
  72. WHERE buildid NOT IN (SELECT id FROM builds);
  73.  
  74. DELETE FROM logs
  75. WHERE stepid NOT IN (SELECT id FROM steps);
  76.  
  77. DELETE FROM logchunks
  78. WHERE logid NOT IN (SELECT id FROM logs);
  79.  
  80. -- Delete non-active builders that are not referenced by any build.
  81. DELETE FROM builders
  82. WHERE id NOT IN (SELECT builderid FROM builder_masters)
  83. AND id NOT IN (SELECT builderid FROM builds);
  84.  
  85. -- Delete tags not referenced by any builder.
  86. DELETE FROM builders_tags
  87. WHERE builderid NOT IN (SELECT id FROM builders);
  88.  
  89. DELETE FROM tags
  90. WHERE id NOT IN (SELECT tagid FROM builders_tags);
  91.  
  92. -- Delete non-active workers that are not referenced by any build.
  93. DELETE FROM workers
  94. WHERE id NOT IN (SELECT workerid FROM configured_workers)
  95. AND id NOT IN (SELECT workerid FROM builds);
  96.  
  97. COMMIT;
Add Comment
Please, Sign In to add comment