Cids Datenbank

Aus Cismet Wiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Ä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

cids Datenbank Änderungen

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

cs_attr

cs_attr_string

cs_cat_link

cs_cat_node

cs_class

cs_class_attr

cs_domain

cs_icon

cs_java_class

cs_locks

cs_method

cs_method_class_assoc

cs_permission

cs_query_link

cs_query_store

cs_type

cs_ug

cs_ug_attr_perm

cs_ug_cat_node_perm

cs_ug_class_perm

cs_ug_membership

cs_ug_method_perm

cs_usr

Query bezogene Referenztabellen cs_query_class_assoc, cs_query_ug_assoc, cs_query_store_ug_assoc

Persönliche Werkzeuge