A DB-only pipeline is used to move data into an xMart table from another xMart table or view. They are recommended for materializing a slow custom SQL view into a fast physical table.

It’s called “DB-only” because it only uses SQL statements that are executed on the database. Normal pipelines anticipate unstructured data and are processed in the web application before being sent to the database. A DB-only pipeline does not use the web application. It is therefore very efficient at materialization but the price is many pipeline features are not available.

How to make a DB-only pipeline

To make a DB-only pipeline, add IsDbOnly=”true” to the XmartPipeline element at the top:

img

In Extract, only the GetMart command is allowed.

Pipeline elements that are not supported when IsDbOnly == true:

  • Any extract command other than GetMart.

  • Transform (both global and in Load). No transforms supported.

  • LoadTable/LookupIds. No foreign key lookups supported, but if the source object is a custom SQL view you can put you lookups there (ie use JOIN).

  • LoadTable/Validate .

Supported pipeline features

  • Context and origin input variables
  • Batch variables
  • REPLACE strategy
  • Approvals
  • DataScope
  • PostRun

Batch Preview Page Behavior

Mostly the same but there is limited issue reporting. Final commit is attempted but may fail without detail. There is no validation of each value which normally happens in the web server.

Batch preview still reports on NEW, UPDATED, UNCHNAGED, etc.