github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/opt/opbench/cat.go (about)

     1  // Copyright 2019 The Cockroach Authors.
     2  //
     3  // Use of this software is governed by the Business Source License
     4  // included in the file licenses/BSL.txt.
     5  //
     6  // As of the Change Date specified in that file, in accordance with
     7  // the Business Source License, use of this software will be governed
     8  // by the Apache License, Version 2.0, included in the file
     9  // licenses/APL.txt.
    10  
    11  package opbench
    12  
    13  import "github.com/cockroachdb/cockroach/pkg/sql/opt/testutils/testcat"
    14  
    15  // TODO(justin): pull schema definitions like this into a file that can be
    16  // imported here as well as in the data-driven tests.
    17  
    18  // MakeTPCHCatalog returns a test catalog loaded with the TPCH schema
    19  // and statistics.
    20  func MakeTPCHCatalog() *testcat.Catalog {
    21  	cat := testcat.New()
    22  
    23  	if err := cat.ExecuteMultipleDDL(`
    24  CREATE TABLE public.region (
    25      r_regionkey INT8 PRIMARY KEY,
    26      r_name CHAR(25) NOT NULL,
    27      r_comment VARCHAR(152)
    28  );
    29  
    30  ALTER TABLE region INJECT STATISTICS '[
    31  	{
    32  			"columns": [
    33  					"r_regionkey"
    34  			],
    35  			"created_at": "2018-01-01 1:00:00.00000+00:00",
    36  			"distinct_count": 5,
    37  			"histo_col_type": "int",
    38  			"name": "_",
    39  			"null_count": 0,
    40  			"row_count": 5
    41  	},
    42  	{
    43  			"columns": [
    44  					"r_name"
    45  			],
    46  			"created_at": "2018-01-01 1:00:00.00000+00:00",
    47  			"distinct_count": 5,
    48  			"histo_col_type": "string",
    49  			"name": "_",
    50  			"null_count": 0,
    51  			"row_count": 5
    52  	},
    53  	{
    54  			"columns": [
    55  					"r_comment"
    56  			],
    57  			"created_at": "2018-01-01 1:00:00.00000+00:00",
    58  			"distinct_count": 5,
    59  			"histo_col_type": "string",
    60  			"name": "_",
    61  			"null_count": 0,
    62  			"row_count": 5
    63  	}
    64  ]';
    65  
    66  CREATE TABLE public.nation (
    67      n_nationkey INT8 PRIMARY KEY,
    68      n_name CHAR(25) NOT NULL,
    69      n_regionkey INT8 NOT NULL,
    70      n_comment VARCHAR(152),
    71      INDEX n_rk (n_regionkey ASC),
    72      CONSTRAINT nation_fkey_region FOREIGN KEY (n_regionkey) REFERENCES public.region (r_regionkey)
    73  );
    74  
    75  ALTER TABLE nation INJECT STATISTICS '[
    76  	{
    77  			"columns": [
    78  					"n_nationkey"
    79  			],
    80  			"created_at": "2018-01-01 1:00:00.00000+00:00",
    81  			"distinct_count": 25,
    82  			"histo_col_type": "int",
    83  			"name": "_",
    84  			"null_count": 0,
    85  			"row_count": 25
    86  	},
    87  	{
    88  			"columns": [
    89  					"n_regionkey"
    90  			],
    91  			"created_at": "2018-01-01 1:00:00.00000+00:00",
    92  			"distinct_count": 5,
    93  			"histo_col_type": "int",
    94  			"name": "_",
    95  			"null_count": 0,
    96  			"row_count": 25
    97  	},
    98  	{
    99  			"columns": [
   100  					"n_name"
   101  			],
   102  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   103  			"distinct_count": 25,
   104  			"histo_col_type": "string",
   105  			"name": "_",
   106  			"null_count": 0,
   107  			"row_count": 25
   108  	},
   109  	{
   110  			"columns": [
   111  					"n_comment"
   112  			],
   113  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   114  			"distinct_count": 25,
   115  			"histo_col_type": "string",
   116  			"name": "_",
   117  			"null_count": 0,
   118  			"row_count": 25
   119  	}
   120  ]';
   121  
   122  CREATE TABLE public.supplier (
   123      s_suppkey INT8 PRIMARY KEY,
   124      s_name CHAR(25) NOT NULL,
   125      s_address VARCHAR(40) NOT NULL,
   126      s_nationkey INT8 NOT NULL,
   127      s_phone CHAR(15) NOT NULL,
   128      s_acctbal FLOAT8 NOT NULL,
   129      s_comment VARCHAR(101) NOT NULL,
   130      INDEX s_nk (s_nationkey ASC),
   131      CONSTRAINT supplier_fkey_nation FOREIGN KEY (s_nationkey) REFERENCES public.nation (n_nationkey)
   132  );
   133  
   134  ALTER TABLE supplier INJECT STATISTICS '[
   135  	{
   136  			"columns": [
   137  					"s_suppkey"
   138  			],
   139  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   140  			"distinct_count": 10034,
   141  			"histo_col_type": "int",
   142  			"name": "_",
   143  			"null_count": 0,
   144  			"row_count": 10000
   145  	},
   146  	{
   147  			"columns": [
   148  					"s_nationkey"
   149  			],
   150  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   151  			"distinct_count": 25,
   152  			"histo_col_type": "int",
   153  			"name": "_",
   154  			"null_count": 0,
   155  			"row_count": 10000
   156  	},
   157  	{
   158  			"columns": [
   159  					"s_name"
   160  			],
   161  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   162  			"distinct_count": 9990,
   163  			"histo_col_type": "string",
   164  			"name": "_",
   165  			"null_count": 0,
   166  			"row_count": 10000
   167  	},
   168  	{
   169  			"columns": [
   170  					"s_address"
   171  			],
   172  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   173  			"distinct_count": 10027,
   174  			"histo_col_type": "string",
   175  			"name": "_",
   176  			"null_count": 0,
   177  			"row_count": 10000
   178  	},
   179  	{
   180  			"columns": [
   181  					"s_phone"
   182  			],
   183  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   184  			"distinct_count": 10021,
   185  			"histo_col_type": "string",
   186  			"name": "_",
   187  			"null_count": 0,
   188  			"row_count": 10000
   189  	},
   190  	{
   191  			"columns": [
   192  					"s_acctbal"
   193  			],
   194  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   195  			"distinct_count": 9967,
   196  			"histo_col_type": "float",
   197  			"name": "_",
   198  			"null_count": 0,
   199  			"row_count": 10000
   200  	},
   201  	{
   202  			"columns": [
   203  					"s_comment"
   204  			],
   205  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   206  			"distinct_count": 9934,
   207  			"histo_col_type": "string",
   208  			"name": "_",
   209  			"null_count": 0,
   210  			"row_count": 10000
   211  	}
   212  ]';
   213  
   214  CREATE TABLE public.part (
   215      p_partkey INT8 PRIMARY KEY,
   216      p_name VARCHAR(55) NOT NULL,
   217      p_mfgr CHAR(25) NOT NULL,
   218      p_brand CHAR(10) NOT NULL,
   219      p_type VARCHAR(25) NOT NULL,
   220      p_size INT8 NOT NULL,
   221      p_container CHAR(10) NOT NULL,
   222      p_retailprice FLOAT8 NOT NULL,
   223      p_comment VARCHAR(23) NOT NULL
   224  );
   225  
   226  ALTER TABLE part INJECT STATISTICS '[
   227  	{
   228  			"columns": [
   229  					"p_partkey"
   230  			],
   231  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   232  			"distinct_count": 199810,
   233  			"histo_col_type": "int",
   234  			"name": "_",
   235  			"null_count": 0,
   236  			"row_count": 200000
   237  	},
   238  	{
   239  			"columns": [
   240  					"p_name"
   241  			],
   242  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   243  			"distinct_count": 198131,
   244  			"histo_col_type": "string",
   245  			"name": "_",
   246  			"null_count": 0,
   247  			"row_count": 200000
   248  	},
   249  	{
   250  			"columns": [
   251  					"p_mfgr"
   252  			],
   253  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   254  			"distinct_count": 5,
   255  			"histo_col_type": "string",
   256  			"name": "_",
   257  			"null_count": 0,
   258  			"row_count": 200000
   259  	},
   260  	{
   261  			"columns": [
   262  					"p_brand"
   263  			],
   264  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   265  			"distinct_count": 25,
   266  			"histo_col_type": "string",
   267  			"name": "_",
   268  			"null_count": 0,
   269  			"row_count": 200000
   270  	},
   271  	{
   272  			"columns": [
   273  					"p_type"
   274  			],
   275  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   276  			"distinct_count": 150,
   277  			"histo_col_type": "string",
   278  			"name": "_",
   279  			"null_count": 0,
   280  			"row_count": 200000
   281  	},
   282  	{
   283  			"columns": [
   284  					"p_size"
   285  			],
   286  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   287  			"distinct_count": 50,
   288  			"histo_col_type": "int",
   289  			"name": "_",
   290  			"null_count": 0,
   291  			"row_count": 200000
   292  	},
   293  	{
   294  			"columns": [
   295  					"p_container"
   296  			],
   297  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   298  			"distinct_count": 40,
   299  			"histo_col_type": "string",
   300  			"name": "_",
   301  			"null_count": 0,
   302  			"row_count": 200000
   303  	},
   304  	{
   305  			"columns": [
   306  					"p_retailprice"
   307  			],
   308  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   309  			"distinct_count": 20831,
   310  			"histo_col_type": "float",
   311  			"name": "_",
   312  			"null_count": 0,
   313  			"row_count": 200000
   314  	},
   315  	{
   316  			"columns": [
   317  					"p_comment"
   318  			],
   319  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   320  			"distinct_count": 132344,
   321  			"histo_col_type": "string",
   322  			"name": "_",
   323  			"null_count": 0,
   324  			"row_count": 200000
   325  	}
   326  ]';
   327  
   328  CREATE TABLE public.partsupp (
   329      ps_partkey INT8 NOT NULL,
   330      ps_suppkey INT8 NOT NULL,
   331      ps_availqty INT8 NOT NULL,
   332      ps_supplycost FLOAT8 NOT NULL,
   333      ps_comment VARCHAR(199) NOT NULL,
   334      PRIMARY KEY (ps_partkey, ps_suppkey),
   335      INDEX ps_sk (ps_suppkey ASC),
   336      CONSTRAINT partsupp_fkey_part FOREIGN KEY (ps_partkey) REFERENCES public.part (p_partkey),
   337      CONSTRAINT partsupp_fkey_supplier FOREIGN KEY (ps_suppkey) REFERENCES public.supplier (s_suppkey)
   338  );
   339  
   340  ALTER TABLE partsupp INJECT STATISTICS '[
   341  	{
   342  			"columns": [
   343  					"ps_partkey"
   344  			],
   345  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   346  			"distinct_count": 199810,
   347  			"histo_col_type": "int",
   348  			"name": "_",
   349  			"null_count": 0,
   350  			"row_count": 800000
   351  	},
   352  	{
   353  			"columns": [
   354  					"ps_suppkey"
   355  			],
   356  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   357  			"distinct_count": 10034,
   358  			"histo_col_type": "int",
   359  			"name": "_",
   360  			"null_count": 0,
   361  			"row_count": 800000
   362  	},
   363  	{
   364  			"columns": [
   365  					"ps_availqty"
   366  			],
   367  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   368  			"distinct_count": 10032,
   369  			"histo_col_type": "int",
   370  			"name": "_",
   371  			"null_count": 0,
   372  			"row_count": 800000
   373  	},
   374  	{
   375  			"columns": [
   376  					"ps_supplycost"
   377  			],
   378  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   379  			"distinct_count": 100379,
   380  			"histo_col_type": "float",
   381  			"name": "_",
   382  			"null_count": 0,
   383  			"row_count": 800000
   384  	},
   385  	{
   386  			"columns": [
   387  					"ps_comment"
   388  			],
   389  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   390  			"distinct_count": 799641,
   391  			"histo_col_type": "string",
   392  			"name": "_",
   393  			"null_count": 0,
   394  			"row_count": 800000
   395  	}
   396  ]';
   397  
   398  CREATE TABLE public.customer (
   399      c_custkey INT8 PRIMARY KEY,
   400      c_name VARCHAR(25) NOT NULL,
   401      c_address VARCHAR(40) NOT NULL,
   402      c_nationkey INT8 NOT NULL,
   403      c_phone CHAR(15) NOT NULL,
   404      c_acctbal FLOAT8 NOT NULL,
   405      c_mktsegment CHAR(10) NOT NULL,
   406      c_comment VARCHAR(117) NOT NULL,
   407      INDEX c_nk (c_nationkey ASC),
   408      CONSTRAINT customer_fkey_nation FOREIGN KEY (c_nationkey) REFERENCES public.nation (n_nationkey)
   409  );
   410  
   411  ALTER TABLE customer INJECT STATISTICS '[
   412  	{
   413  			"columns": [
   414  					"c_custkey"
   415  			],
   416  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   417  			"distinct_count": 150097,
   418  			"histo_col_type": "int",
   419  			"name": "_",
   420  			"null_count": 0,
   421  			"row_count": 150000
   422  	},
   423  	{
   424  			"columns": [
   425  					"c_nationkey"
   426  			],
   427  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   428  			"distinct_count": 25,
   429  			"histo_col_type": "int",
   430  			"name": "_",
   431  			"null_count": 0,
   432  			"row_count": 150000
   433  	},
   434  	{
   435  			"columns": [
   436  					"c_name"
   437  			],
   438  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   439  			"distinct_count": 151126,
   440  			"histo_col_type": "string",
   441  			"name": "_",
   442  			"null_count": 0,
   443  			"row_count": 150000
   444  	},
   445  	{
   446  			"columns": [
   447  					"c_address"
   448  			],
   449  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   450  			"distinct_count": 149937,
   451  			"histo_col_type": "string",
   452  			"name": "_",
   453  			"null_count": 0,
   454  			"row_count": 150000
   455  	},
   456  	{
   457  			"columns": [
   458  					"c_phone"
   459  			],
   460  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   461  			"distinct_count": 150872,
   462  			"histo_col_type": "string",
   463  			"name": "_",
   464  			"null_count": 0,
   465  			"row_count": 150000
   466  	},
   467  	{
   468  			"columns": [
   469  					"c_acctbal"
   470  			],
   471  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   472  			"distinct_count": 140628,
   473  			"histo_col_type": "float",
   474  			"name": "_",
   475  			"null_count": 0,
   476  			"row_count": 150000
   477  	},
   478  	{
   479  			"columns": [
   480  					"c_mktsegment"
   481  			],
   482  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   483  			"distinct_count": 5,
   484  			"histo_col_type": "string",
   485  			"name": "_",
   486  			"null_count": 0,
   487  			"row_count": 150000
   488  	},
   489  	{
   490  			"columns": [
   491  					"c_comment"
   492  			],
   493  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   494  			"distinct_count": 149323,
   495  			"histo_col_type": "string",
   496  			"name": "_",
   497  			"null_count": 0,
   498  			"row_count": 150000
   499  	}
   500  ]';
   501  
   502  CREATE TABLE public.orders (
   503      o_orderkey INT8 PRIMARY KEY,
   504      o_custkey INT8 NOT NULL,
   505      o_orderstatus CHAR NOT NULL,
   506      o_totalprice FLOAT8 NOT NULL,
   507      o_orderdate DATE NOT NULL,
   508      o_orderpriority CHAR(15) NOT NULL,
   509      o_clerk CHAR(15) NOT NULL,
   510      o_shippriority INT8 NOT NULL,
   511      o_comment VARCHAR(79) NOT NULL,
   512      INDEX o_ck (o_custkey ASC),
   513      INDEX o_od (o_orderdate ASC),
   514      CONSTRAINT orders_fkey_customer FOREIGN KEY (o_custkey) REFERENCES public.customer (c_custkey)
   515  );
   516  
   517  ALTER TABLE orders INJECT STATISTICS '[
   518  	{
   519  			"columns": [
   520  					"o_orderkey"
   521  			],
   522  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   523  			"distinct_count": 1508717,
   524  			"histo_col_type": "int",
   525  			"name": "_",
   526  			"null_count": 0,
   527  			"row_count": 1500000
   528  	},
   529  	{
   530  			"columns": [
   531  					"o_custkey"
   532  			],
   533  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   534  			"distinct_count": 99837,
   535  			"histo_col_type": "int",
   536  			"name": "_",
   537  			"null_count": 0,
   538  			"row_count": 1500000
   539  	},
   540  	{
   541  			"columns": [
   542  					"o_orderdate"
   543  			],
   544  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   545  			"distinct_count": 2406,
   546  			"histo_col_type": "date",
   547  			"name": "_",
   548  			"null_count": 0,
   549  			"row_count": 1500000
   550  	},
   551  	{
   552  			"columns": [
   553  					"o_orderstatus"
   554  			],
   555  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   556  			"distinct_count": 3,
   557  			"histo_col_type": "string",
   558  			"name": "_",
   559  			"null_count": 0,
   560  			"row_count": 1500000
   561  	},
   562  	{
   563  			"columns": [
   564  					"o_totalprice"
   565  			],
   566  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   567  			"distinct_count": 1459167,
   568  			"histo_col_type": "float",
   569  			"name": "_",
   570  			"null_count": 0,
   571  			"row_count": 1500000
   572  	},
   573  	{
   574  			"columns": [
   575  					"o_orderpriority"
   576  			],
   577  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   578  			"distinct_count": 5,
   579  			"histo_col_type": "string",
   580  			"name": "_",
   581  			"null_count": 0,
   582  			"row_count": 1500000
   583  	},
   584  	{
   585  			"columns": [
   586  					"o_clerk"
   587  			],
   588  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   589  			"distinct_count": 1000,
   590  			"histo_col_type": "string",
   591  			"name": "_",
   592  			"null_count": 0,
   593  			"row_count": 1500000
   594  	},
   595  	{
   596  			"columns": [
   597  					"o_shippriority"
   598  			],
   599  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   600  			"distinct_count": 1,
   601  			"histo_col_type": "int",
   602  			"name": "_",
   603  			"null_count": 0,
   604  			"row_count": 1500000
   605  	},
   606  	{
   607  			"columns": [
   608  					"o_comment"
   609  			],
   610  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   611  			"distinct_count": 1469402,
   612  			"histo_col_type": "string",
   613  			"name": "_",
   614  			"null_count": 0,
   615  			"row_count": 1500000
   616  	}
   617  ]';
   618  
   619  CREATE TABLE public.lineitem (
   620      l_orderkey INT8 NOT NULL,
   621      l_partkey INT8 NOT NULL,
   622      l_suppkey INT8 NOT NULL,
   623      l_linenumber INT8 NOT NULL,
   624      l_quantity FLOAT8 NOT NULL,
   625      l_extendedprice FLOAT8 NOT NULL,
   626      l_discount FLOAT8 NOT NULL,
   627      l_tax FLOAT8 NOT NULL,
   628      l_returnflag CHAR NOT NULL,
   629      l_linestatus CHAR NOT NULL,
   630      l_shipdate DATE NOT NULL,
   631      l_commitdate DATE NOT NULL,
   632      l_receiptdate DATE NOT NULL,
   633      l_shipinstruct CHAR(25) NOT NULL,
   634      l_shipmode CHAR(10) NOT NULL,
   635      l_comment VARCHAR(44) NOT NULL,
   636      PRIMARY KEY (l_orderkey, l_linenumber),
   637      INDEX l_ok (l_orderkey ASC),
   638      INDEX l_pk (l_partkey ASC),
   639      INDEX l_sk (l_suppkey ASC),
   640      INDEX l_sd (l_shipdate ASC),
   641      INDEX l_cd (l_commitdate ASC),
   642      INDEX l_rd (l_receiptdate ASC),
   643      INDEX l_pk_sk (l_partkey ASC, l_suppkey ASC),
   644      INDEX l_sk_pk (l_suppkey ASC, l_partkey ASC),
   645      CONSTRAINT lineitem_fkey_orders FOREIGN KEY (l_orderkey) REFERENCES public.orders (o_orderkey),
   646      CONSTRAINT lineitem_fkey_part FOREIGN KEY (l_partkey) REFERENCES public.part (p_partkey),
   647      CONSTRAINT lineitem_fkey_supplier FOREIGN KEY (l_suppkey) REFERENCES public.supplier (s_suppkey),
   648      CONSTRAINT lineitem_fkey_partsupp FOREIGN KEY (l_partkey, l_suppkey) REFERENCES public.partsupp (ps_partkey, ps_suppkey)
   649  );
   650  
   651  ALTER TABLE lineitem INJECT STATISTICS '[
   652  	{
   653  			"columns": [
   654  					"l_orderkey"
   655  			],
   656  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   657  			"distinct_count": 1508717,
   658  			"histo_col_type": "int",
   659  			"name": "_",
   660  			"null_count": 0,
   661  			"row_count": 6001215
   662  	},
   663  	{
   664  			"columns": [
   665  					"l_partkey"
   666  			],
   667  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   668  			"distinct_count": 199810,
   669  			"histo_col_type": "int",
   670  			"name": "_",
   671  			"null_count": 0,
   672  			"row_count": 6001215
   673  	},
   674  	{
   675  			"columns": [
   676  					"l_suppkey"
   677  			],
   678  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   679  			"distinct_count": 10034,
   680  			"histo_col_type": "int",
   681  			"name": "_",
   682  			"null_count": 0,
   683  			"row_count": 6001215
   684  	},
   685  	{
   686  			"columns": [
   687  					"l_shipdate"
   688  			],
   689  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   690  			"distinct_count": 2526,
   691  			"histo_col_type": "date",
   692  			"name": "_",
   693  			"null_count": 0,
   694  			"row_count": 6001215
   695  	},
   696  	{
   697  			"columns": [
   698  					"l_commitdate"
   699  			],
   700  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   701  			"distinct_count": 2466,
   702  			"histo_col_type": "date",
   703  			"name": "_",
   704  			"null_count": 0,
   705  			"row_count": 6001215
   706  	},
   707  	{
   708  			"columns": [
   709  					"l_receiptdate"
   710  			],
   711  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   712  			"distinct_count": 2554,
   713  			"histo_col_type": "date",
   714  			"name": "_",
   715  			"null_count": 0,
   716  			"row_count": 6001215
   717  	},
   718  	{
   719  			"columns": [
   720  					"l_linenumber"
   721  			],
   722  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   723  			"distinct_count": 7,
   724  			"histo_col_type": "int",
   725  			"name": "_",
   726  			"null_count": 0,
   727  			"row_count": 6001215
   728  	},
   729  	{
   730  			"columns": [
   731  					"l_quantity"
   732  			],
   733  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   734  			"distinct_count": 50,
   735  			"histo_col_type": "float",
   736  			"name": "_",
   737  			"null_count": 0,
   738  			"row_count": 6001215
   739  	},
   740  	{
   741  			"columns": [
   742  					"l_extendedprice"
   743  			],
   744  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   745  			"distinct_count": 925955,
   746  			"histo_col_type": "float",
   747  			"name": "_",
   748  			"null_count": 0,
   749  			"row_count": 6001215
   750  	},
   751  	{
   752  			"columns": [
   753  					"l_discount"
   754  			],
   755  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   756  			"distinct_count": 11,
   757  			"histo_col_type": "float",
   758  			"name": "_",
   759  			"null_count": 0,
   760  			"row_count": 6001215
   761  	},
   762  	{
   763  			"columns": [
   764  					"l_tax"
   765  			],
   766  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   767  			"distinct_count": 9,
   768  			"histo_col_type": "float",
   769  			"name": "_",
   770  			"null_count": 0,
   771  			"row_count": 6001215
   772  	},
   773  	{
   774  			"columns": [
   775  					"l_returnflag"
   776  			],
   777  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   778  			"distinct_count": 3,
   779  			"histo_col_type": "string",
   780  			"name": "_",
   781  			"null_count": 0,
   782  			"row_count": 6001215
   783  	},
   784  	{
   785  			"columns": [
   786  					"l_linestatus"
   787  			],
   788  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   789  			"distinct_count": 2,
   790  			"histo_col_type": "string",
   791  			"name": "_",
   792  			"null_count": 0,
   793  			"row_count": 6001215
   794  	},
   795  	{
   796  			"columns": [
   797  					"l_shipinstruct"
   798  			],
   799  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   800  			"distinct_count": 4,
   801  			"histo_col_type": "string",
   802  			"name": "_",
   803  			"null_count": 0,
   804  			"row_count": 6001215
   805  	},
   806  	{
   807  			"columns": [
   808  					"l_shipmode"
   809  			],
   810  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   811  			"distinct_count": 7,
   812  			"histo_col_type": "string",
   813  			"name": "_",
   814  			"null_count": 0,
   815  			"row_count": 6001215
   816  	},
   817  	{
   818  			"columns": [
   819  					"l_comment"
   820  			],
   821  			"created_at": "2018-01-01 1:00:00.00000+00:00",
   822  			"distinct_count": 4643303,
   823  			"histo_col_type": "string",
   824  			"name": "_",
   825  			"null_count": 0,
   826  			"row_count": 6001215
   827  	}
   828  ]';
   829  `); err != nil {
   830  		panic(err)
   831  	}
   832  
   833  	return cat
   834  }