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
                }
            }
        }
Example #2
0
 public FunctionReference(FunctionIdentifier fi)
 {
     InitializeMembers();
     InterpretFunctionIdentifier(fi);
 }
Example #3
0
        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);
     }
 }