Synchronise with OpenSimSearch-lickx

This commit is contained in:
lickx
2025-11-26 07:51:27 +01:00
parent 0fd31a093d
commit 672ab2b4d0
3 changed files with 152 additions and 198 deletions

View File

@@ -0,0 +1,115 @@
DROP TABLE IF EXISTS `search_allparcels`;
CREATE TABLE `search_allparcels` (
`regionUUID` char(36) NOT NULL,
`parcelname` varchar(255) NOT NULL,
`ownerUUID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
`groupUUID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
`landingpoint` varchar(255) NOT NULL,
`parcelUUID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
`infoUUID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
`parcelarea` int(11) NOT NULL,
PRIMARY KEY (`parcelUUID`),
KEY `regionUUID` (`regionUUID`)
);
DROP TABLE IF EXISTS `search_events`;
CREATE TABLE `search_events` (
`owneruuid` char(36) NOT NULL,
`name` varchar(255) NOT NULL,
`eventid` int(11) unsigned NOT NULL AUTO_INCREMENT,
`creatoruuid` char(36) NOT NULL,
`category` int(2) NOT NULL,
`description` text NOT NULL,
`dateUTC` int(10) NOT NULL,
`duration` int(10) NOT NULL,
`covercharge` tinyint(1) NOT NULL,
`coveramount` int(10) NOT NULL,
`simname` varchar(255) NOT NULL,
`parcelUUID` char(36) NOT NULL,
`globalPos` varchar(255) NOT NULL,
`eventflags` int(1) NOT NULL,
PRIMARY KEY (`eventid`)
);
DROP TABLE IF EXISTS `search_hostsregister`;
CREATE TABLE `search_hostsregister` (
`host` varchar(255) NOT NULL,
`port` int(5) NOT NULL,
`register` int(10) NOT NULL,
`nextcheck` int(10) NOT NULL,
`checked` tinyint(1) NOT NULL,
`failcounter` int(10) NOT NULL,
PRIMARY KEY (`host`,`port`)
);
DROP TABLE IF EXISTS `search_objects`;
CREATE TABLE `search_objects` (
`objectuuid` char(36) NOT NULL,
`parceluuid` char(36) NOT NULL,
`location` varchar(255) NOT NULL,
`name` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL,
`regionuuid` char(36) NOT NULL DEFAULT '',
PRIMARY KEY (`objectuuid`,`parceluuid`)
);
DROP TABLE IF EXISTS `search_parcels`;
CREATE TABLE `search_parcels` (
`regionUUID` char(36) NOT NULL,
`parcelname` varchar(255) NOT NULL,
`parcelUUID` char(36) NOT NULL,
`landingpoint` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL,
`searchcategory` varchar(50) NOT NULL,
`build` enum('true','false') NOT NULL,
`script` enum('true','false') NOT NULL,
`public` enum('true','false') NOT NULL,
`dwell` float NOT NULL DEFAULT 0,
`infouuid` varchar(36) NOT NULL DEFAULT '',
`mature` varchar(10) NOT NULL DEFAULT 'PG',
`pictureUUID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
PRIMARY KEY (`regionUUID`,`parcelUUID`),
KEY `name` (`parcelname`),
KEY `description` (`description`),
KEY `searchcategory` (`searchcategory`),
KEY `dwell` (`dwell`)
);
DROP TABLE IF EXISTS `search_parcelsales`;
CREATE TABLE `search_parcelsales` (
`regionUUID` char(36) NOT NULL,
`parcelname` varchar(255) NOT NULL,
`parcelUUID` char(36) NOT NULL,
`area` int(6) NOT NULL,
`saleprice` int(11) NOT NULL,
`landingpoint` varchar(255) NOT NULL,
`infoUUID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
`dwell` int(11) NOT NULL,
`parentestate` int(11) NOT NULL DEFAULT 1,
`mature` varchar(10) NOT NULL DEFAULT 'PG',
PRIMARY KEY (`regionUUID`,`parcelUUID`)
);
DROP TABLE IF EXISTS `search_popularplaces`;
CREATE TABLE `search_popularplaces` (
`parcelUUID` char(36) NOT NULL,
`name` varchar(255) NOT NULL,
`dwell` float NOT NULL,
`infoUUID` char(36) NOT NULL,
`has_picture` tinyint(1) NOT NULL,
`mature` varchar(10) NOT NULL,
PRIMARY KEY (`parcelUUID`)
);
DROP TABLE IF EXISTS `search_regions`;
CREATE TABLE `search_regions` (
`regionname` varchar(255) NOT NULL,
`regionUUID` char(36) NOT NULL,
`regionhandle` varchar(255) NOT NULL,
`url` varchar(255) NOT NULL,
`owner` varchar(255) NOT NULL,
`owneruuid` char(36) NOT NULL,
PRIMARY KEY (`regionUUID`)
);

View File

