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

     1  [
     2    {
     3      "comment": "get_lock from dual",
     4      "query": "select get_lock('xyz', 10) from dual",
     5      "v3-plan": {
     6        "QueryType": "SELECT",
     7        "Original": "select get_lock('xyz', 10) from dual",
     8        "Instructions": {
     9          "OperatorType": "Lock",
    10          "Keyspace": {
    11            "Name": "main",
    12            "Sharded": false
    13          },
    14          "TargetDestination": "KeyspaceID(00)",
    15          "FieldQuery": "select get_lock('xyz', 10) from dual where 1 != 1",
    16          "lock_func": [
    17            "get_lock('xyz', 10)"
    18          ]
    19        }
    20      },
    21      "gen4-plan": {
    22        "QueryType": "SELECT",
    23        "Original": "select get_lock('xyz', 10) from dual",
    24        "Instructions": {
    25          "OperatorType": "Lock",
    26          "Keyspace": {
    27            "Name": "main",
    28            "Sharded": false
    29          },
    30          "TargetDestination": "KeyspaceID(00)",
    31          "FieldQuery": "select get_lock('xyz', 10) from dual where 1 != 1",
    32          "lock_func": [
    33            "get_lock('xyz', 10)"
    34          ]
    35        },
    36        "TablesUsed": [
    37          "main.dual"
    38        ]
    39      }
    40    },
    41    {
    42      "comment": "is_free_lock from dual",
    43      "query": "select is_free_lock('xyz') from dual",
    44      "v3-plan": {
    45        "QueryType": "SELECT",
    46        "Original": "select is_free_lock('xyz') from dual",
    47        "Instructions": {
    48          "OperatorType": "Lock",
    49          "Keyspace": {
    50            "Name": "main",
    51            "Sharded": false
    52          },
    53          "TargetDestination": "KeyspaceID(00)",
    54          "FieldQuery": "select is_free_lock('xyz') from dual where 1 != 1",
    55          "lock_func": [
    56            "is_free_lock('xyz')"
    57          ]
    58        }
    59      },
    60      "gen4-plan": {
    61        "QueryType": "SELECT",
    62        "Original": "select is_free_lock('xyz') from dual",
    63        "Instructions": {
    64          "OperatorType": "Lock",
    65          "Keyspace": {
    66            "Name": "main",
    67            "Sharded": false
    68          },
    69          "TargetDestination": "KeyspaceID(00)",
    70          "FieldQuery": "select is_free_lock('xyz') from dual where 1 != 1",
    71          "lock_func": [
    72            "is_free_lock('xyz')"
    73          ]
    74        },
    75        "TablesUsed": [
    76          "main.dual"
    77        ]
    78      }
    79    },
    80    {
    81      "comment": "get_lock from dual prepare query",
    82      "query": "select get_lock(?, ?)",
    83      "v3-plan": {
    84        "QueryType": "SELECT",
    85        "Original": "select get_lock(?, ?)",
    86        "Instructions": {
    87          "OperatorType": "Lock",
    88          "Keyspace": {
    89            "Name": "main",
    90            "Sharded": false
    91          },
    92          "TargetDestination": "KeyspaceID(00)",
    93          "FieldQuery": "select get_lock(:v1, :v2) from dual where 1 != 1",
    94          "lock_func": [
    95            "get_lock(:v1, :v2)"
    96          ]
    97        }
    98      },
    99      "gen4-plan": {
   100        "QueryType": "SELECT",
   101        "Original": "select get_lock(?, ?)",
   102        "Instructions": {
   103          "OperatorType": "Lock",
   104          "Keyspace": {
   105            "Name": "main",
   106            "Sharded": false
   107          },
   108          "TargetDestination": "KeyspaceID(00)",
   109          "FieldQuery": "select get_lock(:v1, :v2) from dual where 1 != 1",
   110          "lock_func": [
   111            "get_lock(:v1, :v2)"
   112          ]
   113        },
   114        "TablesUsed": [
   115          "main.dual"
   116        ]
   117      }
   118    },
   119    {
   120      "comment": "lock tables read",
   121      "query": "lock tables t as x read local",
   122      "plan": {
   123        "QueryType": "LOCK_TABLES",
   124        "Original": "lock tables t as x read local",
   125        "Instructions": {
   126          "OperatorType": "Rows"
   127        }
   128      }
   129    },
   130    {
   131      "comment": "lock tables write",
   132      "query": "lock tables t low_priority write",
   133      "plan": {
   134        "QueryType": "LOCK_TABLES",
   135        "Original": "lock tables t low_priority write",
   136        "Instructions": {
   137          "OperatorType": "Rows"
   138        }
   139      }
   140    },
   141    {
   142      "comment": "unlock tables",
   143      "query": "unlock tables",
   144      "plan": {
   145        "QueryType": "UNLOCK_TABLES",
   146        "Original": "unlock tables",
   147        "Instructions": {
   148          "OperatorType": "Rows"
   149        }
   150      }
   151    },
   152    {
   153      "comment": "multiple lock functions",
   154      "query": "select get_lock('xyz', 10), is_free_lock('abc') from dual",
   155      "v3-plan": {
   156        "QueryType": "SELECT",
   157        "Original": "select get_lock('xyz', 10), is_free_lock('abc') from dual",
   158        "Instructions": {
   159          "OperatorType": "Lock",
   160          "Keyspace": {
   161            "Name": "main",
   162            "Sharded": false
   163          },
   164          "TargetDestination": "KeyspaceID(00)",
   165          "FieldQuery": "select get_lock('xyz', 10), is_free_lock('abc') from dual where 1 != 1",
   166          "lock_func": [
   167            "get_lock('xyz', 10)",
   168            "is_free_lock('abc')"
   169          ]
   170        }
   171      },
   172      "gen4-plan": {
   173        "QueryType": "SELECT",
   174        "Original": "select get_lock('xyz', 10), is_free_lock('abc') from dual",
   175        "Instructions": {
   176          "OperatorType": "Lock",
   177          "Keyspace": {
   178            "Name": "main",
   179            "Sharded": false
   180          },
   181          "TargetDestination": "KeyspaceID(00)",
   182          "FieldQuery": "select get_lock('xyz', 10), is_free_lock('abc') from dual where 1 != 1",
   183          "lock_func": [
   184            "get_lock('xyz', 10)",
   185            "is_free_lock('abc')"
   186          ]
   187        },
   188        "TablesUsed": [
   189          "main.dual"
   190        ]
   191      }
   192    }
   193  ]