Skip to main content

โš™ Database Table Locations

Where is that thing stored? ๐Ÿ•ต๏ธโ€โ™‚๏ธ

Item

Table(s)
Comments
Form Prompt Conditions and Conditional Logic

[lookup.query]

[lookup.requirement]

Highly complex; filters stored in [lookup.query] once per form field with as many operator/operand combinations as needed in [lookup.requirement].

ย 

See Find Forms Using Old STL Conditional Logic.

Form Merge Fields
[form]
Stored as XML in [form].[config].
Application Logic [lookup.requirement]
SELECT *
FROM [lookup.requirement]
WHERE [type] <> 'prompt'
Opt-Out Information, both SMS and Email [message.optout]

If [group] is null, the opt-out is global. SMS is always global.

ย 

Setting the Opt-Out tag automatically inserts an entry into this table.

Inbox Snippets

[message.mailing]

Filter on [folder] = 'Templates / Snippets'.
Deliver Recipient Lists

[message.dataset]


Origin Source Groups [lookup.origin]
Origin Source Types

[lookup.origin.type]


Origin Source Results [origin] These are the entries calculated nightly based on the origin source types.
Permissions to individual objects, like queries [access] ย 
Folder Location

[folder.item]

[folder]


Query Bases [lookup.base]

The bases listed in โ€œQuery Bases (legacy tool)โ€ can by found with WHERE [source_type] IS NULL.

There are a ton of extra bases in here from forms.

The โ€œstandardโ€ CJ bases can be found with WHERE [source_type] = 'library' AND [category] <> 'Forms'.

Query Run History

[query.run]

[query.run.id]

[query.run] stores each run; [query.run.id] stores each primary and secondary key (if present) returned in each run.

ย 

If [query.run.id].[identity] exceeds the limits of int, Bad Thingsโ„ข will happen, so don't overuse tracking queries.

Portfolios
[material]

They are stored with a special key of 'portfolio'. To query on this key, use a formula. It's not available in the built-in Key filter.

Source Format Settings
[source.format]

Remap settings are stored as XML in the [remap] column.

Query for unmapped prompt values:

SELECT *
FROM [source.format]
WHERE remap.exist('//val[not(@dst)]') = 1
Translation Codes and Content Blocks
[lookup.translation]

Translations use export, export2, etc. columns to store output values, whereasย Content Blocks use [html] column.

Snippets and Signatures
[message.mailing]

These are the snippets under Inbox > Snippets.

ย 

SELECT *
FROM [message.mailing]
WHERE [folder] = 'Templates / Snippets'
Query Exports, Filters, etc.

[lookup.query]

[lookup.field]

Contains both CJ and STL components.

ย 

Find all legacy ย Exports/Filters:

ย 

SELECT *
FROM [lookup.query] lq ย  ย 
WHERE [base] IN (
ย  ย  ย  ย  SELECT [id]
ย  ย  ย  ย  FROM [lookup.base]
ย  ย  ย  ย  WHERE [source_type] IS NULL
ย  ย  ย  ย  )
ย  ย  AND [source_type] IS NULL


Shared Views

[query]

Folder name 'SYS:Presets'

Reader (legacy tool) bin assignment

[application.bin]


Workflow bin assignments

Workflows (legacy tool) bin assignment

[workflow.bin]