[go: up one dir, main page]

Skip to content

Rename author_email column to committer_email on ssh_signatures table

What does this MR do and why?

What

Renames the author_email column to committer_email on the ssh_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=20250717081744
rails db:migrate:up:main VERSION=20250717081744
main: == [advisory_lock_connection] object_id: 139180, pg_backend_pid: 62678
main: == 20250717081744 RenameAuthorEmailToCommitterEmailOnSshSignatureTable: migrating
main: -- transaction_open?(nil)
main:    -> 0.0001s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("            ALTER TABLE ssh_signatures\n            DROP CONSTRAINT IF EXISTS check_5ff707c7f9\n")
main:    -> 0.0014s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- columns(:ssh_signatures)
main:    -> 0.0370s
main: -- column_exists?(:ssh_signatures, :id)
main:    -> 0.0014s
main: -- column_exists?(:ssh_signatures, :committer_email)
main:    -> 0.0012s
main: -- columns(:ssh_signatures)
main:    -> 0.0010s
main: -- add_column(:ssh_signatures, :committer_email, :string, {:limit=>nil, :precision=>nil, :scale=>nil})
main:    -> 0.0029s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- exec_query("SELECT COUNT(*) AS count FROM \"ssh_signatures\"")
main:    -> 0.0016s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1")
main:    -> 0.0012s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 1 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0006s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0011s
main: -- execute("UPDATE \"ssh_signatures\" SET \"committer_email\" = \"ssh_signatures\".\"author_email\" WHERE \"ssh_signatures\".\"id\" >= 1 AND \"ssh_signatures\".\"id\" < 6")
main:    -> 0.0007s
main:    -> 0.0023s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 6 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0005s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0008s
main: -- execute("UPDATE \"ssh_signatures\" SET \"committer_email\" = \"ssh_signatures\".\"author_email\" WHERE \"ssh_signatures\".\"id\" >= 6 AND \"ssh_signatures\".\"id\" < 11")
main:    -> 0.0005s
main:    -> 0.0016s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 11 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0005s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0277s
main: -- execute("UPDATE \"ssh_signatures\" SET \"committer_email\" = \"ssh_signatures\".\"author_email\" WHERE \"ssh_signatures\".\"id\" >= 11 AND \"ssh_signatures\".\"id\" < 16")
main:    -> 0.0006s
main:    -> 0.0289s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 16 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0007s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0008s
main: -- execute("UPDATE \"ssh_signatures\" SET \"committer_email\" = \"ssh_signatures\".\"author_email\" WHERE \"ssh_signatures\".\"id\" >= 16 AND \"ssh_signatures\".\"id\" < 21")
main:    -> 0.0005s
main:    -> 0.0017s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 21 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0005s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0008s
main: -- execute("UPDATE \"ssh_signatures\" SET \"committer_email\" = \"ssh_signatures\".\"author_email\" WHERE \"ssh_signatures\".\"id\" >= 21 AND \"ssh_signatures\".\"id\" < 27")
main:    -> 0.0005s
main:    -> 0.0017s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 27 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0006s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0015s
main: -- execute("UPDATE \"ssh_signatures\" SET \"committer_email\" = \"ssh_signatures\".\"author_email\" WHERE \"ssh_signatures\".\"id\" >= 27 AND \"ssh_signatures\".\"id\" < 32")
main:    -> 0.0007s
main:    -> 0.0026s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 32 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0005s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0008s
main: -- execute("UPDATE \"ssh_signatures\" SET \"committer_email\" = \"ssh_signatures\".\"author_email\" WHERE \"ssh_signatures\".\"id\" >= 32 AND \"ssh_signatures\".\"id\" < 37")
main:    -> 0.0004s
main:    -> 0.0017s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 37 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0079s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0011s
main: -- execute("UPDATE \"ssh_signatures\" SET \"committer_email\" = \"ssh_signatures\".\"author_email\" WHERE \"ssh_signatures\".\"id\" >= 37 AND \"ssh_signatures\".\"id\" < 42")
main:    -> 0.0005s
main:    -> 0.0021s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 42 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0006s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0008s
main: -- execute("UPDATE \"ssh_signatures\" SET \"committer_email\" = \"ssh_signatures\".\"author_email\" WHERE \"ssh_signatures\".\"id\" >= 42 AND \"ssh_signatures\".\"id\" < 47")
main:    -> 0.0006s
main:    -> 0.0018s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 47 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0005s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0007s
main: -- execute("UPDATE \"ssh_signatures\" SET \"committer_email\" = \"ssh_signatures\".\"author_email\" WHERE \"ssh_signatures\".\"id\" >= 47 AND \"ssh_signatures\".\"id\" < 52")
main:    -> 0.0122s
main:    -> 0.0135s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 52 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0008s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0009s
main: -- execute("UPDATE \"ssh_signatures\" SET \"committer_email\" = \"ssh_signatures\".\"author_email\" WHERE \"ssh_signatures\".\"id\" >= 52 AND \"ssh_signatures\".\"id\" < 57")
main:    -> 0.0006s
main:    -> 0.0019s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 57 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0006s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0009s
main: -- execute("UPDATE \"ssh_signatures\" SET \"committer_email\" = \"ssh_signatures\".\"author_email\" WHERE \"ssh_signatures\".\"id\" >= 57 AND \"ssh_signatures\".\"id\" < 62")
main:    -> 0.0006s
main:    -> 0.0019s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 62 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0006s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0009s
main: -- execute("UPDATE \"ssh_signatures\" SET \"committer_email\" = \"ssh_signatures\".\"author_email\" WHERE \"ssh_signatures\".\"id\" >= 62 AND \"ssh_signatures\".\"id\" < 67")
main:    -> 0.0007s
main:    -> 0.0027s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 67 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0007s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0010s
main: -- execute("UPDATE \"ssh_signatures\" SET \"committer_email\" = \"ssh_signatures\".\"author_email\" WHERE \"ssh_signatures\".\"id\" >= 67 AND \"ssh_signatures\".\"id\" < 72")
main:    -> 0.0007s
main:    -> 0.0022s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 72 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0007s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0056s
main: -- execute("UPDATE \"ssh_signatures\" SET \"committer_email\" = \"ssh_signatures\".\"author_email\" WHERE \"ssh_signatures\".\"id\" >= 72 AND \"ssh_signatures\".\"id\" < 77")
main:    -> 0.0008s
main:    -> 0.0070s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 77 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0007s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0010s
main: -- execute("UPDATE \"ssh_signatures\" SET \"committer_email\" = \"ssh_signatures\".\"author_email\" WHERE \"ssh_signatures\".\"id\" >= 77 AND \"ssh_signatures\".\"id\" < 82")
main:    -> 0.0006s
main:    -> 0.0022s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 82 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0006s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0009s
main: -- execute("UPDATE \"ssh_signatures\" SET \"committer_email\" = \"ssh_signatures\".\"author_email\" WHERE \"ssh_signatures\".\"id\" >= 82")
main:    -> 0.0006s
main:    -> 0.0021s
main: -- indexes(:ssh_signatures)
main:    -> 0.0036s
main: -- foreign_keys(:ssh_signatures)
main:    -> 0.0026s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- column_exists?(:ssh_signatures, :author_email)
main:    -> 0.0011s
main: -- column_exists?(:ssh_signatures, :committer_email)
main:    -> 0.0010s
main: -- current_schema(nil)
main:    -> 0.0003s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE ssh_signatures\nADD CONSTRAINT check_81499614ca\nCHECK ( (char_length((committer_email)::text) <= 255) )\nNOT VALID;\n")
main:    -> 0.0011s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0006s
main: -- execute("ALTER TABLE ssh_signatures VALIDATE CONSTRAINT check_81499614ca;")
main:    -> 0.0012s
main: -- execute("RESET statement_timeout")
main:    -> 0.0012s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- quote_table_name(:ssh_signatures)
main:    -> 0.0000s
main: -- quote_column_name(:author_email)
main:    -> 0.0000s
main: -- quote_column_name(:committer_email)
main:    -> 0.0000s
main: -- columns(:ssh_signatures)
main:    -> 0.0014s
main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_5764a71f05cd()\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_5764a71f05cd\nON \"ssh_signatures\";\n\nCREATE TRIGGER trigger_5764a71f05cd\nBEFORE INSERT ON \"ssh_signatures\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_5764a71f05cd();\n")
main:    -> 0.0032s
main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_bf8c6d11a032()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n  NEW.\"author_email\" := NEW.\"committer_email\";\n  RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_bf8c6d11a032\nON \"ssh_signatures\";\n\nCREATE TRIGGER trigger_bf8c6d11a032\nBEFORE UPDATE OF \"committer_email\" ON \"ssh_signatures\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_bf8c6d11a032();\n")
main:    -> 0.0007s
main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_55eae7de7ee6()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n  NEW.\"committer_email\" := NEW.\"author_email\";\n  RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_55eae7de7ee6\nON \"ssh_signatures\";\n\nCREATE TRIGGER trigger_55eae7de7ee6\nBEFORE UPDATE OF \"author_email\" ON \"ssh_signatures\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_55eae7de7ee6();\n")
main:    -> 0.0006s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE ssh_signatures\nADD CONSTRAINT check_5ff707c7f9\nCHECK ( char_length(committer_email) <= 255 )\nNOT VALID;\n")
main:    -> 0.0008s
main: -- execute("ALTER TABLE ssh_signatures VALIDATE CONSTRAINT check_5ff707c7f9;")
main:    -> 0.0056s
main: == 20250717081744 RenameAuthorEmailToCommitterEmailOnSshSignatureTable: migrated (0.2269s)

main: == [advisory_lock_connection] object_id: 139180, pg_backend_pid: 62678
db:migrate:up:main VERSION=20250717105014
rails db:migrate:up:main VERSION=20250717105014
main: == [advisory_lock_connection] object_id: 139180, pg_backend_pid: 63052
main: == 20250717105014 CleanupAuthorEmailOnSshSignatureTableRename: migrating ======
main: -- column_exists?(:ssh_signatures, :author_email)
main:    -> 0.0347s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- quote_table_name(:ssh_signatures)
main:    -> 0.0000s
main: -- execute("DROP TRIGGER IF EXISTS trigger_5764a71f05cd\nON \"ssh_signatures\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_5764a71f05cd;\n")
main:    -> 0.0010s
main: -- execute("DROP TRIGGER IF EXISTS trigger_bf8c6d11a032\nON \"ssh_signatures\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_bf8c6d11a032;\n")
main:    -> 0.0006s
main: -- execute("DROP TRIGGER IF EXISTS trigger_55eae7de7ee6\nON \"ssh_signatures\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_55eae7de7ee6;\n")
main:    -> 0.0008s
main: -- remove_column(:ssh_signatures, :author_email)
main:    -> 0.0010s
main: == 20250717105014 CleanupAuthorEmailOnSshSignatureTableRename: migrated (0.0609s)