@@ -1,198 +0,0 @@
/*M!999999\- enable the sandbox mode */
-- MariaDB dump 10.19 Distrib 10.11.11-MariaDB, for debian-linux-gnu (aarch64)
--
-- Host: localhost Database: grid
-- ------------------------------------------------------
-- Server version 10.11.11-MariaDB-0+deb12u1
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `search_allparcels`
--
DROP TABLE IF EXISTS `search_allparcels`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `search_allparcels` (
`regionUUID` char(36) NOT NULL,
`parcelname` varchar(255) NOT NULL,
`ownerUUID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
`groupUUID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
`landingpoint` varchar(255) NOT NULL,
`parcelUUID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
`infoUUID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
`parcelarea` int(11) NOT NULL,
PRIMARY KEY (`parcelUUID`),
KEY `regionUUID` (`regionUUID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `search_events`
--
DROP TABLE IF EXISTS `search_events`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `search_events` (
`owneruuid` char(36) NOT NULL,
`name` varchar(255) NOT NULL,
`eventid` int(11) unsigned NOT NULL AUTO_INCREMENT,
`creatoruuid` char(36) NOT NULL,
`category` int(2) NOT NULL,
`description` text NOT NULL,
`dateUTC` int(10) NOT NULL,
`duration` int(10) NOT NULL,
`covercharge` tinyint(1) NOT NULL,
`coveramount` int(10) NOT NULL,
`simname` varchar(255) NOT NULL,
`parcelUUID` char(36) NOT NULL,
`globalPos` varchar(255) NOT NULL,
`eventflags` int(1) NOT NULL,
PRIMARY KEY (`eventid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `search_hostsregister`
--
DROP TABLE IF EXISTS `search_hostsregister`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `search_hostsregister` (
`host` varchar(255) NOT NULL,
`port` int(5) NOT NULL,
`register` int(10) NOT NULL,
`nextcheck` int(10) NOT NULL,
`checked` tinyint(1) NOT NULL,
`failcounter` int(10) NOT NULL,
PRIMARY KEY (`host`,`port`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `search_objects`
--
DROP TABLE IF EXISTS `search_objects`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `search_objects` (
`objectuuid` char(36) NOT NULL,
`parceluuid` char(36) NOT NULL,
`location` varchar(255) NOT NULL,
`name` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL,
`regionuuid` char(36) NOT NULL DEFAULT '',
PRIMARY KEY (`objectuuid`,`parceluuid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `search_parcels`
--
DROP TABLE IF EXISTS `search_parcels`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `search_parcels` (
`regionUUID` char(36) NOT NULL,
`parcelname` varchar(255) NOT NULL,
`parcelUUID` char(36) NOT NULL,
`landingpoint` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL,
`searchcategory` varchar(50) NOT NULL,
`build` enum('true','false') NOT NULL,
`script` enum('true','false') NOT NULL,
`public` enum('true','false') NOT NULL,
`dwell` float NOT NULL DEFAULT 0,
`infouuid` varchar(36) NOT NULL DEFAULT '',
`mature` varchar(10) NOT NULL DEFAULT 'PG',
`pictureUUID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
PRIMARY KEY (`regionUUID`,`parcelUUID`),
KEY `name` (`parcelname`),
KEY `description` (`description`),
KEY `searchcategory` (`searchcategory`),
KEY `dwell` (`dwell`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `search_parcelsales`
--
DROP TABLE IF EXISTS `search_parcelsales`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `search_parcelsales` (
`regionUUID` char(36) NOT NULL,
`parcelname` varchar(255) NOT NULL,
`parcelUUID` char(36) NOT NULL,
`area` int(6) NOT NULL,
`saleprice` int(11) NOT NULL,
`landingpoint` varchar(255) NOT NULL,
`infoUUID` char(36) NOT NULL DEFAULT '00000000-0000-0000-0000-000000000000',
`dwell` int(11) NOT NULL,
`parentestate` int(11) NOT NULL DEFAULT 1,
`mature` varchar(10) NOT NULL DEFAULT 'PG',
PRIMARY KEY (`regionUUID`,`parcelUUID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `search_popularplaces`
--
DROP TABLE IF EXISTS `search_popularplaces`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `search_popularplaces` (
`parcelUUID` char(36) NOT NULL,
`name` varchar(255) NOT NULL,
`dwell` float NOT NULL,
`infoUUID` char(36) NOT NULL,
`has_picture` tinyint(1) NOT NULL,
`mature` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
PRIMARY KEY (`parcelUUID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Table structure for table `search_regions`
--
DROP TABLE IF EXISTS `search_regions`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `search_regions` (
`regionname` varchar(255) NOT NULL,
`regionUUID` char(36) NOT NULL,
`regionhandle` varchar(255) NOT NULL,
`url` varchar(255) NOT NULL,
`owner` varchar(255) NOT NULL,
`owneruuid` char(36) NOT NULL,
PRIMARY KEY (`regionUUID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2025-04-14 10:16:19

View File

@@ -0,0 +1,37 @@
-- Purge all search entries related to a permanently deleted region
-- Prerequisites: OpenSimSearch, lickx branch
-- https://github.com/lickx/OpenSimSearch/tree/lickx
-- To be sourced into your robust database.
-- Usage example: CALL sp_searchpurge('2ef309ab-dc66-4123-85e8-873d00b8acc9');
DELIMITER //
CREATE OR REPLACE PROCEDURE sp_searchpurge (IN pRegionID CHAR(36))
BEGIN
-- classifieds (note, classifieds is the only table that isn't prefixed with search_ because Robust expects and queries it under this name)
DELETE classifieds FROM classifieds INNER JOIN search_parcels ON classifieds.parceluuid = search_parcels.parcelUUID WHERE search_parcels.regionUUID=pRegionID;
-- events
DELETE search_events FROM search_events INNER JOIN search_parcels ON search_events.parcelUUID = search_parcels.parcelUUID WHERE search_parcels.regionUUID=pRegionID;
-- objects
DELETE FROM search_objects WHERE regionuuid=pRegionID;
-- regionsales
DELETE FROM search_parcelsales WHERE regionUUID=pRegionID;
-- popularplaces
DELETE search_popularplaces FROM search_popularplaces INNER JOIN search_parcels ON search_popularplaces.parcelUUID = search_parcels.parcelUUID WHERE search_parcels.regionUUID=pRegionID;
-- allparcels
DELETE FROM search_allparcels WHERE regionUUID=pRegionID;
-- parcels
DELETE FROM search_parcels WHERE regionUUID=pRegionID;
-- regions
DELETE FROM search_regions WHERE regionUUID=pRegionID;
END //
DELIMITER ;