internal override void Run(TemplateEnviroment env) { LanguageQueryFunc func = (LanguageQueryFunc)m_engine.DefaultModule.Globals["query"]; IDatabaseSource dbcontext = (IDatabaseSource)m_engine.DefaultModule.Globals["dbcontext"]; string sql = MakeSqlSubs(m_select, m_engine); IBedReader reader = dbcontext.GetAnyDDA().AdaptReader(func(sql)); reader.RunForEachRecordAndDispose(dbcontext.Dialect.DialectCaps.MARS, (rec, index) => ProcessRecord(rec, env, index)); }
internal void DoRun(IDatabaseSource db) { if (!Sql.IsEmpty()) { // run SQL and export for each file using (DbCommand cmd = db.Connection.SystemConnection.CreateCommand()) { cmd.CommandText = Sql; IBedReader reader = db.GetAnyDDA().AdaptReader(cmd.ExecuteReader()); reader.RunForEachRecordAndDispose(db.Connection.Dialect.DialectCaps.MARS, (rec, index) => ProcessRecord(db, rec)); } } else { WriteContent(db, FileNameTemplate, null, null); } }