main: == [advisory_lock_connection] object_id: 139180, pg_backend_pid: 63052

Down

db:migrate:down:main VERSION=20250717105014
rails db:migrate:down:main VERSION=20250717105014
main: == [advisory_lock_connection] object_id: 139180, pg_backend_pid: 62210
main: == 20250717105014 CleanupAuthorEmailOnSshSignatureTableRename: reverting ======
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- columns(:ssh_signatures)
main:    -> 0.0765s
main: -- column_exists?(:ssh_signatures, :id)
main:    -> 0.0197s
main: -- column_exists?(:ssh_signatures, :author_email)
main:    -> 0.0095s
main: -- columns(:ssh_signatures)
main:    -> 0.0075s
main: -- add_column(:ssh_signatures, :author_email, :string, {:limit=>nil, :precision=>nil, :scale=>nil})
main:    -> 0.0081s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- exec_query("SELECT COUNT(*) AS count FROM \"ssh_signatures\"")
main:    -> 0.0196s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1")
main:    -> 0.0068s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 1 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0013s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0181s
main: -- execute("UPDATE \"ssh_signatures\" SET \"author_email\" = \"ssh_signatures\".\"committer_email\" WHERE \"ssh_signatures\".\"id\" >= 1 AND \"ssh_signatures\".\"id\" < 6")
main:    -> 0.0011s
main:    -> 0.0347s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 6 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0041s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0055s
main: -- execute("UPDATE \"ssh_signatures\" SET \"author_email\" = \"ssh_signatures\".\"committer_email\" WHERE \"ssh_signatures\".\"id\" >= 6 AND \"ssh_signatures\".\"id\" < 11")
main:    -> 0.0062s
main:    -> 0.0228s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 11 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0033s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0031s
main: -- execute("UPDATE \"ssh_signatures\" SET \"author_email\" = \"ssh_signatures\".\"committer_email\" WHERE \"ssh_signatures\".\"id\" >= 11 AND \"ssh_signatures\".\"id\" < 16")
main:    -> 0.0038s
main:    -> 0.0082s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 16 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0042s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0139s
main: -- execute("UPDATE \"ssh_signatures\" SET \"author_email\" = \"ssh_signatures\".\"committer_email\" WHERE \"ssh_signatures\".\"id\" >= 16 AND \"ssh_signatures\".\"id\" < 21")
main:    -> 0.0079s
main:    -> 0.0258s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 21 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0089s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0046s
main: -- execute("UPDATE \"ssh_signatures\" SET \"author_email\" = \"ssh_signatures\".\"committer_email\" WHERE \"ssh_signatures\".\"id\" >= 21 AND \"ssh_signatures\".\"id\" < 27")
main:    -> 0.0008s
main:    -> 0.0059s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 27 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0023s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0174s
main: -- execute("UPDATE \"ssh_signatures\" SET \"author_email\" = \"ssh_signatures\".\"committer_email\" WHERE \"ssh_signatures\".\"id\" >= 27 AND \"ssh_signatures\".\"id\" < 32")
main:    -> 0.0079s
main:    -> 0.0355s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 32 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0021s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0146s
main: -- execute("UPDATE \"ssh_signatures\" SET \"author_email\" = \"ssh_signatures\".\"committer_email\" WHERE \"ssh_signatures\".\"id\" >= 32 AND \"ssh_signatures\".\"id\" < 37")
main:    -> 0.0092s
main:    -> 0.0495s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 37 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0056s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0065s
main: -- execute("UPDATE \"ssh_signatures\" SET \"author_email\" = \"ssh_signatures\".\"committer_email\" WHERE \"ssh_signatures\".\"id\" >= 37 AND \"ssh_signatures\".\"id\" < 42")
main:    -> 0.0010s
main:    -> 0.0112s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 42 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0096s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0166s
main: -- execute("UPDATE \"ssh_signatures\" SET \"author_email\" = \"ssh_signatures\".\"committer_email\" WHERE \"ssh_signatures\".\"id\" >= 42 AND \"ssh_signatures\".\"id\" < 47")
main:    -> 0.0141s
main:    -> 0.0381s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 47 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0060s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0051s
main: -- execute("UPDATE \"ssh_signatures\" SET \"author_email\" = \"ssh_signatures\".\"committer_email\" WHERE \"ssh_signatures\".\"id\" >= 47 AND \"ssh_signatures\".\"id\" < 52")
main:    -> 0.0037s
main:    -> 0.0133s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 52 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0024s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0126s
main: -- execute("UPDATE \"ssh_signatures\" SET \"author_email\" = \"ssh_signatures\".\"committer_email\" WHERE \"ssh_signatures\".\"id\" >= 52 AND \"ssh_signatures\".\"id\" < 57")
main:    -> 0.0112s
main:    -> 0.0259s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 57 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0012s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0213s
main: -- execute("UPDATE \"ssh_signatures\" SET \"author_email\" = \"ssh_signatures\".\"committer_email\" WHERE \"ssh_signatures\".\"id\" >= 57 AND \"ssh_signatures\".\"id\" < 62")
main:    -> 0.0044s
main:    -> 0.0293s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 62 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0104s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0092s
main: -- execute("UPDATE \"ssh_signatures\" SET \"author_email\" = \"ssh_signatures\".\"committer_email\" WHERE \"ssh_signatures\".\"id\" >= 62 AND \"ssh_signatures\".\"id\" < 67")
main:    -> 0.0041s
main:    -> 0.0185s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 67 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0049s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0154s
main: -- execute("UPDATE \"ssh_signatures\" SET \"author_email\" = \"ssh_signatures\".\"committer_email\" WHERE \"ssh_signatures\".\"id\" >= 67 AND \"ssh_signatures\".\"id\" < 72")
main:    -> 0.0072s
main:    -> 0.0240s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 72 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0048s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0095s
main: -- execute("UPDATE \"ssh_signatures\" SET \"author_email\" = \"ssh_signatures\".\"committer_email\" WHERE \"ssh_signatures\".\"id\" >= 72 AND \"ssh_signatures\".\"id\" < 77")
main:    -> 0.0278s
main:    -> 0.0497s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 77 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0010s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0036s
main: -- execute("UPDATE \"ssh_signatures\" SET \"author_email\" = \"ssh_signatures\".\"committer_email\" WHERE \"ssh_signatures\".\"id\" >= 77 AND \"ssh_signatures\".\"id\" < 82")
main:    -> 0.0018s
main:    -> 0.0216s
main: -- exec_query("SELECT \"ssh_signatures\".\"id\" FROM \"ssh_signatures\" WHERE \"ssh_signatures\".\"id\" >= 82 ORDER BY \"ssh_signatures\".\"id\" ASC LIMIT 1 OFFSET 5")
main:    -> 0.0050s
main: -- transaction(nil)
main: -- execute("SELECT set_config('lock_writes.ssh_signatures', 'false', true)")
main:    -> 0.0130s
main: -- execute("UPDATE \"ssh_signatures\" SET \"author_email\" = \"ssh_signatures\".\"committer_email\" WHERE \"ssh_signatures\".\"id\" >= 82")
main:    -> 0.0014s
main:    -> 0.0281s
main: -- indexes(:ssh_signatures)
main:    -> 0.0240s
main: -- foreign_keys(:ssh_signatures)
main:    -> 0.0119s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- column_exists?(:ssh_signatures, :committer_email)
main:    -> 0.0130s
main: -- column_exists?(:ssh_signatures, :author_email)
main:    -> 0.0141s
main: -- current_schema(nil)
main:    -> 0.0016s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE ssh_signatures\nADD CONSTRAINT check_5caa86b658\nCHECK ( (char_length((author_email)::text) <= 255) )\nNOT VALID;\n")
main:    -> 0.0131s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0040s
main: -- execute("ALTER TABLE ssh_signatures VALIDATE CONSTRAINT check_5caa86b658;")
main:    -> 0.0063s
main: -- execute("RESET statement_timeout")
main:    -> 0.0046s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE ssh_signatures VALIDATE CONSTRAINT check_5caa86b658;")
main:    -> 0.0012s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- quote_table_name(:ssh_signatures)
main:    -> 0.0000s
main: -- quote_column_name(:author_email)
main:    -> 0.0000s
main: -- quote_column_name(:committer_email)
main:    -> 0.0000s
main: -- columns(:ssh_signatures)
main:    -> 0.0032s
main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_5764a71f05cd()\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_5764a71f05cd\nON \"ssh_signatures\";\n\nCREATE TRIGGER trigger_5764a71f05cd\nBEFORE INSERT ON \"ssh_signatures\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_5764a71f05cd();\n")
main:    -> 0.0204s
main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_bf8c6d11a032()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n  NEW.\"author_email\" := NEW.\"committer_email\";\n  RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_bf8c6d11a032\nON \"ssh_signatures\";\n\nCREATE TRIGGER trigger_bf8c6d11a032\nBEFORE UPDATE OF \"committer_email\" ON \"ssh_signatures\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_bf8c6d11a032();\n")
main:    -> 0.0026s
main: -- execute("CREATE OR REPLACE FUNCTION function_for_trigger_55eae7de7ee6()\nRETURNS trigger\nLANGUAGE plpgsql\nAS $$\nBEGIN\n  NEW.\"committer_email\" := NEW.\"author_email\";\n  RETURN NEW;\nEND\n$$;\n\nDROP TRIGGER IF EXISTS trigger_55eae7de7ee6\nON \"ssh_signatures\";\n\nCREATE TRIGGER trigger_55eae7de7ee6\nBEFORE UPDATE OF \"author_email\" ON \"ssh_signatures\"\nFOR EACH ROW EXECUTE FUNCTION function_for_trigger_55eae7de7ee6();\n")
main:    -> 0.0080s
main: == 20250717105014 CleanupAuthorEmailOnSshSignatureTableRename: reverted (0.9479s)

