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'.
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'.

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