Beispiel #1
0
        public void serach_column(string column_name, bool raw_int)
        {
            var scid = new SingleColumnInfoDesc();

            scid.is_rawint   = raw_int;
            scid.column_name = column_name;

            var bdr = new cog_wraper.blobdata_reader(scid);

            new cmd_wraper.table_cmd(curr_conn, tbl_name, db_name).load_records(bdr);

            int match_threshhold = 10;

            var all_datas    = bdr.Values;
            var matched_data = new List <SingleColumnInfo>();

            foreach (var v in all_datas)
            {
                if (raw_int)
                {
                    if (v.int_value > UInt32.MaxValue)
                    {
                        matched_data.Add(v);
                    }
                }
                else
                {
                    var matches = System.Text.RegularExpressions.Regex.Matches(v.str_value, @"4\d{9}");  // 4 is enough here ,be care in your case
                    if (matches.Count > 0)
                    {
                        matched_data.Add(v);
                    }
                }
                if (matched_data.Count >= match_threshhold)
                {
                    profile.add(new uid_like_info()
                    {
                        column_name = column_name, raw_data = v.ToString(), table_name = tbl_name, database_name = db_name, sample_datas = matched_data
                    });
                    break;
                }
            }
        }
Beispiel #2
0
 public blobdata_reader(SingleColumnInfoDesc desc)
 {
     dst       = new List <SingleColumnInfo>();
     this.desc = desc;
 }