[go: up one dir, main page]

Skip to content

Rename author_email column to committer_email on gpg_signatures table

What does this MR do and why?

What

Renames the author_email column to committer_email on the gpg_signatures table.

Why

Following discussion in the related issue, it was determined that we should be checking committer email rather than author email for commit signature verification when mailmapped commits are enabled. This change updates the column name to accurately reflect its intended purpose.

The column was created in !189116 (merged). The column has not been used since it was added.

Migration Output

Up

db:migrate:up:main VERSION=20250717090253
db:migrate:up:main VERSION=20250717090253
main: == [advisory_lock_connection] object_id: 139540, pg_backend_pid: 76284
main: == 20250717090253 RenameAuthorEmailToCommitterEmailOnGpgSignatureTable: migrating
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("            ALTER TABLE gpg_signatures\n            DROP CONSTRAINT IF EXISTS check_d113461ed1\n")
main:    -> 0.0037s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- columns(:gpg_signatures)
main:    -> 0.0473s
main: -- column_exists?(:gpg_signatures, :id)
main:    -> 0.0014s
main: -- column_exists?(:gpg_signatures, :committer_email)
main:    -> 0.0021s
main: -- columns(:gpg_signatures)
main:    -> 0.0014s
main: -- add_column(:gpg_signatures, :committer_email, :string, {:limit=>nil, :precision=>nil, :scale=>nil})
main:    -> 0.0012s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- exec_query("SELECT COUNT(*) AS count FROM \"gpg_signatures\"")
main:    -> 0.0011s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1")
main:    -> 0.0007s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 1 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0035s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0012s
main: -- execute("UPDATE \"gpg_signatures\" SET \"committer_email\" = \"gpg_signatures\".\"author_email\" WHERE \"gpg_signatures\".\"id\" >= 1 AND \"gpg_signatures\".\"id\" < 4")
main:    -> 0.0009s
main:    -> 0.0028s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 4 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0009s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0023s
main: -- execute("UPDATE \"gpg_signatures\" SET \"committer_email\" = \"gpg_signatures\".\"author_email\" WHERE \"gpg_signatures\".\"id\" >= 4 AND \"gpg_signatures\".\"id\" < 7")
main:    -> 0.0014s
main:    -> 0.0045s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 7 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0013s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0015s
main: -- execute("UPDATE \"gpg_signatures\" SET \"committer_email\" = \"gpg_signatures\".\"author_email\" WHERE \"gpg_signatures\".\"id\" >= 7 AND \"gpg_signatures\".\"id\" < 10")
main:    -> 0.0008s
main:    -> 0.0030s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 10 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0009s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0335s
main: -- execute("UPDATE \"gpg_signatures\" SET \"committer_email\" = \"gpg_signatures\".\"author_email\" WHERE \"gpg_signatures\".\"id\" >= 10 AND \"gpg_signatures\".\"id\" < 13")
main:    -> 0.0009s
main:    -> 0.0352s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 13 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0009s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0013s
main: -- execute("UPDATE \"gpg_signatures\" SET \"committer_email\" = \"gpg_signatures\".\"author_email\" WHERE \"gpg_signatures\".\"id\" >= 13 AND \"gpg_signatures\".\"id\" < 16")
main:    -> 0.0008s
main:    -> 0.0034s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 16 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0010s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0015s
main: -- execute("UPDATE \"gpg_signatures\" SET \"committer_email\" = \"gpg_signatures\".\"author_email\" WHERE \"gpg_signatures\".\"id\" >= 16 AND \"gpg_signatures\".\"id\" < 19")
main:    -> 0.0009s
main:    -> 0.0029s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 19 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0020s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0016s
main: -- execute("UPDATE \"gpg_signatures\" SET \"committer_email\" = \"gpg_signatures\".\"author_email\" WHERE \"gpg_signatures\".\"id\" >= 19 AND \"gpg_signatures\".\"id\" < 22")
main:    -> 0.0007s
main:    -> 0.0029s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 22 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0010s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0170s
main: -- execute("UPDATE \"gpg_signatures\" SET \"committer_email\" = \"gpg_signatures\".\"author_email\" WHERE \"gpg_signatures\".\"id\" >= 22 AND \"gpg_signatures\".\"id\" < 25")
main:    -> 0.0017s
main:    -> 0.0194s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 25 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0008s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0012s
main: -- execute("UPDATE \"gpg_signatures\" SET \"committer_email\" = \"gpg_signatures\".\"author_email\" WHERE \"gpg_signatures\".\"id\" >= 25 AND \"gpg_signatures\".\"id\" < 28")
main:    -> 0.0008s
main:    -> 0.0025s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 28 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0008s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0013s
main: -- execute("UPDATE \"gpg_signatures\" SET \"committer_email\" = \"gpg_signatures\".\"author_email\" WHERE \"gpg_signatures\".\"id\" >= 28 AND \"gpg_signatures\".\"id\" < 31")
main:    -> 0.0014s
main:    -> 0.0038s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 31 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0014s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0329s
main: -- execute("UPDATE \"gpg_signatures\" SET \"committer_email\" = \"gpg_signatures\".\"author_email\" WHERE \"gpg_signatures\".\"id\" >= 31 AND \"gpg_signatures\".\"id\" < 34")
main:    -> 0.0033s
main:    -> 0.0373s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 34 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0009s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0009s
main: -- execute("UPDATE \"gpg_signatures\" SET \"committer_email\" = \"gpg_signatures\".\"author_email\" WHERE \"gpg_signatures\".\"id\" >= 34 AND \"gpg_signatures\".\"id\" < 37")
main:    -> 0.0008s
main:    -> 0.0022s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 37 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0052s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0015s
main: -- execute("UPDATE \"gpg_signatures\" SET \"committer_email\" = \"gpg_signatures\".\"author_email\" WHERE \"gpg_signatures\".\"id\" >= 37 AND \"gpg_signatures\".\"id\" < 40")
main:    -> 0.0010s
main:    -> 0.0032s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 40 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0013s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0025s
main: -- execute("UPDATE \"gpg_signatures\" SET \"committer_email\" = \"gpg_signatures\".\"author_email\" WHERE \"gpg_signatures\".\"id\" >= 40 AND \"gpg_signatures\".\"id\" < 43")
main:    -> 0.0013s
main:    -> 0.0045s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 43 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0007s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0010s
main: -- execute("UPDATE \"gpg_signatures\" SET \"committer_email\" = \"gpg_signatures\".\"author_email\" WHERE \"gpg_signatures\".\"id\" >= 43 AND \"gpg_signatures\".\"id\" < 47")
main:    -> 0.0006s
main:    -> 0.0020s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 47 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0061s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0012s
main: -- execute("UPDATE \"gpg_signatures\" SET \"committer_email\" = \"gpg_signatures\".\"author_email\" WHERE \"gpg_signatures\".\"id\" >= 47 AND \"gpg_signatures\".\"id\" < 50")
main:    -> 0.0016s
main:    -> 0.0034s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 50 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0007s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0017s
main: -- execute("UPDATE \"gpg_signatures\" SET \"committer_email\" = \"gpg_signatures\".\"author_email\" WHERE \"gpg_signatures\".\"id\" >= 50")
main:    -> 0.0012s
main:    -> 0.0034s
main: -- indexes(:gpg_signatures)
main:    -> 0.0052s
main: -- foreign_keys(:gpg_signatures)
main:    -> 0.0033s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- column_exists?(:gpg_signatures, :author_email)
main:    -> 0.0013s
main: -- column_exists?(:gpg_signatures, :committer_email)
main:    -> 0.0014s
main: -- current_schema(nil)
main:    -> 0.0003s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- quote_table_name(:gpg_signatures)
main:    -> 0.0000s
main: -- quote_column_name(:author_email)
main:    -> 0.0000s
main: -- quote_column_name(:committer_email)
main:    -> 0.0000s
main: -- columns(:gpg_signatures)
main:    -> 0.0023s
main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_0c412feae623()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n  IF NEW.\"author_email\" IS NOT DISTINCT FROM NULL AND NEW.\"committer_email\" IS DISTINCT FROM NULL THEN\n    NEW.\"author_email\" = NEW.\"committer_email\";\n  END IF;\n\n  IF NEW.\"committer_email\" IS NOT DISTINCT FROM NULL AND NEW.\"author_email\" IS DISTINCT FROM NULL THEN\n    NEW.\"committer_email\" = NEW.\"author_email\";\n  END IF;\n\n  RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_0c412feae623\nON \"gpg_signatures\";\n\nCREATE TRIGGER trigger_0c412feae623\nBEFORE INSERT ON \"gpg_signatures\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_0c412feae623();\n")
main:    -> 0.0102s
main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_337f7c17b9de()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n  NEW.\"author_email\" := NEW.\"committer_email\";\n  RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_337f7c17b9de\nON \"gpg_signatures\";\n\nCREATE TRIGGER trigger_337f7c17b9de\nBEFORE UPDATE OF \"committer_email\" ON \"gpg_signatures\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_337f7c17b9de();\n")
main:    -> 0.0014s
main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_17fa3ce9f266()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n  NEW.\"committer_email\" := NEW.\"author_email\";\n  RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_17fa3ce9f266\nON \"gpg_signatures\";\n\nCREATE TRIGGER trigger_17fa3ce9f266\nBEFORE UPDATE OF \"author_email\" ON \"gpg_signatures\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_17fa3ce9f266();\n")
main:    -> 0.0106s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE gpg_signatures\nADD CONSTRAINT check_d113461ed1\nCHECK ( char_length(committer_email) <= 255 )\nNOT VALID;\n")
main:    -> 0.0010s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0008s
main: -- execute("ALTER TABLE gpg_signatures VALIDATE CONSTRAINT check_d113461ed1;")
main:    -> 0.0008s
main: -- execute("RESET statement_timeout")
main:    -> 0.0005s
main: == 20250717090253 RenameAuthorEmailToCommitterEmailOnGpgSignatureTable: migrated (0.3484s)

