DBreeze.Scheme.GetUserTableNamesStartingWith C# (CSharp) Method

GetUserTableNamesStartingWith() public method

Returns List of user tables starting from specified mask. If mask is String.Empty returns all user tables
public GetUserTableNamesStartingWith ( string mask ) : List
mask string
return List
        public List<string> GetUserTableNamesStartingWith(string mask)
        {
            List<string> ret = new List<string>();

            //No lock here, while IterateForwardStartsWith of the LTrie is safe (new root is created), and we don't acquire value from the key (which could be delete).
            //_sync_openTablesHolder.EnterReadLock();
            //try
            //{
            byte[] btKeyName = Encoding.UTF8.GetBytes("@ut" + mask);

            foreach (var row in LTrie.IterateForwardStartsWith(btKeyName))
            {
                //try       //try-catch could be necessary in case if we acquire value, which was deleted by other thread. Here we don't acquire value.
                //{
                ret.Add(System.Text.Encoding.UTF8.GetString(row.Key).Substring(3));
                //}
                //catch
                //{}

            }
            //}
            //finally
            //{
            //    _sync_openTablesHolder.ExitReadLock();
            //}

            return ret;
        }