# HG changeset patch # User bsw # Date 1533557523 -7200 # Node ID f6c0681aad684e1ed1882cf550a787dc754f1117 # Parent 324e01ab8ecf494bb185452b0efcbe4fc9aa4cce Added generation of sequential number diff -r 324e01ab8ecf -r f6c0681aad68 app/main/registration_admin/_action/update_verification.lua --- a/app/main/registration_admin/_action/update_verification.lua Mon Aug 06 14:00:45 2018 +0200 +++ b/app/main/registration_admin/_action/update_verification.lua Mon Aug 06 14:12:03 2018 +0200 @@ -32,6 +32,19 @@ value = string.gsub(value, "%s+", " ") elseif field.name == "sequential_number" then value = old_verification_data.sequential_number + if not value then + local last_sequential_number = 0 + db:query('LOCK TABLE "verification" IN SHARE ROW EXCLUSIVE MODE') + local max_record = Verification:new_selector() + :reset_fields() + :add_field("max((verification_data->>'sequential_number')::int8)") + :optional_object_mode() + :exec() + if max_record then + last_sequential_number = max_record.verification_data.sequential_number + end + value = last_sequential_number + 1 + end end verification.verification_data[field.name] = value end