main: == [advisory_lock_connection] object_id: 139180, pg_backend_pid: 62210
db:migrate:down:main VERSION=20250717081744
rails db:migrate:down:main VERSION=20250717081744
main: == [advisory_lock_connection] object_id: 139180, pg_backend_pid: 62419
main: == 20250717081744 RenameAuthorEmailToCommitterEmailOnSshSignatureTable: reverting
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("            ALTER TABLE ssh_signatures\n            DROP CONSTRAINT IF EXISTS check_5ff707c7f9\n")
main:    -> 0.0012s
main: -- column_exists?(:ssh_signatures, :committer_email)
main:    -> 0.0364s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- quote_table_name(:ssh_signatures)
main:    -> 0.0000s
main: -- execute("DROP TRIGGER IF EXISTS trigger_5764a71f05cd\nON \"ssh_signatures\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_5764a71f05cd;\n")
main:    -> 0.0006s
main: -- execute("DROP TRIGGER IF EXISTS trigger_bf8c6d11a032\nON \"ssh_signatures\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_bf8c6d11a032;\n")
main:    -> 0.0005s
main: -- execute("DROP TRIGGER IF EXISTS trigger_55eae7de7ee6\nON \"ssh_signatures\";\n\nDROP FUNCTION IF EXISTS function_for_trigger_55eae7de7ee6;\n")
main:    -> 0.0006s
main: -- remove_column(:ssh_signatures, :committer_email)
main:    -> 0.0040s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE ssh_signatures\nADD CONSTRAINT check_5ff707c7f9\nCHECK ( char_length(author_email) <= 255 )\nNOT VALID;\n")
main:    -> 0.0007s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0004s
main: -- execute("ALTER TABLE ssh_signatures VALIDATE CONSTRAINT check_5ff707c7f9;")
main:    -> 0.0006s
main: -- execute("RESET statement_timeout")
main:    -> 0.0004s
main: == 20250717081744 RenameAuthorEmailToCommitterEmailOnSshSignatureTable: reverted (0.0731s)

main: == [advisory_lock_connection] object_id: 139180, pg_backend_pid: 62419

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