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

Function TestGetSpecifiedColumnValuesAndClose

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

Source from the content-addressed store, hash-verified

1881}
1882
1883func TestGetSpecifiedColumnValuesAndClose(t *testing.T) {
1884 db, mock, err := sqlmock.New()
1885 require.NoError(t, err)
1886 defer func() {
1887 require.NoError(t, db.Close())
1888 }()
1889 ctx := context.Background()
1890 conn, err := db.Conn(ctx)
1891 require.NoError(t, err)
1892
1893 mock.ExpectQuery("SHOW BINARY LOGS").
1894 WillReturnRows(sqlmock.NewRows([]string{"Log_name", "File_size"}).
1895 AddRow("mysql-bin.000001", 52119).
1896 AddRow("mysql-bin.000002", 114))
1897
1898 query := "SHOW BINARY LOGS"
1899 rows, err := conn.QueryContext(ctx, query)
1900 require.NoError(t, err)
1901 defer rows.Close()
1902 var rowsResult [][]string
1903 rowsResult, err = GetSpecifiedColumnValuesAndClose(rows, "Log_name", "File_size")
1904 require.NoError(t, err)
1905 require.Equal(t, 2, len(rowsResult))
1906 require.Equal(t, 2, len(rowsResult[0]))
1907 require.Equal(t, "mysql-bin.000001", rowsResult[0][0])
1908 require.Equal(t, "52119", rowsResult[0][1])
1909 require.Equal(t, "mysql-bin.000002", rowsResult[1][0])
1910 require.Equal(t, "114", rowsResult[1][1])
1911
1912 mock.ExpectQuery("SHOW BINARY LOGS").
1913 WillReturnRows(sqlmock.NewRows([]string{"Log_name", "File_size", "Encrypted"}).
1914 AddRow("mysql-bin.000001", 52119, "No").
1915 AddRow("mysql-bin.000002", 114, "No"))
1916
1917 rows2, err := conn.QueryContext(ctx, query)
1918 require.NoError(t, err)
1919 defer rows2.Close()
1920 var rowsResult2 [][]string
1921 rowsResult2, err = GetSpecifiedColumnValuesAndClose(rows2, "Log_name", "File_size")
1922 require.NoError(t, err)
1923 require.Equal(t, 2, len(rowsResult2))
1924 require.Equal(t, 2, len(rowsResult2[0]))
1925 require.Equal(t, "mysql-bin.000001", rowsResult2[0][0])
1926 require.Equal(t, "52119", rowsResult2[0][1])
1927 require.Equal(t, "mysql-bin.000002", rowsResult2[1][0])
1928 require.Equal(t, "114", rowsResult2[1][1])
1929
1930 err = mock.ExpectationsWereMet()
1931 require.NoError(t, err)
1932}

Callers

nothing calls this directly

Calls 6

BackgroundFunction · 0.92
NewMethod · 0.65
CloseMethod · 0.65
QueryContextMethod · 0.65
EqualMethod · 0.65

Tested by

no test coverage detected