protected SequenceToken EvaluateSequenceToken( TemplateContext context, String expression, out Int32 bytes) { var originalBytes = context.Memory.CurrentBytes; try { var tree = new ExpressionParser().CreateTree(expression, null, context.GetExpressionNamedValues(), context.ExpressionFunctions); var options = new EvaluationOptions { MaxMemory = context.Memory.MaxBytes, }; var result = tree.Evaluate(context.TraceWriter.ToExpressionTraceWriter(), null, context, options); var templateToken = ConvertToTemplateToken(context, result); if (templateToken is SequenceToken sequence) { return(sequence); } context.Error(this, TemplateStrings.ExpectedSequence()); return(CreateSequenceToken(context)); } finally { bytes = context.Memory.CurrentBytes - originalBytes; } }
public override string GetSqlString() { var constraintColumnsString = new CollectionToString( DbContext.DBA_CONS_COLUMNS .Where( c => c.OWNER == _primaryKeyConstraint.OWNER && c.CONSTRAINT_NAME == _primaryKeyConstraint.CONSTRAINT_NAME) .OrderBy(c => c.POSITION) .Select(c => c.COLUMN_NAME) .ToList()).GetAsString().ToLowerInvariant(); var tablespaceName = DbContext.DBA_INDEXES .First( i => i.OWNER == _primaryKeyConstraint.INDEX_OWNER && i.INDEX_NAME == _primaryKeyConstraint.INDEX_NAME) .TABLESPACE_NAME; if (string.IsNullOrEmpty(tablespaceName)) { tablespaceName = GetDefaultTablespace(_primaryKeyConstraint.INDEX_OWNER); } return("\t" + (TemplateStrings.GetTemplate(TemplateFileName) .Replace("[CONSTRAINTNAME]", _primaryKeyConstraint.CONSTRAINT_NAME.ToLowerInvariant()) .Replace("[CONSTRAINTCOLUMNS]", constraintColumnsString) .Replace("[TABLESPACE_NAME]", tablespaceName.ToLowerInvariant()) .Replace("[CONSTRAINTSTATE]", _primaryKeyConstraint.STATUS.Equals("DISABLED") ? " disable" : string.Empty) .Replace("\t", "\t\t"))); }
public override string GetSqlString() { return(TemplateStrings.GetTemplate(TemplateFileName) .Replace("[DB_LINK]", _dblink.DB_LINK.ToLowerInvariant()) .Replace("[USERNAME]", _dblink.USERNAME.ToLowerInvariant()) .Replace("[CONNECTSTRING]", _dblink.HOST)); }
public override string GetSqlString() { var collectionToStringTool = new CollectionToString(null, string.Empty); var packageHeaderString = collectionToStringTool.GetAsString( DbContext.DBA_SOURCE .Where( s => s.OWNER == _package.OWNER && s.NAME == _package.OBJECT_NAME && s.TYPE == _package.OBJECT_TYPE) .OrderBy(s => s.LINE) .Select(s => s.TEXT) .ToList()); var packageBodyString = collectionToStringTool.GetAsString( DbContext.DBA_SOURCE .Where( s => s.TYPE == "PACKAGE BODY" && s.OWNER == _package.OWNER && s.NAME == _package.OBJECT_NAME) .OrderBy(s => s.LINE) .Select(s => s.TEXT) .ToList()); return(TemplateStrings.GetTemplate(TemplateFileName) .Replace("[PACKAGE_HEADER]", packageHeaderString) .Replace("[PACKAGE_BODY]", packageBodyString)); }
private static string GetSqlStatement(string tableName, string columnName, string comment) { return(TemplateStrings.GetTemplate(TemplateFileName) .Replace("[TABLE_NAME]", tableName.ToLowerInvariant()) .Replace("[COLUMN]", columnName.ToLowerInvariant()) .Replace("[COMMENT]", comment.Trim())); }
public override string GetSqlString() { LoadReferencedConstraint(); var constraintColumns = LoadConstraintColumns(_foreignKeyConstraint); var refConstraintColumns = LoadConstraintColumns(_refConstraint); var collectionToStringTool = new CollectionToString(); var constraintColumnsString = collectionToStringTool.GetAsString( constraintColumns .Select(c => c.COLUMN_NAME.ToLowerInvariant()) .ToList()); var refConstraintColumnsString = collectionToStringTool.GetAsString( refConstraintColumns .Select(c => c.COLUMN_NAME.ToLowerInvariant()) .ToList()); return(TemplateStrings.GetTemplate(TemplateFileName) .Replace("[TABLENAME]", _foreignKeyConstraint.TABLE_NAME.ToLowerInvariant()) .Replace("[CONSTRAINTNAME]", _foreignKeyConstraint.CONSTRAINT_NAME.ToLowerInvariant()) .Replace("[CONSTRAINTCOLUMNS]", constraintColumnsString) .Replace("[REFTABLENAME]", _refConstraint.TABLE_NAME.ToLowerInvariant()) .Replace("[REFCONSTRAINTCOLUMNS]", refConstraintColumnsString) .Replace("[CONSTRAINTSTATE]", _foreignKeyConstraint.STATUS.Equals("DISABLED") ? " disable" : string.Empty)); }
public override string GetSqlString() { return(TemplateStrings.GetTemplate(TemplateFileName) .Replace("[FILENAME]", _fileName.ToLowerInvariant()) .Replace("[OBJECTTYPE]", _objectType.ToLowerInvariant()) .Replace("[OBJECTNAME]", _objectName.ToLowerInvariant())); }
public override string GetSqlString() { var indexColumnList = new CollectionToString( DbContext.DBA_IND_COLUMNS .Where(c => c.INDEX_OWNER == _index.OWNER && c.INDEX_NAME == _index.INDEX_NAME) .OrderBy(c => c.COLUMN_POSITION) .Select( c => c.COLUMN_NAME + (c.DESCEND.Equals("DESC") ? " desc" : string.Empty)) .ToList()).GetAsString().ToLowerInvariant(); var tablespaceName = _index.TABLESPACE_NAME ?? GetDefaultTablespace(_index.OWNER); return(TemplateStrings.GetTemplate(TemplateFileName) .Replace("[BITMAP_UNIQUE]", _index.INDEX_TYPE.Equals("BITMAP") ? " bitmap" : _index.INDEX_TYPE.Equals("UNIQUE") ? " unique" : string.Empty) .Replace("[INDEX_NAME]", _index.INDEX_NAME.ToLowerInvariant()) .Replace("[COLUMN_LIST]", indexColumnList) .Replace("[TABLE_NAME]", _index.TABLE_NAME.ToLowerInvariant()) .Replace("[TABLESPACE_NAME]", tablespaceName.ToLowerInvariant())); }
public override string GetSqlString() { return(TemplateStrings.GetTemplate(TemplateFileName) .Replace("[DESCRIPTION]", _triggerData.DESCRIPTION) .Replace("[TRIGGER_BODY]", _triggerData.TRIGGER_BODY) .Replace("[TRIGGER_NAME]", _triggerData.TRIGGER_NAME.ToLowerInvariant()) .Replace("[ENABLE_DISABLE]", _triggerData.STATUS.Equals("DISABLED") ? "disable" : "enable")); }
private TemplateToken ConvertToTemplateToken( TemplateContext context, EvaluationResult result) { // Literal if (TryConvertToLiteralToken(context, result, out LiteralToken literal)) { return(literal); } // Known raw types else if (!Object.ReferenceEquals(result.Raw, null)) { if (result.Raw is SequenceToken sequence) { context.Memory.AddBytes(sequence, true); return(sequence); } else if (result.Raw is MappingToken mapping) { context.Memory.AddBytes(mapping, true); return(mapping); } } // Leverage the expression SDK to traverse the object if (result.TryGetCollectionInterface(out Object collection)) { if (collection is IReadOnlyObject dictionary) { var mapping = CreateMappingToken(context); foreach (KeyValuePair <String, Object> pair in dictionary) { var keyToken = CreateStringToken(context, pair.Key); var valueResult = EvaluationResult.CreateIntermediateResult(null, pair.Value); var valueToken = ConvertToTemplateToken(context, valueResult); mapping.Add(keyToken, valueToken); } return(mapping); } else if (collection is IReadOnlyArray list) { var sequence = CreateSequenceToken(context); foreach (var item in list) { var itemResult = EvaluationResult.CreateIntermediateResult(null, item); var itemToken = ConvertToTemplateToken(context, itemResult); sequence.Add(itemToken); } return(sequence); } } throw new ArgumentException(TemplateStrings.UnableToConvertToTemplateToken(result.Value?.GetType().FullName)); }
private static string GetSqlStatement( string objectName, string objectType, string comments) { return(TemplateStrings.GetTemplate(TemplateFileName) .Replace("[OBJECTNAME]", objectName.ToLowerInvariant()) .Replace("[OBJECTTYPE]", objectType.ToLowerInvariant()) .Replace("[COMMENT]", comments.Trim())); }
public override string GetSqlString() { var tablespaceName = _table.TABLESPACE_NAME ?? GetDefaultTablespace(_table.OWNER); return(TemplateStrings.GetTemplate(TemplateFileName) .Replace("[OBJECTNAME]", _table.TABLE_NAME.ToLowerInvariant()) .Replace("[TABLECOLUMNDEFINITION]", new TableColumnsSqlGenerator(DbContext, _table).GetSqlString()) .Replace("[CONSTRAINTDEFINITION]", new ConstraintsSqlGenerator(DbContext, _table).GetSqlString()) .Replace("[TABLESPACE_NAME]", tablespaceName.ToLowerInvariant())); }
public override string GetSqlString() { var viewColumnsString = new CollectionToString( DbContext.DBA_TAB_COLUMNS .Where(c => c.OWNER == _view.OWNER && c.TABLE_NAME == _view.VIEW_NAME) .OrderBy(c => c.COLUMN_ID) .Select(v => v.COLUMN_NAME) .ToList(), ",\n\t").GetAsString().ToLowerInvariant(); return(TemplateStrings.GetTemplate(TemplateFileName) .Replace("[VIEW_NAME]", _view.VIEW_NAME.ToLowerInvariant()) .Replace("[VIEW_COLUMNS]", "\n\t" + viewColumnsString) .Replace("[VIEW_DEF]", _view.TEXT)); }
public override string GetSqlString() { return(TemplateStrings.GetTemplate(TemplateFileName) .Replace("[PUBLIC]", _synonym.OWNER.Equals("PUBLIC") ? " public" : string.Empty) .Replace("[SYNONYM_NAME]", _synonym.SYNONYM_NAME.ToLowerInvariant()) .Replace("[TABLE_OWNER]", _synonym.TABLE_OWNER != _synonym.OWNER ? _synonym.TABLE_OWNER.ToLowerInvariant() + "." : string.Empty) .Replace("[TABLE_NAME]", _synonym.TABLE_NAME.ToLowerInvariant()) .Replace("[DB_LINK]", string.IsNullOrEmpty(_synonym.DB_LINK) ? string.Empty : "@" + _synonym.DB_LINK.ToLowerInvariant())); }
public override string GetSqlString() { var procedureSpecString = new CollectionToString(null, string.Empty) .GetAsString( DbContext.DBA_SOURCE .Where( s => s.OWNER == _procedure.OWNER && s.NAME == _procedure.OBJECT_NAME && s.TYPE == _procedure.OBJECT_TYPE) .OrderBy(s => s.LINE) .Select(s => s.TEXT) .ToList()); return(TemplateStrings.GetTemplate(TemplateFileName) .Replace("[PROCEDURE_SPEC]", procedureSpecString)); }
public override string GetSqlString() { var functionDefString = new CollectionToString(null, string.Empty) .GetAsString( DbContext.DBA_SOURCE .Where( s => s.OWNER == _function.OWNER && s.NAME == _function.OBJECT_NAME && s.TYPE == _function.OBJECT_TYPE) .OrderBy(s => s.LINE) .Select(s => s.TEXT) .ToList()); return(TemplateStrings.GetTemplate(TemplateFileName) .Replace("[FUNCTION_DEF]", functionDefString)); }
public override string GetSqlString() { var typeDefString = new CollectionToString( DbContext.DBA_SOURCE .Where( s => s.OWNER == _type.OWNER && s.NAME == _type.TYPE_NAME && s.TYPE.Equals("TYPE")) .OrderBy(s => s.LINE) .Select(s => s.TEXT) .ToList(), string.Empty).GetAsString(); return(TemplateStrings.GetTemplate(TemplateFileName) .Replace("[TYPE_DEF]", typeDefString)); }
public override string GetSqlString() { var columnsList = new CollectionToString( DbContext.DBA_TAB_COLUMNS .Where(c => c.OWNER == _mview.OWNER && c.TABLE_NAME == _mview.MVIEW_NAME) .OrderBy(c => c.COLUMN_ID) .Select(v => v.COLUMN_NAME) .ToList(), ",\n\t").GetAsString().ToLowerInvariant(); return(TemplateStrings.GetTemplate(TemplateFileName) .Replace("[MVIEW_NAME]", _mview.MVIEW_NAME.ToLowerInvariant()) .Replace("[COLUMNS_LIST]", "\n\t" + columnsList) .Replace("[QUERY]", _mview.QUERY) .Replace("[BUILD_MODE]", string.IsNullOrEmpty(_mview.BUILD_MODE) ? string.Empty : "build " + _mview.BUILD_MODE.ToLowerInvariant() + "\n") .Replace("[REFRESH_METHOD]", string.IsNullOrEmpty(_mview.REFRESH_METHOD) ? string.Empty : "refresh " + _mview.REFRESH_METHOD.ToLowerInvariant() + "\n") .Replace("[REFRESH_MODE]", string.IsNullOrEmpty(_mview.REFRESH_MODE) ? string.Empty : "on " + _mview.REFRESH_MODE.ToLowerInvariant() + "\n") .Replace("[QUERY_REWRITE]", (_mview.REWRITE_ENABLED.Equals("Y") ? "enable" : "disable") + " query rewrite\n")); }
public override string GetSqlString() { var columnName = _tableColumn.COLUMN_NAME.PadRight(30).ToLowerInvariant(); var dataType = GetColumnDataType().PadRight(20).ToLowerInvariant(); var defaultValue = string.IsNullOrEmpty(_tableColumn.DATA_DEFAULT) ? string.Empty : "default " + _tableColumn.DATA_DEFAULT; var notNullConstraint = _tableColumn.NULLABLE == "N" ? "not null" : string.Empty; defaultValue = defaultValue.PadRight(15); return(TemplateStrings.GetTemplate(TemplateFileName) .Replace("[COLUMNNAME]", columnName) .Replace("[DATATYPE]", " " + dataType) .Replace("[DEFAULTVALUE]", " " + defaultValue) .Replace("[NULLABLESPEC]", " " + notNullConstraint) .TrimEnd()); }
public override string GetSqlString() { return(TemplateStrings.GetTemplate(TemplateFileName) .Replace("[JOB_NAME]", _jobDef.JOB_NAME.ToLowerInvariant()) .Replace("[JOB_TYPE]", _jobDef.JOB_TYPE) .Replace("[JOB_ACTION]", _jobDef.JOB_ACTION) .Replace("[START_DATE]", _jobDef.START_DATE.HasValue ? "to_date('" + _jobDef.START_DATE.Value.ToString("dd.MM.yyyy HH:mm:ss") + "','dd.mm.yyyy hh24:mi:ss')" : "null") .Replace("[REPEAT_INTERVAL]", string.IsNullOrEmpty(_jobDef.REPEAT_INTERVAL) ? "null" : "'" + _jobDef.REPEAT_INTERVAL.Trim() + "'") .Replace("[END_DATE]", _jobDef.END_DATE.HasValue ? "to_date('" + _jobDef.END_DATE.Value.ToString("dd.MM.yyyy HH:mm:ss") + "','dd.mm.yyyy hh24:mi:ss')" : "null") .Replace("[JOB_CLASS]", _jobDef.JOB_CLASS.Trim()) .Replace("[ENABLED]", _jobDef.ENABLED.ToLowerInvariant()) .Replace("[AUTO_DROP]", _jobDef.AUTO_DROP.ToLowerInvariant()) .Replace("[COMMENTS]", string.IsNullOrEmpty(_jobDef.COMMENTS) ? "null" : "'" + _jobDef.COMMENTS + "'")); }
public override string GetSqlString() { var constraintColumnsList = new CollectionToString( DbContext.DBA_CONS_COLUMNS .Where(c => c.OWNER == _constraint.OWNER && c.CONSTRAINT_NAME == _constraint.CONSTRAINT_NAME) .OrderBy(c => c.POSITION) .Select(c => c.COLUMN_NAME) .ToList(), ",\n\t\t").GetAsString().ToLowerInvariant(); return("\t" + (TemplateStrings.GetTemplate(TemplateFileName) .Replace("[CONSTRAINTNAME]", _constraint.CONSTRAINT_NAME.ToLowerInvariant()) .Replace("[CONSTRAINTTYPE]", _constraint.CONSTRAINT_TYPE.Equals("C") ? "\n\tcheck" : _constraint.CONSTRAINT_TYPE.Equals("U") ? " unique" : string.Empty) .Replace("[CONSTRAINTCOLUMNS]", _constraint.CONSTRAINT_TYPE.Equals("C") ? _constraint.SEARCH_CONDITION.ToLowerInvariant().Trim() : constraintColumnsList) .Replace("[CONSTRAINTSTATE]", _constraint.STATUS.Equals("DISABLED") ? " disable" : string.Empty) .Replace("\t", "\t\t"))); }