Tup.Cobar4Net.Parser.Ast.Expression.Primary.Identifier.TrimParent C# (CSharp) Method

TrimParent() public method

public TrimParent ( int level, string trimSchema ) : int
level int /// At most how many levels left after trim, must be a positive /// integer. e.g. level = 2 for "schema1.tb1.c1", "tb1.c1" is left ///
trimSchema string /// upper-case. Assumed that top trimmed parent is schema, /// if that equals given schema, do not trim ///
return int
        public virtual int TrimParent(int level, string trimSchema)
        {
            var id = this;
            for (var i = 1; i < level; ++i)
            {
                if (id.parent == null)
                {
                    return ParentAbsent;
                }
                id = id.parent;
            }
            if (id.parent == null)
            {
                return ParentAbsent;
            }
            if (trimSchema != null && !trimSchema.Equals(id.parent.idTextUpUnescape))
            {
                return ParentIgnored;
            }
            id.parent = null;
            return ParentTrimed;
        }