MCPcopy
hub / github.com/pingcap/tidb / TestShowCreateSequence

Function TestShowCreateSequence

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

Source from the content-addressed store, hash-verified

366}
367
368func TestShowCreateSequence(t *testing.T) {
369 conf := defaultConfigForTest(t)
370 db, mock, err := sqlmock.New()
371 require.NoError(t, err)
372 defer func() {
373 require.NoError(t, db.Close())
374 }()
375
376 conn, err := db.Conn(context.Background())
377 require.NoError(t, err)
378 tctx := tcontext.Background().WithLogger(appLogger)
379 baseConn := newBaseConn(conn, true, nil)
380
381 conf.ServerInfo.ServerType = version.ServerTypeTiDB
382 mock.ExpectQuery("SHOW CREATE SEQUENCE `test`.`s`").
383 WillReturnRows(sqlmock.NewRows([]string{"Sequence", "Create Sequence"}).
384 AddRow("s", "CREATE SEQUENCE `s` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 1 cache 1000 nocycle ENGINE=InnoDB"))
385 mock.ExpectQuery("SHOW TABLE `test`.`s` NEXT_ROW_ID").
386 WillReturnRows(sqlmock.NewRows([]string{"DB_NAME", "TABLE_NAME", "COLUMN_NAME", "NEXT_GLOBAL_ROW_ID", "ID_TYPE"}).
387 AddRow("test", "s", nil, 1001, "SEQUENCE"))
388
389 createSequenceSQL, err := ShowCreateSequence(tctx, baseConn, "test", "s", conf)
390 require.NoError(t, err)
391 require.Equal(t, "CREATE SEQUENCE `s` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 1 cache 1000 nocycle ENGINE=InnoDB;\nSELECT SETVAL(`s`,1001);\n", createSequenceSQL)
392 require.NoError(t, mock.ExpectationsWereMet())
393
394 conf.ServerInfo.ServerType = version.ServerTypeMariaDB
395 mock.ExpectQuery("SHOW CREATE SEQUENCE `test`.`s`").
396 WillReturnRows(sqlmock.NewRows([]string{"Table", "Create Table"}).
397 AddRow("s", "CREATE SEQUENCE `s` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 1 cache 1000 nocycle ENGINE=InnoDB"))
398 mock.ExpectQuery("SELECT NEXT_NOT_CACHED_VALUE FROM `test`.`s`").
399 WillReturnRows(sqlmock.NewRows([]string{"next_not_cached_value"}).
400 AddRow(1001))
401
402 createSequenceSQL, err = ShowCreateSequence(tctx, baseConn, "test", "s", conf)
403 require.NoError(t, err)
404 require.Equal(t, "CREATE SEQUENCE `s` start with 1 minvalue 1 maxvalue 9223372036854775806 increment by 1 cache 1000 nocycle ENGINE=InnoDB;\nSELECT SETVAL(`s`,1001);\n", createSequenceSQL)
405 require.NoError(t, mock.ExpectationsWereMet())
406}
407
408func TestShowCreatePolicy(t *testing.T) {
409 db, mock, err := sqlmock.New()

Callers

nothing calls this directly

Calls 8

BackgroundFunction · 0.92
defaultConfigForTestFunction · 0.85
newBaseConnFunction · 0.85
ShowCreateSequenceFunction · 0.85
WithLoggerMethod · 0.80
NewMethod · 0.65
CloseMethod · 0.65
EqualMethod · 0.65

Tested by

no test coverage detected