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 ]