MCPcopy
hub / github.com/go-sql-driver/mysql / TestStmtMultiRows

Function TestStmtMultiRows

driver_test.go:1790–1899  ·  view source on GitHub ↗

It is valid to have multiple Rows for the same Stmt http://code.google.com/p/go/issues/detail?id=3734

(t *testing.T)

Source from the content-addressed store, hash-verified

1788// It is valid to have multiple Rows for the same Stmt
1789// http://code.google.com/p/go/issues/detail?id=3734
1790func TestStmtMultiRows(t *testing.T) {
1791 runTestsParallel(t, dsn, func(dbt *DBTest, _ string) {
1792 stmt, err := dbt.db.Prepare("SELECT 1 UNION SELECT 0")
1793 if err != nil {
1794 dbt.Fatal(err)
1795 }
1796
1797 rows1, err := stmt.Query()
1798 if err != nil {
1799 stmt.Close()
1800 dbt.Fatal(err)
1801 }
1802 defer rows1.Close()
1803
1804 rows2, err := stmt.Query()
1805 if err != nil {
1806 stmt.Close()
1807 dbt.Fatal(err)
1808 }
1809 defer rows2.Close()
1810
1811 var out bool
1812
1813 // 1
1814 if !rows1.Next() {
1815 dbt.Fatal("first rows1.Next failed")
1816 } else {
1817 err = rows1.Err()
1818 if err != nil {
1819 dbt.Fatal(err)
1820 }
1821
1822 err = rows1.Scan(&out)
1823 if err != nil {
1824 dbt.Fatalf("error on rows.Scan(): %s", err.Error())
1825 }
1826 if out != true {
1827 dbt.Errorf("true != %t", out)
1828 }
1829 }
1830
1831 if !rows2.Next() {
1832 dbt.Fatal("first rows2.Next failed")
1833 } else {
1834 err = rows2.Err()
1835 if err != nil {
1836 dbt.Fatal(err)
1837 }
1838
1839 err = rows2.Scan(&out)
1840 if err != nil {
1841 dbt.Fatalf("error on rows.Scan(): %s", err.Error())
1842 }
1843 if out != true {
1844 dbt.Errorf("true != %t", out)
1845 }
1846 }
1847

Callers

nothing calls this directly

Calls 7

runTestsParallelFunction · 0.85
PrepareMethod · 0.80
ScanMethod · 0.80
QueryMethod · 0.45
CloseMethod · 0.45
NextMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected