mirror of
https://github.com/ManyakRus/starter.git
synced 2025-11-28 23:20:10 +02:00
сделал pgx5
This commit is contained in:
@@ -101,6 +101,7 @@ func Connect_WithApplicationName_err(ApplicationName string) error {
|
|||||||
//
|
//
|
||||||
config, err := pgx.ParseConfig(databaseUrl)
|
config, err := pgx.ParseConfig(databaseUrl)
|
||||||
//config.PreferSimpleProtocol = true //для мульти-запросов
|
//config.PreferSimpleProtocol = true //для мульти-запросов
|
||||||
|
Conn = nil
|
||||||
Conn, err = pgx.ConnectConfig(ctx, config)
|
Conn, err = pgx.ConnectConfig(ctx, config)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -331,7 +332,7 @@ loop:
|
|||||||
|
|
||||||
// GetConnection - возвращает соединение к нужной базе данных
|
// GetConnection - возвращает соединение к нужной базе данных
|
||||||
func GetConnection() *pgx.Conn {
|
func GetConnection() *pgx.Conn {
|
||||||
if Conn == nil {
|
if Conn == nil || Conn.IsClosed() {
|
||||||
Connect()
|
Connect()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -351,19 +352,25 @@ func GetConnection_WithApplicationName(ApplicationName string) *pgx.Conn {
|
|||||||
func RawMultipleSQL(db *pgx.Conn, TextSQL string) (pgx.Rows, error) {
|
func RawMultipleSQL(db *pgx.Conn, TextSQL string) (pgx.Rows, error) {
|
||||||
var Rows pgx.Rows
|
var Rows pgx.Rows
|
||||||
var err error
|
var err error
|
||||||
Conn = db
|
|
||||||
|
|
||||||
if Conn == nil {
|
if db == nil {
|
||||||
TextError := "RawMultipleSQL() error: db =nil"
|
TextError := "RawMultipleSQL() error: db =nil"
|
||||||
log.Error(TextError)
|
log.Error(TextError)
|
||||||
err = errors.New(TextError)
|
err = errors.New(TextError)
|
||||||
return Rows, err
|
return Rows, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if db.IsClosed() {
|
||||||
|
TextError := "RawMultipleSQL() error: db is closed"
|
||||||
|
log.Error(TextError)
|
||||||
|
err = errors.New(TextError)
|
||||||
|
return Rows, err
|
||||||
|
}
|
||||||
|
|
||||||
ctx := contextmain.GetContext()
|
ctx := contextmain.GetContext()
|
||||||
|
|
||||||
//запустим транзакцию
|
//запустим транзакцию
|
||||||
tx, err := Conn.Begin(ctx)
|
tx, err := db.Begin(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
return Rows, err
|
return Rows, err
|
||||||
|
|||||||
@@ -133,9 +133,11 @@ SELECT * FROM temp_TestRawMultipleSQL2
|
|||||||
Rows, err := RawMultipleSQL(Conn, TextSQL)
|
Rows, err := RawMultipleSQL(Conn, TextSQL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error("TestRawMultipleSQL() error: ", err)
|
t.Error("TestRawMultipleSQL() error: ", err)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
if Rows == nil {
|
if Rows == nil {
|
||||||
|
t.Error("TestRawMultipleSQL() error: Rows == nil")
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
Otvet := 0
|
Otvet := 0
|
||||||
@@ -149,12 +151,14 @@ SELECT * FROM temp_TestRawMultipleSQL2
|
|||||||
t.Log("Прошло время: ", time.Since(TimeStart))
|
t.Log("Прошло время: ", time.Since(TimeStart))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TestRawMultipleSQL2 - negative test, with error
|
||||||
func TestRawMultipleSQL2(t *testing.T) {
|
func TestRawMultipleSQL2(t *testing.T) {
|
||||||
config_main.LoadEnv()
|
config_main.LoadEnv()
|
||||||
GetConnection()
|
GetConnection()
|
||||||
defer CloseConnection()
|
defer CloseConnection()
|
||||||
|
|
||||||
TimeStart := time.Now()
|
TimeStart := time.Now()
|
||||||
|
defer t.Log("Прошло время: ", time.Since(TimeStart))
|
||||||
|
|
||||||
TextSQL := `
|
TextSQL := `
|
||||||
drop table if exists temp_TestRawMultipleSQL2;
|
drop table if exists temp_TestRawMultipleSQL2;
|
||||||
@@ -170,15 +174,11 @@ SELECT * FROM temp_TestRawMultipleSQL2
|
|||||||
Rows, err := Conn.Query(ctx, TextSQL)
|
Rows, err := Conn.Query(ctx, TextSQL)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Error("TestRawMultipleSQL2() Query() error: ", err)
|
t.Error("TestRawMultipleSQL2() Query() error: ", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if Rows == nil {
|
||||||
|
t.Error("TestRawMultipleSQL2() error: Rows == nil")
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
Otvet := 0
|
|
||||||
for Rows.Next() {
|
|
||||||
err := Rows.Scan(&Otvet)
|
|
||||||
if err != nil {
|
|
||||||
t.Error("TestRawMultipleSQL2() Scan() error: ", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
t.Log("Прошло время: ", time.Since(TimeStart))
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user