我目前使用pgTap將單元測試添加到相當大量的PostgreSQL存儲過程中。單元測試PostgreSQL行級鎖
一些程序執行,其中明確鎖定行的操作。這些鎖對於應用程序至關重要。
我如何寫檢查需要的行被鎖定已經測試,並且不應該被鎖定的行不?
唯一的「線索」我目前所面對的是pgrowlocks擴展,它允許一個事務,以檢查由其他事務鎖定的行。然而,目前的事務似乎沒有看到自己的鎖,所以我不得不使用一些東西來同步兩個事務,除非我錯了,沒有辦法使用pgTap來做到這一點。
(注:使用PostgreSQL 9.1)
對我來說'pg_locks'確實列出了「我自己的」事務/鎖。 – 2012-01-14 08:41:24
這裏它也是如此,但它並不指示哪些元組被鎖定,這是我想要測試的。 – 2012-01-14 08:43:23