Home All Groups Group Topic Archive Search About

Transactions and ProcessAdd

Author
13 Oct 2005 12:17 PM
Torben B. Haagh
We use ProcessAdd for incremental processing. We keep track of the last
processed key in the fact and dimensions tables and process the rows with a
larger key. We generate XMLA to ProcessAdd on dimension (as AMO has no
ProcessAdd on dimensions) and use ProcessAdd on partitions through AMO. We
would like to do it in a single transaction, something like this (very
simplified):

    server.BeginTransaction();
    foreach (dimension)
    {
        string xmla = // generate XMLA
        server.Execute(xmla);
    }
    foreach (partition)
    {
        QueryBinding qb = // generate query binding
        partition.Process(ProcessType.ProcessAdd, qb);
    }
    server.CommitTransaction();

But the processed dimensions are not visible when processing the partitions.
It works if the processing of dimension and partitions are put in individual
transactions. Is it intentional that the changes from the executed xmla is
not visible for the later AMO commands within the same transaction, or is
that a bug?

Btw. should processing be wrapped in transactions or not?

Can anyone say anything about the overhead in using transaction in the
processing (hard for me to tell using virtual macho)?

Thanks,

Torben

PS. We are using sep ctp (9.00.1314.06)

AddThis Social Bookmark Button