The ListManager Tables

 

All the ListManager tables are described in the following sections. Tables are broken down by their general function, to help with organization.

 

Tables are generally defined using Microsoft SQL Server keywords, athough these tables work across all ListManager supported databases. The type BOOL listed in this document maps to a char(1) with a check constraint in all platforms. Here is a mapping of MSSQL keywords and their equivalent for other vendors, where the same type is not used for all vendors:

 

 

MSSQL column

MSSQL description

Used for Oracle

Oracle description

Used for Postgres

Postgres description

tinyint

A one byte value

int

A four byte value

int2

A two byte value

smallint

A two byte value

int

A four byte value

int2

A two byte value

int

A four byte value

int

A four byte value

int

A four byte value

bigint

An eight byte value

numeric(22, 0)

Up to 22 digits of precision

number(22, 0) *

Up to 22 digits of precision

numeric

A numeric value

numeric

A numeric value

numeric

A numeric value

smalldatetime

Time and date with accuracy to one minute

date

An 8-byte value with second precision

timestamp

An 8-byte value with microsecond accuracy

datetime

Time and date with subsecond accuracy

date

An 8-byte value with second precision

timestamp

An 8-byte value with microsecond accuracy

text

An unbound character column

clob

An unbound character column

text

An unbound character column

 

* Postgres 7.3.x supports an 8-byte int value, but does not use indexes for these values under normal circumstances. Our understanding is that this is something that will be changed in future releases of Postgres. Until that time, ListManager will not use 8-byte ints for Postgres for columns that could be indexed. That means that some tables that use sequences will be limited to a 4-byte number of rows.

 

Additionally, Microsoft SQL Server supports a data column modifier called an "Identity" which can be added to numeric fields. This is an auto-numbering field that automatically populates the next incrementing value. Both Oracle and Postgres implement this with a separate "sequence" table. For ListManager, a sequence table is created with the base table name and "_seq", so "docs_seq", for example. With Postgres the next value is obtained from this sequence table via a default rule, where Oracle requires a 'before' trigger.

 

Previous versions of table and column names all ended with a trailing underbar, like 'lists_'. This was the legacy method to help avoid naming conflicts with other tables or objects in the database. Future versions of ListManager will drop the trailing underbars and will prefix all ListManager tables with 'lyr', like 'lyrWebDocs'.

 

Additional tables may be added to the database/tablespace holding the ListManager tables. As long as the names do not conflict there should be no problem with this.

 

ListManager will create the indexes it needs. Most tables have primary keys, and all tables that will benefit from indexes have them. Tables which have unique indexes on them rely on the uniqueness of the index, so they shouldn't be changed. Considerable effort is put towards finding the best mix of indexes for the different vendors and the different common usages of ListManager. While it may be possible to optimize the performance for reads for some tables by adding additional indexes, write performance will suffer. Users are free to add indexes if desired, but any changes to the structure of the tables may make future upgrades impossible.

 

The tables involved in mail sending (the mail queue) are the most active, for the common use of ListManager. These include lyrActiveRecips, lyrCompletedRecips, and inmail_ and outmail_. If message seaching is enabled the messages_ table will store a copy of the message and will therefore grow and be somewhat active. Along with messages_, there are two tables that enable archives to be searched: wordmessage_ and uniquewords_. The members_ table is also one of the largest tables in ListManager.

 

More

                 Future direction

 

                                         Administrators

                             people_

                             lyrUIPrefs

 

                                         Automatic Actions

                             respond_

                             phrases_

 

                                         Billing

                             log_

 

                                         Configuration                                                

                             domainconnectionlimits_

                             dnsbypass_

                             bannedmembers_

                             lyrConfigClusterSettings

                             lyrConfigIPAddrs

                             lyrConfigNodeSettings

                             lyrRelayHosts

                             sites_

                             lists_

                             topics_

 

                                         Content

                             mimeencodings_

                             mimecharsets

                             messagetypes_

                             docs_

                             doctypes_

                             listdocs_

                             sitedocs_

                             docparts_

                             mimetypetoext_

                             mimetypes_

                             mimeexts_

 

                                         Clicktracking

                             clickgroups_

                             clickstreamdata_

                             urls_

                             clicktracking_

 

                                         Charting

                             usercolumninfo_

                             chartdescription_

                             lyrCampaigns

                             lyrCampaignParts

 

                                         Performance Logging

                             lyrMetricEvents

                             lyrPerformanceMetrics

                             

                                         Mail Queue

                             lyrLookupCompletionStatus

                             lyrCompletedRecips

                             lyrSpfLevelDescription

                             inmail_

                             lyrActiveRecips

                             moderate_

                             outmail_

 

                                         Member Information

                             members_

 

                                         Message Archives

                             listmessagesmapping_

                             messages_

                             uniquewords_

                             wordmessage_

 

                                         Permission Groups

                                                      lyrPermissionGroups

                                           lyrPermissionGuiAttribs

 

                                         SQL queries

                             subsets_

 

                                         Internationalization

                             translatekeys_

                             translatelang_

                             translatevalues_

 

                                         Referrals

                             referrals_

                             messagerelationship_

 

                                         Scheduled Tasks

                             lyrTaskScheduler

                             lyrTaskDescription

 

                                         Surveys

                             lyrSurveyResponseAnswer

                             lyrSurveyResponse

                             lyrSurveyQuestions

                             lyrSurveyAnswers

                             lyrSurveyAnswerCollections

 

                                      Web Documents

                             lyrWebDocs

                             lyrLookupWebDocTypes



Introduction to the TclPort Terminal Future direction