Skip to content

Commit

Permalink
Merge branch '04-24-migrate_first_store_methods_to_sqlc' of github.co…
Browse files Browse the repository at this point in the history
…m:xmtp/xmtp-node-go into 04-24-migrate_first_store_methods_to_sqlc
  • Loading branch information
neekolas committed Apr 25, 2024
2 parents fe7a927 + 3f72749 commit 341668e
Show file tree
Hide file tree
Showing 2 changed files with 113 additions and 59 deletions.
94 changes: 57 additions & 37 deletions pkg/mls/store/queries.sql
Original file line number Diff line number Diff line change
@@ -1,78 +1,98 @@
-- name: GetAllInboxLogs :many
SELECT * FROM inbox_log
SELECT *
FROM inbox_log
WHERE inbox_id = $1
ORDER BY sequence_id ASC FOR UPDATE;

ORDER BY sequence_id ASC FOR
UPDATE;
-- name: GetInboxLogFiltered :many
SELECT a.* FROM inbox_log AS a
JOIN (
SELECT * FROM json_populate_recordset(null::inbox_filter, sqlc.arg(filters)) as b(inbox_id, sequence_id)
) as b on b.inbox_id = a.inbox_id AND a.sequence_id > b.sequence_id
SELECT a.*
FROM inbox_log AS a
JOIN (
SELECT *
FROM json_populate_recordset(null::inbox_filter, sqlc.arg(filters)) as b(inbox_id, sequence_id)
) as b on b.inbox_id = a.inbox_id
AND a.sequence_id > b.sequence_id
ORDER BY a.sequence_id ASC;

-- name: InsertInboxLog :one
INSERT INTO inbox_log (inbox_id, server_timestamp_ns, identity_update_proto)
INSERT INTO inbox_log (
inbox_id,
server_timestamp_ns,
identity_update_proto
)
VALUES ($1, $2, $3)
RETURNING sequence_id;

-- name: CreateInstallation :exec
INSERT INTO installations (id, wallet_address, created_at, updated_at, credential_identity, key_package, expiration)
INSERT INTO installations (
id,
wallet_address,
created_at,
updated_at,
credential_identity,
key_package,
expiration
)
VALUES ($1, $2, $3, $3, $4, $5, $6);

-- name: UpdateKeyPackage :execrows
UPDATE installations
SET key_package = @key_package, updated_at = @updated_at, expiration = @expiration
SET key_package = @key_package,
updated_at = @updated_at,
expiration = @expiration
WHERE id = @id;

-- name: FetchKeyPackages :many
SELECT id, key_package FROM installations
WHERE id = ANY (sqlc.arg(installation_ids)::bytea[]);

SELECT id,
key_package
FROM installations
WHERE id = ANY (sqlc.arg(installation_ids)::bytea []);
-- name: GetIdentityUpdates :many
SELECT * FROM installations
WHERE wallet_address = ANY (@wallet_addresses::text[])
AND (created_at > @start_time OR revoked_at > @start_time)
SELECT *
FROM installations
WHERE wallet_address = ANY (@wallet_addresses::text [])
AND (
created_at > @start_time
OR revoked_at > @start_time
)
ORDER BY created_at ASC;

-- name: RevokeInstallation :exec
UPDATE installations
SET revoked_at = @revoked_at
WHERE id = @installation_id
AND revoked_at IS NULL;

AND revoked_at IS NULL;
-- name: InsertGroupMessage :one
INSERT INTO group_messages (group_id, data, group_id_data_hash)
VALUES ($1, $2, $3)
RETURNING *;

-- name: InsertWelcomeMessage :one
INSERT INTO welcome_messages (installation_key, data, installation_key_data_hash, hpke_public_key)
INSERT INTO welcome_messages (
installation_key,
data,
installation_key_data_hash,
hpke_public_key
)
VALUES ($1, $2, $3, $4)
RETURNING *;

-- name: QueryGroupMessagesAsc :many
SELECT * FROM group_messages
SELECT *
FROM group_messages
WHERE group_id = @group_id
ORDER BY id ASC
LIMIT @numrows;

-- name: QueryGroupMessagesDesc :many
SELECT * FROM group_messages
SELECT *
FROM group_messages
WHERE group_id = @group_id
ORDER BY id DESC
LIMIT @numrows;

-- name: QueryGroupMessagesWithCursorAsc :many
SELECT * FROM group_messages
SELECT *
FROM group_messages
WHERE group_id = $1
AND id > $2
AND id > $2
ORDER BY id ASC
LIMIT $3;

-- name: QueryGroupMessagesWithCursorDesc :many
SELECT * FROM group_messages
SELECT *
FROM group_messages
WHERE group_id = $1
AND id < $2
AND id < $2
ORDER BY id DESC
LIMIT $3;

LIMIT $3;
78 changes: 56 additions & 22 deletions pkg/mls/store/queries/queries.sql.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 341668e

Please sign in to comment.