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

     1  # Array constructors.
     2  
     3  eval
     4  ARRAY[]:::int[]
     5  ----
     6  ARRAY[]
     7  
     8  eval
     9  ARRAY[NULL]
    10  ----
    11  ARRAY[NULL]
    12  
    13  eval
    14  ARRAY[1, 2, 3]
    15  ----
    16  ARRAY[1,2,3]
    17  
    18  eval
    19  ARRAY['a', 'b', 'c']
    20  ----
    21  ARRAY['a','b','c']
    22  
    23  eval
    24  ARRAY[ARRAY[1, 2], ARRAY[2, 3]]
    25  ----
    26  ARRAY[ARRAY[1,2],ARRAY[2,3]]
    27  
    28  eval
    29  ARRAY[1, NULL]
    30  ----
    31  ARRAY[1,NULL]
    32  
    33  eval
    34  ARRAY(1, 2)
    35  ----
    36  ARRAY[1,2]
    37  
    38  # Array sizes.
    39  
    40  eval
    41  array_length(ARRAY[1, 2, 3], 1)
    42  ----
    43  3
    44  
    45  eval
    46  array_length(ARRAY[1, 2, 3], 2)
    47  ----
    48  NULL
    49  
    50  eval
    51  array_length(ARRAY[1, 2, 3], 0)
    52  ----
    53  NULL
    54  
    55  eval
    56  array_length(ARRAY[1, 2, 3], -10)
    57  ----
    58  NULL
    59  
    60  eval
    61  array_length(ARRAY[ARRAY[1, 2, 3], ARRAY[1, 2, 3]], 1)
    62  ----
    63  2
    64  
    65  eval
    66  array_length(ARRAY[ARRAY[1, 2, 3], ARRAY[1, 2, 3]], 2)
    67  ----
    68  3
    69  
    70  eval
    71  array_length(ARRAY[ARRAY[1, 2, 3], ARRAY[1, 2, 3]], 3)
    72  ----
    73  NULL
    74  
    75  eval
    76  array_lower(ARRAY[1, 2, 3], 1)
    77  ----
    78  1
    79  
    80  eval
    81  array_lower(ARRAY[1, 2, 3], 2)
    82  ----
    83  NULL
    84  
    85  eval
    86  array_lower(ARRAY[1, 2, 3], 0)
    87  ----
    88  NULL
    89  
    90  eval
    91  array_lower(ARRAY[1, 2, 3], -10)
    92  ----
    93  NULL
    94  
    95  eval
    96  array_lower(ARRAY[ARRAY[1, 2, 3], ARRAY[1, 2, 3]], 1)
    97  ----
    98  1
    99  
   100  eval
   101  array_lower(ARRAY[ARRAY[1, 2, 3], ARRAY[1, 2, 3]], 2)
   102  ----
   103  1
   104  
   105  eval
   106  array_lower(ARRAY[ARRAY[1, 2, 3], ARRAY[1, 2, 3]], 3)
   107  ----
   108  NULL
   109  
   110  eval
   111  array_upper(ARRAY[1, 2, 3], 1)
   112  ----
   113  3
   114  
   115  eval
   116  array_upper(ARRAY[1, 2, 3], 2)
   117  ----
   118  NULL
   119  
   120  eval
   121  array_upper(ARRAY[1, 2, 3], 0)
   122  ----
   123  NULL
   124  
   125  eval
   126  array_upper(ARRAY[1, 2, 3], -10)
   127  ----
   128  NULL
   129  
   130  eval
   131  array_upper(ARRAY[ARRAY[1, 2, 3], ARRAY[1, 2, 3]], 1)
   132  ----
   133  2
   134  
   135  eval
   136  array_upper(ARRAY[ARRAY[1, 2, 3], ARRAY[1, 2, 3]], 2)
   137  ----
   138  3
   139  
   140  eval
   141  array_upper(ARRAY[ARRAY[1, 2, 3], ARRAY[1, 2, 3]], 3)
   142  ----
   143  NULL
   144  
   145  # overlap, contains, contained by (&&, @>, <@)
   146  
   147  eval
   148  ARRAY[1,2,3] && ARRAY[0,5,6]
   149  ----
   150  false
   151  
   152  eval
   153  ARRAY[1,2] && ARRAY[0,2,6]
   154  ----
   155  true
   156  
   157  eval
   158  ARRAY[1,2,3,4] && ARRAY[4,1]
   159  ----
   160  true
   161  
   162  eval
   163  ARRAY[1,2,3,4] && ARRAY[]:::int[]
   164  ----
   165  false
   166  
   167  eval
   168  ARRAY[0] && ARRAY[0,NULL]
   169  ----
   170  true
   171  
   172  eval
   173  ARRAY[0,NULL] && ARRAY[0,NULL]
   174  ----
   175  true
   176  
   177  eval
   178  ARRAY[0,NULL] && ARRAY[1,NULL]
   179  ----
   180  false
   181  
   182  eval
   183  NULL && ARRAY[0]
   184  ----
   185  NULL
   186  
   187  eval
   188  ARRAY[0] && NULL
   189  ----
   190  NULL
   191  
   192  eval
   193  ARRAY[1,2,3] @> ARRAY[]:::int[]
   194  ----
   195  true
   196  
   197  eval
   198  ARRAY[1,2,3] @> ARRAY[3]
   199  ----
   200  true
   201  
   202  eval
   203  ARRAY[1,2,3] @> ARRAY[0]
   204  ----
   205  false
   206  
   207  eval
   208  ARRAY[1,2,3] @> ARRAY[1,2,3]
   209  ----
   210  true
   211  
   212  eval
   213  ARRAY[1,2,3] @> ARRAY[1,2,3,4]
   214  ----
   215  false
   216  
   217  eval
   218  ARRAY[1,2,3] @> ARRAY[1,NULL]
   219  ----
   220  false
   221  
   222  eval
   223  ARRAY[1,2,3,NULL] @> ARRAY[1,NULL]
   224  ----
   225  false
   226  
   227  eval
   228  ARRAY[1,2,3] <@ ARRAY[]:::int[]
   229  ----
   230  false
   231  
   232  eval
   233  ARRAY[1,2,3] <@ ARRAY[3]
   234  ----
   235  false
   236  
   237  eval
   238  ARRAY[1,2,3] <@ ARRAY[0]
   239  ----
   240  false
   241  
   242  eval
   243  ARRAY[1,2,3] <@ ARRAY[1,2,3]
   244  ----
   245  true
   246  
   247  eval
   248  ARRAY[1,2,3] <@ ARRAY[1,2,3,4]
   249  ----
   250  true
   251  
   252  eval
   253  ARRAY[1] <@ ARRAY[1,NULL]
   254  ----
   255  true
   256  
   257  eval
   258  ARRAY[1,NULL] <@ ARRAY[1,NULL]
   259  ----
   260  false
   261  
   262  eval
   263  ARRAY[1] IS DISTINCT FROM NULL
   264  ----
   265  true
   266  
   267  eval
   268  NULL IS DISTINCT FROM ARRAY[1]
   269  ----
   270  true
   271  
   272  eval
   273  'foo' COLLATE en IS DISTINCT FROM NULL
   274  ----
   275  true
   276  
   277  eval
   278  NULL IS DISTINCT FROM 'foo' COLLATE en
   279  ----
   280  true