public override string Translate(SqlCompilerContext context, SqlCreateTable node, CreateTableSection section)
        {
            switch (section)
            {
            case CreateTableSection.Entry:
                var builder = new StringBuilder();
                builder.Append("CREATE ");
                var temporaryTable = node.Table as TemporaryTable;
                if (temporaryTable != null)
                {
                    if (temporaryTable.IsGlobal)
                    {
                        temporaryTable.DbName = "##" + temporaryTable.Name;
                    }
                    else
                    {
                        temporaryTable.DbName = "#" + temporaryTable.Name;
                    }
                }
                builder.Append("TABLE " + Translate(context, node.Table));
                return(builder.ToString());

            case CreateTableSection.Exit:
                string result = string.IsNullOrEmpty(node.Table.Filegroup)
          ? string.Empty
          : " ON " + QuoteIdentifier(node.Table.Filegroup);
                return(result);
            }
            return(base.Translate(context, node, section));
        }
Example #2
0
        /// <inheritdoc/>
        public override string Translate(SqlCompilerContext context, SqlCreateTable node, CreateTableSection section)
        {
            switch (section)
            {
            case CreateTableSection.Entry:
                var builder = new StringBuilder();
                builder.Append("CREATE ");
                var temporaryTable = node.Table as TemporaryTable;
                if (temporaryTable != null)
                {
                    builder.Append("TEMPORARY TABLE " + Translate(context, temporaryTable));
                }
                else
                {
                    builder.Append("TABLE " + Translate(context, node.Table));
                }
                return(builder.ToString());

            case CreateTableSection.Exit:
                return(string.Empty);
            }
            return(base.Translate(context, node, section));
        }
        public override string Translate(SqlCompilerContext context, SqlCreateTable node, CreateTableSection section)
        {
            switch (section)
            {
            case CreateTableSection.Exit:
                return("WITHOUT OIDS " + base.Translate(context, node, section));

            default:
                return(base.Translate(context, node, section));
            }
        }