removing prepare statements
This commit is contained in:
parent
8629bc505b
commit
e2ad1d9a50
|
@ -58,14 +58,11 @@ func (psql PostgresqlStorage) CreateGroup(group Group) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
insertGroupStmt, err := psql.DbConnection.Prepare(fmt.Sprintf("INSERT INTO %s (id, namespace, members, data)"+
|
||||
" VALUES ($1, $2, $3, $4)",
|
||||
psql.Tables["groups"]))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer insertGroupStmt.Close()
|
||||
_, err = insertGroupStmt.Exec(group.ID, group.Namespace, pq.Array(group.Members), dataJson)
|
||||
|
||||
query := fmt.Sprintf("INSERT INTO %s (id, namespace, members, data) VALUES ($1, $2, $3, $4)",
|
||||
psql.Tables["groups"])
|
||||
|
||||
_, err = psql.DbConnection.Exec(query, group.ID, group.Namespace, pq.Array(group.Members), dataJson)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -98,17 +95,14 @@ func (psql PostgresqlStorage) GetGroup(id string) (*Group, error) {
|
|||
|
||||
func (psql PostgresqlStorage) GetGroups(namespaces []string) ([]Group, error) {
|
||||
var groups []Group
|
||||
stmt, err := psql.DbConnection.Prepare(fmt.Sprintf(`SELECT id, namespace, members, data
|
||||
FROM %s WHERE namespace = ANY($1)`, psql.Tables["groups"]))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("psql prepare select groups query failed : %s", err)
|
||||
}
|
||||
defer stmt.Close()
|
||||
rows, err := stmt.Query(pq.Array(namespaces))
|
||||
query := fmt.Sprintf(`SELECT id, namespace, members, data FROM %s WHERE namespace = ANY($1)`, psql.Tables["groups"])
|
||||
|
||||
rows, err := psql.DbConnection.Query(query, pq.Array(namespaces))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("psql select groups query failed : %s", err)
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
for rows.Next() {
|
||||
var (
|
||||
id string
|
||||
|
@ -116,15 +110,18 @@ func (psql PostgresqlStorage) GetGroups(namespaces []string) ([]Group, error) {
|
|||
data []byte
|
||||
members pq.StringArray
|
||||
)
|
||||
|
||||
err := rows.Scan(&id, &ns, &members, &data)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("psql scan groups row failed : %s", err)
|
||||
}
|
||||
|
||||
var groupData map[string]interface{}
|
||||
err = json.Unmarshal(data, &groupData)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("psql unmarshal group data failed : %s", err)
|
||||
}
|
||||
|
||||
groups = append(groups, Group{
|
||||
ID: id,
|
||||
Namespace: ns,
|
||||
|
@ -132,6 +129,7 @@ func (psql PostgresqlStorage) GetGroups(namespaces []string) ([]Group, error) {
|
|||
Data: groupData,
|
||||
})
|
||||
}
|
||||
|
||||
if err = rows.Err(); err != nil {
|
||||
return nil, fmt.Errorf("psql iterate groups rows failed : %s", err)
|
||||
}
|
||||
|
@ -140,13 +138,8 @@ func (psql PostgresqlStorage) GetGroups(namespaces []string) ([]Group, error) {
|
|||
|
||||
func (psql PostgresqlStorage) GetGroupsByIds(ids []string) ([]Group, error) {
|
||||
groups := make([]Group, 0)
|
||||
stmt, err := psql.DbConnection.Prepare(fmt.Sprintf(`SELECT id, namespace, members, data
|
||||
FROM %s WHERE id = ANY($1)`, psql.Tables["groups"]))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("psql prepare select groups query failed : %s", err)
|
||||
}
|
||||
defer stmt.Close()
|
||||
rows, err := stmt.Query(pq.Array(ids))
|
||||
query := fmt.Sprintf(`SELECT id, namespace, members, data FROM %s WHERE id = ANY($1)`, psql.Tables["groups"])
|
||||
rows, err := psql.DbConnection.Query(query, pq.Array(ids))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("psql select groups query failed: %s", err)
|
||||
}
|
||||
|
@ -179,14 +172,9 @@ func (psql PostgresqlStorage) UpdateGroup(group Group) error {
|
|||
if err != nil {
|
||||
return fmt.Errorf("failed to serialize data field: %s", err)
|
||||
}
|
||||
stmt, err := psql.DbConnection.Prepare(fmt.Sprintf(`UPDATE %s SET namespace=$2, members=$3, data=$4 WHERE id=$1`,
|
||||
psql.Tables["groups"]))
|
||||
if err != nil {
|
||||
return fmt.Errorf("psql prepare update group query failed : %s", err)
|
||||
}
|
||||
defer stmt.Close()
|
||||
|
||||
_, err = stmt.Exec(group.ID, group.Namespace, members, data)
|
||||
_, err = psql.DbConnection.Exec(fmt.Sprintf(`UPDATE %s SET namespace=$2, members=$3, data=$4 WHERE id=$1`,
|
||||
psql.Tables["groups"]), group.ID, group.Namespace, members, data)
|
||||
if err != nil {
|
||||
return fmt.Errorf("psql update group query failed : %s", err)
|
||||
}
|
||||
|
@ -194,19 +182,15 @@ func (psql PostgresqlStorage) UpdateGroup(group Group) error {
|
|||
}
|
||||
|
||||
func (psql PostgresqlStorage) CreateGroupMember(member GroupMember) error {
|
||||
stmt, err := psql.DbConnection.Prepare(fmt.Sprintf(`INSERT INTO %s (id, member_id, group_id, data)
|
||||
VALUES ($1, $2, $3, $4)`, psql.Tables["group_members"]))
|
||||
if err != nil {
|
||||
return fmt.Errorf("psql prepare insert group member query failed: %s", err)
|
||||
}
|
||||
defer stmt.Close()
|
||||
data, err := json.Marshal(member.Data)
|
||||
dataJson, err := json.Marshal(member.Data)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = stmt.Exec(member.ID, member.Memberid, member.Groupid, data)
|
||||
_, err = psql.DbConnection.Exec(fmt.Sprintf("INSERT INTO %s (id, member_id, group_id, data)"+
|
||||
" VALUES ($1, $2, $3, $4)",
|
||||
psql.Tables["group_members"]), member.ID, member.Memberid, member.Groupid, dataJson)
|
||||
if err != nil {
|
||||
return fmt.Errorf("psql insert group member query failed: %s", err)
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
@ -275,13 +259,9 @@ func (psql PostgresqlStorage) GetGroupsMember(namespaces []string) ([]GroupMembe
|
|||
|
||||
func (psql PostgresqlStorage) GetGroupsMemberByIds(ids []string) ([]GroupMember, error) {
|
||||
groupMembers := make([]GroupMember, 0)
|
||||
stmt, err := psql.DbConnection.Prepare(fmt.Sprintf(`SELECT id, member_id, group_id, data
|
||||
FROM %s WHERE group_id = ANY($1)`, psql.Tables["group_members"]))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("psql prepare select group members query failed: %s", err)
|
||||
}
|
||||
defer stmt.Close()
|
||||
rows, err := stmt.Query(pq.Array(ids))
|
||||
req := fmt.Sprintf(`SELECT id, member_id, group_id, data
|
||||
FROM %s WHERE group_id = ANY($1)`, psql.Tables["group_members"])
|
||||
rows, err := psql.DbConnection.Query(req, pq.Array(ids))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("psql select group members query failed: %s", err)
|
||||
}
|
||||
|
@ -306,19 +286,13 @@ func (psql PostgresqlStorage) GetGroupsMemberByIds(ids []string) ([]GroupMember,
|
|||
}
|
||||
|
||||
func (psql PostgresqlStorage) UpdateGroupMember(groupMember GroupMember) error {
|
||||
stmt, err := psql.DbConnection.Prepare(fmt.Sprintf(`UPDATE %s SET member_id=$1, group_id=$2,
|
||||
data=$3 WHERE id=$4`, psql.Tables["group_members"]))
|
||||
if err != nil {
|
||||
return fmt.Errorf("psql prepare update group member query failed : %s", err)
|
||||
}
|
||||
defer stmt.Close()
|
||||
|
||||
data, err := json.Marshal(groupMember.Data)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to marshal data field: %s", err)
|
||||
}
|
||||
|
||||
res, err := stmt.Exec(groupMember.Memberid, groupMember.Groupid, data, groupMember.ID)
|
||||
req := fmt.Sprintf(`UPDATE %s SET member_id=$1, group_id=$2, data=$3 WHERE id=$4`, psql.Tables["group_members"])
|
||||
res, err := psql.DbConnection.Exec(req, groupMember.Memberid, groupMember.Groupid, data, groupMember.ID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("psql update group member query failed: %s", err)
|
||||
}
|
||||
|
@ -335,14 +309,20 @@ func (psql PostgresqlStorage) UpdateGroupMember(groupMember GroupMember) error {
|
|||
}
|
||||
|
||||
func (psql PostgresqlStorage) DeleteGroupMember(id string) error {
|
||||
stmt, err := psql.DbConnection.Prepare(fmt.Sprintf(`DELETE FROM %s WHERE id=$1`, psql.Tables["group_members"]))
|
||||
res, err := psql.DbConnection.Exec(fmt.Sprintf(`DELETE FROM %s WHERE id=$1`, psql.Tables["group_members"]), id)
|
||||
if err != nil {
|
||||
return fmt.Errorf("psql prepare delete group member query failed: %s", err)
|
||||
}
|
||||
defer stmt.Close()
|
||||
if _, err := stmt.Exec(id); err != nil {
|
||||
return fmt.Errorf("psql delete group member query failed: %s", err)
|
||||
}
|
||||
|
||||
rowsAffected, err := res.RowsAffected()
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to get rows affected by delete query: %s", err)
|
||||
}
|
||||
|
||||
if rowsAffected == 0 {
|
||||
return fmt.Errorf("no rows were deleted for group member with id %s", id)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue