public override bool Transform(ReservedWord node) { if (node.OriginalValue.ToUpper() == "AS") { node.Value = string.Empty; } return base.Transform(node); }
public virtual bool Visit(ReservedWord node) { return true; }
public override bool Transform(ReservedWord node) { node.Value = CaseFormatUtils.Convert(_entity.ReservedWordCase, node.Value); return base.Transform(node); }
public override bool Visit(ReservedWord node) { Regex regex = new Regex("^(AS|DESC|ASC)$", RegexOptions.IgnoreCase); Match m = regex.Match(node.OriginalValue); if (m.Success) { _currentLine = _tabTool.Pad(_currentLine, _LeftIndentSize.Peek()); } //TODO CASE式のパターン実装が難しいので、ひとまずべた書き if (node.Value.Equals("CASE", StringComparison.CurrentCultureIgnoreCase)) { _Indents.Push(_tabTool.Pad(string.Empty, _currentLine.Length+3)); AddResultSql(node.Value); } else if (node.Value.Equals("WHEN" ,StringComparison.CurrentCultureIgnoreCase) || node.Value.Equals("THEN",StringComparison.CurrentCultureIgnoreCase) || node.Value.Equals("ELSE",StringComparison.CurrentCultureIgnoreCase)) { AddNewLineResultSql(); AddResultSql("\t"); AddResultSql(node.Value); AddNewLineResultSql(); AddResultSql("\t\t\t"); } else if (node.Value.Equals("END", StringComparison.CurrentCultureIgnoreCase)) { AddNewLineResultSql(); AddResultSql(node.Value); _Indents.Pop(); } else { AddResultSql(node.Value); } return base.Visit(node); }
public virtual bool Transform(ReservedWord node) { return true; }