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  }