Ejemplo n.º 1
0
        private void ProcessSequences()
        {
            ICodeWriterPlSql sql = Model.Lamp.CodeWritersFactory.CreateCodeWriterPlSql();

            foreach (IGenerator gen in Model.Generators)
            {
                if (gen.Owner is IEntity && !(gen.Owner as IEntity).Persistence.Persisted)
                {
                    continue;
                }
                if (gen.Type == GeneratorType.Sequence)
                {
                    sql.ClearAll();
                    sql.WriteCreateSequence(gen, environment);
                    ISpellHint hint = genie.FindHint(gen);
                    if (hint != null)
                    {
                        sql.WriteText(hint.GetText(gen));
                    }
                    creator.WriteFrom(sql);
                    creator.WriteSeparator();

                    genie.Config.NotifyAssistants("Create", gen, sql.ToString(true));

                    WriteExecImmediatWhenNotExists(
                        "ALL_SEQUENCES",
                        String.Format("SEQUENCE_OWNER='{0}' AND SEQUENCE_NAME='{1}'", gen.Persistence.Schema, gen.Persistence.Name),
                        sql);
                    updater.WriteLine();
                }
            }
        }