stds_raster_register_trigger_template.sql 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. --#############################################################################
  2. -- This SQL script creates a trigger to update a space-time raster dataset
  3. -- metadata
  4. --
  5. -- Author: Soeren Gebbert soerengebbert <at> googlemail <dot> com
  6. --#############################################################################
  7. -- SPACETIME_NAME is a placeholder for specific stds name (SQL compliant): name_mapset
  8. -- SPACETIME_ID is a placeholder for specific stds id: name@mapset
  9. --PRAGMA foreign_keys = ON;
  10. -- Triggers are disabled due to huge performance issues
  11. --CREATE TRIGGER SPACETIME_NAME_raster_metadata_register_insert_trigger AFTER INSERT ON SPACETIME_NAME_raster_register
  12. -- BEGIN
  13. -- -- Update the min and max values
  14. -- UPDATE strds_metadata SET min_min =
  15. -- (SELECT min(min) FROM raster_metadata WHERE raster_metadata.id IN
  16. -- (SELECT id FROM SPACETIME_NAME_raster_register)
  17. -- ) WHERE id = 'SPACETIME_ID';
  18. -- UPDATE strds_metadata SET min_max =
  19. -- (SELECT max(min) FROM raster_metadata WHERE raster_metadata.id IN
  20. -- (SELECT id FROM SPACETIME_NAME_raster_register)
  21. -- ) WHERE id = 'SPACETIME_ID';
  22. -- UPDATE strds_metadata SET max_min =
  23. -- (SELECT min(max) FROM raster_metadata WHERE raster_metadata.id IN
  24. -- (SELECT id FROM SPACETIME_NAME_raster_register)
  25. -- ) WHERE id = 'SPACETIME_ID';
  26. -- UPDATE strds_metadata SET max_max =
  27. -- (SELECT max(max) FROM raster_metadata WHERE raster_metadata.id IN
  28. -- (SELECT id FROM SPACETIME_NAME_raster_register)
  29. -- ) WHERE id = 'SPACETIME_ID';
  30. -- -- Update the resolution
  31. -- UPDATE strds_metadata SET nsres_min =
  32. -- (SELECT min(nsres) FROM raster_metadata WHERE raster_metadata.id IN
  33. -- (SELECT id FROM SPACETIME_NAME_raster_register)
  34. -- ) WHERE id = 'SPACETIME_ID';
  35. -- UPDATE strds_metadata SET nsres_max =
  36. -- (SELECT max(nsres) FROM raster_metadata WHERE raster_metadata.id IN
  37. -- (SELECT id FROM SPACETIME_NAME_raster_register)
  38. -- ) WHERE id = 'SPACETIME_ID';
  39. -- UPDATE strds_metadata SET ewres_min =
  40. -- (SELECT min(ewres) FROM raster_metadata WHERE raster_metadata.id IN
  41. -- (SELECT id FROM SPACETIME_NAME_raster_register)
  42. -- ) WHERE id = 'SPACETIME_ID';
  43. -- UPDATE strds_metadata SET ewres_max =
  44. -- (SELECT max(ewres) FROM raster_metadata WHERE raster_metadata.id IN
  45. -- (SELECT id FROM SPACETIME_NAME_raster_register)
  46. -- ) WHERE id = 'SPACETIME_ID';
  47. -- END;
  48. --
  49. --CREATE TRIGGER SPACETIME_NAME_raster_metadata_register_delete_trigger AFTER DELETE ON SPACETIME_NAME_raster_register
  50. -- BEGIN
  51. -- -- Update the min and max values
  52. -- UPDATE strds_metadata SET min_min =
  53. -- (SELECT min(min) FROM raster_metadata WHERE raster_metadata.id IN
  54. -- (SELECT id FROM SPACETIME_NAME_raster_register)
  55. -- ) WHERE id = 'SPACETIME_ID';
  56. -- UPDATE strds_metadata SET min_max =
  57. -- (SELECT max(min) FROM raster_metadata WHERE raster_metadata.id IN
  58. -- (SELECT id FROM SPACETIME_NAME_raster_register)
  59. -- ) WHERE id = 'SPACETIME_ID';
  60. -- UPDATE strds_metadata SET max_min =
  61. -- (SELECT min(max) FROM raster_metadata WHERE raster_metadata.id IN
  62. -- (SELECT id FROM SPACETIME_NAME_raster_register)
  63. -- ) WHERE id = 'SPACETIME_ID';
  64. -- UPDATE strds_metadata SET max_max =
  65. -- (SELECT max(max) FROM raster_metadata WHERE raster_metadata.id IN
  66. -- (SELECT id FROM SPACETIME_NAME_raster_register)
  67. -- ) WHERE id = 'SPACETIME_ID';
  68. -- -- Update the resolution
  69. -- UPDATE strds_metadata SET nsres_min =
  70. -- (SELECT min(nsres) FROM raster_metadata WHERE raster_metadata.id IN
  71. -- (SELECT id FROM SPACETIME_NAME_raster_register)
  72. -- ) WHERE id = 'SPACETIME_ID';
  73. -- UPDATE strds_metadata SET nsres_max =
  74. -- (SELECT max(nsres) FROM raster_metadata WHERE raster_metadata.id IN
  75. -- (SELECT id FROM SPACETIME_NAME_raster_register)
  76. -- ) WHERE id = 'SPACETIME_ID';
  77. -- UPDATE strds_metadata SET ewres_min =
  78. -- (SELECT min(ewres) FROM raster_metadata WHERE raster_metadata.id IN
  79. -- (SELECT id FROM SPACETIME_NAME_raster_register)
  80. -- ) WHERE id = 'SPACETIME_ID';
  81. -- UPDATE strds_metadata SET ewres_max =
  82. -- (SELECT max(ewres) FROM raster_metadata WHERE raster_metadata.id IN
  83. -- (SELECT id FROM SPACETIME_NAME_raster_register)
  84. -- ) WHERE id = 'SPACETIME_ID';
  85. -- END;
  86. --
  87. --
  88. --
  89. --
  90. --
  91. --
  92. --
  93. --
  94. --
  95. --
  96. --
  97. --
  98. --
  99. --
  100. --
  101. --
  102. --
  103. --
  104. --
  105. --
  106. --
  107. --
  108. --
  109. --
  110. --