github.com/cockroachdb/cockroach@v20.2.0-alpha.1+incompatible/pkg/sql/opt/optbuilder/testdata/sequence (about)

     1  exec-ddl
     2  CREATE SEQUENCE x
     3  ----
     4  
     5  exec-ddl
     6  CREATE SEQUENCE y
     7  ----
     8  
     9  build
    10  SELECT * FROM x
    11  ----
    12  sequence-select x
    13   └── columns: last_value:1!null log_cnt:2!null is_called:3!null
    14  
    15  build
    16  SELECT z.last_value FROM x AS z
    17  ----
    18  project
    19   ├── columns: last_value:1!null
    20   └── sequence-select x
    21        └── columns: last_value:1!null log_cnt:2!null is_called:3!null
    22  
    23  build
    24  SELECT last_value FROM x
    25  ----
    26  project
    27   ├── columns: last_value:1!null
    28   └── sequence-select x
    29        └── columns: last_value:1!null log_cnt:2!null is_called:3!null
    30  
    31  build
    32  SELECT log_cnt FROM x
    33  ----
    34  project
    35   ├── columns: log_cnt:2!null
    36   └── sequence-select x
    37        └── columns: last_value:1!null log_cnt:2!null is_called:3!null
    38  
    39  # Multiple sequences in a query.
    40  build
    41  (SELECT * FROM x) UNION (SELECT * FROM y)
    42  ----
    43  union
    44   ├── columns: last_value:7!null log_cnt:8!null is_called:9!null
    45   ├── left columns: last_value:1 log_cnt:2 is_called:3
    46   ├── right columns: last_value:4 log_cnt:5 is_called:6
    47   ├── sequence-select x
    48   │    └── columns: last_value:1!null log_cnt:2!null is_called:3!null
    49   └── sequence-select y
    50        └── columns: last_value:4!null log_cnt:5!null is_called:6!null
    51  
    52  # Sequences occurring multiple times in a query.
    53  build
    54  (SELECT * FROM x)
    55  EXCEPT (SELECT * FROM x)
    56  EXCEPT (SELECT * FROM y)
    57  EXCEPT (SELECT * FROM x)
    58  EXCEPT (SELECT * FROM y)
    59  ----
    60  except
    61   ├── columns: last_value:1!null log_cnt:2!null is_called:3!null
    62   ├── left columns: last_value:1!null log_cnt:2!null is_called:3!null
    63   ├── right columns: last_value:13 log_cnt:14 is_called:15
    64   ├── except
    65   │    ├── columns: last_value:1!null log_cnt:2!null is_called:3!null
    66   │    ├── left columns: last_value:1!null log_cnt:2!null is_called:3!null
    67   │    ├── right columns: last_value:10 log_cnt:11 is_called:12
    68   │    ├── except
    69   │    │    ├── columns: last_value:1!null log_cnt:2!null is_called:3!null
    70   │    │    ├── left columns: last_value:1!null log_cnt:2!null is_called:3!null
    71   │    │    ├── right columns: last_value:7 log_cnt:8 is_called:9
    72   │    │    ├── except
    73   │    │    │    ├── columns: last_value:1!null log_cnt:2!null is_called:3!null
    74   │    │    │    ├── left columns: last_value:1!null log_cnt:2!null is_called:3!null
    75   │    │    │    ├── right columns: last_value:4 log_cnt:5 is_called:6
    76   │    │    │    ├── sequence-select x
    77   │    │    │    │    └── columns: last_value:1!null log_cnt:2!null is_called:3!null
    78   │    │    │    └── sequence-select x
    79   │    │    │         └── columns: last_value:4!null log_cnt:5!null is_called:6!null
    80   │    │    └── sequence-select y
    81   │    │         └── columns: last_value:7!null log_cnt:8!null is_called:9!null
    82   │    └── sequence-select x
    83   │         └── columns: last_value:10!null log_cnt:11!null is_called:12!null
    84   └── sequence-select y
    85        └── columns: last_value:13!null log_cnt:14!null is_called:15!null
    86  
    87  # Ensure index flags are ignored.
    88  build
    89  SELECT * FROM x@primary
    90  ----
    91  sequence-select x
    92   └── columns: last_value:1!null log_cnt:2!null is_called:3!null
    93  
    94  build
    95  SELECT * FROM x@foobar
    96  ----
    97  sequence-select x
    98   └── columns: last_value:1!null log_cnt:2!null is_called:3!null
    99  
   100  # Ordinal refs with a sequence.
   101  build
   102  SELECT @1 FROM x
   103  ----
   104  project
   105   ├── columns: "?column?":4!null
   106   ├── sequence-select x
   107   │    └── columns: last_value:1!null log_cnt:2!null is_called:3!null
   108   └── projections
   109        └── last_value:1 [as="?column?":4]
   110  
   111  # Check a query with an extra operator.
   112  build
   113  SELECT * FROM x WHERE last_value = 0
   114  ----
   115  select
   116   ├── columns: last_value:1!null log_cnt:2!null is_called:3!null
   117   ├── sequence-select x
   118   │    └── columns: last_value:1!null log_cnt:2!null is_called:3!null
   119   └── filters
   120        └── last_value:1 = 0
   121  
   122  build
   123  INSERT INTO x VALUES (0, 0, false)
   124  ----
   125  error (42809): "x" is not a table