//public SQLTimeSpanDays(Operator AOperator, D4.ClassDefinition AClassDefinition) : base(AOperator, AClassDefinition){} //public SQLTimeSpanDays(Operator AOperator, D4.ClassDefinition AClassDefinition, bool AIsSystem) : base(AOperator, AClassDefinition, AIsSystem){} public override Statement Translate(DevicePlan devicePlan, PlanNode planNode) { SQLDevicePlan localDevicePlan = (SQLDevicePlan)devicePlan; Expression expression = localDevicePlan.Device.TranslateExpression(localDevicePlan, planNode.Nodes[0], false); return(new BinaryExpression(expression, "iMultiplication", new ValueExpression(864000000000m, TokenType.Decimal))); }
//public SQLTimeSpanReadSeconds(Operator AOperator, D4.ClassDefinition AClassDefinition) : base(AOperator, AClassDefinition){} //public SQLTimeSpanReadSeconds(Operator AOperator, D4.ClassDefinition AClassDefinition, bool AIsSystem) : base(AOperator, AClassDefinition, AIsSystem){} public override Statement Translate(DevicePlan devicePlan, PlanNode planNode) { SQLDevicePlan localDevicePlan = (SQLDevicePlan)devicePlan; Expression expression = localDevicePlan.Device.TranslateExpression(localDevicePlan, planNode.Nodes[0], false); return(new BinaryExpression(expression, "iDivision", new ValueExpression(10000000, TokenType.Integer))); }
public override Statement Translate(DevicePlan ADevicePlan, PlanNode APlanNode) { SQLDevicePlan LDevicePlan = (SQLDevicePlan)ADevicePlan; return (new CaseExpression ( new CaseItemExpression[] { new CaseItemExpression ( new BinaryExpression ( LDevicePlan.Device.TranslateExpression(LDevicePlan, APlanNode.Nodes[0], false), "iEqual", new ValueExpression(0, TokenType.Integer) ), new ValueExpression("false", TokenType.String) ) }, new CaseElseExpression ( new ValueExpression("true", TokenType.String) ) )); }
public override Statement Translate(DevicePlan ADevicePlan, PlanNode APlanNode) { SQLDevicePlan LDevicePlan = (SQLDevicePlan)ADevicePlan; return (new CaseExpression ( new CaseItemExpression[] { new CaseItemExpression ( new BinaryExpression ( new CallExpression("UCase", new Expression[] { LDevicePlan.Device.TranslateExpression(LDevicePlan, APlanNode.Nodes[0], false) }), "iEqual", new CallExpression("UCase", new Expression[] { LDevicePlan.Device.TranslateExpression(LDevicePlan, APlanNode.Nodes[1], false) }) ), new ValueExpression(0) ), new CaseItemExpression ( new BinaryExpression ( new CallExpression("UCase", new Expression[] { LDevicePlan.Device.TranslateExpression(LDevicePlan, APlanNode.Nodes[0], false) }), "iLess", new CallExpression("UCase", new Expression[] { LDevicePlan.Device.TranslateExpression(LDevicePlan, APlanNode.Nodes[1], false) }) ), new ValueExpression(-1) ) }, new CaseElseExpression(new ValueExpression(1)) )); }
//public SASRetrieve(Operator AOperator, D4.ClassDefinition AClassDefinition) : base(AOperator, AClassDefinition){} //public SASRetrieve(Operator AOperator, D4.ClassDefinition AClassDefinition, bool AIsSystem) : base(AOperator, AClassDefinition, AIsSystem){} public override Statement Translate(DevicePlan ADevicePlan, PlanNode APlanNode) { SQLDevicePlan LDevicePlan = (SQLDevicePlan)ADevicePlan; TableVar LTableVar = ((TableVarNode)APlanNode).TableVar; if (LTableVar is BaseTableVar) { SQLRangeVar LRangeVar = new SQLRangeVar(LDevicePlan.GetNextTableAlias()); foreach (Schema.TableVarColumn LColumn in LTableVar.Columns) { LRangeVar.Columns.Add(new SQLRangeVarColumn(LColumn, LRangeVar.Name, LDevicePlan.Device.ToSQLIdentifier(LColumn), LDevicePlan.Device.ToSQLIdentifier(LColumn.Name))); } LDevicePlan.CurrentQueryContext().RangeVars.Add(LRangeVar); SelectExpression LSelectExpression = new SelectExpression(); LSelectExpression.FromClause = new AlgebraicFromClause(new TableSpecifier(new TableExpression(D4.MetaData.GetTag(LTableVar.MetaData, "Storage.Schema", LDevicePlan.Device.Schema), LDevicePlan.Device.ToSQLIdentifier(LTableVar)), LRangeVar.Name)); //LSelectExpression.FromClause = new CalculusFromClause(new TableSpecifier(new TableExpression(D4.MetaData.GetTag(LTableVar.MetaData, "Storage.Schema", LDevicePlan.Device.Schema), LDevicePlan.Device.ToSQLIdentifier(LTableVar)), LRangeVar.Name)); LSelectExpression.SelectClause = new SelectClause(); foreach (TableVarColumn LColumn in LTableVar.Columns) { LSelectExpression.SelectClause.Columns.Add(LDevicePlan.GetRangeVarColumn(LColumn.Name, true).GetColumnExpression()); } LSelectExpression.SelectClause.Distinct = (LTableVar.Keys.Count == 1) && Convert.ToBoolean(D4.MetaData.GetTag(LTableVar.Keys[0].MetaData, "Storage.IsImposedKey", "false")); return(LSelectExpression); } else { return(LDevicePlan.Device.TranslateExpression(LDevicePlan, APlanNode.Nodes[0], false)); } }
//public SQLTimeSpanAddTicks(Operator AOperator, D4.ClassDefinition AClassDefinition) : base(AOperator, AClassDefinition){} //public SQLTimeSpanAddTicks(Operator AOperator, D4.ClassDefinition AClassDefinition, bool AIsSystem) : base(AOperator, AClassDefinition, AIsSystem){} public override Statement Translate(DevicePlan devicePlan, PlanNode planNode) { SQLDevicePlan localDevicePlan = (SQLDevicePlan)devicePlan; Expression expression1 = localDevicePlan.Device.TranslateExpression(localDevicePlan, planNode.Nodes[0], false); Expression expression2 = localDevicePlan.Device.TranslateExpression(localDevicePlan, planNode.Nodes[1], false); return(new BinaryExpression(expression1, "iAddition", expression2)); }
//public SQLTimeSpanReadMinutes(Operator AOperator, D4.ClassDefinition AClassDefinition) : base(AOperator, AClassDefinition){} //public SQLTimeSpanReadMinutes(Operator AOperator, D4.ClassDefinition AClassDefinition, bool AIsSystem) : base(AOperator, AClassDefinition, AIsSystem){} public override Statement Translate(DevicePlan devicePlan, PlanNode planNode) { SQLDevicePlan localDevicePlan = (SQLDevicePlan)devicePlan; Expression expression = localDevicePlan.Device.TranslateExpression(localDevicePlan, planNode.Nodes[0], false); Expression Minutes = new BinaryExpression(expression, "iDivision", new ValueExpression(600000000m, TokenType.Decimal)); return(Minutes); }
//public SQLTimeSpanTime2Operands(Operator AOperator, D4.ClassDefinition AClassDefinition) : base(AOperator, AClassDefinition){} //public SQLTimeSpanTime2Operands(Operator AOperator, D4.ClassDefinition AClassDefinition, bool AIsSystem) : base(AOperator, AClassDefinition, AIsSystem){} public override Statement Translate(DevicePlan devicePlan, PlanNode planNode) { SQLDevicePlan localDevicePlan = (SQLDevicePlan)devicePlan; Expression expression1 = localDevicePlan.Device.TranslateExpression(localDevicePlan, planNode.Nodes[0], false); Expression expression2 = localDevicePlan.Device.TranslateExpression(localDevicePlan, planNode.Nodes[1], false); Expression First = new BinaryExpression(expression1, "iMultiplication", new ValueExpression(36000000000m, TokenType.Decimal)); Expression Second = new BinaryExpression(expression2, "iMultiplication", new ValueExpression(600000000m, TokenType.Decimal)); return(new BinaryExpression(First, "iAddition", Second)); }
protected override Statement TranslateDropIndex(SQLDevicePlan plan, TableVar tableVar, Order order) { var statement = new DropIndexStatement(); statement.TableSchema = MetaData.GetTag(tableVar.MetaData, "Storage.Schema", Schema); statement.TableName = ToSQLIdentifier(tableVar); statement.IndexSchema = MetaData.GetTag(order.MetaData, "Storage.Schema", String.Empty); statement.IndexName = GetIndexName(statement.TableName, order); return(statement); }
//public SQLTimeSpan5Operands(Operator AOperator, D4.ClassDefinition AClassDefinition) : base(AOperator, AClassDefinition){} //public SQLTimeSpan5Operands(Operator AOperator, D4.ClassDefinition AClassDefinition, bool AIsSystem) : base(AOperator, AClassDefinition, AIsSystem){} public override Statement Translate(DevicePlan devicePlan, PlanNode planNode) { SQLDevicePlan localDevicePlan = (SQLDevicePlan)devicePlan; Expression expression1 = localDevicePlan.Device.TranslateExpression(localDevicePlan, planNode.Nodes[0], false); Expression expression2 = localDevicePlan.Device.TranslateExpression(localDevicePlan, planNode.Nodes[1], false); Expression expression3 = localDevicePlan.Device.TranslateExpression(localDevicePlan, planNode.Nodes[2], false); Expression expression4 = localDevicePlan.Device.TranslateExpression(localDevicePlan, planNode.Nodes[3], false); Expression expression5 = localDevicePlan.Device.TranslateExpression(localDevicePlan, planNode.Nodes[4], false); Expression First = new BinaryExpression(expression1, "iMultiplication", new ValueExpression(864000000000m, TokenType.Decimal)); Expression Second = new BinaryExpression(expression2, "iMultiplication", new ValueExpression(36000000000m, TokenType.Decimal)); Expression Third = new BinaryExpression(expression3, "iMultiplication", new ValueExpression(600000000m, TokenType.Decimal)); Expression Fourth = new BinaryExpression(expression4, "iMultiplication", new ValueExpression(10000000m, TokenType.Decimal)); Expression Fifth = new BinaryExpression(expression5, "iMultiplication", new ValueExpression(10000m, TokenType.Decimal)); Expression FirstSecond = new BinaryExpression(First, "iAddition", Second); Expression ThirdFourth = new BinaryExpression(Third, "iAddition", Fourth); Expression FirstFour = new BinaryExpression(FirstSecond, "iAddition", ThirdFourth); return(new BinaryExpression(FirstFour, "iAddition", Fifth)); }
public override Statement Translate(DevicePlan ADevicePlan, PlanNode APlanNode) { SQLDevicePlan LDevicePlan = (SQLDevicePlan)ADevicePlan; return (new CallExpression ( "SubStr", new Expression[] { LDevicePlan.Device.TranslateExpression(LDevicePlan, APlanNode.Nodes[0], false), new BinaryExpression ( LDevicePlan.Device.TranslateExpression(LDevicePlan, APlanNode.Nodes[1], false), "iAddition", new ValueExpression(1, TokenType.Integer) ), LDevicePlan.Device.TranslateExpression(LDevicePlan, APlanNode.Nodes[2], false) } )); }
public override Statement Translate(DevicePlan ADevicePlan, PlanNode APlanNode) { SQLDevicePlan LDevicePlan = (SQLDevicePlan)ADevicePlan; return (new BinaryExpression ( new CaseExpression ( new CaseItemExpression[] { new CaseItemExpression ( new BinaryExpression ( LDevicePlan.Device.TranslateExpression(LDevicePlan, APlanNode.Nodes[0], false), "iEqual", new ValueExpression(String.Empty, TokenType.String) ), new ValueExpression(1, TokenType.Integer) ) }, new CaseElseExpression ( new CallExpression ( "CharIndex", new Expression[] { LDevicePlan.Device.TranslateExpression(LDevicePlan, APlanNode.Nodes[1], false), LDevicePlan.Device.TranslateExpression(LDevicePlan, APlanNode.Nodes[0], false) } ) ) ), "iSubtraction", new ValueExpression(1, TokenType.Integer) )); }