MCPcopy Index your code
hub / github.com/pingcap/tidb / TestSelectTiDBRowID

Function TestSelectTiDBRowID

dumpling/export/sql_test.go:488–523  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

486}
487
488func TestSelectTiDBRowID(t *testing.T) {
489 db, mock, err := sqlmock.New()
490 require.NoError(t, err)
491 defer func() {
492 require.NoError(t, db.Close())
493 }()
494
495 conn, err := db.Conn(context.Background())
496 require.NoError(t, err)
497 tctx := tcontext.Background().WithLogger(appLogger)
498 baseConn := newBaseConn(conn, true, nil)
499
500 database, table := "test", "t"
501
502 // _tidb_rowid is unavailable, or PKIsHandle.
503 mock.ExpectExec("SELECT _tidb_rowid from `test`.`t`").
504 WillReturnError(errors.New(`1054, "Unknown column '_tidb_rowid' in 'field list'"`))
505 hasImplicitRowID, err := SelectTiDBRowID(tctx, baseConn, database, table)
506 require.NoError(t, err)
507 require.False(t, hasImplicitRowID)
508
509 // _tidb_rowid is available.
510 mock.ExpectExec("SELECT _tidb_rowid from `test`.`t`").
511 WillReturnResult(sqlmock.NewResult(0, 0))
512 hasImplicitRowID, err = SelectTiDBRowID(tctx, baseConn, database, table)
513 require.NoError(t, err)
514 require.True(t, hasImplicitRowID)
515
516 // _tidb_rowid returns error
517 expectedErr := errors.New("mock error")
518 mock.ExpectExec("SELECT _tidb_rowid from `test`.`t`").
519 WillReturnError(expectedErr)
520 hasImplicitRowID, err = SelectTiDBRowID(tctx, baseConn, database, table)
521 require.ErrorIs(t, errors.Cause(err), expectedErr)
522 require.False(t, hasImplicitRowID)
523}
524
525func TestBuildTableSampleQueries(t *testing.T) {
526 db, mock, err := sqlmock.New()

Callers

nothing calls this directly

Calls 7

BackgroundFunction · 0.92
newBaseConnFunction · 0.85
SelectTiDBRowIDFunction · 0.85
WithLoggerMethod · 0.80
CauseMethod · 0.80
NewMethod · 0.65
CloseMethod · 0.65

Tested by

no test coverage detected