"uid" attributes are foreign keys of catalog table except if explicitly noted otherwise.
To be catalogged using a given Z SQL Method, the following conditions must be met :
Before being cataloged, each object get wrapped using ERP5Catalog/CatalogTool.py wrapObject() method to make some special values only used for cataloging available on it. Once wrapped and just before calling a Z SQL Method, the Z SQL Method parameters are gathered on the (wrapped) object in ZSQLCatalog/SQLCatalog.py catalogObjectList() method. This makes adding a catalog column as simple as modifying a bit of SQL and adding a parameter to the Z SQL Method.
Table of Contents
Tables containing at most one entry per uid. The main table is catalog, but some portal types get additional columns using joints with other tables.
This table stores the list of all indexable objects from the ZODB and special reserved rows (used for UID assignment). Reserved rows have their path equal to "reserved", their uid set to the reserved uid value and their id set to an identifier which is unique to a given zope thread even in a zeo environment. The basic purpose of this table is to translate uid into a physical path (to get the object using restricted traverse). The additional columns are present in order to provide more filtering possibilities.
This table is separated from the main catalog for a purely technical reason: database storage engines don't all support fulltext search.
This table is provided for compatibility with CMF's catalog. Its use is disabled by default and is deprecated.
See ERP5/Tool/AlarmTool.py, ERP5/Document/Alarm.py and ERP5/PropertySheet/Alarm.py.
Uid of the alarm object.
Date at which the alarm must be triggered. As alarm triggering is done by polling the table, all entries older than the current date will be tried. The alarm object will be checked to see if it's still enabled before starting the action.
See ERP5/Document/Delivery.py and ERP5/PropertySheet/Delivery.py.
Source (provider of the resource).
Destination (receiver of the resource).
Juridical owner of the resource. (see FaqOnCoreModel).
Juridical destination of the resource (see FaqOnCoreModel).
Resource to deliver.
Date at which the resource left the source.
Earliest date at which the resource can leave the source.
Latest date at which the resource can leave the source.
Date at which the resource arrived at destination.
Earliest date at which the resource may arrive at destination.
Latest date at which the resource may arrive at destination.
This table allows to find where a resource is at a given time. An item is considered as belonging to the section of the source node until it enters the destination node (ie, until the movement et in stopped state).
Movement causing the item to change its location.
Date at which the item left the node and the section.
Node at which the item is/was.
Juridical owner of the item (see FaqOnCoreModel).
Resource the item being searched for is an instance of.
Variation text of the movement (one of the possible resource variations).
Simulation state of the movement.
Node from which the item will be extracted.
Node at which the item will be sent.
The moved item is an instance of this resource.
Quantity of resource in the item.
Date at which the movement started (item left the source node).
Date at which the movement stopped (item entered the destination node).
See ERP5/Document/Predicate.py and ERP5/Tool/DomainTool.py. For the following ranges, the following rules apply:
Uid of the predicate object.
See ERP5/Document/Predicate.py. uids in this tables are only uids of objects on which isPredicate() is true (as set in the filter page of the SQLCatalog).
On this table, uid is the uid of the related movement.
uid cannot be the primary key : a single stock modification (movement on an accountable resource) is present in this table the same number of times as the sum of the number of sources plus the number of destination of that movement.
The movement this is about.
Location of the resource.
Juridical ownership of the resource in that node (see FaqOnCoreModel).
Defines a category on the movement (to use when searching the cost/income generated by a given function). Functions can be, for example, selling hardware, selling services,...
Defines a category on the movement (to use when searching the cost/income generated by a given project).
In the case of a movement causing 2 or more stock movements, this contains the section_uid of the other stock movement.
In the case of a movement causing 2 or more stock movements, this contains the node_uid of the other stock movement.
The moved resource.
Quantity of moved resource (signed: negative in case of resource neaving the node, positive in the case of resource entering the node).
The date at which the current subpart of the movement was done (date at which the resource left/entered the node).
Price estimation of the resource by section. For example if the resource is dollar and the destination of the movement wants euros, this will contain the value of the resource (multiplied by the quantity) converted into euros.
Portal type of the movement.
Variation text for the movement (one of the resource's possible variations).
Subvariation text for the movement (one of the resource's possible variations).
This table contains keywords for a given object.
One of the keyworkds defined on the related object.
Those tables contains data which is not directly proportionnal to the number of catalogged objects.
This table contains the list of relations set on an object. All the category levels are cataloged, which means that an object with a relation foo_base_cateogry/a/b will get 2 rows in this table, one with (self.uid, foo_base_category.uid, b.uid) and one with (self.uid, foo_base_category.uid, a.uid).
Uid of the object on which the category relation is set.
Uid of a portal_type == "Category" object.
Uid of a portal_type == "Base Category" object containing the category_uid object.
True when the category_uid is the uid of the deepest category object set in the relation. It means it's true for the (self.uid, foo_base_category.uid, b.uid) tuple in the case described above, but false for the (self.uid, foo_base_category.uid, a.uid) tuple.
This table is used in ERP5/Tool/IdTool.py to record the last Id delivered by generateNewLengthId() method.
Text identifier of the id group (a generated id is unique among its group).
Last generated Id.
This table is used to store the possible security roles combinations which have the View permission on an object (see catalog table). Multiple roles might have the View permission on an object, and there are as many lines with the same uid as there are roles in a given combination. The same role can also be found in multiple combinations, and so can be present multiple times in this table.
This attribute is not a foreign key to catalog table.
This stores roles identifiers.
This table stores translations of, among others, workflow states to allow translating them and doing searches in a given language.
Language code of the translated message. The format is the same as Localizer language definition displayed in brackets in the list on manage_languages ZMI page.
Describes what gets translated : portal_type, validation_state, ...
Those table store the pending activities.