main: == [advisory_lock_connection] object_id: 139540, pg_backend_pid: 76284
db:migrate:up:main VERSION=20250717150035
rails db:migrate:up:main VERSION=20250717150035
main: == [advisory_lock_connection] object_id: 139540, pg_backend_pid: 75678
main: == 20250717150035 CleanupAuthorEmailOnGpgSignatureTableRename: migrating ======
main: -- column_exists?(:gpg_signatures, :author_email)
main:    -> 0.0389s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- quote_table_name(:gpg_signatures)
main:    -> 0.0000s
main: -- execute("DROP TRIGGER IF EXISTS trigger_0c412feae623\nON \"gpg_signatures\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_0c412feae623;\n")
main:    -> 0.0005s
main: -- execute("DROP TRIGGER IF EXISTS trigger_337f7c17b9de\nON \"gpg_signatures\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_337f7c17b9de;\n")
main:    -> 0.0004s
main: -- execute("DROP TRIGGER IF EXISTS trigger_17fa3ce9f266\nON \"gpg_signatures\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_17fa3ce9f266;\n")
main:    -> 0.0004s
main: -- remove_column(:gpg_signatures, :author_email)
main:    -> 0.0007s
main: == 20250717150035 CleanupAuthorEmailOnGpgSignatureTableRename: migrated (0.0639s)

