cm.setLocaleFinder(this);
pushDbContext(cm);
// push a database shutdown context
// we also need to push a language connection context.
LanguageConnectionContext lctx = lcf.newLanguageConnectionContext(cm, tc, lf, this, user, drdaID, dbname);
// push the context that defines our class factory
pushClassFactoryContext(cm, lcf.getClassFactory());
// we also need to push an execution context.
ExecutionFactory ef = lcf.getExecutionFactory();
ef.newExecutionContext(cm);
//
//Initialize our language connection context. Note: This is
//a bit of a hack. Unfortunately, we can't initialize this
//when we push it. We first must push a few more contexts.
lctx.initialize();
// Need to commit this to release locks gotten in initialize.
// Commit it but make sure transaction not have any updates.
lctx.internalCommitNoSync(
TransactionController.RELEASE_LOCKS |
TransactionController.READONLY_TRANSACTION_INITIALIZATION);
return lctx;