vitess.io/vitess@v0.16.2/go/vt/vtgate/planbuilder/testdata/vschemas/schema.json (about) 1 { 2 "routing_rules": { 3 "rules": [ 4 { 5 "from_table": "route1", 6 "to_tables": [ 7 "user.user" 8 ] 9 }, 10 { 11 "from_table": "route2", 12 "to_tables": [ 13 "main.unsharded" 14 ] 15 }, 16 { 17 "from_table": "second_user.user", 18 "to_tables": [ 19 "user.user" 20 ] 21 }, 22 { 23 "from_table": "second_user.foo", 24 "to_tables": [ 25 "user.user" 26 ] 27 }, 28 { 29 "from_table": "primary_redirect@primary", 30 "to_tables": [ 31 "user.user" 32 ] 33 }, 34 { 35 "from_table": "bad_table", 36 "to_tables": [ 37 "noks.noks" 38 ] 39 }, 40 { 41 "from_table": "disabled", 42 "to_tables": [] 43 }, 44 { 45 "from_table": "user.rerouted_ref", 46 "to_tables": ["user.ref"] 47 } 48 ] 49 }, 50 "keyspaces": { 51 "user": { 52 "sharded": true, 53 "vindexes": { 54 "user_index": { 55 "type": "hash_test", 56 "owner": "user" 57 }, 58 "kid_index": { 59 "type": "hash_test", 60 "owner": "multicolvin" 61 }, 62 "user_md5_index": { 63 "type": "unicode_loose_md5" 64 }, 65 "music_user_map": { 66 "type": "lookup_test", 67 "owner": "music" 68 }, 69 "cola_map": { 70 "type": "lookup_test", 71 "owner": "multicolvin" 72 }, 73 "colb_colc_map": { 74 "type": "lookup_test", 75 "owner": "multicolvin" 76 }, 77 "cola_kid_map": { 78 "type": "lookup_test", 79 "owner": "overlap_vindex" 80 }, 81 "name_user_map": { 82 "type": "name_lkp_test", 83 "owner": "user", 84 "params": { 85 "table": "name_user_vdx", 86 "from": "name", 87 "to": "keyspace_id" 88 } 89 }, 90 "email_user_map": { 91 "type": "lookup_test", 92 "owner": "user_metadata" 93 }, 94 "address_user_map": { 95 "type": "lookup_test", 96 "owner": "user_metadata" 97 }, 98 "costly_map": { 99 "type": "costly", 100 "owner": "user" 101 }, 102 "hash_dup": { 103 "type": "hash_test", 104 "owner": "user" 105 }, 106 "vindex1": { 107 "type": "hash_test", 108 "owner": "samecolvin" 109 }, 110 "vindex2": { 111 "type": "lookup_test", 112 "owner": "samecolvin" 113 }, 114 "cfc": { 115 "type": "cfc" 116 }, 117 "multicolIdx": { 118 "type": "multiCol_test" 119 }, 120 "colc_map": { 121 "type": "lookup_test", 122 "owner": "multicol_tbl" 123 }, 124 "name_muticoltbl_map": { 125 "type": "name_lkp_test", 126 "owner": "multicol_tbl" 127 } 128 }, 129 "tables": { 130 "user": { 131 "column_vindexes": [ 132 { 133 "column": "Id", 134 "name": "user_index" 135 }, 136 { 137 "column": "Name", 138 "name": "name_user_map" 139 }, 140 { 141 "column": "Costly", 142 "name": "costly_map" 143 } 144 ], 145 "auto_increment": { 146 "column": "id", 147 "sequence": "seq" 148 }, 149 "columns": [ 150 { 151 "name": "col", 152 "type": "INT16" 153 }, 154 { 155 "name": "predef1" 156 }, 157 { 158 "name": "predef2" 159 }, 160 { 161 "name": "textcol1", 162 "type": "VARCHAR" 163 }, 164 { 165 "name": "intcol", 166 "type": "INT16" 167 }, 168 { 169 "name": "textcol2", 170 "type": "VARCHAR" 171 } 172 ] 173 }, 174 "user_metadata": { 175 "column_vindexes": [ 176 { 177 "column": "user_id", 178 "name": "user_index" 179 }, 180 { 181 "column": "email", 182 "name": "email_user_map" 183 }, 184 { 185 "column": "address", 186 "name": "address_user_map" 187 }, 188 { 189 "column": "md5", 190 "name": "user_md5_index" 191 } 192 ] 193 }, 194 "user_extra": { 195 "column_vindexes": [ 196 { 197 "column": "user_id", 198 "name": "user_index" 199 } 200 ], 201 "auto_increment": { 202 "column": "extra_id", 203 "sequence": "seq" 204 }, 205 "columns": [ 206 { 207 "name": "col", 208 "type": "INT16" 209 } 210 ] 211 }, 212 "music": { 213 "column_vindexes": [ 214 { 215 "column": "user_id", 216 "name": "user_index" 217 }, 218 { 219 "column": "id", 220 "name": "music_user_map" 221 } 222 ] 223 }, 224 "authoritative": { 225 "column_vindexes": [ 226 { 227 "column": "user_id", 228 "name": "user_index" 229 } 230 ], 231 "columns": [ 232 { 233 "name": "user_id" 234 }, 235 { 236 "name": "col1", 237 "type": "VARCHAR" 238 }, 239 { 240 "name": "col2" 241 } 242 ], 243 "column_list_authoritative": true 244 }, 245 "samecolvin": { 246 "column_vindexes": [ 247 { 248 "column": "col", 249 "name": "vindex1" 250 }, 251 { 252 "column": "col", 253 "name": "vindex2" 254 } 255 ], 256 "columns": [ 257 { 258 "name": "col" 259 } 260 ], 261 "column_list_authoritative": true 262 }, 263 "multicolvin": { 264 "column_vindexes": [ 265 { 266 "column": "kid", 267 "name": "kid_index" 268 }, 269 { 270 "column": "column_a", 271 "name": "cola_map" 272 }, 273 { 274 "columns": [ 275 "column_b", 276 "column_c" 277 ], 278 "name": "colb_colc_map" 279 } 280 ] 281 }, 282 "overlap_vindex": { 283 "column_vindexes": [ 284 { 285 "column": "kid", 286 "name": "kid_index" 287 }, 288 { 289 "columns": [ 290 "column_a", 291 "kid" 292 ], 293 "name": "cola_kid_map" 294 } 295 ] 296 }, 297 "music_extra": { 298 "column_vindexes": [ 299 { 300 "column": "user_id", 301 "name": "user_index" 302 }, 303 { 304 "column": "music_id", 305 "name": "music_user_map" 306 } 307 ] 308 }, 309 "ref": { 310 "type": "reference" 311 }, 312 "ambiguous_ref_with_source": { 313 "type": "reference", 314 "source": "main.ambiguous_ref_with_source" 315 }, 316 "ref_with_source": { 317 "type": "reference", 318 "source": "main.ref_in_source" 319 }, 320 "rerouted_ref": { 321 "type": "reference", 322 "source": "main.rerouted_ref" 323 }, 324 "pin_test": { 325 "pinned": "80" 326 }, 327 "weird`name": { 328 "column_vindexes": [ 329 { 330 "column": "a`b*c", 331 "name": "user_index" 332 } 333 ] 334 }, 335 "cfc_vindex_col": { 336 "column_vindexes": [ 337 { 338 "column": "c1", 339 "name": "cfc" 340 } 341 ], 342 "columns": [ 343 { 344 "name": "c1", 345 "type": "VARCHAR" 346 }, 347 { 348 "name": "c2", 349 "type": "VARCHAR" 350 } 351 ] 352 }, 353 "multicol_tbl": { 354 "column_vindexes": [ 355 { 356 "columns": [ 357 "cola", 358 "colb" 359 ], 360 "name": "multicolIdx" 361 }, 362 { 363 "column": "colc", 364 "name": "colc_map" 365 }, 366 { 367 "column": "name", 368 "name": "name_muticoltbl_map" 369 } 370 ] 371 }, 372 "name_user_vdx": { 373 "column_vindexes": [ 374 { 375 "column": "name", 376 "name": "user_index" 377 } 378 ] 379 } 380 } 381 }, 382 "second_user": { 383 "sharded": true, 384 "vindexes": { 385 "hash_dup": { 386 "type": "hash_test", 387 "owner": "user" 388 } 389 }, 390 "tables": { 391 } 392 }, 393 "zlookup_unique": { 394 "sharded": true, 395 "vindexes": { 396 "hash": { 397 "type": "hash" 398 }, 399 "xxhash": { 400 "type": "xxhash" 401 }, 402 "lookup_t1": { 403 "type": "lookup_unique", 404 "params": { 405 "from": "c2", 406 "table": "targetkeyspace.lookup_t1_backing", 407 "to": "keyspace_id", 408 "write_only": "true" 409 }, 410 "owner": "t1" 411 }, 412 "lookup_t1_2": { 413 "type": "lookup_unique", 414 "params": { 415 "from": "c3", 416 "table": "targetkeyspace.lookup_t1_2_backing", 417 "to": "keyspace_id" 418 }, 419 "owner": "t1" 420 } 421 }, 422 "tables": { 423 "t1": { 424 "columnVindexes": [ 425 { 426 "column": "c1", 427 "name": "xxhash" 428 }, 429 { 430 "column": "c2", 431 "name": "lookup_t1" 432 }, 433 { 434 "column": "c3", 435 "name": "lookup_t1_2" 436 } 437 ] 438 } 439 } 440 }, 441 "main": { 442 "tables": { 443 "unsharded": { 444 "columns": [ 445 { 446 "name": "predef1" 447 }, 448 { 449 "name": "predef3" 450 } 451 ] 452 }, 453 "unsharded_a": {}, 454 "unsharded_b": {}, 455 "unsharded_auto": { 456 "auto_increment": { 457 "column": "id", 458 "sequence": "seq" 459 } 460 }, 461 "unsharded_authoritative": { 462 "columns": [ 463 { 464 "name": "col1" 465 }, 466 { 467 "name": "col2" 468 } 469 ], 470 "auto_increment": { 471 "column": "col1", 472 "sequence": "seq" 473 }, 474 "column_list_authoritative": true 475 }, 476 "seq": { 477 "type": "sequence" 478 }, 479 "unsharded_ref": { 480 "type": "reference" 481 }, 482 "ambiguous_ref_with_source": { 483 "type": "reference" 484 }, 485 "ref_in_source": { 486 "type": "reference" 487 }, 488 "rerouted_ref": { 489 "type": "reference" 490 } 491 } 492 }, 493 "main_2": { 494 "tables": { 495 "unsharded_tab": { 496 "columns": [ 497 { 498 "name": "predef1" 499 }, 500 { 501 "name": "predef3" 502 } 503 ] 504 } 505 } 506 } 507 } 508 }