vitess.io/vitess@v0.16.2/go/vt/vtgate/planbuilder/operators/operator_test_data.txt (about)

     1  (select id from unsharded union all select id from unsharded_auto order by id) union select id from user
     2  Horizon {
     3  	Query: "(select id from unsharded union all select id from unsharded_auto order by id asc) union select id from `user`"
     4  	Inner:	Concatenate(distinct) {
     5  		Horizon {
     6  			Query: "select id from unsharded"
     7  			Inner:	QueryGraph: {
     8  			Tables:
     9  				TableSet{0}:unsharded
    10  			}
    11  		},
    12  		Horizon {
    13  			Query: "select id from unsharded_auto"
    14  			Inner:	QueryGraph: {
    15  			Tables:
    16  				TableSet{1}:unsharded_auto
    17  			}
    18  		},
    19  		Horizon {
    20  			Query: "select id from `user`"
    21  			Inner:	QueryGraph: {
    22  			Tables:
    23  				TableSet{2}:`user`
    24  			}
    25  		}
    26  	}
    27  }
    28  
    29  select id from unsharded union select id from unsharded_auto
    30  Horizon {
    31  	Query: "select id from unsharded union select id from unsharded_auto"
    32  	Inner:	Concatenate(distinct) {
    33  		Horizon {
    34  			Query: "select id from unsharded"
    35  			Inner:	QueryGraph: {
    36  			Tables:
    37  				TableSet{0}:unsharded
    38  			}
    39  		},
    40  		Horizon {
    41  			Query: "select id from unsharded_auto"
    42  			Inner:	QueryGraph: {
    43  			Tables:
    44  				TableSet{1}:unsharded_auto
    45  			}
    46  		}
    47  	}
    48  }
    49  
    50  select id from unsharded union all select id from unsharded_auto
    51  Horizon {
    52  	Query: "select id from unsharded union all select id from unsharded_auto"
    53  	Inner:	Concatenate {
    54  		Horizon {
    55  			Query: "select id from unsharded"
    56  			Inner:	QueryGraph: {
    57  			Tables:
    58  				TableSet{0}:unsharded
    59  			}
    60  		},
    61  		Horizon {
    62  			Query: "select id from unsharded_auto"
    63  			Inner:	QueryGraph: {
    64  			Tables:
    65  				TableSet{1}:unsharded_auto
    66  			}
    67  		}
    68  	}
    69  }
    70  
    71  (select id from unsharded union all select id from unsharded_auto limit 10) union select id from x order by id
    72  Horizon {
    73  	Query: "(select id from unsharded union all select id from unsharded_auto limit 10) union select id from x order by id asc"
    74  	Inner:	Concatenate(distinct) {
    75  		Horizon {
    76  			Query: "select id from unsharded"
    77  			Inner:	QueryGraph: {
    78  			Tables:
    79  				TableSet{0}:unsharded
    80  			}
    81  		},
    82  		Horizon {
    83  			Query: "select id from unsharded_auto"
    84  			Inner:	QueryGraph: {
    85  			Tables:
    86  				TableSet{1}:unsharded_auto
    87  			}
    88  		},
    89  		Horizon {
    90  			Query: "select id from x"
    91  			Inner:	QueryGraph: {
    92  			Tables:
    93  				TableSet{2}:x
    94  			}
    95  		},
    96  		order by id asc
    97  	}
    98  }
    99  
   100  (select id from unsharded union all select id from unsharded_auto) union all select id from x
   101  Horizon {
   102  	Query: "select id from unsharded union all select id from unsharded_auto union all select id from x"
   103  	Inner:	Concatenate {
   104  		Horizon {
   105  			Query: "select id from unsharded"
   106  			Inner:	QueryGraph: {
   107  			Tables:
   108  				TableSet{0}:unsharded
   109  			}
   110  		},
   111  		Horizon {
   112  			Query: "select id from unsharded_auto"
   113  			Inner:	QueryGraph: {
   114  			Tables:
   115  				TableSet{1}:unsharded_auto
   116  			}
   117  		},
   118  		Horizon {
   119  			Query: "select id from x"
   120  			Inner:	QueryGraph: {
   121  			Tables:
   122  				TableSet{2}:x
   123  			}
   124  		}
   125  	}
   126  }
   127  
   128  (select id from unsharded union select id from unsharded_auto) union select id from x
   129  Horizon {
   130  	Query: "select id from unsharded union select id from unsharded_auto union select id from x"
   131  	Inner:	Concatenate(distinct) {
   132  		Horizon {
   133  			Query: "select id from unsharded"
   134  			Inner:	QueryGraph: {
   135  			Tables:
   136  				TableSet{0}:unsharded
   137  			}
   138  		},
   139  		Horizon {
   140  			Query: "select id from unsharded_auto"
   141  			Inner:	QueryGraph: {
   142  			Tables:
   143  				TableSet{1}:unsharded_auto
   144  			}
   145  		},
   146  		Horizon {
   147  			Query: "select id from x"
   148  			Inner:	QueryGraph: {
   149  			Tables:
   150  				TableSet{2}:x
   151  			}
   152  		}
   153  	}
   154  }
   155  
   156  (select id from unsharded union select id from unsharded_auto) union all select id from x
   157  Horizon {
   158  	Query: "select id from unsharded union select id from unsharded_auto union all select id from x"
   159  	Inner:	Concatenate {
   160  		Concatenate(distinct) {
   161  			Horizon {
   162  				Query: "select id from unsharded"
   163  				Inner:	QueryGraph: {
   164  				Tables:
   165  					TableSet{0}:unsharded
   166  				}
   167  			},
   168  			Horizon {
   169  				Query: "select id from unsharded_auto"
   170  				Inner:	QueryGraph: {
   171  				Tables:
   172  					TableSet{1}:unsharded_auto
   173  				}
   174  			}
   175  		},
   176  		Horizon {
   177  			Query: "select id from x"
   178  			Inner:	QueryGraph: {
   179  			Tables:
   180  				TableSet{2}:x
   181  			}
   182  		}
   183  	}
   184  }
   185  
   186  select * from t
   187  Horizon {
   188  	Query: "select * from t"
   189  	Inner:	QueryGraph: {
   190  	Tables:
   191  		TableSet{0}:t
   192  	}
   193  }
   194  
   195  select t.c from t,y,z where t.c = y.c and (t.a = z.a or t.a = y.a) and 1 < 2
   196  Horizon {
   197  	Query: "select t.c from t, y, z where t.c = y.c and (t.a = z.a or t.a = y.a) and 1 < 2"
   198  	Inner:	QueryGraph: {
   199  	Tables:
   200  		TableSet{0}:t
   201  		TableSet{1}:y
   202  		TableSet{2}:z
   203  	JoinPredicates:
   204  		TableSet{0,1,2} - t.a = z.a or t.a = y.a
   205  		TableSet{0,1} - t.c = y.c
   206  	ForAll: 1 < 2
   207  	}
   208  }
   209  
   210  select t.c from t join y on t.id = y.t_id join z on t.id = z.t_id where t.name = 'foo' and y.col = 42 and z.baz = 101
   211  Horizon {
   212  	Query: "select t.c from t join y on t.id = y.t_id join z on t.id = z.t_id where t.`name` = 'foo' and y.col = 42 and z.baz = 101"
   213  	Inner:	QueryGraph: {
   214  	Tables:
   215  		TableSet{0}:t where t.`name` = 'foo'
   216  		TableSet{1}:y where y.col = 42
   217  		TableSet{2}:z where z.baz = 101
   218  	JoinPredicates:
   219  		TableSet{0,1} - t.id = y.t_id
   220  		TableSet{0,2} - t.id = z.t_id
   221  	}
   222  }
   223  
   224  select t.c from t,y,z where t.name = 'foo' and y.col = 42 and z.baz = 101 and t.id = y.t_id and t.id = z.t_id
   225  Horizon {
   226  	Query: "select t.c from t, y, z where t.`name` = 'foo' and y.col = 42 and z.baz = 101 and t.id = y.t_id and t.id = z.t_id"
   227  	Inner:	QueryGraph: {
   228  	Tables:
   229  		TableSet{0}:t where t.`name` = 'foo'
   230  		TableSet{1}:y where y.col = 42
   231  		TableSet{2}:z where z.baz = 101
   232  	JoinPredicates:
   233  		TableSet{0,1} - t.id = y.t_id
   234  		TableSet{0,2} - t.id = z.t_id
   235  	}
   236  }
   237  
   238  select 1 from t where '1' = 1 and 12 = '12'
   239  Horizon {
   240  	Query: "select 1 from t where '1' = 1 and 12 = '12'"
   241  	Inner:	QueryGraph: {
   242  	Tables:
   243  		TableSet{0}:t
   244  	ForAll: '1' = 1 and 12 = '12'
   245  	}
   246  }
   247  
   248  select 1 from t left join s on t.id = s.id
   249  Horizon {
   250  	Query: "select 1 from t left join s on t.id = s.id"
   251  	Inner:	OuterJoin: {
   252  		Inner: 	QueryGraph: {
   253  		Tables:
   254  			TableSet{0}:t
   255  		}
   256  		Outer: 	QueryGraph: {
   257  		Tables:
   258  			TableSet{1}:s
   259  		}
   260  		Predicate: t.id = s.id
   261  	}
   262  }
   263  
   264  select 1 from t join s on t.id = s.id and t.name = s.name
   265  Horizon {
   266  	Query: "select 1 from t join s on t.id = s.id and t.`name` = s.`name`"
   267  	Inner:	QueryGraph: {
   268  	Tables:
   269  		TableSet{0}:t
   270  		TableSet{1}:s
   271  	JoinPredicates:
   272  		TableSet{0,1} - t.id = s.id and t.`name` = s.`name`
   273  	}
   274  }
   275  
   276  select 1 from t left join s on t.id = s.id where t.name = 'Mister'
   277  Horizon {
   278  	Query: "select 1 from t left join s on t.id = s.id where t.`name` = 'Mister'"
   279  	Inner:	OuterJoin: {
   280  		Inner: 	QueryGraph: {
   281  		Tables:
   282  			TableSet{0}:t where t.`name` = 'Mister'
   283  		}
   284  		Outer: 	QueryGraph: {
   285  		Tables:
   286  			TableSet{1}:s
   287  		}
   288  		Predicate: t.id = s.id
   289  	}
   290  }
   291  
   292  select 1 from t right join s on t.id = s.id
   293  Horizon {
   294  	Query: "select 1 from t right join s on t.id = s.id"
   295  	Inner:	OuterJoin: {
   296  		Inner: 	QueryGraph: {
   297  		Tables:
   298  			TableSet{1}:s
   299  		}
   300  		Outer: 	QueryGraph: {
   301  		Tables:
   302  			TableSet{0}:t
   303  		}
   304  		Predicate: t.id = s.id
   305  	}
   306  }
   307  
   308  select 1 from (a left join b on a.id = b.id) join (c left join d on c.id = d.id) on a.id = c.id
   309  Horizon {
   310  	Query: "select 1 from (a left join b on a.id = b.id) join (c left join d on c.id = d.id) on a.id = c.id"
   311  	Inner:	Join: {
   312  		LHS: 	OuterJoin: {
   313  			Inner: 	QueryGraph: {
   314  			Tables:
   315  				TableSet{0}:a
   316  			}
   317  			Outer: 	QueryGraph: {
   318  			Tables:
   319  				TableSet{1}:b
   320  			}
   321  			Predicate: a.id = b.id
   322  		}
   323  		RHS: 	OuterJoin: {
   324  			Inner: 	QueryGraph: {
   325  			Tables:
   326  				TableSet{2}:c
   327  			}
   328  			Outer: 	QueryGraph: {
   329  			Tables:
   330  				TableSet{3}:d
   331  			}
   332  			Predicate: c.id = d.id
   333  		}
   334  		Predicate: a.id = c.id
   335  	}
   336  }
   337  
   338  select 1 from (select 42 as id from tbl) as t
   339  Horizon {
   340  	Query: "select 1 from (select 42 as id from tbl) as t"
   341  	Inner:	Derived t: {
   342  		Query: select 42 as id from tbl
   343  		Inner:	QueryGraph: {
   344  		Tables:
   345  			TableSet{0}:tbl
   346  		}
   347  	}
   348  }
   349  
   350  select 1 from (select id from tbl limit 10) as t join (select foo, count(*) from usr group by foo) as s on t.id = s.foo
   351  Horizon {
   352  	Query: "select 1 from (select id from tbl limit 10) as t join (select foo, count(*) from usr group by foo) as s on t.id = s.foo"
   353  	Inner:	Join: {
   354  		LHS: 	Derived t: {
   355  			Query: select id from tbl limit 10
   356  			Inner:	QueryGraph: {
   357  			Tables:
   358  				TableSet{0}:tbl
   359  			}
   360  		}
   361  		RHS: 	Derived s: {
   362  			Query: select foo, count(*) from usr group by foo
   363  			Inner:	QueryGraph: {
   364  			Tables:
   365  				TableSet{2}:usr
   366  			}
   367  		}
   368  		Predicate: t.id = s.foo
   369  	}
   370  }
   371  
   372  select (select 1) from t where exists (select 1) and id in (select 1)
   373  Horizon {
   374  	Query: "select (select 1 from dual) from t where exists (select 1 from dual) and id in (select 1 from dual)"
   375  	Inner:	SubQuery: {
   376  		SubQueries: [
   377  		{
   378  			Type: PulloutValue
   379  			Query: 	QueryGraph: {
   380  			Tables:
   381  				TableSet{1}:dual
   382  			}
   383  		}
   384  		{
   385  			Type: PulloutExists
   386  			Query: 	QueryGraph: {
   387  			Tables:
   388  				TableSet{2}:dual
   389  			}
   390  		}
   391  		{
   392  			Type: PulloutIn
   393  			Query: 	QueryGraph: {
   394  			Tables:
   395  				TableSet{3}:dual
   396  			}
   397  		}]
   398  		Outer: 	QueryGraph: {
   399  		Tables:
   400  			TableSet{0}:t where id in (select 1 from dual)
   401  		ForAll: exists (select 1 from dual)
   402  		}
   403  	}
   404  }
   405  
   406  select u.id from user u where u.id = (select id from user_extra where id = u.id)
   407  Horizon {
   408  	Query: "select u.id from `user` as u where u.id = (select id from user_extra where id = u.id)"
   409  	Inner:	SubQuery: {
   410  		SubQueries: [
   411  		{
   412  			Type: PulloutValue
   413  			Query: 	QueryGraph: {
   414  			Tables:
   415  				TableSet{1}:user_extra
   416  			JoinPredicates:
   417  				TableSet{0,1} - id = u.id
   418  			}
   419  		}]
   420  		Outer: 	QueryGraph: {
   421  		Tables:
   422  			TableSet{0}:`user` AS u where u.id = (select id from user_extra where id = u.id)
   423  		}
   424  	}
   425  }
   426  
   427  select id from user_index where id = :id
   428  Horizon {
   429  	Query: "select id from user_index where id = :id"
   430  	Inner:	Vindex: {
   431  		Name: user_index
   432  		Value: :id
   433  	}
   434  }
   435  
   436  select ui.id from user_index as ui join user as u where ui.id = 1 and ui.id = u.id
   437  Horizon {
   438  	Query: "select ui.id from user_index as ui join `user` as u where ui.id = 1 and ui.id = u.id"
   439  	Inner:	Join: {
   440  		LHS: 	Vindex: {
   441  			Name: user_index
   442  			Value: 1
   443  		}
   444  		RHS: 	QueryGraph: {
   445  		Tables:
   446  			TableSet{1}:`user` AS u
   447  		}
   448  		Predicate: ui.id = u.id
   449  	}
   450  }
   451  
   452  select u.id from (select id from user_index where id = 2) as u
   453  Horizon {
   454  	Query: "select u.id from (select id from user_index where id = 2) as u"
   455  	Inner:	Derived u: {
   456  		Query: select id from user_index where id = 2
   457  		Inner:	Vindex: {
   458  			Name: user_index
   459  			Value: 2
   460  		}
   461  	}
   462  }
   463  
   464  select 1 from a union select 2 from b
   465  Horizon {
   466  	Query: "select 1 from a union select 2 from b"
   467  	Inner:	Concatenate(distinct) {
   468  		Horizon {
   469  			Query: "select 1 from a"
   470  			Inner:	QueryGraph: {
   471  			Tables:
   472  				TableSet{0}:a
   473  			}
   474  		},
   475  		Horizon {
   476  			Query: "select 2 from b"
   477  			Inner:	QueryGraph: {
   478  			Tables:
   479  				TableSet{1}:b
   480  			}
   481  		}
   482  	}
   483  }
   484  
   485  select 1 from a union select 2 from b union select 3 from c
   486  Horizon {
   487  	Query: "select 1 from a union select 2 from b union select 3 from c"
   488  	Inner:	Concatenate(distinct) {
   489  		Horizon {
   490  			Query: "select 1 from a"
   491  			Inner:	QueryGraph: {
   492  			Tables:
   493  				TableSet{0}:a
   494  			}
   495  		},
   496  		Horizon {
   497  			Query: "select 2 from b"
   498  			Inner:	QueryGraph: {
   499  			Tables:
   500  				TableSet{1}:b
   501  			}
   502  		},
   503  		Horizon {
   504  			Query: "select 3 from c"
   505  			Inner:	QueryGraph: {
   506  			Tables:
   507  				TableSet{2}:c
   508  			}
   509  		}
   510  	}
   511  }
   512  
   513  select 1 from a union select 2 from b union select 3 from c union all select 4 from d
   514  Horizon {
   515  	Query: "select 1 from a union select 2 from b union select 3 from c union all select 4 from d"
   516  	Inner:	Concatenate {
   517  		Concatenate(distinct) {
   518  			Horizon {
   519  				Query: "select 1 from a"
   520  				Inner:	QueryGraph: {
   521  				Tables:
   522  					TableSet{0}:a
   523  				}
   524  			},
   525  			Horizon {
   526  				Query: "select 2 from b"
   527  				Inner:	QueryGraph: {
   528  				Tables:
   529  					TableSet{1}:b
   530  				}
   531  			},
   532  			Horizon {
   533  				Query: "select 3 from c"
   534  				Inner:	QueryGraph: {
   535  				Tables:
   536  					TableSet{2}:c
   537  				}
   538  			}
   539  		},
   540  		Horizon {
   541  			Query: "select 4 from d"
   542  			Inner:	QueryGraph: {
   543  			Tables:
   544  				TableSet{3}:d
   545  			}
   546  		}
   547  	}
   548  }
   549  
   550  select id from unsharded union select id from unsharded_auto order by id
   551  Horizon {
   552  	Query: "select id from unsharded union select id from unsharded_auto order by id asc"
   553  	Inner:	Concatenate(distinct) {
   554  		Horizon {
   555  			Query: "select id from unsharded"
   556  			Inner:	QueryGraph: {
   557  			Tables:
   558  				TableSet{0}:unsharded
   559  			}
   560  		},
   561  		Horizon {
   562  			Query: "select id from unsharded_auto"
   563  			Inner:	QueryGraph: {
   564  			Tables:
   565  				TableSet{1}:unsharded_auto
   566  			}
   567  		},
   568  		order by id asc
   569  	}
   570  }
   571  
   572  select id from user where exists(select user_id from user_extra where user_id = 3 and user_id < user.id)
   573  Horizon {
   574  	Query: "select id from `user` where exists (select user_id from user_extra where user_id = 3 and user_id < `user`.id)"
   575  	Inner:	SubQuery: {
   576  		SubQueries: [
   577  		{
   578  			Type: PulloutExists
   579  			Query: 	QueryGraph: {
   580  			Tables:
   581  				TableSet{1}:user_extra where user_id = 3
   582  			JoinPredicates:
   583  				TableSet{0,1} - user_id < `user`.id
   584  			}
   585  		}]
   586  		Outer: 	QueryGraph: {
   587  		Tables:
   588  			TableSet{0}:`user` where exists (select user_id from user_extra where user_id = 3 and user_id < `user`.id)
   589  		}
   590  	}
   591  }
   592  
   593  select ks.tbl.col from ks.tbl where ks.tbl.id = 1
   594  Horizon {
   595  	Query: "select ks.tbl.col from ks.tbl where tbl.id = 1"
   596  	Inner:	QueryGraph: {
   597  	Tables:
   598  		TableSet{0}:ks.tbl where tbl.id = 1
   599  	}
   600  }
   601  
   602  select 1 from ks.t join ks.y on ks.t.id = ks.y.t_id
   603  Horizon {
   604  	Query: "select 1 from ks.t join ks.y on t.id = y.t_id"
   605  	Inner:	QueryGraph: {
   606  	Tables:
   607  		TableSet{0}:ks.t
   608  		TableSet{1}:ks.y
   609  	JoinPredicates:
   610  		TableSet{0,1} - t.id = y.t_id
   611  	}
   612  }
   613  
   614  select 1 from ks.t left join ks.y on ks.t.id = ks.y.t_id
   615  Horizon {
   616  	Query: "select 1 from ks.t left join ks.y on t.id = y.t_id"
   617  	Inner:	OuterJoin: {
   618  		Inner: 	QueryGraph: {
   619  		Tables:
   620  			TableSet{0}:ks.t
   621  		}
   622  		Outer: 	QueryGraph: {
   623  		Tables:
   624  			TableSet{1}:ks.y
   625  		}
   626  		Predicate: t.id = y.t_id
   627  	}
   628  }