vitess.io/vitess@v0.16.2/go/vt/vtgate/planbuilder/testdata/symtab_cases.json (about)

     1  [
     2    {
     3      "comment": "Tests in this file are for testing symtab functionality\n#\n# Column names need not be qualified if they are predefined in vschema and unambiguous.",
     4      "query": "select predef2, predef3 from user join unsharded on predef2 = predef3",
     5      "v3-plan": {
     6        "QueryType": "SELECT",
     7        "Original": "select predef2, predef3 from user join unsharded on predef2 = predef3",
     8        "Instructions": {
     9          "OperatorType": "Join",
    10          "Variant": "Join",
    11          "JoinColumnIndexes": "L:0,R:0",
    12          "JoinVars": {
    13            "predef2": 0
    14          },
    15          "TableName": "`user`_unsharded",
    16          "Inputs": [
    17            {
    18              "OperatorType": "Route",
    19              "Variant": "Scatter",
    20              "Keyspace": {
    21                "Name": "user",
    22                "Sharded": true
    23              },
    24              "FieldQuery": "select predef2 from `user` where 1 != 1",
    25              "Query": "select predef2 from `user`",
    26              "Table": "`user`"
    27            },
    28            {
    29              "OperatorType": "Route",
    30              "Variant": "Unsharded",
    31              "Keyspace": {
    32                "Name": "main",
    33                "Sharded": false
    34              },
    35              "FieldQuery": "select predef3 from unsharded where 1 != 1",
    36              "Query": "select predef3 from unsharded where predef3 = :predef2",
    37              "Table": "unsharded"
    38            }
    39          ]
    40        }
    41      },
    42      "gen4-plan": {
    43        "QueryType": "SELECT",
    44        "Original": "select predef2, predef3 from user join unsharded on predef2 = predef3",
    45        "Instructions": {
    46          "OperatorType": "Join",
    47          "Variant": "Join",
    48          "JoinColumnIndexes": "L:0,R:0",
    49          "JoinVars": {
    50            "predef2": 0
    51          },
    52          "TableName": "`user`_unsharded",
    53          "Inputs": [
    54            {
    55              "OperatorType": "Route",
    56              "Variant": "Scatter",
    57              "Keyspace": {
    58                "Name": "user",
    59                "Sharded": true
    60              },
    61              "FieldQuery": "select predef2 from `user` where 1 != 1",
    62              "Query": "select predef2 from `user`",
    63              "Table": "`user`"
    64            },
    65            {
    66              "OperatorType": "Route",
    67              "Variant": "Unsharded",
    68              "Keyspace": {
    69                "Name": "main",
    70                "Sharded": false
    71              },
    72              "FieldQuery": "select predef3 from unsharded where 1 != 1",
    73              "Query": "select predef3 from unsharded where predef3 = :predef2",
    74              "Table": "unsharded"
    75            }
    76          ]
    77        },
    78        "TablesUsed": [
    79          "main.unsharded",
    80          "user.user"
    81        ]
    82      }
    83    },
    84    {
    85      "comment": "predef1 is in both user and unsharded. So, it's ambiguous.",
    86      "query": "select predef1, predef3 from user join unsharded on predef1 = predef3",
    87      "v3-plan": "VT03019: symbol predef1 not found",
    88      "gen4-plan": "Column 'predef1' in field list is ambiguous"
    89    }
    90  ]