github.com/newrelic/go-agent@v3.26.0+incompatible/sql_driver_optional_methods.go (about)

     1  // Copyright 2020 New Relic Corporation. All rights reserved.
     2  // SPDX-License-Identifier: Apache-2.0
     3  
     4  // +build go1.10
     5  
     6  package newrelic
     7  
     8  import "database/sql/driver"
     9  
    10  func optionalMethodsDriver(dv *wrapDriver) driver.Driver {
    11  	// GENERATED CODE DO NOT MODIFY
    12  	// This code generated by internal/tools/interface-wrapping
    13  	var (
    14  		i0 int32 = 1 << 0
    15  	)
    16  	var interfaceSet int32
    17  	if _, ok := dv.original.(driver.DriverContext); ok {
    18  		interfaceSet |= i0
    19  	}
    20  	switch interfaceSet {
    21  	default: // No optional interfaces implemented
    22  		return struct {
    23  			driver.Driver
    24  		}{dv}
    25  	case i0:
    26  		return struct {
    27  			driver.Driver
    28  			driver.DriverContext
    29  		}{dv, dv}
    30  	}
    31  }
    32  
    33  func optionalMethodsStmt(stmt *wrapStmt) driver.Stmt {
    34  	// GENERATED CODE DO NOT MODIFY
    35  	// This code generated by internal/tools/interface-wrapping
    36  	var (
    37  		i0 int32 = 1 << 0
    38  		i1 int32 = 1 << 1
    39  		i2 int32 = 1 << 2
    40  		i3 int32 = 1 << 3
    41  	)
    42  	var interfaceSet int32
    43  	if _, ok := stmt.original.(driver.ColumnConverter); ok {
    44  		interfaceSet |= i0
    45  	}
    46  	if _, ok := stmt.original.(driver.NamedValueChecker); ok {
    47  		interfaceSet |= i1
    48  	}
    49  	if _, ok := stmt.original.(driver.StmtExecContext); ok {
    50  		interfaceSet |= i2
    51  	}
    52  	if _, ok := stmt.original.(driver.StmtQueryContext); ok {
    53  		interfaceSet |= i3
    54  	}
    55  	switch interfaceSet {
    56  	default: // No optional interfaces implemented
    57  		return struct {
    58  			driver.Stmt
    59  		}{stmt}
    60  	case i0:
    61  		return struct {
    62  			driver.Stmt
    63  			driver.ColumnConverter
    64  		}{stmt, stmt}
    65  	case i1:
    66  		return struct {
    67  			driver.Stmt
    68  			driver.NamedValueChecker
    69  		}{stmt, stmt}
    70  	case i0 | i1:
    71  		return struct {
    72  			driver.Stmt
    73  			driver.ColumnConverter
    74  			driver.NamedValueChecker
    75  		}{stmt, stmt, stmt}
    76  	case i2:
    77  		return struct {
    78  			driver.Stmt
    79  			driver.StmtExecContext
    80  		}{stmt, stmt}
    81  	case i0 | i2:
    82  		return struct {
    83  			driver.Stmt
    84  			driver.ColumnConverter
    85  			driver.StmtExecContext
    86  		}{stmt, stmt, stmt}
    87  	case i1 | i2:
    88  		return struct {
    89  			driver.Stmt
    90  			driver.NamedValueChecker
    91  			driver.StmtExecContext
    92  		}{stmt, stmt, stmt}
    93  	case i0 | i1 | i2:
    94  		return struct {
    95  			driver.Stmt
    96  			driver.ColumnConverter
    97  			driver.NamedValueChecker
    98  			driver.StmtExecContext
    99  		}{stmt, stmt, stmt, stmt}
   100  	case i3:
   101  		return struct {
   102  			driver.Stmt
   103  			driver.StmtQueryContext
   104  		}{stmt, stmt}
   105  	case i0 | i3:
   106  		return struct {
   107  			driver.Stmt
   108  			driver.ColumnConverter
   109  			driver.StmtQueryContext
   110  		}{stmt, stmt, stmt}
   111  	case i1 | i3:
   112  		return struct {
   113  			driver.Stmt
   114  			driver.NamedValueChecker
   115  			driver.StmtQueryContext
   116  		}{stmt, stmt, stmt}
   117  	case i0 | i1 | i3:
   118  		return struct {
   119  			driver.Stmt
   120  			driver.ColumnConverter
   121  			driver.NamedValueChecker
   122  			driver.StmtQueryContext
   123  		}{stmt, stmt, stmt, stmt}
   124  	case i2 | i3:
   125  		return struct {
   126  			driver.Stmt
   127  			driver.StmtExecContext
   128  			driver.StmtQueryContext
   129  		}{stmt, stmt, stmt}
   130  	case i0 | i2 | i3:
   131  		return struct {
   132  			driver.Stmt
   133  			driver.ColumnConverter
   134  			driver.StmtExecContext
   135  			driver.StmtQueryContext
   136  		}{stmt, stmt, stmt, stmt}
   137  	case i1 | i2 | i3:
   138  		return struct {
   139  			driver.Stmt
   140  			driver.NamedValueChecker
   141  			driver.StmtExecContext
   142  			driver.StmtQueryContext
   143  		}{stmt, stmt, stmt, stmt}
   144  	case i0 | i1 | i2 | i3:
   145  		return struct {
   146  			driver.Stmt
   147  			driver.ColumnConverter
   148  			driver.NamedValueChecker
   149  			driver.StmtExecContext
   150  			driver.StmtQueryContext
   151  		}{stmt, stmt, stmt, stmt, stmt}
   152  	}
   153  }
   154  
   155  func optionalMethodsConn(conn *wrapConn) driver.Conn {
   156  	// GENERATED CODE DO NOT MODIFY
   157  	// This code generated by internal/tools/interface-wrapping
   158  	var (
   159  		i0 int32 = 1 << 0
   160  		i1 int32 = 1 << 1
   161  		i2 int32 = 1 << 2
   162  		i3 int32 = 1 << 3
   163  		i4 int32 = 1 << 4
   164  		i5 int32 = 1 << 5
   165  		i6 int32 = 1 << 6
   166  		i7 int32 = 1 << 7
   167  	)
   168  	var interfaceSet int32
   169  	if _, ok := conn.original.(driver.ConnBeginTx); ok {
   170  		interfaceSet |= i0
   171  	}
   172  	if _, ok := conn.original.(driver.ConnPrepareContext); ok {
   173  		interfaceSet |= i1
   174  	}
   175  	if _, ok := conn.original.(driver.Execer); ok {
   176  		interfaceSet |= i2
   177  	}
   178  	if _, ok := conn.original.(driver.ExecerContext); ok {
   179  		interfaceSet |= i3
   180  	}
   181  	if _, ok := conn.original.(driver.NamedValueChecker); ok {
   182  		interfaceSet |= i4
   183  	}
   184  	if _, ok := conn.original.(driver.Pinger); ok {
   185  		interfaceSet |= i5
   186  	}
   187  	if _, ok := conn.original.(driver.Queryer); ok {
   188  		interfaceSet |= i6
   189  	}
   190  	if _, ok := conn.original.(driver.QueryerContext); ok {
   191  		interfaceSet |= i7
   192  	}
   193  	switch interfaceSet {
   194  	default: // No optional interfaces implemented
   195  		return struct {
   196  			driver.Conn
   197  		}{conn}
   198  	case i0:
   199  		return struct {
   200  			driver.Conn
   201  			driver.ConnBeginTx
   202  		}{conn, conn}
   203  	case i1:
   204  		return struct {
   205  			driver.Conn
   206  			driver.ConnPrepareContext
   207  		}{conn, conn}
   208  	case i0 | i1:
   209  		return struct {
   210  			driver.Conn
   211  			driver.ConnBeginTx
   212  			driver.ConnPrepareContext
   213  		}{conn, conn, conn}
   214  	case i2:
   215  		return struct {
   216  			driver.Conn
   217  			driver.Execer
   218  		}{conn, conn}
   219  	case i0 | i2:
   220  		return struct {
   221  			driver.Conn
   222  			driver.ConnBeginTx
   223  			driver.Execer
   224  		}{conn, conn, conn}
   225  	case i1 | i2:
   226  		return struct {
   227  			driver.Conn
   228  			driver.ConnPrepareContext
   229  			driver.Execer
   230  		}{conn, conn, conn}
   231  	case i0 | i1 | i2:
   232  		return struct {
   233  			driver.Conn
   234  			driver.ConnBeginTx
   235  			driver.ConnPrepareContext
   236  			driver.Execer
   237  		}{conn, conn, conn, conn}
   238  	case i3:
   239  		return struct {
   240  			driver.Conn
   241  			driver.ExecerContext
   242  		}{conn, conn}
   243  	case i0 | i3:
   244  		return struct {
   245  			driver.Conn
   246  			driver.ConnBeginTx
   247  			driver.ExecerContext
   248  		}{conn, conn, conn}
   249  	case i1 | i3:
   250  		return struct {
   251  			driver.Conn
   252  			driver.ConnPrepareContext
   253  			driver.ExecerContext
   254  		}{conn, conn, conn}
   255  	case i0 | i1 | i3:
   256  		return struct {
   257  			driver.Conn
   258  			driver.ConnBeginTx
   259  			driver.ConnPrepareContext
   260  			driver.ExecerContext
   261  		}{conn, conn, conn, conn}
   262  	case i2 | i3:
   263  		return struct {
   264  			driver.Conn
   265  			driver.Execer
   266  			driver.ExecerContext
   267  		}{conn, conn, conn}
   268  	case i0 | i2 | i3:
   269  		return struct {
   270  			driver.Conn
   271  			driver.ConnBeginTx
   272  			driver.Execer
   273  			driver.ExecerContext
   274  		}{conn, conn, conn, conn}
   275  	case i1 | i2 | i3:
   276  		return struct {
   277  			driver.Conn
   278  			driver.ConnPrepareContext
   279  			driver.Execer
   280  			driver.ExecerContext
   281  		}{conn, conn, conn, conn}
   282  	case i0 | i1 | i2 | i3:
   283  		return struct {
   284  			driver.Conn
   285  			driver.ConnBeginTx
   286  			driver.ConnPrepareContext
   287  			driver.Execer
   288  			driver.ExecerContext
   289  		}{conn, conn, conn, conn, conn}
   290  	case i4:
   291  		return struct {
   292  			driver.Conn
   293  			driver.NamedValueChecker
   294  		}{conn, conn}
   295  	case i0 | i4:
   296  		return struct {
   297  			driver.Conn
   298  			driver.ConnBeginTx
   299  			driver.NamedValueChecker
   300  		}{conn, conn, conn}
   301  	case i1 | i4:
   302  		return struct {
   303  			driver.Conn
   304  			driver.ConnPrepareContext
   305  			driver.NamedValueChecker
   306  		}{conn, conn, conn}
   307  	case i0 | i1 | i4:
   308  		return struct {
   309  			driver.Conn
   310  			driver.ConnBeginTx
   311  			driver.ConnPrepareContext
   312  			driver.NamedValueChecker
   313  		}{conn, conn, conn, conn}
   314  	case i2 | i4:
   315  		return struct {
   316  			driver.Conn
   317  			driver.Execer
   318  			driver.NamedValueChecker
   319  		}{conn, conn, conn}
   320  	case i0 | i2 | i4:
   321  		return struct {
   322  			driver.Conn
   323  			driver.ConnBeginTx
   324  			driver.Execer
   325  			driver.NamedValueChecker
   326  		}{conn, conn, conn, conn}
   327  	case i1 | i2 | i4:
   328  		return struct {
   329  			driver.Conn
   330  			driver.ConnPrepareContext
   331  			driver.Execer
   332  			driver.NamedValueChecker
   333  		}{conn, conn, conn, conn}
   334  	case i0 | i1 | i2 | i4:
   335  		return struct {
   336  			driver.Conn
   337  			driver.ConnBeginTx
   338  			driver.ConnPrepareContext
   339  			driver.Execer
   340  			driver.NamedValueChecker
   341  		}{conn, conn, conn, conn, conn}
   342  	case i3 | i4:
   343  		return struct {
   344  			driver.Conn
   345  			driver.ExecerContext
   346  			driver.NamedValueChecker
   347  		}{conn, conn, conn}
   348  	case i0 | i3 | i4:
   349  		return struct {
   350  			driver.Conn
   351  			driver.ConnBeginTx
   352  			driver.ExecerContext
   353  			driver.NamedValueChecker
   354  		}{conn, conn, conn, conn}
   355  	case i1 | i3 | i4:
   356  		return struct {
   357  			driver.Conn
   358  			driver.ConnPrepareContext
   359  			driver.ExecerContext
   360  			driver.NamedValueChecker
   361  		}{conn, conn, conn, conn}
   362  	case i0 | i1 | i3 | i4:
   363  		return struct {
   364  			driver.Conn
   365  			driver.ConnBeginTx
   366  			driver.ConnPrepareContext
   367  			driver.ExecerContext
   368  			driver.NamedValueChecker
   369  		}{conn, conn, conn, conn, conn}
   370  	case i2 | i3 | i4:
   371  		return struct {
   372  			driver.Conn
   373  			driver.Execer
   374  			driver.ExecerContext
   375  			driver.NamedValueChecker
   376  		}{conn, conn, conn, conn}
   377  	case i0 | i2 | i3 | i4:
   378  		return struct {
   379  			driver.Conn
   380  			driver.ConnBeginTx
   381  			driver.Execer
   382  			driver.ExecerContext
   383  			driver.NamedValueChecker
   384  		}{conn, conn, conn, conn, conn}
   385  	case i1 | i2 | i3 | i4:
   386  		return struct {
   387  			driver.Conn
   388  			driver.ConnPrepareContext
   389  			driver.Execer
   390  			driver.ExecerContext
   391  			driver.NamedValueChecker
   392  		}{conn, conn, conn, conn, conn}
   393  	case i0 | i1 | i2 | i3 | i4:
   394  		return struct {
   395  			driver.Conn
   396  			driver.ConnBeginTx
   397  			driver.ConnPrepareContext
   398  			driver.Execer
   399  			driver.ExecerContext
   400  			driver.NamedValueChecker
   401  		}{conn, conn, conn, conn, conn, conn}
   402  	case i5:
   403  		return struct {
   404  			driver.Conn
   405  			driver.Pinger
   406  		}{conn, conn}
   407  	case i0 | i5:
   408  		return struct {
   409  			driver.Conn
   410  			driver.ConnBeginTx
   411  			driver.Pinger
   412  		}{conn, conn, conn}
   413  	case i1 | i5:
   414  		return struct {
   415  			driver.Conn
   416  			driver.ConnPrepareContext
   417  			driver.Pinger
   418  		}{conn, conn, conn}
   419  	case i0 | i1 | i5:
   420  		return struct {
   421  			driver.Conn
   422  			driver.ConnBeginTx
   423  			driver.ConnPrepareContext
   424  			driver.Pinger
   425  		}{conn, conn, conn, conn}
   426  	case i2 | i5:
   427  		return struct {
   428  			driver.Conn
   429  			driver.Execer
   430  			driver.Pinger
   431  		}{conn, conn, conn}
   432  	case i0 | i2 | i5:
   433  		return struct {
   434  			driver.Conn
   435  			driver.ConnBeginTx
   436  			driver.Execer
   437  			driver.Pinger
   438  		}{conn, conn, conn, conn}
   439  	case i1 | i2 | i5:
   440  		return struct {
   441  			driver.Conn
   442  			driver.ConnPrepareContext
   443  			driver.Execer
   444  			driver.Pinger
   445  		}{conn, conn, conn, conn}
   446  	case i0 | i1 | i2 | i5:
   447  		return struct {
   448  			driver.Conn
   449  			driver.ConnBeginTx
   450  			driver.ConnPrepareContext
   451  			driver.Execer
   452  			driver.Pinger
   453  		}{conn, conn, conn, conn, conn}
   454  	case i3 | i5:
   455  		return struct {
   456  			driver.Conn
   457  			driver.ExecerContext
   458  			driver.Pinger
   459  		}{conn, conn, conn}
   460  	case i0 | i3 | i5:
   461  		return struct {
   462  			driver.Conn
   463  			driver.ConnBeginTx
   464  			driver.ExecerContext
   465  			driver.Pinger
   466  		}{conn, conn, conn, conn}
   467  	case i1 | i3 | i5:
   468  		return struct {
   469  			driver.Conn
   470  			driver.ConnPrepareContext
   471  			driver.ExecerContext
   472  			driver.Pinger
   473  		}{conn, conn, conn, conn}
   474  	case i0 | i1 | i3 | i5:
   475  		return struct {
   476  			driver.Conn
   477  			driver.ConnBeginTx
   478  			driver.ConnPrepareContext
   479  			driver.ExecerContext
   480  			driver.Pinger
   481  		}{conn, conn, conn, conn, conn}
   482  	case i2 | i3 | i5:
   483  		return struct {
   484  			driver.Conn
   485  			driver.Execer
   486  			driver.ExecerContext
   487  			driver.Pinger
   488  		}{conn, conn, conn, conn}
   489  	case i0 | i2 | i3 | i5:
   490  		return struct {
   491  			driver.Conn
   492  			driver.ConnBeginTx
   493  			driver.Execer
   494  			driver.ExecerContext
   495  			driver.Pinger
   496  		}{conn, conn, conn, conn, conn}
   497  	case i1 | i2 | i3 | i5:
   498  		return struct {
   499  			driver.Conn
   500  			driver.ConnPrepareContext
   501  			driver.Execer
   502  			driver.ExecerContext
   503  			driver.Pinger
   504  		}{conn, conn, conn, conn, conn}
   505  	case i0 | i1 | i2 | i3 | i5:
   506  		return struct {
   507  			driver.Conn
   508  			driver.ConnBeginTx
   509  			driver.ConnPrepareContext
   510  			driver.Execer
   511  			driver.ExecerContext
   512  			driver.Pinger
   513  		}{conn, conn, conn, conn, conn, conn}
   514  	case i4 | i5:
   515  		return struct {
   516  			driver.Conn
   517  			driver.NamedValueChecker
   518  			driver.Pinger
   519  		}{conn, conn, conn}
   520  	case i0 | i4 | i5:
   521  		return struct {
   522  			driver.Conn
   523  			driver.ConnBeginTx
   524  			driver.NamedValueChecker
   525  			driver.Pinger
   526  		}{conn, conn, conn, conn}
   527  	case i1 | i4 | i5:
   528  		return struct {
   529  			driver.Conn
   530  			driver.ConnPrepareContext
   531  			driver.NamedValueChecker
   532  			driver.Pinger
   533  		}{conn, conn, conn, conn}
   534  	case i0 | i1 | i4 | i5:
   535  		return struct {
   536  			driver.Conn
   537  			driver.ConnBeginTx
   538  			driver.ConnPrepareContext
   539  			driver.NamedValueChecker
   540  			driver.Pinger
   541  		}{conn, conn, conn, conn, conn}
   542  	case i2 | i4 | i5:
   543  		return struct {
   544  			driver.Conn
   545  			driver.Execer
   546  			driver.NamedValueChecker
   547  			driver.Pinger
   548  		}{conn, conn, conn, conn}
   549  	case i0 | i2 | i4 | i5:
   550  		return struct {
   551  			driver.Conn
   552  			driver.ConnBeginTx
   553  			driver.Execer
   554  			driver.NamedValueChecker
   555  			driver.Pinger
   556  		}{conn, conn, conn, conn, conn}
   557  	case i1 | i2 | i4 | i5:
   558  		return struct {
   559  			driver.Conn
   560  			driver.ConnPrepareContext
   561  			driver.Execer
   562  			driver.NamedValueChecker
   563  			driver.Pinger
   564  		}{conn, conn, conn, conn, conn}
   565  	case i0 | i1 | i2 | i4 | i5:
   566  		return struct {
   567  			driver.Conn
   568  			driver.ConnBeginTx
   569  			driver.ConnPrepareContext
   570  			driver.Execer
   571  			driver.NamedValueChecker
   572  			driver.Pinger
   573  		}{conn, conn, conn, conn, conn, conn}
   574  	case i3 | i4 | i5:
   575  		return struct {
   576  			driver.Conn
   577  			driver.ExecerContext
   578  			driver.NamedValueChecker
   579  			driver.Pinger
   580  		}{conn, conn, conn, conn}
   581  	case i0 | i3 | i4 | i5:
   582  		return struct {
   583  			driver.Conn
   584  			driver.ConnBeginTx
   585  			driver.ExecerContext
   586  			driver.NamedValueChecker
   587  			driver.Pinger
   588  		}{conn, conn, conn, conn, conn}
   589  	case i1 | i3 | i4 | i5:
   590  		return struct {
   591  			driver.Conn
   592  			driver.ConnPrepareContext
   593  			driver.ExecerContext
   594  			driver.NamedValueChecker
   595  			driver.Pinger
   596  		}{conn, conn, conn, conn, conn}
   597  	case i0 | i1 | i3 | i4 | i5:
   598  		return struct {
   599  			driver.Conn
   600  			driver.ConnBeginTx
   601  			driver.ConnPrepareContext
   602  			driver.ExecerContext
   603  			driver.NamedValueChecker
   604  			driver.Pinger
   605  		}{conn, conn, conn, conn, conn, conn}
   606  	case i2 | i3 | i4 | i5:
   607  		return struct {
   608  			driver.Conn
   609  			driver.Execer
   610  			driver.ExecerContext
   611  			driver.NamedValueChecker
   612  			driver.Pinger
   613  		}{conn, conn, conn, conn, conn}
   614  	case i0 | i2 | i3 | i4 | i5:
   615  		return struct {
   616  			driver.Conn
   617  			driver.ConnBeginTx
   618  			driver.Execer
   619  			driver.ExecerContext
   620  			driver.NamedValueChecker
   621  			driver.Pinger
   622  		}{conn, conn, conn, conn, conn, conn}
   623  	case i1 | i2 | i3 | i4 | i5:
   624  		return struct {
   625  			driver.Conn
   626  			driver.ConnPrepareContext
   627  			driver.Execer
   628  			driver.ExecerContext
   629  			driver.NamedValueChecker
   630  			driver.Pinger
   631  		}{conn, conn, conn, conn, conn, conn}
   632  	case i0 | i1 | i2 | i3 | i4 | i5:
   633  		return struct {
   634  			driver.Conn
   635  			driver.ConnBeginTx
   636  			driver.ConnPrepareContext
   637  			driver.Execer
   638  			driver.ExecerContext
   639  			driver.NamedValueChecker
   640  			driver.Pinger
   641  		}{conn, conn, conn, conn, conn, conn, conn}
   642  	case i6:
   643  		return struct {
   644  			driver.Conn
   645  			driver.Queryer
   646  		}{conn, conn}
   647  	case i0 | i6:
   648  		return struct {
   649  			driver.Conn
   650  			driver.ConnBeginTx
   651  			driver.Queryer
   652  		}{conn, conn, conn}
   653  	case i1 | i6:
   654  		return struct {
   655  			driver.Conn
   656  			driver.ConnPrepareContext
   657  			driver.Queryer
   658  		}{conn, conn, conn}
   659  	case i0 | i1 | i6:
   660  		return struct {
   661  			driver.Conn
   662  			driver.ConnBeginTx
   663  			driver.ConnPrepareContext
   664  			driver.Queryer
   665  		}{conn, conn, conn, conn}
   666  	case i2 | i6:
   667  		return struct {
   668  			driver.Conn
   669  			driver.Execer
   670  			driver.Queryer
   671  		}{conn, conn, conn}
   672  	case i0 | i2 | i6:
   673  		return struct {
   674  			driver.Conn
   675  			driver.ConnBeginTx
   676  			driver.Execer
   677  			driver.Queryer
   678  		}{conn, conn, conn, conn}
   679  	case i1 | i2 | i6:
   680  		return struct {
   681  			driver.Conn
   682  			driver.ConnPrepareContext
   683  			driver.Execer
   684  			driver.Queryer
   685  		}{conn, conn, conn, conn}
   686  	case i0 | i1 | i2 | i6:
   687  		return struct {
   688  			driver.Conn
   689  			driver.ConnBeginTx
   690  			driver.ConnPrepareContext
   691  			driver.Execer
   692  			driver.Queryer
   693  		}{conn, conn, conn, conn, conn}
   694  	case i3 | i6:
   695  		return struct {
   696  			driver.Conn
   697  			driver.ExecerContext
   698  			driver.Queryer
   699  		}{conn, conn, conn}
   700  	case i0 | i3 | i6:
   701  		return struct {
   702  			driver.Conn
   703  			driver.ConnBeginTx
   704  			driver.ExecerContext
   705  			driver.Queryer
   706  		}{conn, conn, conn, conn}
   707  	case i1 | i3 | i6:
   708  		return struct {
   709  			driver.Conn
   710  			driver.ConnPrepareContext
   711  			driver.ExecerContext
   712  			driver.Queryer
   713  		}{conn, conn, conn, conn}
   714  	case i0 | i1 | i3 | i6:
   715  		return struct {
   716  			driver.Conn
   717  			driver.ConnBeginTx
   718  			driver.ConnPrepareContext
   719  			driver.ExecerContext
   720  			driver.Queryer
   721  		}{conn, conn, conn, conn, conn}
   722  	case i2 | i3 | i6:
   723  		return struct {
   724  			driver.Conn
   725  			driver.Execer
   726  			driver.ExecerContext
   727  			driver.Queryer
   728  		}{conn, conn, conn, conn}
   729  	case i0 | i2 | i3 | i6:
   730  		return struct {
   731  			driver.Conn
   732  			driver.ConnBeginTx
   733  			driver.Execer
   734  			driver.ExecerContext
   735  			driver.Queryer
   736  		}{conn, conn, conn, conn, conn}
   737  	case i1 | i2 | i3 | i6:
   738  		return struct {
   739  			driver.Conn
   740  			driver.ConnPrepareContext
   741  			driver.Execer
   742  			driver.ExecerContext
   743  			driver.Queryer
   744  		}{conn, conn, conn, conn, conn}
   745  	case i0 | i1 | i2 | i3 | i6:
   746  		return struct {
   747  			driver.Conn
   748  			driver.ConnBeginTx
   749  			driver.ConnPrepareContext
   750  			driver.Execer
   751  			driver.ExecerContext
   752  			driver.Queryer
   753  		}{conn, conn, conn, conn, conn, conn}
   754  	case i4 | i6:
   755  		return struct {
   756  			driver.Conn
   757  			driver.NamedValueChecker
   758  			driver.Queryer
   759  		}{conn, conn, conn}
   760  	case i0 | i4 | i6:
   761  		return struct {
   762  			driver.Conn
   763  			driver.ConnBeginTx
   764  			driver.NamedValueChecker
   765  			driver.Queryer
   766  		}{conn, conn, conn, conn}
   767  	case i1 | i4 | i6:
   768  		return struct {
   769  			driver.Conn
   770  			driver.ConnPrepareContext
   771  			driver.NamedValueChecker
   772  			driver.Queryer
   773  		}{conn, conn, conn, conn}
   774  	case i0 | i1 | i4 | i6:
   775  		return struct {
   776  			driver.Conn
   777  			driver.ConnBeginTx
   778  			driver.ConnPrepareContext
   779  			driver.NamedValueChecker
   780  			driver.Queryer
   781  		}{conn, conn, conn, conn, conn}
   782  	case i2 | i4 | i6:
   783  		return struct {
   784  			driver.Conn
   785  			driver.Execer
   786  			driver.NamedValueChecker
   787  			driver.Queryer
   788  		}{conn, conn, conn, conn}
   789  	case i0 | i2 | i4 | i6:
   790  		return struct {
   791  			driver.Conn
   792  			driver.ConnBeginTx
   793  			driver.Execer
   794  			driver.NamedValueChecker
   795  			driver.Queryer
   796  		}{conn, conn, conn, conn, conn}
   797  	case i1 | i2 | i4 | i6:
   798  		return struct {
   799  			driver.Conn
   800  			driver.ConnPrepareContext
   801  			driver.Execer
   802  			driver.NamedValueChecker
   803  			driver.Queryer
   804  		}{conn, conn, conn, conn, conn}
   805  	case i0 | i1 | i2 | i4 | i6:
   806  		return struct {
   807  			driver.Conn
   808  			driver.ConnBeginTx
   809  			driver.ConnPrepareContext
   810  			driver.Execer
   811  			driver.NamedValueChecker
   812  			driver.Queryer
   813  		}{conn, conn, conn, conn, conn, conn}
   814  	case i3 | i4 | i6:
   815  		return struct {
   816  			driver.Conn
   817  			driver.ExecerContext
   818  			driver.NamedValueChecker
   819  			driver.Queryer
   820  		}{conn, conn, conn, conn}
   821  	case i0 | i3 | i4 | i6:
   822  		return struct {
   823  			driver.Conn
   824  			driver.ConnBeginTx
   825  			driver.ExecerContext
   826  			driver.NamedValueChecker
   827  			driver.Queryer
   828  		}{conn, conn, conn, conn, conn}
   829  	case i1 | i3 | i4 | i6:
   830  		return struct {
   831  			driver.Conn
   832  			driver.ConnPrepareContext
   833  			driver.ExecerContext
   834  			driver.NamedValueChecker
   835  			driver.Queryer
   836  		}{conn, conn, conn, conn, conn}
   837  	case i0 | i1 | i3 | i4 | i6:
   838  		return struct {
   839  			driver.Conn
   840  			driver.ConnBeginTx
   841  			driver.ConnPrepareContext
   842  			driver.ExecerContext
   843  			driver.NamedValueChecker
   844  			driver.Queryer
   845  		}{conn, conn, conn, conn, conn, conn}
   846  	case i2 | i3 | i4 | i6:
   847  		return struct {
   848  			driver.Conn
   849  			driver.Execer
   850  			driver.ExecerContext
   851  			driver.NamedValueChecker
   852  			driver.Queryer
   853  		}{conn, conn, conn, conn, conn}
   854  	case i0 | i2 | i3 | i4 | i6:
   855  		return struct {
   856  			driver.Conn
   857  			driver.ConnBeginTx
   858  			driver.Execer
   859  			driver.ExecerContext
   860  			driver.NamedValueChecker
   861  			driver.Queryer
   862  		}{conn, conn, conn, conn, conn, conn}
   863  	case i1 | i2 | i3 | i4 | i6:
   864  		return struct {
   865  			driver.Conn
   866  			driver.ConnPrepareContext
   867  			driver.Execer
   868  			driver.ExecerContext
   869  			driver.NamedValueChecker
   870  			driver.Queryer
   871  		}{conn, conn, conn, conn, conn, conn}
   872  	case i0 | i1 | i2 | i3 | i4 | i6:
   873  		return struct {
   874  			driver.Conn
   875  			driver.ConnBeginTx
   876  			driver.ConnPrepareContext
   877  			driver.Execer
   878  			driver.ExecerContext
   879  			driver.NamedValueChecker
   880  			driver.Queryer
   881  		}{conn, conn, conn, conn, conn, conn, conn}
   882  	case i5 | i6:
   883  		return struct {
   884  			driver.Conn
   885  			driver.Pinger
   886  			driver.Queryer
   887  		}{conn, conn, conn}
   888  	case i0 | i5 | i6:
   889  		return struct {
   890  			driver.Conn
   891  			driver.ConnBeginTx
   892  			driver.Pinger
   893  			driver.Queryer
   894  		}{conn, conn, conn, conn}
   895  	case i1 | i5 | i6:
   896  		return struct {
   897  			driver.Conn
   898  			driver.ConnPrepareContext
   899  			driver.Pinger
   900  			driver.Queryer
   901  		}{conn, conn, conn, conn}
   902  	case i0 | i1 | i5 | i6:
   903  		return struct {
   904  			driver.Conn
   905  			driver.ConnBeginTx
   906  			driver.ConnPrepareContext
   907  			driver.Pinger
   908  			driver.Queryer
   909  		}{conn, conn, conn, conn, conn}
   910  	case i2 | i5 | i6:
   911  		return struct {
   912  			driver.Conn
   913  			driver.Execer
   914  			driver.Pinger
   915  			driver.Queryer
   916  		}{conn, conn, conn, conn}
   917  	case i0 | i2 | i5 | i6:
   918  		return struct {
   919  			driver.Conn
   920  			driver.ConnBeginTx
   921  			driver.Execer
   922  			driver.Pinger
   923  			driver.Queryer
   924  		}{conn, conn, conn, conn, conn}
   925  	case i1 | i2 | i5 | i6:
   926  		return struct {
   927  			driver.Conn
   928  			driver.ConnPrepareContext
   929  			driver.Execer
   930  			driver.Pinger
   931  			driver.Queryer
   932  		}{conn, conn, conn, conn, conn}
   933  	case i0 | i1 | i2 | i5 | i6:
   934  		return struct {
   935  			driver.Conn
   936  			driver.ConnBeginTx
   937  			driver.ConnPrepareContext
   938  			driver.Execer
   939  			driver.Pinger
   940  			driver.Queryer
   941  		}{conn, conn, conn, conn, conn, conn}
   942  	case i3 | i5 | i6:
   943  		return struct {
   944  			driver.Conn
   945  			driver.ExecerContext
   946  			driver.Pinger
   947  			driver.Queryer
   948  		}{conn, conn, conn, conn}
   949  	case i0 | i3 | i5 | i6:
   950  		return struct {
   951  			driver.Conn
   952  			driver.ConnBeginTx
   953  			driver.ExecerContext
   954  			driver.Pinger
   955  			driver.Queryer
   956  		}{conn, conn, conn, conn, conn}
   957  	case i1 | i3 | i5 | i6:
   958  		return struct {
   959  			driver.Conn
   960  			driver.ConnPrepareContext
   961  			driver.ExecerContext
   962  			driver.Pinger
   963  			driver.Queryer
   964  		}{conn, conn, conn, conn, conn}
   965  	case i0 | i1 | i3 | i5 | i6:
   966  		return struct {
   967  			driver.Conn
   968  			driver.ConnBeginTx
   969  			driver.ConnPrepareContext
   970  			driver.ExecerContext
   971  			driver.Pinger
   972  			driver.Queryer
   973  		}{conn, conn, conn, conn, conn, conn}
   974  	case i2 | i3 | i5 | i6:
   975  		return struct {
   976  			driver.Conn
   977  			driver.Execer
   978  			driver.ExecerContext
   979  			driver.Pinger
   980  			driver.Queryer
   981  		}{conn, conn, conn, conn, conn}
   982  	case i0 | i2 | i3 | i5 | i6:
   983  		return struct {
   984  			driver.Conn
   985  			driver.ConnBeginTx
   986  			driver.Execer
   987  			driver.ExecerContext
   988  			driver.Pinger
   989  			driver.Queryer
   990  		}{conn, conn, conn, conn, conn, conn}
   991  	case i1 | i2 | i3 | i5 | i6:
   992  		return struct {
   993  			driver.Conn
   994  			driver.ConnPrepareContext
   995  			driver.Execer
   996  			driver.ExecerContext
   997  			driver.Pinger
   998  			driver.Queryer
   999  		}{conn, conn, conn, conn, conn, conn}
  1000  	case i0 | i1 | i2 | i3 | i5 | i6:
  1001  		return struct {
  1002  			driver.Conn
  1003  			driver.ConnBeginTx
  1004  			driver.ConnPrepareContext
  1005  			driver.Execer
  1006  			driver.ExecerContext
  1007  			driver.Pinger
  1008  			driver.Queryer
  1009  		}{conn, conn, conn, conn, conn, conn, conn}
  1010  	case i4 | i5 | i6:
  1011  		return struct {
  1012  			driver.Conn
  1013  			driver.NamedValueChecker
  1014  			driver.Pinger
  1015  			driver.Queryer
  1016  		}{conn, conn, conn, conn}
  1017  	case i0 | i4 | i5 | i6:
  1018  		return struct {
  1019  			driver.Conn
  1020  			driver.ConnBeginTx
  1021  			driver.NamedValueChecker
  1022  			driver.Pinger
  1023  			driver.Queryer
  1024  		}{conn, conn, conn, conn, conn}
  1025  	case i1 | i4 | i5 | i6:
  1026  		return struct {
  1027  			driver.Conn
  1028  			driver.ConnPrepareContext
  1029  			driver.NamedValueChecker
  1030  			driver.Pinger
  1031  			driver.Queryer
  1032  		}{conn, conn, conn, conn, conn}
  1033  	case i0 | i1 | i4 | i5 | i6:
  1034  		return struct {
  1035  			driver.Conn
  1036  			driver.ConnBeginTx
  1037  			driver.ConnPrepareContext
  1038  			driver.NamedValueChecker
  1039  			driver.Pinger
  1040  			driver.Queryer
  1041  		}{conn, conn, conn, conn, conn, conn}
  1042  	case i2 | i4 | i5 | i6:
  1043  		return struct {
  1044  			driver.Conn
  1045  			driver.Execer
  1046  			driver.NamedValueChecker
  1047  			driver.Pinger
  1048  			driver.Queryer
  1049  		}{conn, conn, conn, conn, conn}
  1050  	case i0 | i2 | i4 | i5 | i6:
  1051  		return struct {
  1052  			driver.Conn
  1053  			driver.ConnBeginTx
  1054  			driver.Execer
  1055  			driver.NamedValueChecker
  1056  			driver.Pinger
  1057  			driver.Queryer
  1058  		}{conn, conn, conn, conn, conn, conn}
  1059  	case i1 | i2 | i4 | i5 | i6:
  1060  		return struct {
  1061  			driver.Conn
  1062  			driver.ConnPrepareContext
  1063  			driver.Execer
  1064  			driver.NamedValueChecker
  1065  			driver.Pinger
  1066  			driver.Queryer
  1067  		}{conn, conn, conn, conn, conn, conn}
  1068  	case i0 | i1 | i2 | i4 | i5 | i6:
  1069  		return struct {
  1070  			driver.Conn
  1071  			driver.ConnBeginTx
  1072  			driver.ConnPrepareContext
  1073  			driver.Execer
  1074  			driver.NamedValueChecker
  1075  			driver.Pinger
  1076  			driver.Queryer
  1077  		}{conn, conn, conn, conn, conn, conn, conn}
  1078  	case i3 | i4 | i5 | i6:
  1079  		return struct {
  1080  			driver.Conn
  1081  			driver.ExecerContext
  1082  			driver.NamedValueChecker
  1083  			driver.Pinger
  1084  			driver.Queryer
  1085  		}{conn, conn, conn, conn, conn}
  1086  	case i0 | i3 | i4 | i5 | i6:
  1087  		return struct {
  1088  			driver.Conn
  1089  			driver.ConnBeginTx
  1090  			driver.ExecerContext
  1091  			driver.NamedValueChecker
  1092  			driver.Pinger
  1093  			driver.Queryer
  1094  		}{conn, conn, conn, conn, conn, conn}
  1095  	case i1 | i3 | i4 | i5 | i6:
  1096  		return struct {
  1097  			driver.Conn
  1098  			driver.ConnPrepareContext
  1099  			driver.ExecerContext
  1100  			driver.NamedValueChecker
  1101  			driver.Pinger
  1102  			driver.Queryer
  1103  		}{conn, conn, conn, conn, conn, conn}
  1104  	case i0 | i1 | i3 | i4 | i5 | i6:
  1105  		return struct {
  1106  			driver.Conn
  1107  			driver.ConnBeginTx
  1108  			driver.ConnPrepareContext
  1109  			driver.ExecerContext
  1110  			driver.NamedValueChecker
  1111  			driver.Pinger
  1112  			driver.Queryer
  1113  		}{conn, conn, conn, conn, conn, conn, conn}
  1114  	case i2 | i3 | i4 | i5 | i6:
  1115  		return struct {
  1116  			driver.Conn
  1117  			driver.Execer
  1118  			driver.ExecerContext
  1119  			driver.NamedValueChecker
  1120  			driver.Pinger
  1121  			driver.Queryer
  1122  		}{conn, conn, conn, conn, conn, conn}
  1123  	case i0 | i2 | i3 | i4 | i5 | i6:
  1124  		return struct {
  1125  			driver.Conn
  1126  			driver.ConnBeginTx
  1127  			driver.Execer
  1128  			driver.ExecerContext
  1129  			driver.NamedValueChecker
  1130  			driver.Pinger
  1131  			driver.Queryer
  1132  		}{conn, conn, conn, conn, conn, conn, conn}
  1133  	case i1 | i2 | i3 | i4 | i5 | i6:
  1134  		return struct {
  1135  			driver.Conn
  1136  			driver.ConnPrepareContext
  1137  			driver.Execer
  1138  			driver.ExecerContext
  1139  			driver.NamedValueChecker
  1140  			driver.Pinger
  1141  			driver.Queryer
  1142  		}{conn, conn, conn, conn, conn, conn, conn}
  1143  	case i0 | i1 | i2 | i3 | i4 | i5 | i6:
  1144  		return struct {
  1145  			driver.Conn
  1146  			driver.ConnBeginTx
  1147  			driver.ConnPrepareContext
  1148  			driver.Execer
  1149  			driver.ExecerContext
  1150  			driver.NamedValueChecker
  1151  			driver.Pinger
  1152  			driver.Queryer
  1153  		}{conn, conn, conn, conn, conn, conn, conn, conn}
  1154  	case i7:
  1155  		return struct {
  1156  			driver.Conn
  1157  			driver.QueryerContext
  1158  		}{conn, conn}
  1159  	case i0 | i7:
  1160  		return struct {
  1161  			driver.Conn
  1162  			driver.ConnBeginTx
  1163  			driver.QueryerContext
  1164  		}{conn, conn, conn}
  1165  	case i1 | i7:
  1166  		return struct {
  1167  			driver.Conn
  1168  			driver.ConnPrepareContext
  1169  			driver.QueryerContext
  1170  		}{conn, conn, conn}
  1171  	case i0 | i1 | i7:
  1172  		return struct {
  1173  			driver.Conn
  1174  			driver.ConnBeginTx
  1175  			driver.ConnPrepareContext
  1176  			driver.QueryerContext
  1177  		}{conn, conn, conn, conn}
  1178  	case i2 | i7:
  1179  		return struct {
  1180  			driver.Conn
  1181  			driver.Execer
  1182  			driver.QueryerContext
  1183  		}{conn, conn, conn}
  1184  	case i0 | i2 | i7:
  1185  		return struct {
  1186  			driver.Conn
  1187  			driver.ConnBeginTx
  1188  			driver.Execer
  1189  			driver.QueryerContext
  1190  		}{conn, conn, conn, conn}
  1191  	case i1 | i2 | i7:
  1192  		return struct {
  1193  			driver.Conn
  1194  			driver.ConnPrepareContext
  1195  			driver.Execer
  1196  			driver.QueryerContext
  1197  		}{conn, conn, conn, conn}
  1198  	case i0 | i1 | i2 | i7:
  1199  		return struct {
  1200  			driver.Conn
  1201  			driver.ConnBeginTx
  1202  			driver.ConnPrepareContext
  1203  			driver.Execer
  1204  			driver.QueryerContext
  1205  		}{conn, conn, conn, conn, conn}
  1206  	case i3 | i7:
  1207  		return struct {
  1208  			driver.Conn
  1209  			driver.ExecerContext
  1210  			driver.QueryerContext
  1211  		}{conn, conn, conn}
  1212  	case i0 | i3 | i7:
  1213  		return struct {
  1214  			driver.Conn
  1215  			driver.ConnBeginTx
  1216  			driver.ExecerContext
  1217  			driver.QueryerContext
  1218  		}{conn, conn, conn, conn}
  1219  	case i1 | i3 | i7:
  1220  		return struct {
  1221  			driver.Conn
  1222  			driver.ConnPrepareContext
  1223  			driver.ExecerContext
  1224  			driver.QueryerContext
  1225  		}{conn, conn, conn, conn}
  1226  	case i0 | i1 | i3 | i7:
  1227  		return struct {
  1228  			driver.Conn
  1229  			driver.ConnBeginTx
  1230  			driver.ConnPrepareContext
  1231  			driver.ExecerContext
  1232  			driver.QueryerContext
  1233  		}{conn, conn, conn, conn, conn}
  1234  	case i2 | i3 | i7:
  1235  		return struct {
  1236  			driver.Conn
  1237  			driver.Execer
  1238  			driver.ExecerContext
  1239  			driver.QueryerContext
  1240  		}{conn, conn, conn, conn}
  1241  	case i0 | i2 | i3 | i7:
  1242  		return struct {
  1243  			driver.Conn
  1244  			driver.ConnBeginTx
  1245  			driver.Execer
  1246  			driver.ExecerContext
  1247  			driver.QueryerContext
  1248  		}{conn, conn, conn, conn, conn}
  1249  	case i1 | i2 | i3 | i7:
  1250  		return struct {
  1251  			driver.Conn
  1252  			driver.ConnPrepareContext
  1253  			driver.Execer
  1254  			driver.ExecerContext
  1255  			driver.QueryerContext
  1256  		}{conn, conn, conn, conn, conn}
  1257  	case i0 | i1 | i2 | i3 | i7:
  1258  		return struct {
  1259  			driver.Conn
  1260  			driver.ConnBeginTx
  1261  			driver.ConnPrepareContext
  1262  			driver.Execer
  1263  			driver.ExecerContext
  1264  			driver.QueryerContext
  1265  		}{conn, conn, conn, conn, conn, conn}
  1266  	case i4 | i7:
  1267  		return struct {
  1268  			driver.Conn
  1269  			driver.NamedValueChecker
  1270  			driver.QueryerContext
  1271  		}{conn, conn, conn}
  1272  	case i0 | i4 | i7:
  1273  		return struct {
  1274  			driver.Conn
  1275  			driver.ConnBeginTx
  1276  			driver.NamedValueChecker
  1277  			driver.QueryerContext
  1278  		}{conn, conn, conn, conn}
  1279  	case i1 | i4 | i7:
  1280  		return struct {
  1281  			driver.Conn
  1282  			driver.ConnPrepareContext
  1283  			driver.NamedValueChecker
  1284  			driver.QueryerContext
  1285  		}{conn, conn, conn, conn}
  1286  	case i0 | i1 | i4 | i7:
  1287  		return struct {
  1288  			driver.Conn
  1289  			driver.ConnBeginTx
  1290  			driver.ConnPrepareContext
  1291  			driver.NamedValueChecker
  1292  			driver.QueryerContext
  1293  		}{conn, conn, conn, conn, conn}
  1294  	case i2 | i4 | i7:
  1295  		return struct {
  1296  			driver.Conn
  1297  			driver.Execer
  1298  			driver.NamedValueChecker
  1299  			driver.QueryerContext
  1300  		}{conn, conn, conn, conn}
  1301  	case i0 | i2 | i4 | i7:
  1302  		return struct {
  1303  			driver.Conn
  1304  			driver.ConnBeginTx
  1305  			driver.Execer
  1306  			driver.NamedValueChecker
  1307  			driver.QueryerContext
  1308  		}{conn, conn, conn, conn, conn}
  1309  	case i1 | i2 | i4 | i7:
  1310  		return struct {
  1311  			driver.Conn
  1312  			driver.ConnPrepareContext
  1313  			driver.Execer
  1314  			driver.NamedValueChecker
  1315  			driver.QueryerContext
  1316  		}{conn, conn, conn, conn, conn}
  1317  	case i0 | i1 | i2 | i4 | i7:
  1318  		return struct {
  1319  			driver.Conn
  1320  			driver.ConnBeginTx
  1321  			driver.ConnPrepareContext
  1322  			driver.Execer
  1323  			driver.NamedValueChecker
  1324  			driver.QueryerContext
  1325  		}{conn, conn, conn, conn, conn, conn}
  1326  	case i3 | i4 | i7:
  1327  		return struct {
  1328  			driver.Conn
  1329  			driver.ExecerContext
  1330  			driver.NamedValueChecker
  1331  			driver.QueryerContext
  1332  		}{conn, conn, conn, conn}
  1333  	case i0 | i3 | i4 | i7:
  1334  		return struct {
  1335  			driver.Conn
  1336  			driver.ConnBeginTx
  1337  			driver.ExecerContext
  1338  			driver.NamedValueChecker
  1339  			driver.QueryerContext
  1340  		}{conn, conn, conn, conn, conn}
  1341  	case i1 | i3 | i4 | i7:
  1342  		return struct {
  1343  			driver.Conn
  1344  			driver.ConnPrepareContext
  1345  			driver.ExecerContext
  1346  			driver.NamedValueChecker
  1347  			driver.QueryerContext
  1348  		}{conn, conn, conn, conn, conn}
  1349  	case i0 | i1 | i3 | i4 | i7:
  1350  		return struct {
  1351  			driver.Conn
  1352  			driver.ConnBeginTx
  1353  			driver.ConnPrepareContext
  1354  			driver.ExecerContext
  1355  			driver.NamedValueChecker
  1356  			driver.QueryerContext
  1357  		}{conn, conn, conn, conn, conn, conn}
  1358  	case i2 | i3 | i4 | i7:
  1359  		return struct {
  1360  			driver.Conn
  1361  			driver.Execer
  1362  			driver.ExecerContext
  1363  			driver.NamedValueChecker
  1364  			driver.QueryerContext
  1365  		}{conn, conn, conn, conn, conn}
  1366  	case i0 | i2 | i3 | i4 | i7:
  1367  		return struct {
  1368  			driver.Conn
  1369  			driver.ConnBeginTx
  1370  			driver.Execer
  1371  			driver.ExecerContext
  1372  			driver.NamedValueChecker
  1373  			driver.QueryerContext
  1374  		}{conn, conn, conn, conn, conn, conn}
  1375  	case i1 | i2 | i3 | i4 | i7:
  1376  		return struct {
  1377  			driver.Conn
  1378  			driver.ConnPrepareContext
  1379  			driver.Execer
  1380  			driver.ExecerContext
  1381  			driver.NamedValueChecker
  1382  			driver.QueryerContext
  1383  		}{conn, conn, conn, conn, conn, conn}
  1384  	case i0 | i1 | i2 | i3 | i4 | i7:
  1385  		return struct {
  1386  			driver.Conn
  1387  			driver.ConnBeginTx
  1388  			driver.ConnPrepareContext
  1389  			driver.Execer
  1390  			driver.ExecerContext
  1391  			driver.NamedValueChecker
  1392  			driver.QueryerContext
  1393  		}{conn, conn, conn, conn, conn, conn, conn}
  1394  	case i5 | i7:
  1395  		return struct {
  1396  			driver.Conn
  1397  			driver.Pinger
  1398  			driver.QueryerContext
  1399  		}{conn, conn, conn}
  1400  	case i0 | i5 | i7:
  1401  		return struct {
  1402  			driver.Conn
  1403  			driver.ConnBeginTx
  1404  			driver.Pinger
  1405  			driver.QueryerContext
  1406  		}{conn, conn, conn, conn}
  1407  	case i1 | i5 | i7:
  1408  		return struct {
  1409  			driver.Conn
  1410  			driver.ConnPrepareContext
  1411  			driver.Pinger
  1412  			driver.QueryerContext
  1413  		}{conn, conn, conn, conn}
  1414  	case i0 | i1 | i5 | i7:
  1415  		return struct {
  1416  			driver.Conn
  1417  			driver.ConnBeginTx
  1418  			driver.ConnPrepareContext
  1419  			driver.Pinger
  1420  			driver.QueryerContext
  1421  		}{conn, conn, conn, conn, conn}
  1422  	case i2 | i5 | i7:
  1423  		return struct {
  1424  			driver.Conn
  1425  			driver.Execer
  1426  			driver.Pinger
  1427  			driver.QueryerContext
  1428  		}{conn, conn, conn, conn}
  1429  	case i0 | i2 | i5 | i7:
  1430  		return struct {
  1431  			driver.Conn
  1432  			driver.ConnBeginTx
  1433  			driver.Execer
  1434  			driver.Pinger
  1435  			driver.QueryerContext
  1436  		}{conn, conn, conn, conn, conn}
  1437  	case i1 | i2 | i5 | i7:
  1438  		return struct {
  1439  			driver.Conn
  1440  			driver.ConnPrepareContext
  1441  			driver.Execer
  1442  			driver.Pinger
  1443  			driver.QueryerContext
  1444  		}{conn, conn, conn, conn, conn}
  1445  	case i0 | i1 | i2 | i5 | i7:
  1446  		return struct {
  1447  			driver.Conn
  1448  			driver.ConnBeginTx
  1449  			driver.ConnPrepareContext
  1450  			driver.Execer
  1451  			driver.Pinger
  1452  			driver.QueryerContext
  1453  		}{conn, conn, conn, conn, conn, conn}
  1454  	case i3 | i5 | i7:
  1455  		return struct {
  1456  			driver.Conn
  1457  			driver.ExecerContext
  1458  			driver.Pinger
  1459  			driver.QueryerContext
  1460  		}{conn, conn, conn, conn}
  1461  	case i0 | i3 | i5 | i7:
  1462  		return struct {
  1463  			driver.Conn
  1464  			driver.ConnBeginTx
  1465  			driver.ExecerContext
  1466  			driver.Pinger
  1467  			driver.QueryerContext
  1468  		}{conn, conn, conn, conn, conn}
  1469  	case i1 | i3 | i5 | i7:
  1470  		return struct {
  1471  			driver.Conn
  1472  			driver.ConnPrepareContext
  1473  			driver.ExecerContext
  1474  			driver.Pinger
  1475  			driver.QueryerContext
  1476  		}{conn, conn, conn, conn, conn}
  1477  	case i0 | i1 | i3 | i5 | i7:
  1478  		return struct {
  1479  			driver.Conn
  1480  			driver.ConnBeginTx
  1481  			driver.ConnPrepareContext
  1482  			driver.ExecerContext
  1483  			driver.Pinger
  1484  			driver.QueryerContext
  1485  		}{conn, conn, conn, conn, conn, conn}
  1486  	case i2 | i3 | i5 | i7:
  1487  		return struct {
  1488  			driver.Conn
  1489  			driver.Execer
  1490  			driver.ExecerContext
  1491  			driver.Pinger
  1492  			driver.QueryerContext
  1493  		}{conn, conn, conn, conn, conn}
  1494  	case i0 | i2 | i3 | i5 | i7:
  1495  		return struct {
  1496  			driver.Conn
  1497  			driver.ConnBeginTx
  1498  			driver.Execer
  1499  			driver.ExecerContext
  1500  			driver.Pinger
  1501  			driver.QueryerContext
  1502  		}{conn, conn, conn, conn, conn, conn}
  1503  	case i1 | i2 | i3 | i5 | i7:
  1504  		return struct {
  1505  			driver.Conn
  1506  			driver.ConnPrepareContext
  1507  			driver.Execer
  1508  			driver.ExecerContext
  1509  			driver.Pinger
  1510  			driver.QueryerContext
  1511  		}{conn, conn, conn, conn, conn, conn}
  1512  	case i0 | i1 | i2 | i3 | i5 | i7:
  1513  		return struct {
  1514  			driver.Conn
  1515  			driver.ConnBeginTx
  1516  			driver.ConnPrepareContext
  1517  			driver.Execer
  1518  			driver.ExecerContext
  1519  			driver.Pinger
  1520  			driver.QueryerContext
  1521  		}{conn, conn, conn, conn, conn, conn, conn}
  1522  	case i4 | i5 | i7:
  1523  		return struct {
  1524  			driver.Conn
  1525  			driver.NamedValueChecker
  1526  			driver.Pinger
  1527  			driver.QueryerContext
  1528  		}{conn, conn, conn, conn}
  1529  	case i0 | i4 | i5 | i7:
  1530  		return struct {
  1531  			driver.Conn
  1532  			driver.ConnBeginTx
  1533  			driver.NamedValueChecker
  1534  			driver.Pinger
  1535  			driver.QueryerContext
  1536  		}{conn, conn, conn, conn, conn}
  1537  	case i1 | i4 | i5 | i7:
  1538  		return struct {
  1539  			driver.Conn
  1540  			driver.ConnPrepareContext
  1541  			driver.NamedValueChecker
  1542  			driver.Pinger
  1543  			driver.QueryerContext
  1544  		}{conn, conn, conn, conn, conn}
  1545  	case i0 | i1 | i4 | i5 | i7:
  1546  		return struct {
  1547  			driver.Conn
  1548  			driver.ConnBeginTx
  1549  			driver.ConnPrepareContext
  1550  			driver.NamedValueChecker
  1551  			driver.Pinger
  1552  			driver.QueryerContext
  1553  		}{conn, conn, conn, conn, conn, conn}
  1554  	case i2 | i4 | i5 | i7:
  1555  		return struct {
  1556  			driver.Conn
  1557  			driver.Execer
  1558  			driver.NamedValueChecker
  1559  			driver.Pinger
  1560  			driver.QueryerContext
  1561  		}{conn, conn, conn, conn, conn}
  1562  	case i0 | i2 | i4 | i5 | i7:
  1563  		return struct {
  1564  			driver.Conn
  1565  			driver.ConnBeginTx
  1566  			driver.Execer
  1567  			driver.NamedValueChecker
  1568  			driver.Pinger
  1569  			driver.QueryerContext
  1570  		}{conn, conn, conn, conn, conn, conn}
  1571  	case i1 | i2 | i4 | i5 | i7:
  1572  		return struct {
  1573  			driver.Conn
  1574  			driver.ConnPrepareContext
  1575  			driver.Execer
  1576  			driver.NamedValueChecker
  1577  			driver.Pinger
  1578  			driver.QueryerContext
  1579  		}{conn, conn, conn, conn, conn, conn}
  1580  	case i0 | i1 | i2 | i4 | i5 | i7:
  1581  		return struct {
  1582  			driver.Conn
  1583  			driver.ConnBeginTx
  1584  			driver.ConnPrepareContext
  1585  			driver.Execer
  1586  			driver.NamedValueChecker
  1587  			driver.Pinger
  1588  			driver.QueryerContext
  1589  		}{conn, conn, conn, conn, conn, conn, conn}
  1590  	case i3 | i4 | i5 | i7:
  1591  		return struct {
  1592  			driver.Conn
  1593  			driver.ExecerContext
  1594  			driver.NamedValueChecker
  1595  			driver.Pinger
  1596  			driver.QueryerContext
  1597  		}{conn, conn, conn, conn, conn}
  1598  	case i0 | i3 | i4 | i5 | i7:
  1599  		return struct {
  1600  			driver.Conn
  1601  			driver.ConnBeginTx
  1602  			driver.ExecerContext
  1603  			driver.NamedValueChecker
  1604  			driver.Pinger
  1605  			driver.QueryerContext
  1606  		}{conn, conn, conn, conn, conn, conn}
  1607  	case i1 | i3 | i4 | i5 | i7:
  1608  		return struct {
  1609  			driver.Conn
  1610  			driver.ConnPrepareContext
  1611  			driver.ExecerContext
  1612  			driver.NamedValueChecker
  1613  			driver.Pinger
  1614  			driver.QueryerContext
  1615  		}{conn, conn, conn, conn, conn, conn}
  1616  	case i0 | i1 | i3 | i4 | i5 | i7:
  1617  		return struct {
  1618  			driver.Conn
  1619  			driver.ConnBeginTx
  1620  			driver.ConnPrepareContext
  1621  			driver.ExecerContext
  1622  			driver.NamedValueChecker
  1623  			driver.Pinger
  1624  			driver.QueryerContext
  1625  		}{conn, conn, conn, conn, conn, conn, conn}
  1626  	case i2 | i3 | i4 | i5 | i7:
  1627  		return struct {
  1628  			driver.Conn
  1629  			driver.Execer
  1630  			driver.ExecerContext
  1631  			driver.NamedValueChecker
  1632  			driver.Pinger
  1633  			driver.QueryerContext
  1634  		}{conn, conn, conn, conn, conn, conn}
  1635  	case i0 | i2 | i3 | i4 | i5 | i7:
  1636  		return struct {
  1637  			driver.Conn
  1638  			driver.ConnBeginTx
  1639  			driver.Execer
  1640  			driver.ExecerContext
  1641  			driver.NamedValueChecker
  1642  			driver.Pinger
  1643  			driver.QueryerContext
  1644  		}{conn, conn, conn, conn, conn, conn, conn}
  1645  	case i1 | i2 | i3 | i4 | i5 | i7:
  1646  		return struct {
  1647  			driver.Conn
  1648  			driver.ConnPrepareContext
  1649  			driver.Execer
  1650  			driver.ExecerContext
  1651  			driver.NamedValueChecker
  1652  			driver.Pinger
  1653  			driver.QueryerContext
  1654  		}{conn, conn, conn, conn, conn, conn, conn}
  1655  	case i0 | i1 | i2 | i3 | i4 | i5 | i7:
  1656  		return struct {
  1657  			driver.Conn
  1658  			driver.ConnBeginTx
  1659  			driver.ConnPrepareContext
  1660  			driver.Execer
  1661  			driver.ExecerContext
  1662  			driver.NamedValueChecker
  1663  			driver.Pinger
  1664  			driver.QueryerContext
  1665  		}{conn, conn, conn, conn, conn, conn, conn, conn}
  1666  	case i6 | i7:
  1667  		return struct {
  1668  			driver.Conn
  1669  			driver.Queryer
  1670  			driver.QueryerContext
  1671  		}{conn, conn, conn}
  1672  	case i0 | i6 | i7:
  1673  		return struct {
  1674  			driver.Conn
  1675  			driver.ConnBeginTx
  1676  			driver.Queryer
  1677  			driver.QueryerContext
  1678  		}{conn, conn, conn, conn}
  1679  	case i1 | i6 | i7:
  1680  		return struct {
  1681  			driver.Conn
  1682  			driver.ConnPrepareContext
  1683  			driver.Queryer
  1684  			driver.QueryerContext
  1685  		}{conn, conn, conn, conn}
  1686  	case i0 | i1 | i6 | i7:
  1687  		return struct {
  1688  			driver.Conn
  1689  			driver.ConnBeginTx
  1690  			driver.ConnPrepareContext
  1691  			driver.Queryer
  1692  			driver.QueryerContext
  1693  		}{conn, conn, conn, conn, conn}
  1694  	case i2 | i6 | i7:
  1695  		return struct {
  1696  			driver.Conn
  1697  			driver.Execer
  1698  			driver.Queryer
  1699  			driver.QueryerContext
  1700  		}{conn, conn, conn, conn}
  1701  	case i0 | i2 | i6 | i7:
  1702  		return struct {
  1703  			driver.Conn
  1704  			driver.ConnBeginTx
  1705  			driver.Execer
  1706  			driver.Queryer
  1707  			driver.QueryerContext
  1708  		}{conn, conn, conn, conn, conn}
  1709  	case i1 | i2 | i6 | i7:
  1710  		return struct {
  1711  			driver.Conn
  1712  			driver.ConnPrepareContext
  1713  			driver.Execer
  1714  			driver.Queryer
  1715  			driver.QueryerContext
  1716  		}{conn, conn, conn, conn, conn}
  1717  	case i0 | i1 | i2 | i6 | i7:
  1718  		return struct {
  1719  			driver.Conn
  1720  			driver.ConnBeginTx
  1721  			driver.ConnPrepareContext
  1722  			driver.Execer
  1723  			driver.Queryer
  1724  			driver.QueryerContext
  1725  		}{conn, conn, conn, conn, conn, conn}
  1726  	case i3 | i6 | i7:
  1727  		return struct {
  1728  			driver.Conn
  1729  			driver.ExecerContext
  1730  			driver.Queryer
  1731  			driver.QueryerContext
  1732  		}{conn, conn, conn, conn}
  1733  	case i0 | i3 | i6 | i7:
  1734  		return struct {
  1735  			driver.Conn
  1736  			driver.ConnBeginTx
  1737  			driver.ExecerContext
  1738  			driver.Queryer
  1739  			driver.QueryerContext
  1740  		}{conn, conn, conn, conn, conn}
  1741  	case i1 | i3 | i6 | i7:
  1742  		return struct {
  1743  			driver.Conn
  1744  			driver.ConnPrepareContext
  1745  			driver.ExecerContext
  1746  			driver.Queryer
  1747  			driver.QueryerContext
  1748  		}{conn, conn, conn, conn, conn}
  1749  	case i0 | i1 | i3 | i6 | i7:
  1750  		return struct {
  1751  			driver.Conn
  1752  			driver.ConnBeginTx
  1753  			driver.ConnPrepareContext
  1754  			driver.ExecerContext
  1755  			driver.Queryer
  1756  			driver.QueryerContext
  1757  		}{conn, conn, conn, conn, conn, conn}
  1758  	case i2 | i3 | i6 | i7:
  1759  		return struct {
  1760  			driver.Conn
  1761  			driver.Execer
  1762  			driver.ExecerContext
  1763  			driver.Queryer
  1764  			driver.QueryerContext
  1765  		}{conn, conn, conn, conn, conn}
  1766  	case i0 | i2 | i3 | i6 | i7:
  1767  		return struct {
  1768  			driver.Conn
  1769  			driver.ConnBeginTx
  1770  			driver.Execer
  1771  			driver.ExecerContext
  1772  			driver.Queryer
  1773  			driver.QueryerContext
  1774  		}{conn, conn, conn, conn, conn, conn}
  1775  	case i1 | i2 | i3 | i6 | i7:
  1776  		return struct {
  1777  			driver.Conn
  1778  			driver.ConnPrepareContext
  1779  			driver.Execer
  1780  			driver.ExecerContext
  1781  			driver.Queryer
  1782  			driver.QueryerContext
  1783  		}{conn, conn, conn, conn, conn, conn}
  1784  	case i0 | i1 | i2 | i3 | i6 | i7:
  1785  		return struct {
  1786  			driver.Conn
  1787  			driver.ConnBeginTx
  1788  			driver.ConnPrepareContext
  1789  			driver.Execer
  1790  			driver.ExecerContext
  1791  			driver.Queryer
  1792  			driver.QueryerContext
  1793  		}{conn, conn, conn, conn, conn, conn, conn}
  1794  	case i4 | i6 | i7:
  1795  		return struct {
  1796  			driver.Conn
  1797  			driver.NamedValueChecker
  1798  			driver.Queryer
  1799  			driver.QueryerContext
  1800  		}{conn, conn, conn, conn}
  1801  	case i0 | i4 | i6 | i7:
  1802  		return struct {
  1803  			driver.Conn
  1804  			driver.ConnBeginTx
  1805  			driver.NamedValueChecker
  1806  			driver.Queryer
  1807  			driver.QueryerContext
  1808  		}{conn, conn, conn, conn, conn}
  1809  	case i1 | i4 | i6 | i7:
  1810  		return struct {
  1811  			driver.Conn
  1812  			driver.ConnPrepareContext
  1813  			driver.NamedValueChecker
  1814  			driver.Queryer
  1815  			driver.QueryerContext
  1816  		}{conn, conn, conn, conn, conn}
  1817  	case i0 | i1 | i4 | i6 | i7:
  1818  		return struct {
  1819  			driver.Conn
  1820  			driver.ConnBeginTx
  1821  			driver.ConnPrepareContext
  1822  			driver.NamedValueChecker
  1823  			driver.Queryer
  1824  			driver.QueryerContext
  1825  		}{conn, conn, conn, conn, conn, conn}
  1826  	case i2 | i4 | i6 | i7:
  1827  		return struct {
  1828  			driver.Conn
  1829  			driver.Execer
  1830  			driver.NamedValueChecker
  1831  			driver.Queryer
  1832  			driver.QueryerContext
  1833  		}{conn, conn, conn, conn, conn}
  1834  	case i0 | i2 | i4 | i6 | i7:
  1835  		return struct {
  1836  			driver.Conn
  1837  			driver.ConnBeginTx
  1838  			driver.Execer
  1839  			driver.NamedValueChecker
  1840  			driver.Queryer
  1841  			driver.QueryerContext
  1842  		}{conn, conn, conn, conn, conn, conn}
  1843  	case i1 | i2 | i4 | i6 | i7:
  1844  		return struct {
  1845  			driver.Conn
  1846  			driver.ConnPrepareContext
  1847  			driver.Execer
  1848  			driver.NamedValueChecker
  1849  			driver.Queryer
  1850  			driver.QueryerContext
  1851  		}{conn, conn, conn, conn, conn, conn}
  1852  	case i0 | i1 | i2 | i4 | i6 | i7:
  1853  		return struct {
  1854  			driver.Conn
  1855  			driver.ConnBeginTx
  1856  			driver.ConnPrepareContext
  1857  			driver.Execer
  1858  			driver.NamedValueChecker
  1859  			driver.Queryer
  1860  			driver.QueryerContext
  1861  		}{conn, conn, conn, conn, conn, conn, conn}
  1862  	case i3 | i4 | i6 | i7:
  1863  		return struct {
  1864  			driver.Conn
  1865  			driver.ExecerContext
  1866  			driver.NamedValueChecker
  1867  			driver.Queryer
  1868  			driver.QueryerContext
  1869  		}{conn, conn, conn, conn, conn}
  1870  	case i0 | i3 | i4 | i6 | i7:
  1871  		return struct {
  1872  			driver.Conn
  1873  			driver.ConnBeginTx
  1874  			driver.ExecerContext
  1875  			driver.NamedValueChecker
  1876  			driver.Queryer
  1877  			driver.QueryerContext
  1878  		}{conn, conn, conn, conn, conn, conn}
  1879  	case i1 | i3 | i4 | i6 | i7:
  1880  		return struct {
  1881  			driver.Conn
  1882  			driver.ConnPrepareContext
  1883  			driver.ExecerContext
  1884  			driver.NamedValueChecker
  1885  			driver.Queryer
  1886  			driver.QueryerContext
  1887  		}{conn, conn, conn, conn, conn, conn}
  1888  	case i0 | i1 | i3 | i4 | i6 | i7:
  1889  		return struct {
  1890  			driver.Conn
  1891  			driver.ConnBeginTx
  1892  			driver.ConnPrepareContext
  1893  			driver.ExecerContext
  1894  			driver.NamedValueChecker
  1895  			driver.Queryer
  1896  			driver.QueryerContext
  1897  		}{conn, conn, conn, conn, conn, conn, conn}
  1898  	case i2 | i3 | i4 | i6 | i7:
  1899  		return struct {
  1900  			driver.Conn
  1901  			driver.Execer
  1902  			driver.ExecerContext
  1903  			driver.NamedValueChecker
  1904  			driver.Queryer
  1905  			driver.QueryerContext
  1906  		}{conn, conn, conn, conn, conn, conn}
  1907  	case i0 | i2 | i3 | i4 | i6 | i7:
  1908  		return struct {
  1909  			driver.Conn
  1910  			driver.ConnBeginTx
  1911  			driver.Execer
  1912  			driver.ExecerContext
  1913  			driver.NamedValueChecker
  1914  			driver.Queryer
  1915  			driver.QueryerContext
  1916  		}{conn, conn, conn, conn, conn, conn, conn}
  1917  	case i1 | i2 | i3 | i4 | i6 | i7:
  1918  		return struct {
  1919  			driver.Conn
  1920  			driver.ConnPrepareContext
  1921  			driver.Execer
  1922  			driver.ExecerContext
  1923  			driver.NamedValueChecker
  1924  			driver.Queryer
  1925  			driver.QueryerContext
  1926  		}{conn, conn, conn, conn, conn, conn, conn}
  1927  	case i0 | i1 | i2 | i3 | i4 | i6 | i7:
  1928  		return struct {
  1929  			driver.Conn
  1930  			driver.ConnBeginTx
  1931  			driver.ConnPrepareContext
  1932  			driver.Execer
  1933  			driver.ExecerContext
  1934  			driver.NamedValueChecker
  1935  			driver.Queryer
  1936  			driver.QueryerContext
  1937  		}{conn, conn, conn, conn, conn, conn, conn, conn}
  1938  	case i5 | i6 | i7:
  1939  		return struct {
  1940  			driver.Conn
  1941  			driver.Pinger
  1942  			driver.Queryer
  1943  			driver.QueryerContext
  1944  		}{conn, conn, conn, conn}
  1945  	case i0 | i5 | i6 | i7:
  1946  		return struct {
  1947  			driver.Conn
  1948  			driver.ConnBeginTx
  1949  			driver.Pinger
  1950  			driver.Queryer
  1951  			driver.QueryerContext
  1952  		}{conn, conn, conn, conn, conn}
  1953  	case i1 | i5 | i6 | i7:
  1954  		return struct {
  1955  			driver.Conn
  1956  			driver.ConnPrepareContext
  1957  			driver.Pinger
  1958  			driver.Queryer
  1959  			driver.QueryerContext
  1960  		}{conn, conn, conn, conn, conn}
  1961  	case i0 | i1 | i5 | i6 | i7:
  1962  		return struct {
  1963  			driver.Conn
  1964  			driver.ConnBeginTx
  1965  			driver.ConnPrepareContext
  1966  			driver.Pinger
  1967  			driver.Queryer
  1968  			driver.QueryerContext
  1969  		}{conn, conn, conn, conn, conn, conn}
  1970  	case i2 | i5 | i6 | i7:
  1971  		return struct {
  1972  			driver.Conn
  1973  			driver.Execer
  1974  			driver.Pinger
  1975  			driver.Queryer
  1976  			driver.QueryerContext
  1977  		}{conn, conn, conn, conn, conn}
  1978  	case i0 | i2 | i5 | i6 | i7:
  1979  		return struct {
  1980  			driver.Conn
  1981  			driver.ConnBeginTx
  1982  			driver.Execer
  1983  			driver.Pinger
  1984  			driver.Queryer
  1985  			driver.QueryerContext
  1986  		}{conn, conn, conn, conn, conn, conn}
  1987  	case i1 | i2 | i5 | i6 | i7:
  1988  		return struct {
  1989  			driver.Conn
  1990  			driver.ConnPrepareContext
  1991  			driver.Execer
  1992  			driver.Pinger
  1993  			driver.Queryer
  1994  			driver.QueryerContext
  1995  		}{conn, conn, conn, conn, conn, conn}
  1996  	case i0 | i1 | i2 | i5 | i6 | i7:
  1997  		return struct {
  1998  			driver.Conn
  1999  			driver.ConnBeginTx
  2000  			driver.ConnPrepareContext
  2001  			driver.Execer
  2002  			driver.Pinger
  2003  			driver.Queryer
  2004  			driver.QueryerContext
  2005  		}{conn, conn, conn, conn, conn, conn, conn}
  2006  	case i3 | i5 | i6 | i7:
  2007  		return struct {
  2008  			driver.Conn
  2009  			driver.ExecerContext
  2010  			driver.Pinger
  2011  			driver.Queryer
  2012  			driver.QueryerContext
  2013  		}{conn, conn, conn, conn, conn}
  2014  	case i0 | i3 | i5 | i6 | i7:
  2015  		return struct {
  2016  			driver.Conn
  2017  			driver.ConnBeginTx
  2018  			driver.ExecerContext
  2019  			driver.Pinger
  2020  			driver.Queryer
  2021  			driver.QueryerContext
  2022  		}{conn, conn, conn, conn, conn, conn}
  2023  	case i1 | i3 | i5 | i6 | i7:
  2024  		return struct {
  2025  			driver.Conn
  2026  			driver.ConnPrepareContext
  2027  			driver.ExecerContext
  2028  			driver.Pinger
  2029  			driver.Queryer
  2030  			driver.QueryerContext
  2031  		}{conn, conn, conn, conn, conn, conn}
  2032  	case i0 | i1 | i3 | i5 | i6 | i7:
  2033  		return struct {
  2034  			driver.Conn
  2035  			driver.ConnBeginTx
  2036  			driver.ConnPrepareContext
  2037  			driver.ExecerContext
  2038  			driver.Pinger
  2039  			driver.Queryer
  2040  			driver.QueryerContext
  2041  		}{conn, conn, conn, conn, conn, conn, conn}
  2042  	case i2 | i3 | i5 | i6 | i7:
  2043  		return struct {
  2044  			driver.Conn
  2045  			driver.Execer
  2046  			driver.ExecerContext
  2047  			driver.Pinger
  2048  			driver.Queryer
  2049  			driver.QueryerContext
  2050  		}{conn, conn, conn, conn, conn, conn}
  2051  	case i0 | i2 | i3 | i5 | i6 | i7:
  2052  		return struct {
  2053  			driver.Conn
  2054  			driver.ConnBeginTx
  2055  			driver.Execer
  2056  			driver.ExecerContext
  2057  			driver.Pinger
  2058  			driver.Queryer
  2059  			driver.QueryerContext
  2060  		}{conn, conn, conn, conn, conn, conn, conn}
  2061  	case i1 | i2 | i3 | i5 | i6 | i7:
  2062  		return struct {
  2063  			driver.Conn
  2064  			driver.ConnPrepareContext
  2065  			driver.Execer
  2066  			driver.ExecerContext
  2067  			driver.Pinger
  2068  			driver.Queryer
  2069  			driver.QueryerContext
  2070  		}{conn, conn, conn, conn, conn, conn, conn}
  2071  	case i0 | i1 | i2 | i3 | i5 | i6 | i7:
  2072  		return struct {
  2073  			driver.Conn
  2074  			driver.ConnBeginTx
  2075  			driver.ConnPrepareContext
  2076  			driver.Execer
  2077  			driver.ExecerContext
  2078  			driver.Pinger
  2079  			driver.Queryer
  2080  			driver.QueryerContext
  2081  		}{conn, conn, conn, conn, conn, conn, conn, conn}
  2082  	case i4 | i5 | i6 | i7:
  2083  		return struct {
  2084  			driver.Conn
  2085  			driver.NamedValueChecker
  2086  			driver.Pinger
  2087  			driver.Queryer
  2088  			driver.QueryerContext
  2089  		}{conn, conn, conn, conn, conn}
  2090  	case i0 | i4 | i5 | i6 | i7:
  2091  		return struct {
  2092  			driver.Conn
  2093  			driver.ConnBeginTx
  2094  			driver.NamedValueChecker
  2095  			driver.Pinger
  2096  			driver.Queryer
  2097  			driver.QueryerContext
  2098  		}{conn, conn, conn, conn, conn, conn}
  2099  	case i1 | i4 | i5 | i6 | i7:
  2100  		return struct {
  2101  			driver.Conn
  2102  			driver.ConnPrepareContext
  2103  			driver.NamedValueChecker
  2104  			driver.Pinger
  2105  			driver.Queryer
  2106  			driver.QueryerContext
  2107  		}{conn, conn, conn, conn, conn, conn}
  2108  	case i0 | i1 | i4 | i5 | i6 | i7:
  2109  		return struct {
  2110  			driver.Conn
  2111  			driver.ConnBeginTx
  2112  			driver.ConnPrepareContext
  2113  			driver.NamedValueChecker
  2114  			driver.Pinger
  2115  			driver.Queryer
  2116  			driver.QueryerContext
  2117  		}{conn, conn, conn, conn, conn, conn, conn}
  2118  	case i2 | i4 | i5 | i6 | i7:
  2119  		return struct {
  2120  			driver.Conn
  2121  			driver.Execer
  2122  			driver.NamedValueChecker
  2123  			driver.Pinger
  2124  			driver.Queryer
  2125  			driver.QueryerContext
  2126  		}{conn, conn, conn, conn, conn, conn}
  2127  	case i0 | i2 | i4 | i5 | i6 | i7:
  2128  		return struct {
  2129  			driver.Conn
  2130  			driver.ConnBeginTx
  2131  			driver.Execer
  2132  			driver.NamedValueChecker
  2133  			driver.Pinger
  2134  			driver.Queryer
  2135  			driver.QueryerContext
  2136  		}{conn, conn, conn, conn, conn, conn, conn}
  2137  	case i1 | i2 | i4 | i5 | i6 | i7:
  2138  		return struct {
  2139  			driver.Conn
  2140  			driver.ConnPrepareContext
  2141  			driver.Execer
  2142  			driver.NamedValueChecker
  2143  			driver.Pinger
  2144  			driver.Queryer
  2145  			driver.QueryerContext
  2146  		}{conn, conn, conn, conn, conn, conn, conn}
  2147  	case i0 | i1 | i2 | i4 | i5 | i6 | i7:
  2148  		return struct {
  2149  			driver.Conn
  2150  			driver.ConnBeginTx
  2151  			driver.ConnPrepareContext
  2152  			driver.Execer
  2153  			driver.NamedValueChecker
  2154  			driver.Pinger
  2155  			driver.Queryer
  2156  			driver.QueryerContext
  2157  		}{conn, conn, conn, conn, conn, conn, conn, conn}
  2158  	case i3 | i4 | i5 | i6 | i7:
  2159  		return struct {
  2160  			driver.Conn
  2161  			driver.ExecerContext
  2162  			driver.NamedValueChecker
  2163  			driver.Pinger
  2164  			driver.Queryer
  2165  			driver.QueryerContext
  2166  		}{conn, conn, conn, conn, conn, conn}
  2167  	case i0 | i3 | i4 | i5 | i6 | i7:
  2168  		return struct {
  2169  			driver.Conn
  2170  			driver.ConnBeginTx
  2171  			driver.ExecerContext
  2172  			driver.NamedValueChecker
  2173  			driver.Pinger
  2174  			driver.Queryer
  2175  			driver.QueryerContext
  2176  		}{conn, conn, conn, conn, conn, conn, conn}
  2177  	case i1 | i3 | i4 | i5 | i6 | i7:
  2178  		return struct {
  2179  			driver.Conn
  2180  			driver.ConnPrepareContext
  2181  			driver.ExecerContext
  2182  			driver.NamedValueChecker
  2183  			driver.Pinger
  2184  			driver.Queryer
  2185  			driver.QueryerContext
  2186  		}{conn, conn, conn, conn, conn, conn, conn}
  2187  	case i0 | i1 | i3 | i4 | i5 | i6 | i7:
  2188  		return struct {
  2189  			driver.Conn
  2190  			driver.ConnBeginTx
  2191  			driver.ConnPrepareContext
  2192  			driver.ExecerContext
  2193  			driver.NamedValueChecker
  2194  			driver.Pinger
  2195  			driver.Queryer
  2196  			driver.QueryerContext
  2197  		}{conn, conn, conn, conn, conn, conn, conn, conn}
  2198  	case i2 | i3 | i4 | i5 | i6 | i7:
  2199  		return struct {
  2200  			driver.Conn
  2201  			driver.Execer
  2202  			driver.ExecerContext
  2203  			driver.NamedValueChecker
  2204  			driver.Pinger
  2205  			driver.Queryer
  2206  			driver.QueryerContext
  2207  		}{conn, conn, conn, conn, conn, conn, conn}
  2208  	case i0 | i2 | i3 | i4 | i5 | i6 | i7:
  2209  		return struct {
  2210  			driver.Conn
  2211  			driver.ConnBeginTx
  2212  			driver.Execer
  2213  			driver.ExecerContext
  2214  			driver.NamedValueChecker
  2215  			driver.Pinger
  2216  			driver.Queryer
  2217  			driver.QueryerContext
  2218  		}{conn, conn, conn, conn, conn, conn, conn, conn}
  2219  	case i1 | i2 | i3 | i4 | i5 | i6 | i7:
  2220  		return struct {
  2221  			driver.Conn
  2222  			driver.ConnPrepareContext
  2223  			driver.Execer
  2224  			driver.ExecerContext
  2225  			driver.NamedValueChecker
  2226  			driver.Pinger
  2227  			driver.Queryer
  2228  			driver.QueryerContext
  2229  		}{conn, conn, conn, conn, conn, conn, conn, conn}
  2230  	case i0 | i1 | i2 | i3 | i4 | i5 | i6 | i7:
  2231  		return struct {
  2232  			driver.Conn
  2233  			driver.ConnBeginTx
  2234  			driver.ConnPrepareContext
  2235  			driver.Execer
  2236  			driver.ExecerContext
  2237  			driver.NamedValueChecker
  2238  			driver.Pinger
  2239  			driver.Queryer
  2240  			driver.QueryerContext
  2241  		}{conn, conn, conn, conn, conn, conn, conn, conn, conn}
  2242  	}
  2243  }