main: == [advisory_lock_connection] object_id: 139540, pg_backend_pid: 75678

Down

db:migrate:down:main VERSION=20250717090253
db:migrate:down:main VERSION=20250717090253
main: == [advisory_lock_connection] object_id: 139540, pg_backend_pid: 75385
main: == 20250717090253 RenameAuthorEmailToCommitterEmailOnGpgSignatureTable: reverting
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("            ALTER TABLE gpg_signatures\n            DROP CONSTRAINT IF EXISTS check_d113461ed1\n")
main:    -> 0.0008s
main: -- column_exists?(:gpg_signatures, :committer_email)
main:    -> 0.0365s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- quote_table_name(:gpg_signatures)
main:    -> 0.0000s
main: -- execute("DROP TRIGGER IF EXISTS trigger_0c412feae623\nON \"gpg_signatures\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_0c412feae623;\n")
main:    -> 0.0008s
main: -- execute("DROP TRIGGER IF EXISTS trigger_337f7c17b9de\nON \"gpg_signatures\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_337f7c17b9de;\n")
main:    -> 0.0005s
main: -- execute("DROP TRIGGER IF EXISTS trigger_17fa3ce9f266\nON \"gpg_signatures\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_17fa3ce9f266;\n")
main:    -> 0.0005s
main: -- remove_column(:gpg_signatures, :committer_email)
main:    -> 0.0005s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE gpg_signatures\nADD CONSTRAINT check_d113461ed1\nCHECK ( char_length(author_email) <= 255 )\nNOT VALID;\n")
main:    -> 0.0009s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0008s
main: -- execute("ALTER TABLE gpg_signatures VALIDATE CONSTRAINT check_d113461ed1;")
main:    -> 0.0008s
main: -- execute("RESET statement_timeout")
main:    -> 0.0004s
main: == 20250717090253 RenameAuthorEmailToCommitterEmailOnGpgSignatureTable: reverted (0.0984s)

