Cids Datenbank
Aus Cismet Wiki
Änderungen
anstehend
Hinzufügen eines unique constraints auf die qualifier Spalte von cs_java_class
ALTER TABLE cs_java_class ADD constraint unique_class_qualifier UNIQUE(qualifier)
Bitte beachten, dass zunächst mehrfache Einträge entfernt und entsprechend die Referenzen auf die IDs der gelöschten Datensätze auf die der verbleibenden geändert werden müssen. Die Einträge lassen sich herausfinden mit
SELECT jc1.id, jc1.qualifier FROM cs_java_class jc1, cs_java_class jc2 WHERE jc1.id <> jc2.id AND jc1.qualifier = jc2.qualifier
wobei man mit dem folgenden Kommando sich gleich beschränken kann auf die Einträge, die mehrfach vorkommen UND deren ID nicht die kleinste(also vermutlich älteste) ist, d.h. die es werden nur die zu löschenden Datensätze angezeigt.
SELECT DISTINCT jc1.id, jc1.qualifier FROM cs_java_class jc1, cs_java_class jc2 WHERE jc1.id <> jc2.id AND jc1.qualifier = jc2.qualifier AND jc1.id > ( SELECT min(jc1.id) FROM cs_java_class jc1, cs_java_class jc2 WHERE jc1.id <> jc2.id AND jc1.qualifier = jc2.qualifier)
durchgeführt
zur Diskussion
cs_class
- Hinzufügen von complex_editor (kann dann als Default Wert für Einträge in cs_attr genutzt werden)
- Hinzufügen von from_string (kann dann als Default Wert für Einträge in cs_attr genutzt werden)
cs_type
- Hinzufügen von complex_editor (kann dann als Default Wert für Einträge in cs_attr genutzt werden)
- Hinzufügen von toString (kann dann als Default Wert für Einträge in cs_attr genutzt werden)
- Hinzufügen von from_string (kann dann als Default Wert für Einträge in cs_attr genutzt werden)
Tabellen
cs_all_attr_mapping
cs_all_attr_mapping ist eine Indextabelle über die alle höheren Datentypen indiziert werden können. Über Treffer in den Attributwerten werden mit Hilfe dieser Indextabelle die übergeordneten Objekte identifiziert.
Als Beispiel hier die Verwendung für die BoundingBox-Suche:
select class_id,object_id from Coordinate,cs_all_attr_mapping where NOT ( ( ?-? > x2 ) OR ( ?+? < x1 ) OR ( ?-? > y2 ) OR ( ?+? < y1 ) ) and class_id in ? and attr_class_id = 1 and attr_object_id = coordinate.id
Tabellenstruktur
| class_id | int | Kasse des Objektes |
| object_id | int | Schlüssel des Objekts |
| attr_class_id | int | Klasse des Attributes |
| attr_object_id | int | Schlüssel des Attributes |
