github.com/hasnat/dolt/go@v0.0.0-20210628190320-9eb5d843fbb7/libraries/doltcore/sqle/altertests/modify_bit1_test.go (about)

     1  // Copyright 2021 Dolthub, Inc.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  package altertests
    16  
    17  import (
    18  	"testing"
    19  )
    20  
    21  func TestModifyTypeBit1(t *testing.T) {
    22  	SkipByDefaultInCI(t)
    23  	tests := []ModifyTypeTest{
    24  		{
    25  			"BIT(1)",
    26  			"TINYINT",
    27  			"(0,0)",
    28  			[]interface{}{int64(0)},
    29  			false,
    30  		},
    31  		{
    32  			"BIT(1)",
    33  			"SMALLINT",
    34  			"(0,0)",
    35  			[]interface{}{int64(0)},
    36  			false,
    37  		},
    38  		{
    39  			"BIT(1)",
    40  			"MEDIUMINT",
    41  			"(0,0)",
    42  			[]interface{}{int64(0)},
    43  			false,
    44  		},
    45  		{
    46  			"BIT(1)",
    47  			"INT",
    48  			"(0,0)",
    49  			[]interface{}{int64(0)},
    50  			false,
    51  		},
    52  		{
    53  			"BIT(1)",
    54  			"BIGINT",
    55  			"(0,0)",
    56  			[]interface{}{int64(0)},
    57  			false,
    58  		},
    59  		{
    60  			"BIT(1)",
    61  			"TINYINT UNSIGNED",
    62  			"(0,0)",
    63  			[]interface{}{uint64(0)},
    64  			false,
    65  		},
    66  		{
    67  			"BIT(1)",
    68  			"SMALLINT UNSIGNED",
    69  			"(0,0)",
    70  			[]interface{}{uint64(0)},
    71  			false,
    72  		},
    73  		{
    74  			"BIT(1)",
    75  			"MEDIUMINT UNSIGNED",
    76  			"(0,0)",
    77  			[]interface{}{uint64(0)},
    78  			false,
    79  		},
    80  		{
    81  			"BIT(1)",
    82  			"INT UNSIGNED",
    83  			"(0,0)",
    84  			[]interface{}{uint64(0)},
    85  			false,
    86  		},
    87  		{
    88  			"BIT(1)",
    89  			"BIGINT UNSIGNED",
    90  			"(0,0)",
    91  			[]interface{}{uint64(0)},
    92  			false,
    93  		},
    94  		{
    95  			"BIT(1)",
    96  			"FLOAT",
    97  			"(0,0)",
    98  			[]interface{}{float64(0)},
    99  			false,
   100  		},
   101  		{
   102  			"BIT(1)",
   103  			"DOUBLE",
   104  			"(0,0)",
   105  			[]interface{}{float64(0)},
   106  			false,
   107  		},
   108  		{
   109  			"BIT(1)",
   110  			"DECIMAL(1,0)",
   111  			"(0,0)",
   112  			[]interface{}{"0"},
   113  			false,
   114  		},
   115  		{
   116  			"BIT(1)",
   117  			"DECIMAL(15,0)",
   118  			"(0,0)",
   119  			[]interface{}{"0"},
   120  			false,
   121  		},
   122  		{
   123  			"BIT(1)",
   124  			"DECIMAL(30,0)",
   125  			"(0,0)",
   126  			[]interface{}{"0"},
   127  			false,
   128  		},
   129  		{
   130  			"BIT(1)",
   131  			"DECIMAL(65,0)",
   132  			"(0,0)",
   133  			[]interface{}{"0"},
   134  			false,
   135  		},
   136  		{
   137  			"BIT(1)",
   138  			"DECIMAL(1,1)",
   139  			"(0,0)",
   140  			[]interface{}{"0.0"},
   141  			false,
   142  		},
   143  		{
   144  			"BIT(1)",
   145  			"DECIMAL(15,1)",
   146  			"(0,0)",
   147  			[]interface{}{"0.0"},
   148  			false,
   149  		},
   150  		{
   151  			"BIT(1)",
   152  			"DECIMAL(30,1)",
   153  			"(0,0)",
   154  			[]interface{}{"0.0"},
   155  			false,
   156  		},
   157  		{
   158  			"BIT(1)",
   159  			"DECIMAL(65,1)",
   160  			"(0,0)",
   161  			[]interface{}{"0.0"},
   162  			false,
   163  		},
   164  		{
   165  			"BIT(1)",
   166  			"DECIMAL(15,15)",
   167  			"(0,0)",
   168  			[]interface{}{"0.000000000000000"},
   169  			false,
   170  		},
   171  		{
   172  			"BIT(1)",
   173  			"DECIMAL(30,15)",
   174  			"(0,0)",
   175  			[]interface{}{"0.000000000000000"},
   176  			false,
   177  		},
   178  		{
   179  			"BIT(1)",
   180  			"DECIMAL(65,15)",
   181  			"(0,0)",
   182  			[]interface{}{"0.000000000000000"},
   183  			false,
   184  		},
   185  		{
   186  			"BIT(1)",
   187  			"DECIMAL(30,30)",
   188  			"(0,0)",
   189  			[]interface{}{"0.000000000000000000000000000000"},
   190  			false,
   191  		},
   192  		{
   193  			"BIT(1)",
   194  			"DECIMAL(65,30)",
   195  			"(0,0)",
   196  			[]interface{}{"0.000000000000000000000000000000"},
   197  			false,
   198  		},
   199  		{
   200  			"BIT(1)",
   201  			"BIT(8)",
   202  			"(0,0)",
   203  			[]interface{}{uint64(0)},
   204  			false,
   205  		},
   206  		{
   207  			"BIT(1)",
   208  			"BIT(16)",
   209  			"(0,0)",
   210  			[]interface{}{uint64(0)},
   211  			false,
   212  		},
   213  		{
   214  			"BIT(1)",
   215  			"BIT(24)",
   216  			"(0,0)",
   217  			[]interface{}{uint64(0)},
   218  			false,
   219  		},
   220  		{
   221  			"BIT(1)",
   222  			"BIT(32)",
   223  			"(0,0)",
   224  			[]interface{}{uint64(0)},
   225  			false,
   226  		},
   227  		{
   228  			"BIT(1)",
   229  			"BIT(48)",
   230  			"(0,0)",
   231  			[]interface{}{uint64(0)},
   232  			false,
   233  		},
   234  		{
   235  			"BIT(1)",
   236  			"BIT(64)",
   237  			"(0,0)",
   238  			[]interface{}{uint64(0)},
   239  			false,
   240  		},
   241  		{
   242  			"BIT(1)",
   243  			"TINYBLOB",
   244  			"(0,0)",
   245  			[]interface{}{"\x00"},
   246  			false,
   247  		},
   248  		{
   249  			"BIT(1)",
   250  			"BLOB",
   251  			"(0,0)",
   252  			[]interface{}{"\x00"},
   253  			false,
   254  		},
   255  		{
   256  			"BIT(1)",
   257  			"MEDIUMBLOB",
   258  			"(0,0)",
   259  			[]interface{}{"\x00"},
   260  			false,
   261  		},
   262  		{
   263  			"BIT(1)",
   264  			"LONGBLOB",
   265  			"(0,0)",
   266  			[]interface{}{"\x00"},
   267  			false,
   268  		},
   269  		{
   270  			"BIT(1)",
   271  			"TINYTEXT",
   272  			"(0,0)",
   273  			[]interface{}{"\x00"},
   274  			false,
   275  		},
   276  		{
   277  			"BIT(1)",
   278  			"TEXT",
   279  			"(0,0)",
   280  			[]interface{}{"\x00"},
   281  			false,
   282  		},
   283  		{
   284  			"BIT(1)",
   285  			"MEDIUMTEXT",
   286  			"(0,0)",
   287  			[]interface{}{"\x00"},
   288  			false,
   289  		},
   290  		{
   291  			"BIT(1)",
   292  			"LONGTEXT",
   293  			"(0,0)",
   294  			[]interface{}{"\x00"},
   295  			false,
   296  		},
   297  		{
   298  			"BIT(1)",
   299  			"CHAR(1)",
   300  			"(0,0)",
   301  			[]interface{}{"0"},
   302  			false,
   303  		},
   304  		{
   305  			"BIT(1)",
   306  			"CHAR(10)",
   307  			"(0,0)",
   308  			[]interface{}{"0"},
   309  			false,
   310  		},
   311  		{
   312  			"BIT(1)",
   313  			"CHAR(100)",
   314  			"(0,0)",
   315  			[]interface{}{"0"},
   316  			false,
   317  		},
   318  		{
   319  			"BIT(1)",
   320  			"CHAR(255)",
   321  			"(0,0)",
   322  			[]interface{}{"0"},
   323  			false,
   324  		},
   325  		{
   326  			"BIT(1)",
   327  			"BINARY(1)",
   328  			"(0,0)",
   329  			[]interface{}{"0"},
   330  			false,
   331  		},
   332  		{
   333  			"BIT(1)",
   334  			"BINARY(10)",
   335  			"(0,0)",
   336  			[]interface{}{"0\x00\x00\x00\x00\x00\x00\x00\x00\x00"},
   337  			false,
   338  		},
   339  		{
   340  			"BIT(1)",
   341  			"BINARY(100)",
   342  			"(0,0)",
   343  			[]interface{}{"0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"},
   344  			false,
   345  		},
   346  		{
   347  			"BIT(1)",
   348  			"BINARY(255)",
   349  			"(0,0)",
   350  			[]interface{}{"0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"},
   351  			false,
   352  		},
   353  		{
   354  			"BIT(1)",
   355  			"VARCHAR(1)",
   356  			"(0,0)",
   357  			[]interface{}{"0"},
   358  			false,
   359  		},
   360  		{
   361  			"BIT(1)",
   362  			"VARCHAR(10)",
   363  			"(0,0)",
   364  			[]interface{}{"0"},
   365  			false,
   366  		},
   367  		{
   368  			"BIT(1)",
   369  			"VARCHAR(100)",
   370  			"(0,0)",
   371  			[]interface{}{"0"},
   372  			false,
   373  		},
   374  		{
   375  			"BIT(1)",
   376  			"VARCHAR(255)",
   377  			"(0,0)",
   378  			[]interface{}{"0"},
   379  			false,
   380  		},
   381  		{
   382  			"BIT(1)",
   383  			"VARCHAR(1023)",
   384  			"(0,0)",
   385  			[]interface{}{"0"},
   386  			false,
   387  		},
   388  		{
   389  			"BIT(1)",
   390  			"VARCHAR(4095)",
   391  			"(0,0)",
   392  			[]interface{}{"0"},
   393  			false,
   394  		},
   395  		{
   396  			"BIT(1)",
   397  			"VARBINARY(1)",
   398  			"(0,0)",
   399  			[]interface{}{"0"},
   400  			false,
   401  		},
   402  		{
   403  			"BIT(1)",
   404  			"VARBINARY(10)",
   405  			"(0,0)",
   406  			[]interface{}{"0"},
   407  			false,
   408  		},
   409  		{
   410  			"BIT(1)",
   411  			"VARBINARY(100)",
   412  			"(0,0)",
   413  			[]interface{}{"0"},
   414  			false,
   415  		},
   416  		{
   417  			"BIT(1)",
   418  			"VARBINARY(255)",
   419  			"(0,0)",
   420  			[]interface{}{"0"},
   421  			false,
   422  		},
   423  		{
   424  			"BIT(1)",
   425  			"VARBINARY(1023)",
   426  			"(0,0)",
   427  			[]interface{}{"0"},
   428  			false,
   429  		},
   430  		{
   431  			"BIT(1)",
   432  			"VARBINARY(4095)",
   433  			"(0,0)",
   434  			[]interface{}{"0"},
   435  			false,
   436  		},
   437  		{
   438  			"BIT(1)",
   439  			"VARBINARY(16383)",
   440  			"(0,0)",
   441  			[]interface{}{"0"},
   442  			false,
   443  		},
   444  		{
   445  			"BIT(1)",
   446  			"YEAR",
   447  			"(0,0)",
   448  			[]interface{}{int64(0)},
   449  			false,
   450  		},
   451  		{
   452  			"BIT(1)",
   453  			"DATE",
   454  			"(0,0)",
   455  			[]interface{}{parseTime(false, "0000-01-01")},
   456  			false,
   457  		},
   458  		{
   459  			"BIT(1)",
   460  			"TIME",
   461  			"(0,0)",
   462  			[]interface{}{"00:00:00"},
   463  			false,
   464  		},
   465  		{
   466  			"BIT(1)",
   467  			"TIMESTAMP",
   468  			"(0,0)",
   469  			[]interface{}{parseTime(true, "0000-01-01 00:00:00")},
   470  			false,
   471  		},
   472  		{
   473  			"BIT(1)",
   474  			"DATETIME",
   475  			"(0,0)",
   476  			[]interface{}{parseTime(true, "0000-01-01 00:00:00")},
   477  			false,
   478  		},
   479  		{
   480  			"BIT(1)",
   481  			"ENUM('A')",
   482  			"(0,0)",
   483  			[]interface{}{},
   484  			true,
   485  		},
   486  		{
   487  			"BIT(1)",
   488  			"ENUM('B')",
   489  			"(0,0)",
   490  			[]interface{}{},
   491  			true,
   492  		},
   493  		{
   494  			"BIT(1)",
   495  			"ENUM('C')",
   496  			"(0,0)",
   497  			[]interface{}{},
   498  			true,
   499  		},
   500  		{
   501  			"BIT(1)",
   502  			"ENUM('A','B')",
   503  			"(0,0)",
   504  			[]interface{}{},
   505  			true,
   506  		},
   507  		{
   508  			"BIT(1)",
   509  			"ENUM('A','C')",
   510  			"(0,0)",
   511  			[]interface{}{},
   512  			true,
   513  		},
   514  		{
   515  			"BIT(1)",
   516  			"ENUM('B','C')",
   517  			"(0,0)",
   518  			[]interface{}{},
   519  			true,
   520  		},
   521  		{
   522  			"BIT(1)",
   523  			"ENUM('A','B','C')",
   524  			"(0,0)",
   525  			[]interface{}{},
   526  			true,
   527  		},
   528  		{
   529  			"BIT(1)",
   530  			"ENUM('C','A','B')",
   531  			"(0,0)",
   532  			[]interface{}{},
   533  			true,
   534  		},
   535  		{
   536  			"BIT(1)",
   537  			"SET('A')",
   538  			"(0,0)",
   539  			[]interface{}{""},
   540  			false,
   541  		},
   542  		{
   543  			"BIT(1)",
   544  			"SET('B')",
   545  			"(0,0)",
   546  			[]interface{}{""},
   547  			false,
   548  		},
   549  		{
   550  			"BIT(1)",
   551  			"SET('C')",
   552  			"(0,0)",
   553  			[]interface{}{""},
   554  			false,
   555  		},
   556  		{
   557  			"BIT(1)",
   558  			"SET('A','B')",
   559  			"(0,0)",
   560  			[]interface{}{""},
   561  			false,
   562  		},
   563  		{
   564  			"BIT(1)",
   565  			"SET('A','C')",
   566  			"(0,0)",
   567  			[]interface{}{""},
   568  			false,
   569  		},
   570  		{
   571  			"BIT(1)",
   572  			"SET('B','C')",
   573  			"(0,0)",
   574  			[]interface{}{""},
   575  			false,
   576  		},
   577  		{
   578  			"BIT(1)",
   579  			"SET('A','B','C')",
   580  			"(0,0)",
   581  			[]interface{}{""},
   582  			false,
   583  		},
   584  		{
   585  			"BIT(1)",
   586  			"SET('C','A','B')",
   587  			"(0,0)",
   588  			[]interface{}{""},
   589  			false,
   590  		},
   591  		{
   592  			"BIT(1)",
   593  			"TINYINT",
   594  			"(0,0), (1,1)",
   595  			[]interface{}{int64(0), int64(1)},
   596  			false,
   597  		},
   598  		{
   599  			"BIT(1)",
   600  			"SMALLINT",
   601  			"(0,0), (1,1)",
   602  			[]interface{}{int64(0), int64(1)},
   603  			false,
   604  		},
   605  		{
   606  			"BIT(1)",
   607  			"MEDIUMINT",
   608  			"(0,0), (1,1)",
   609  			[]interface{}{int64(0), int64(1)},
   610  			false,
   611  		},
   612  		{
   613  			"BIT(1)",
   614  			"INT",
   615  			"(0,0), (1,1)",
   616  			[]interface{}{int64(0), int64(1)},
   617  			false,
   618  		},
   619  		{
   620  			"BIT(1)",
   621  			"BIGINT",
   622  			"(0,0), (1,1)",
   623  			[]interface{}{int64(0), int64(1)},
   624  			false,
   625  		},
   626  		{
   627  			"BIT(1)",
   628  			"TINYINT UNSIGNED",
   629  			"(0,0), (1,1)",
   630  			[]interface{}{uint64(0), uint64(1)},
   631  			false,
   632  		},
   633  		{
   634  			"BIT(1)",
   635  			"SMALLINT UNSIGNED",
   636  			"(0,0), (1,1)",
   637  			[]interface{}{uint64(0), uint64(1)},
   638  			false,
   639  		},
   640  		{
   641  			"BIT(1)",
   642  			"MEDIUMINT UNSIGNED",
   643  			"(0,0), (1,1)",
   644  			[]interface{}{uint64(0), uint64(1)},
   645  			false,
   646  		},
   647  		{
   648  			"BIT(1)",
   649  			"INT UNSIGNED",
   650  			"(0,0), (1,1)",
   651  			[]interface{}{uint64(0), uint64(1)},
   652  			false,
   653  		},
   654  		{
   655  			"BIT(1)",
   656  			"BIGINT UNSIGNED",
   657  			"(0,0), (1,1)",
   658  			[]interface{}{uint64(0), uint64(1)},
   659  			false,
   660  		},
   661  		{
   662  			"BIT(1)",
   663  			"FLOAT",
   664  			"(0,0), (1,1)",
   665  			[]interface{}{float64(0), float64(1)},
   666  			false,
   667  		},
   668  		{
   669  			"BIT(1)",
   670  			"DOUBLE",
   671  			"(0,0), (1,1)",
   672  			[]interface{}{float64(0), float64(1)},
   673  			false,
   674  		},
   675  		{
   676  			"BIT(1)",
   677  			"DECIMAL(1,0)",
   678  			"(0,0), (1,1)",
   679  			[]interface{}{"0", "1"},
   680  			false,
   681  		},
   682  		{
   683  			"BIT(1)",
   684  			"DECIMAL(15,0)",
   685  			"(0,0), (1,1)",
   686  			[]interface{}{"0", "1"},
   687  			false,
   688  		},
   689  		{
   690  			"BIT(1)",
   691  			"DECIMAL(30,0)",
   692  			"(0,0), (1,1)",
   693  			[]interface{}{"0", "1"},
   694  			false,
   695  		},
   696  		{
   697  			"BIT(1)",
   698  			"DECIMAL(65,0)",
   699  			"(0,0), (1,1)",
   700  			[]interface{}{"0", "1"},
   701  			false,
   702  		},
   703  		{
   704  			"BIT(1)",
   705  			"DECIMAL(1,1)",
   706  			"(0,0), (1,1)",
   707  			[]interface{}{},
   708  			true,
   709  		},
   710  		{
   711  			"BIT(1)",
   712  			"DECIMAL(15,1)",
   713  			"(0,0), (1,1)",
   714  			[]interface{}{"0.0", "1.0"},
   715  			false,
   716  		},
   717  		{
   718  			"BIT(1)",
   719  			"DECIMAL(30,1)",
   720  			"(0,0), (1,1)",
   721  			[]interface{}{"0.0", "1.0"},
   722  			false,
   723  		},
   724  		{
   725  			"BIT(1)",
   726  			"DECIMAL(65,1)",
   727  			"(0,0), (1,1)",
   728  			[]interface{}{"0.0", "1.0"},
   729  			false,
   730  		},
   731  		{
   732  			"BIT(1)",
   733  			"DECIMAL(15,15)",
   734  			"(0,0), (1,1)",
   735  			[]interface{}{},
   736  			true,
   737  		},
   738  		{
   739  			"BIT(1)",
   740  			"DECIMAL(30,15)",
   741  			"(0,0), (1,1)",
   742  			[]interface{}{"0.000000000000000", "1.000000000000000"},
   743  			false,
   744  		},
   745  		{
   746  			"BIT(1)",
   747  			"DECIMAL(65,15)",
   748  			"(0,0), (1,1)",
   749  			[]interface{}{"0.000000000000000", "1.000000000000000"},
   750  			false,
   751  		},
   752  		{
   753  			"BIT(1)",
   754  			"DECIMAL(30,30)",
   755  			"(0,0), (1,1)",
   756  			[]interface{}{},
   757  			true,
   758  		},
   759  		{
   760  			"BIT(1)",
   761  			"DECIMAL(65,30)",
   762  			"(0,0), (1,1)",
   763  			[]interface{}{"0.000000000000000000000000000000", "1.000000000000000000000000000000"},
   764  			false,
   765  		},
   766  		{
   767  			"BIT(1)",
   768  			"BIT(8)",
   769  			"(0,0), (1,1)",
   770  			[]interface{}{uint64(0), uint64(1)},
   771  			false,
   772  		},
   773  		{
   774  			"BIT(1)",
   775  			"BIT(16)",
   776  			"(0,0), (1,1)",
   777  			[]interface{}{uint64(0), uint64(1)},
   778  			false,
   779  		},
   780  		{
   781  			"BIT(1)",
   782  			"BIT(24)",
   783  			"(0,0), (1,1)",
   784  			[]interface{}{uint64(0), uint64(1)},
   785  			false,
   786  		},
   787  		{
   788  			"BIT(1)",
   789  			"BIT(32)",
   790  			"(0,0), (1,1)",
   791  			[]interface{}{uint64(0), uint64(1)},
   792  			false,
   793  		},
   794  		{
   795  			"BIT(1)",
   796  			"BIT(48)",
   797  			"(0,0), (1,1)",
   798  			[]interface{}{uint64(0), uint64(1)},
   799  			false,
   800  		},
   801  		{
   802  			"BIT(1)",
   803  			"BIT(64)",
   804  			"(0,0), (1,1)",
   805  			[]interface{}{uint64(0), uint64(1)},
   806  			false,
   807  		},
   808  		{
   809  			"BIT(1)",
   810  			"TINYBLOB",
   811  			"(0,0), (1,1)",
   812  			[]interface{}{"\x00", "\x01"},
   813  			false,
   814  		},
   815  		{
   816  			"BIT(1)",
   817  			"BLOB",
   818  			"(0,0), (1,1)",
   819  			[]interface{}{"\x00", "\x01"},
   820  			false,
   821  		},
   822  		{
   823  			"BIT(1)",
   824  			"MEDIUMBLOB",
   825  			"(0,0), (1,1)",
   826  			[]interface{}{"\x00", "\x01"},
   827  			false,
   828  		},
   829  		{
   830  			"BIT(1)",
   831  			"LONGBLOB",
   832  			"(0,0), (1,1)",
   833  			[]interface{}{"\x00", "\x01"},
   834  			false,
   835  		},
   836  		{
   837  			"BIT(1)",
   838  			"TINYTEXT",
   839  			"(0,0), (1,1)",
   840  			[]interface{}{"\x00", "\x01"},
   841  			false,
   842  		},
   843  		{
   844  			"BIT(1)",
   845  			"TEXT",
   846  			"(0,0), (1,1)",
   847  			[]interface{}{"\x00", "\x01"},
   848  			false,
   849  		},
   850  		{
   851  			"BIT(1)",
   852  			"MEDIUMTEXT",
   853  			"(0,0), (1,1)",
   854  			[]interface{}{"\x00", "\x01"},
   855  			false,
   856  		},
   857  		{
   858  			"BIT(1)",
   859  			"LONGTEXT",
   860  			"(0,0), (1,1)",
   861  			[]interface{}{"\x00", "\x01"},
   862  			false,
   863  		},
   864  		{
   865  			"BIT(1)",
   866  			"CHAR(1)",
   867  			"(0,0), (1,1)",
   868  			[]interface{}{"0", "1"},
   869  			false,
   870  		},
   871  		{
   872  			"BIT(1)",
   873  			"CHAR(10)",
   874  			"(0,0), (1,1)",
   875  			[]interface{}{"0", "1"},
   876  			false,
   877  		},
   878  		{
   879  			"BIT(1)",
   880  			"CHAR(100)",
   881  			"(0,0), (1,1)",
   882  			[]interface{}{"0", "1"},
   883  			false,
   884  		},
   885  		{
   886  			"BIT(1)",
   887  			"CHAR(255)",
   888  			"(0,0), (1,1)",
   889  			[]interface{}{"0", "1"},
   890  			false,
   891  		},
   892  		{
   893  			"BIT(1)",
   894  			"BINARY(1)",
   895  			"(0,0), (1,1)",
   896  			[]interface{}{"0", "1"},
   897  			false,
   898  		},
   899  		{
   900  			"BIT(1)",
   901  			"BINARY(10)",
   902  			"(0,0), (1,1)",
   903  			[]interface{}{"0\x00\x00\x00\x00\x00\x00\x00\x00\x00", "1\x00\x00\x00\x00\x00\x00\x00\x00\x00"},
   904  			false,
   905  		},
   906  		{
   907  			"BIT(1)",
   908  			"BINARY(100)",
   909  			"(0,0), (1,1)",
   910  			[]interface{}{"0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"},
   911  			false,
   912  		},
   913  		{
   914  			"BIT(1)",
   915  			"BINARY(255)",
   916  			"(0,0), (1,1)",
   917  			[]interface{}{"0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"},
   918  			false,
   919  		},
   920  		{
   921  			"BIT(1)",
   922  			"VARCHAR(1)",
   923  			"(0,0), (1,1)",
   924  			[]interface{}{"0", "1"},
   925  			false,
   926  		},
   927  		{
   928  			"BIT(1)",
   929  			"VARCHAR(10)",
   930  			"(0,0), (1,1)",
   931  			[]interface{}{"0", "1"},
   932  			false,
   933  		},
   934  		{
   935  			"BIT(1)",
   936  			"VARCHAR(100)",
   937  			"(0,0), (1,1)",
   938  			[]interface{}{"0", "1"},
   939  			false,
   940  		},
   941  		{
   942  			"BIT(1)",
   943  			"VARCHAR(255)",
   944  			"(0,0), (1,1)",
   945  			[]interface{}{"0", "1"},
   946  			false,
   947  		},
   948  		{
   949  			"BIT(1)",
   950  			"VARCHAR(1023)",
   951  			"(0,0), (1,1)",
   952  			[]interface{}{"0", "1"},
   953  			false,
   954  		},
   955  		{
   956  			"BIT(1)",
   957  			"VARCHAR(4095)",
   958  			"(0,0), (1,1)",
   959  			[]interface{}{"0", "1"},
   960  			false,
   961  		},
   962  		{
   963  			"BIT(1)",
   964  			"VARBINARY(1)",
   965  			"(0,0), (1,1)",
   966  			[]interface{}{"0", "1"},
   967  			false,
   968  		},
   969  		{
   970  			"BIT(1)",
   971  			"VARBINARY(10)",
   972  			"(0,0), (1,1)",
   973  			[]interface{}{"0", "1"},
   974  			false,
   975  		},
   976  		{
   977  			"BIT(1)",
   978  			"VARBINARY(100)",
   979  			"(0,0), (1,1)",
   980  			[]interface{}{"0", "1"},
   981  			false,
   982  		},
   983  		{
   984  			"BIT(1)",
   985  			"VARBINARY(255)",
   986  			"(0,0), (1,1)",
   987  			[]interface{}{"0", "1"},
   988  			false,
   989  		},
   990  		{
   991  			"BIT(1)",
   992  			"VARBINARY(1023)",
   993  			"(0,0), (1,1)",
   994  			[]interface{}{"0", "1"},
   995  			false,
   996  		},
   997  		{
   998  			"BIT(1)",
   999  			"VARBINARY(4095)",
  1000  			"(0,0), (1,1)",
  1001  			[]interface{}{"0", "1"},
  1002  			false,
  1003  		},
  1004  		{
  1005  			"BIT(1)",
  1006  			"VARBINARY(16383)",
  1007  			"(0,0), (1,1)",
  1008  			[]interface{}{"0", "1"},
  1009  			false,
  1010  		},
  1011  		{
  1012  			"BIT(1)",
  1013  			"YEAR",
  1014  			"(0,0), (1,1)",
  1015  			[]interface{}{int64(0), int64(2001)},
  1016  			false,
  1017  		},
  1018  		{
  1019  			"BIT(1)",
  1020  			"DATE",
  1021  			"(0,0), (1,1)",
  1022  			[]interface{}{},
  1023  			true,
  1024  		},
  1025  		{
  1026  			"BIT(1)",
  1027  			"TIME",
  1028  			"(0,0), (1,1)",
  1029  			[]interface{}{"00:00:00", "00:00:01"},
  1030  			false,
  1031  		},
  1032  		{
  1033  			"BIT(1)",
  1034  			"TIMESTAMP",
  1035  			"(0,0), (1,1)",
  1036  			[]interface{}{},
  1037  			true,
  1038  		},
  1039  		{
  1040  			"BIT(1)",
  1041  			"DATETIME",
  1042  			"(0,0), (1,1)",
  1043  			[]interface{}{},
  1044  			true,
  1045  		},
  1046  		{
  1047  			"BIT(1)",
  1048  			"ENUM('A')",
  1049  			"(0,0), (1,1)",
  1050  			[]interface{}{},
  1051  			true,
  1052  		},
  1053  		{
  1054  			"BIT(1)",
  1055  			"ENUM('B')",
  1056  			"(0,0), (1,1)",
  1057  			[]interface{}{},
  1058  			true,
  1059  		},
  1060  		{
  1061  			"BIT(1)",
  1062  			"ENUM('C')",
  1063  			"(0,0), (1,1)",
  1064  			[]interface{}{},
  1065  			true,
  1066  		},
  1067  		{
  1068  			"BIT(1)",
  1069  			"ENUM('A','B')",
  1070  			"(0,0), (1,1)",
  1071  			[]interface{}{},
  1072  			true,
  1073  		},
  1074  		{
  1075  			"BIT(1)",
  1076  			"ENUM('A','C')",
  1077  			"(0,0), (1,1)",
  1078  			[]interface{}{},
  1079  			true,
  1080  		},
  1081  		{
  1082  			"BIT(1)",
  1083  			"ENUM('B','C')",
  1084  			"(0,0), (1,1)",
  1085  			[]interface{}{},
  1086  			true,
  1087  		},
  1088  		{
  1089  			"BIT(1)",
  1090  			"ENUM('A','B','C')",
  1091  			"(0,0), (1,1)",
  1092  			[]interface{}{},
  1093  			true,
  1094  		},
  1095  		{
  1096  			"BIT(1)",
  1097  			"ENUM('C','A','B')",
  1098  			"(0,0), (1,1)",
  1099  			[]interface{}{},
  1100  			true,
  1101  		},
  1102  		{
  1103  			"BIT(1)",
  1104  			"SET('A')",
  1105  			"(0,0), (1,1)",
  1106  			[]interface{}{"", "A"},
  1107  			false,
  1108  		},
  1109  		{
  1110  			"BIT(1)",
  1111  			"SET('B')",
  1112  			"(0,0), (1,1)",
  1113  			[]interface{}{"", "B"},
  1114  			false,
  1115  		},
  1116  		{
  1117  			"BIT(1)",
  1118  			"SET('C')",
  1119  			"(0,0), (1,1)",
  1120  			[]interface{}{"", "C"},
  1121  			false,
  1122  		},
  1123  		{
  1124  			"BIT(1)",
  1125  			"SET('A','B')",
  1126  			"(0,0), (1,1)",
  1127  			[]interface{}{"", "A"},
  1128  			false,
  1129  		},
  1130  		{
  1131  			"BIT(1)",
  1132  			"SET('A','C')",
  1133  			"(0,0), (1,1)",
  1134  			[]interface{}{"", "A"},
  1135  			false,
  1136  		},
  1137  		{
  1138  			"BIT(1)",
  1139  			"SET('B','C')",
  1140  			"(0,0), (1,1)",
  1141  			[]interface{}{"", "B"},
  1142  			false,
  1143  		},
  1144  		{
  1145  			"BIT(1)",
  1146  			"SET('A','B','C')",
  1147  			"(0,0), (1,1)",
  1148  			[]interface{}{"", "A"},
  1149  			false,
  1150  		},
  1151  		{
  1152  			"BIT(1)",
  1153  			"SET('C','A','B')",
  1154  			"(0,0), (1,1)",
  1155  			[]interface{}{"", "C"},
  1156  			false,
  1157  		},
  1158  	}
  1159  
  1160  	RunModifyTypeTests(t, tests)
  1161  }