private void InterpretFunctionIdentifier(FunctionIdentifier fi) { var fn = fi.FunctionName; if (fn != null) { DatasetName = null; DatabaseName = null; SchemaName = null; DatabaseObjectName = null; systemFunctionName = fn.Value; isUdf = false; } else { var udfi = fi.UdfIdentifier; if (udfi != null) { var ds = udfi.FindDescendant <DatasetName>(); DatasetName = (ds != null) ? Util.RemoveIdentifierQuotes(ds.Value) : null; var dbn = udfi.FindDescendant <DatabaseName>(); DatabaseName = (dbn != null) ? Util.RemoveIdentifierQuotes(dbn.Value) : null; var sn = udfi.FindDescendant <SchemaName>(); SchemaName = (sn != null) ? Util.RemoveIdentifierQuotes(sn.Value) : null; var tn = udfi.FindDescendant <FunctionName>(); DatabaseObjectName = (tn != null) ? Util.RemoveIdentifierQuotes(tn.Value) : null; systemFunctionName = null; isUdf = true; } else { throw new InvalidOperationException(); // *** TODO } } }
public FunctionReference(FunctionIdentifier fi) { InitializeMembers(); InterpretFunctionIdentifier(fi); }
private void InterpretFunctionIdentifier(FunctionIdentifier fi) { var fn = fi.FunctionName; if (fn != null) { datasetName = null; databaseName = null; schemaName = null; databaseObjectName = null; systemFunctionName = fn.Value; isUdf = false; } else { var udfi = fi.UdfIdentifier; if (udfi != null) { var ds = udfi.FindDescendant<DatasetName>(); datasetName = (ds != null) ? Util.RemoveIdentifierQuotes(ds.Value) : null; var dbn = udfi.FindDescendant<DatabaseName>(); databaseName = (dbn != null) ? Util.RemoveIdentifierQuotes(dbn.Value) : null; var sn = udfi.FindDescendant<SchemaName>(); schemaName = (sn != null) ? Util.RemoveIdentifierQuotes(sn.Value) : null; var tn = udfi.FindDescendant<FunctionName>(); databaseObjectName = (tn != null) ? Util.RemoveIdentifierQuotes(tn.Value) : null; systemFunctionName = null; isUdf = true; } else { throw new InvalidOperationException(); // *** TODO } } }
public FunctionReference(FunctionIdentifier fi) { InitializeMembers(); InterpretFunctionIdentifier(fi); }
public abstract bool WriteFunctionIdentifier(FunctionIdentifier node);
public virtual void WriteFunctionIdentifier(FunctionIdentifier node) { if (resolveNames) { Writer.Write(GetResolvedFunctionName(node.FunctionReference)); } else { // Fall back to original behavior base.WriteNode(node); } }