36    : client{attachment.getClient()}
 
   43    StatusWrapper statusWrapper{client, status.get()};
 
   45    auto tpbBuilder = fbUnique(master->getUtilInterface()->getXpbBuilder(&statusWrapper, fb::IXpbBuilder::TPB,
 
   46        reinterpret_cast<const std::uint8_t*
>(options.
getTpb().data()),
 
   47        static_cast<unsigned>(options.
getTpb().size())));
 
   51        switch (accessMode.value())
 
   53            case TransactionAccessMode::READ_ONLY:
 
   54                tpbBuilder->insertTag(&statusWrapper, isc_tpb_read);
 
   57            case TransactionAccessMode::READ_WRITE:
 
   58                tpbBuilder->insertTag(&statusWrapper, isc_tpb_write);
 
   69        switch (waitMode.value())
 
   71            case TransactionWaitMode::NO_WAIT:
 
   72                tpbBuilder->insertTag(&statusWrapper, isc_tpb_nowait);
 
   75            case TransactionWaitMode::WAIT:
 
   76                tpbBuilder->insertTag(&statusWrapper, isc_tpb_wait);
 
   87        switch (isolationLevel.value())
 
   89            case TransactionIsolationLevel::CONSISTENCY:
 
   90                tpbBuilder->insertTag(&statusWrapper, isc_tpb_consistency);
 
   93            case TransactionIsolationLevel::SNAPSHOT:
 
   94                tpbBuilder->insertTag(&statusWrapper, isc_tpb_concurrency);
 
   97            case TransactionIsolationLevel::READ_COMMITTED:
 
   98                tpbBuilder->insertTag(&statusWrapper, isc_tpb_read_committed);
 
  102                    switch (readCommittedMode.value())
 
  104                        case TransactionReadCommittedMode::NO_RECORD_VERSION:
 
  105                            tpbBuilder->insertTag(&statusWrapper, isc_tpb_no_rec_version);
 
  108                        case TransactionReadCommittedMode::RECORD_VERSION:
 
  109                            tpbBuilder->insertTag(&statusWrapper, isc_tpb_rec_version);
 
  127        tpbBuilder->insertTag(&statusWrapper, isc_tpb_no_auto_undo);
 
  130        tpbBuilder->insertTag(&statusWrapper, isc_tpb_ignore_limbo);
 
  133        tpbBuilder->insertTag(&statusWrapper, isc_tpb_restart_requests);
 
  136        tpbBuilder->insertTag(&statusWrapper, isc_tpb_autocommit);
 
  138    const auto tpbBuffer = tpbBuilder->getBuffer(&statusWrapper);
 
  139    const auto tpbBufferLen = tpbBuilder->getBufferLength(&statusWrapper);
 
  141    handle.reset(attachment.
getHandle()->startTransaction(&statusWrapper, tpbBufferLen, tpbBuffer));
 
 
  145    : client{attachment.getClient()}
 
  150    StatusWrapper statusWrapper{client, status.get()};
 
  153        attachment.
getHandle()->execute(&statusWrapper, 
nullptr, 
static_cast<unsigned>(setTransactionCmd.length()),
 
  154            setTransactionCmd.data(), SQL_DIALECT_V6, 
nullptr, 
nullptr, 
nullptr, 
nullptr));