main: == [advisory_lock_connection] object_id: 139540, pg_backend_pid: 75385
db:migrate:down:main VERSION=20250717150035
db:migrate:down:main VERSION=20250717150035
main: == [advisory_lock_connection] object_id: 139540, pg_backend_pid: 75139
main: == 20250717150035 CleanupAuthorEmailOnGpgSignatureTableRename: reverting ======
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- columns(:gpg_signatures)
main:    -> 0.0360s
main: -- column_exists?(:gpg_signatures, :id)
main:    -> 0.0011s
main: -- column_exists?(:gpg_signatures, :author_email)
main:    -> 0.0010s
main: -- columns(:gpg_signatures)
main:    -> 0.0008s
main: -- add_column(:gpg_signatures, :author_email, :text, {:limit=>nil, :precision=>nil, :scale=>nil})
main:    -> 0.0009s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- exec_query("SELECT COUNT(*) AS count FROM \"gpg_signatures\"")
main:    -> 0.0028s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1")
main:    -> 0.0006s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 1 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0005s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0008s
main: -- execute("UPDATE \"gpg_signatures\" SET \"author_email\" = \"gpg_signatures\".\"committer_email\" WHERE \"gpg_signatures\".\"id\" >= 1 AND \"gpg_signatures\".\"id\" < 4")
main:    -> 0.0008s
main:    -> 0.0034s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 4 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0005s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0006s
main: -- execute("UPDATE \"gpg_signatures\" SET \"author_email\" = \"gpg_signatures\".\"committer_email\" WHERE \"gpg_signatures\".\"id\" >= 4 AND \"gpg_signatures\".\"id\" < 7")
main:    -> 0.0004s
main:    -> 0.0013s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 7 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0034s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0008s
main: -- execute("UPDATE \"gpg_signatures\" SET \"author_email\" = \"gpg_signatures\".\"committer_email\" WHERE \"gpg_signatures\".\"id\" >= 7 AND \"gpg_signatures\".\"id\" < 10")
main:    -> 0.0005s
main:    -> 0.0017s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 10 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0005s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0007s
main: -- execute("UPDATE \"gpg_signatures\" SET \"author_email\" = \"gpg_signatures\".\"committer_email\" WHERE \"gpg_signatures\".\"id\" >= 10 AND \"gpg_signatures\".\"id\" < 13")
main:    -> 0.0004s
main:    -> 0.0014s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 13 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0004s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0006s
main: -- execute("UPDATE \"gpg_signatures\" SET \"author_email\" = \"gpg_signatures\".\"committer_email\" WHERE \"gpg_signatures\".\"id\" >= 13 AND \"gpg_signatures\".\"id\" < 16")
main:    -> 0.0009s
main:    -> 0.0019s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 16 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0252s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0011s
main: -- execute("UPDATE \"gpg_signatures\" SET \"author_email\" = \"gpg_signatures\".\"committer_email\" WHERE \"gpg_signatures\".\"id\" >= 16 AND \"gpg_signatures\".\"id\" < 19")
main:    -> 0.0006s
main:    -> 0.0023s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 19 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0006s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0009s
main: -- execute("UPDATE \"gpg_signatures\" SET \"author_email\" = \"gpg_signatures\".\"committer_email\" WHERE \"gpg_signatures\".\"id\" >= 19 AND \"gpg_signatures\".\"id\" < 22")
main:    -> 0.0005s
main:    -> 0.0018s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 22 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0005s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0009s
main: -- execute("UPDATE \"gpg_signatures\" SET \"author_email\" = \"gpg_signatures\".\"committer_email\" WHERE \"gpg_signatures\".\"id\" >= 22 AND \"gpg_signatures\".\"id\" < 25")
main:    -> 0.0005s
main:    -> 0.0022s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 25 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0006s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0009s
main: -- execute("UPDATE \"gpg_signatures\" SET \"author_email\" = \"gpg_signatures\".\"committer_email\" WHERE \"gpg_signatures\".\"id\" >= 25 AND \"gpg_signatures\".\"id\" < 28")
main:    -> 0.0005s
main:    -> 0.0017s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 28 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0005s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0008s
main: -- execute("UPDATE \"gpg_signatures\" SET \"author_email\" = \"gpg_signatures\".\"committer_email\" WHERE \"gpg_signatures\".\"id\" >= 28 AND \"gpg_signatures\".\"id\" < 31")
main:    -> 0.0079s
main:    -> 0.0093s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 31 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0007s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0008s
main: -- execute("UPDATE \"gpg_signatures\" SET \"author_email\" = \"gpg_signatures\".\"committer_email\" WHERE \"gpg_signatures\".\"id\" >= 31 AND \"gpg_signatures\".\"id\" < 34")
main:    -> 0.0005s
main:    -> 0.0016s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 34 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0005s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0008s
main: -- execute("UPDATE \"gpg_signatures\" SET \"author_email\" = \"gpg_signatures\".\"committer_email\" WHERE \"gpg_signatures\".\"id\" >= 34 AND \"gpg_signatures\".\"id\" < 37")
main:    -> 0.0005s
main:    -> 0.0016s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 37 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0005s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0008s
main: -- execute("UPDATE \"gpg_signatures\" SET \"author_email\" = \"gpg_signatures\".\"committer_email\" WHERE \"gpg_signatures\".\"id\" >= 37 AND \"gpg_signatures\".\"id\" < 40")
main:    -> 0.0206s
main:    -> 0.0220s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 40 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0007s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0008s
main: -- execute("UPDATE \"gpg_signatures\" SET \"author_email\" = \"gpg_signatures\".\"committer_email\" WHERE \"gpg_signatures\".\"id\" >= 40 AND \"gpg_signatures\".\"id\" < 43")
main:    -> 0.0006s
main:    -> 0.0018s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 43 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0006s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0008s
main: -- execute("UPDATE \"gpg_signatures\" SET \"author_email\" = \"gpg_signatures\".\"committer_email\" WHERE \"gpg_signatures\".\"id\" >= 43 AND \"gpg_signatures\".\"id\" < 47")
main:    -> 0.0005s
main:    -> 0.0017s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 47 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0005s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0014s
main: -- execute("UPDATE \"gpg_signatures\" SET \"author_email\" = \"gpg_signatures\".\"committer_email\" WHERE \"gpg_signatures\".\"id\" >= 47 AND \"gpg_signatures\".\"id\" < 50")
main:    -> 0.0005s
main:    -> 0.0023s
main: -- exec_query("SELECT \"gpg_signatures\".\"id\" FROM \"gpg_signatures\" WHERE \"gpg_signatures\".\"id\" >= 50 ORDER BY \"gpg_signatures\".\"id\" ASC LIMIT 1 OFFSET 3")
main:    -> 0.0005s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.gpg_signatures', 'false', true)")
main:    -> 0.0008s
main: -- execute("UPDATE \"gpg_signatures\" SET \"author_email\" = \"gpg_signatures\".\"committer_email\" WHERE \"gpg_signatures\".\"id\" >= 50")
main:    -> 0.0004s
main:    -> 0.0016s
main: -- indexes(:gpg_signatures)
main:    -> 0.0034s
main: -- foreign_keys(:gpg_signatures)
main:    -> 0.0031s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- column_exists?(:gpg_signatures, :committer_email)
main:    -> 0.0010s
main: -- column_exists?(:gpg_signatures, :author_email)
main:    -> 0.0010s
main: -- current_schema(nil)
main:    -> 0.0002s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- quote_table_name(:gpg_signatures)
main:    -> 0.0000s
main: -- quote_column_name(:author_email)
main:    -> 0.0000s
main: -- quote_column_name(:committer_email)
main:    -> 0.0000s
main: -- columns(:gpg_signatures)
main:    -> 0.0012s
main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_0c412feae623()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n  IF NEW.\"author_email\" IS NOT DISTINCT FROM NULL AND NEW.\"committer_email\" IS DISTINCT FROM NULL THEN\n    NEW.\"author_email\" = NEW.\"committer_email\";\n  END IF;\n\n  IF NEW.\"committer_email\" IS NOT DISTINCT FROM NULL AND NEW.\"author_email\" IS DISTINCT FROM NULL THEN\n    NEW.\"committer_email\" = NEW.\"author_email\";\n  END IF;\n\n  RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_0c412feae623\nON \"gpg_signatures\";\n\nCREATE TRIGGER trigger_0c412feae623\nBEFORE INSERT ON \"gpg_signatures\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_0c412feae623();\n")
main:    -> 0.0093s
main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_337f7c17b9de()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n  NEW.\"author_email\" := NEW.\"committer_email\";\n  RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_337f7c17b9de\nON \"gpg_signatures\";\n\nCREATE TRIGGER trigger_337f7c17b9de\nBEFORE UPDATE OF \"committer_email\" ON \"gpg_signatures\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_337f7c17b9de();\n")
main:    -> 0.0006s
main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_17fa3ce9f266()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n  NEW.\"committer_email\" := NEW.\"author_email\";\n  RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_17fa3ce9f266\nON \"gpg_signatures\";\n\nCREATE TRIGGER trigger_17fa3ce9f266\nBEFORE UPDATE OF \"author_email\" ON \"gpg_signatures\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_17fa3ce9f266();\n")
main:    -> 0.0005s
main: == 20250717150035 CleanupAuthorEmailOnGpgSignatureTableRename: reverted (0.2002s)

main: == [advisory_lock_connection] object_id: 139540, pg_backend_pid: 75139

References

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Gavin Hinfey

Merge request reports

Loading