Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions store/sqlstore/store.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ const (
INSERT INTO whatsmeow_identity_keys (our_jid, their_id, identity) VALUES ($1, $2, $3)
ON CONFLICT (our_jid, their_id) DO UPDATE SET identity=excluded.identity
`
deleteAllIdentitiesQuery = `DELETE FROM whatsmeow_identity_keys WHERE our_jid=$1 AND their_id LIKE $2`
deleteAllIdentitiesQuery = `DELETE FROM whatsmeow_identity_keys WHERE our_jid=$1 AND their_id >= $2 || ':' AND their_id < $2 || ';'`
deleteIdentityQuery = `DELETE FROM whatsmeow_identity_keys WHERE our_jid=$1 AND their_id=$2`
getIdentityQuery = `SELECT identity FROM whatsmeow_identity_keys WHERE our_jid=$1 AND their_id=$2`
)
Expand All @@ -85,12 +85,12 @@ func (s *SQLStore) PutIdentity(ctx context.Context, address string, key [32]byte
}

func (s *SQLStore) DeleteAllIdentities(ctx context.Context, phone string) error {
_, err := s.db.Exec(ctx, deleteAllIdentitiesQuery, s.JID, phone+":%")
_, err := s.db.Exec(ctx, deleteAllIdentitiesQuery, s.JID, phone)
return err
}

func (s *SQLStore) DeleteIdentity(ctx context.Context, address string) error {
_, err := s.db.Exec(ctx, deleteAllIdentitiesQuery, s.JID, address)
_, err := s.db.Exec(ctx, deleteIdentityQuery, s.JID, address)
return err
}

Expand All @@ -117,30 +117,30 @@ const (
INSERT INTO whatsmeow_sessions (our_jid, their_id, session) VALUES ($1, $2, $3)
ON CONFLICT (our_jid, their_id) DO UPDATE SET session=excluded.session
`
deleteAllSessionsQuery = `DELETE FROM whatsmeow_sessions WHERE our_jid=$1 AND their_id LIKE $2`
deleteAllSessionsQuery = `DELETE FROM whatsmeow_sessions WHERE our_jid=$1 AND their_id >= $2 || ':' AND their_id < $2 || ';'`
deleteSessionQuery = `DELETE FROM whatsmeow_sessions WHERE our_jid=$1 AND their_id=$2`

migratePNToLIDSessionsQuery = `
INSERT INTO whatsmeow_sessions (our_jid, their_id, session)
SELECT our_jid, replace(their_id, $2, $3), session
FROM whatsmeow_sessions
WHERE our_jid=$1 AND their_id LIKE $2 || ':%'
WHERE our_jid=$1 AND their_id >= $2 || ':' AND their_id < $2 || ';'
ON CONFLICT (our_jid, their_id) DO UPDATE SET session=excluded.session
`
deleteAllIdentityKeysQuery = `DELETE FROM whatsmeow_identity_keys WHERE our_jid=$1 AND their_id LIKE $2`
deleteAllIdentityKeysQuery = `DELETE FROM whatsmeow_identity_keys WHERE our_jid=$1 AND their_id >= $2 || ':' AND their_id < $2 || ';'`
migratePNToLIDIdentityKeysQuery = `
INSERT INTO whatsmeow_identity_keys (our_jid, their_id, identity)
SELECT our_jid, replace(their_id, $2, $3), identity
FROM whatsmeow_identity_keys
WHERE our_jid=$1 AND their_id LIKE $2 || ':%'
WHERE our_jid=$1 AND their_id >= $2 || ':' AND their_id < $2 || ';'
ON CONFLICT (our_jid, their_id) DO UPDATE SET identity=excluded.identity
`
deleteAllSenderKeysQuery = `DELETE FROM whatsmeow_sender_keys WHERE our_jid=$1 AND sender_id LIKE $2`
deleteAllSenderKeysQuery = `DELETE FROM whatsmeow_sender_keys WHERE our_jid=$1 AND sender_id >= $2 || ':' AND sender_id < $2 || ';'`
migratePNToLIDSenderKeysQuery = `
INSERT INTO whatsmeow_sender_keys (our_jid, chat_id, sender_id, sender_key)
SELECT our_jid, chat_id, replace(sender_id, $2, $3), sender_key
FROM whatsmeow_sender_keys
WHERE our_jid=$1 AND sender_id LIKE $2 || ':%'
WHERE our_jid=$1 AND sender_id >= $2 || ':' AND sender_id < $2 || ';'
ON CONFLICT (our_jid, chat_id, sender_id) DO UPDATE SET sender_key=excluded.sender_key
`
)
Expand Down Expand Up @@ -226,17 +226,17 @@ func (s *SQLStore) DeleteAllSessions(ctx context.Context, phone string) error {
}

func (s *SQLStore) deleteAllSessions(ctx context.Context, phone string) error {
_, err := s.db.Exec(ctx, deleteAllSessionsQuery, s.JID, phone+":%")
_, err := s.db.Exec(ctx, deleteAllSessionsQuery, s.JID, phone)
return err
}

func (s *SQLStore) deleteAllSenderKeys(ctx context.Context, phone string) error {
_, err := s.db.Exec(ctx, deleteAllSenderKeysQuery, s.JID, phone+":%")
_, err := s.db.Exec(ctx, deleteAllSenderKeysQuery, s.JID, phone)
return err
}

func (s *SQLStore) deleteAllIdentityKeys(ctx context.Context, phone string) error {
_, err := s.db.Exec(ctx, deleteAllIdentityKeysQuery, s.JID, phone+":%")
_, err := s.db.Exec(ctx, deleteAllIdentityKeysQuery, s.JID, phone)
return err
}

Expand Down