github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/sem/tree/testdata/eval/is (about)

     1  # IS expressions.
     2  
     3  eval
     4  0 IS NULL
     5  ----
     6  false
     7  
     8  eval
     9  0 IS NOT NULL
    10  ----
    11  true
    12  
    13  eval
    14  NULL IS NULL
    15  ----
    16  true
    17  
    18  eval
    19  NULL IS NOT NULL
    20  ----
    21  false
    22  
    23  eval
    24  NULL IS UNKNOWN
    25  ----
    26  true
    27  
    28  eval
    29  NULL IS NOT UNKNOWN
    30  ----
    31  false
    32  
    33  eval
    34  TRUE IS TRUE
    35  ----
    36  true
    37  
    38  eval
    39  TRUE IS NOT TRUE
    40  ----
    41  false
    42  
    43  eval
    44  FALSE IS TRUE
    45  ----
    46  false
    47  
    48  eval
    49  FALSE IS NOT TRUE
    50  ----
    51  true
    52  
    53  eval
    54  NULL IS TRUE
    55  ----
    56  false
    57  
    58  eval
    59  NULL IS NOT TRUE
    60  ----
    61  true
    62  
    63  eval
    64  TRUE IS FALSE
    65  ----
    66  false
    67  
    68  eval
    69  TRUE IS NOT FALSE
    70  ----
    71  true
    72  
    73  eval
    74  FALSE IS FALSE
    75  ----
    76  true
    77  
    78  eval
    79  FALSE IS NOT FALSE
    80  ----
    81  false
    82  
    83  eval
    84  NULL IS FALSE
    85  ----
    86  false
    87  
    88  eval
    89  NULL IS NOT FALSE
    90  ----
    91  true
    92  
    93  # IS (NOT) DISTINCT FROM expressions.
    94  
    95  eval
    96  0 IS NOT DISTINCT FROM NULL
    97  ----
    98  false
    99  
   100  eval
   101  0 IS DISTINCT FROM NULL
   102  ----
   103  true
   104  
   105  eval
   106  NULL IS NOT DISTINCT FROM NULL
   107  ----
   108  true
   109  
   110  eval
   111  NULL IS DISTINCT FROM NULL
   112  ----
   113  false
   114  
   115  eval
   116  TRUE IS NOT DISTINCT FROM TRUE
   117  ----
   118  true
   119  
   120  eval
   121  TRUE IS DISTINCT FROM TRUE
   122  ----
   123  false
   124  
   125  eval
   126  FALSE IS NOT DISTINCT FROM TRUE
   127  ----
   128  false
   129  
   130  eval
   131  FALSE IS DISTINCT FROM TRUE
   132  ----
   133  true
   134  
   135  eval
   136  NULL IS NOT DISTINCT FROM TRUE
   137  ----
   138  false
   139  
   140  eval
   141  NULL IS DISTINCT FROM TRUE
   142  ----
   143  true
   144  
   145  eval
   146  TRUE IS NOT DISTINCT FROM FALSE
   147  ----
   148  false
   149  
   150  eval
   151  TRUE IS DISTINCT FROM FALSE
   152  ----
   153  true
   154  
   155  eval
   156  FALSE IS NOT DISTINCT FROM FALSE
   157  ----
   158  true
   159  
   160  eval
   161  FALSE IS DISTINCT FROM FALSE
   162  ----
   163  false
   164  
   165  eval
   166  NULL IS NOT DISTINCT FROM FALSE
   167  ----
   168  false
   169  
   170  eval
   171  NULL IS DISTINCT FROM FALSE
   172  ----
   173  true
   174  
   175  # IS OF expressions.
   176  
   177  eval
   178  TRUE IS OF (BOOL)
   179  ----
   180  true
   181  
   182  eval
   183  1 IS OF (INT)
   184  ----
   185  true
   186  
   187  eval
   188  1.0 IS OF (FLOAT)
   189  ----
   190  false
   191  
   192  eval
   193  1.0 IS OF (DECIMAL)
   194  ----
   195  true
   196  
   197  eval
   198  1.0::float IS OF (FLOAT)
   199  ----
   200  true
   201  
   202  eval
   203  1.0::decimal IS OF (DECIMAL)
   204  ----
   205  true
   206  
   207  eval
   208  'hello' IS OF (STRING)
   209  ----
   210  true
   211  
   212  eval
   213  'hello' IS OF (BYTES)
   214  ----
   215  false
   216  
   217  eval
   218  b'hello' IS OF (STRING)
   219  ----
   220  false
   221  
   222  eval
   223  b'hello' IS OF (BYTES)
   224  ----
   225  true
   226  
   227  eval
   228  ARRAY['hello']::STRING[] IS OF (STRING[])
   229  ----
   230  true
   231  
   232  eval
   233  ARRAY['hello']::STRING[] IS OF (INT[])
   234  ----
   235  false
   236  
   237  eval
   238  3::INT2 IS OF (INT2)
   239  ----
   240  true
   241  
   242  # TODO(justin): these two are currently incorrect, see #31404.
   243  
   244  eval
   245  3 IS OF (INT2)
   246  ----
   247  true
   248  
   249  eval
   250  3::INT4 IS OF (INT2)
   251  ----
   252  true
   253  
   254  #
   255  
   256  eval
   257  '2012-09-21'::date IS OF (DATE)
   258  ----
   259  true
   260  
   261  eval
   262  '12:00:00'::time IS OF (TIME)
   263  ----
   264  true
   265  
   266  eval
   267  '12:00:00'::timetz IS OF (TIMETZ)
   268  ----
   269  true
   270  
   271  eval
   272  '2010-09-28 12:00:00.1'::timestamp IS OF (TIMESTAMP)
   273  ----
   274  true
   275  
   276  eval
   277  '34h'::interval IS OF (INTERVAL)
   278  ----
   279  true
   280  
   281  eval
   282  'P1Y2M10DT2H29M'::interval IS OF (INTERVAL)
   283  ----
   284  true
   285  
   286  eval
   287  '1-2'::interval IS OF (INTERVAL)
   288  ----
   289  true
   290  
   291  eval
   292  '1-2 3'::interval IS OF (INTERVAL)
   293  ----
   294  true
   295  
   296  eval
   297  '2 4:09'::interval IS OF (INTERVAL)
   298  ----
   299  true
   300  
   301  eval
   302  '2 4:09:57'::interval IS OF (INTERVAL)
   303  ----
   304  true
   305  
   306  eval
   307  '1-2 4:09'::interval IS OF (INTERVAL)
   308  ----
   309  true
   310  
   311  eval
   312  '1-2 3 4:09'::interval IS OF (INTERVAL)
   313  ----
   314  true
   315  
   316  eval
   317  '1-2 4:09:55'::interval IS OF (INTERVAL)
   318  ----
   319  true
   320  
   321  eval
   322  '1-2 3 4:09:55'::interval IS OF (INTERVAL)
   323  ----
   324  true
   325  
   326  eval
   327  '1 hour 2 minutes'::interval IS OF (INTERVAL)
   328  ----
   329  true
   330  
   331  # #13716
   332  eval
   333  '1 HOUR 2 MINutES'::interval IS OF (INTERVAL)
   334  ----
   335  true
   336  
   337  eval
   338  1 IS OF (STRING)
   339  ----
   340  false
   341  
   342  eval
   343  1 IS OF (BOOL, INT)
   344  ----
   345  true
   346  
   347  eval
   348  1 IS NOT OF (INT)
   349  ----
   350  false
   351  
   352  eval
   353  1 IS NOT OF (STRING)
   354  ----
   355  true
   356  
   357  eval
   358  1 IS NOT OF (BOOL, INT)
   359  ----
   360  false
   361  
   362  # Tuple with no NULLS.
   363  
   364  eval
   365  (1, 1) IS NULL
   366  ----
   367  false
   368  
   369  eval
   370  (1, 1) IS NOT NULL
   371  ----
   372  true
   373  
   374  eval
   375  (1, (NULL, NULL)) IS NULL
   376  ----
   377  false
   378  
   379  eval
   380  (1, (NULL, NULL)) IS NOT NULL
   381  ----
   382  true
   383  
   384  eval
   385  (1, 1) IS NOT DISTINCT FROM NULL
   386  ----
   387  false
   388  
   389  eval
   390  (1, 1) IS DISTINCT FROM NULL
   391  ----
   392  true
   393  
   394  eval
   395  (1, (NULL, NULL)) IS NOT DISTINCT FROM NULL
   396  ----
   397  false
   398  
   399  eval
   400  (1, (NULL, NULL)) IS DISTINCT FROM NULL
   401  ----
   402  true
   403  
   404  eval
   405  NOT ((1, 1) IS NULL)
   406  ----
   407  true
   408  
   409  eval
   410  NOT ((1, 1) IS NOT NULL)
   411  ----
   412  false
   413  
   414  eval
   415  NOT ((1, 1) IS NOT DISTINCT FROM NULL)
   416  ----
   417  true
   418  
   419  eval
   420  NOT ((1, 1) IS DISTINCT FROM NULL)
   421  ----
   422  false
   423  
   424  # Tuple with some NULLS.
   425  
   426  eval
   427  (1, NULL) IS NULL
   428  ----
   429  false
   430  
   431  eval
   432  (1, NULL) IS NOT NULL
   433  ----
   434  false
   435  
   436  eval
   437  ((NULL, NULL), NULL) IS NULL
   438  ----
   439  false
   440  
   441  eval
   442  ((NULL, NULL), NULL) IS NOT NULL
   443  ----
   444  false
   445  
   446  eval
   447  (1, NULL) IS NOT DISTINCT FROM NULL
   448  ----
   449  false
   450  
   451  eval
   452  (1, NULL) IS DISTINCT FROM NULL
   453  ----
   454  true
   455  
   456  eval
   457  ((NULL, NULL), NULL) IS NOT DISTINCT FROM NULL
   458  ----
   459  false
   460  
   461  eval
   462  ((NULL, NULL), NULL) IS DISTINcT FROM NULL
   463  ----
   464  true
   465  
   466  eval
   467  NOT ((1, NULL) IS NULL)
   468  ----
   469  true
   470  
   471  eval
   472  NOT ((1, NULL) IS NOT NULL)
   473  ----
   474  true
   475  
   476  eval
   477  NOT ((1, NULL) IS NOT DISTINCT FROM NULL)
   478  ----
   479  true
   480  
   481  eval
   482  NOT ((1, NULL) IS DISTINCT FROM NULL)
   483  ----
   484  false
   485  
   486  # Tuple with all NULLS.
   487  
   488  eval
   489  (NULL, NULL) IS NULL
   490  ----
   491  true
   492  
   493  eval
   494  (NULL, NULL) IS NOT NULL
   495  ----
   496  false
   497  
   498  eval
   499  (NULL, NULL) IS NOT DISTINCT FROM NULL
   500  ----
   501  false
   502  
   503  eval
   504  (NULL, NULL) IS DISTINCT FROM NULL
   505  ----
   506  true
   507  
   508  eval
   509  NOT ((NULL, NULL) IS NULL)
   510  ----
   511  false
   512  
   513  eval
   514  NOT ((NULL, NULL) IS NOT NULL)
   515  ----
   516  true
   517  
   518  eval
   519  NOT ((NULL, NULL) IS NOT DISTINCT FROM NULL)
   520  ----
   521  true
   522  
   523  eval
   524  NOT ((NULL, NULL) IS DISTINCT FROM NULL)
   525  ----
   526  false
   527  
   528  # Empty tuples.
   529  
   530  eval
   531  () IS NULL
   532  ----
   533  true
   534  
   535  eval
   536  () IS NOT NULL
   537  ----
   538  true