شماره فیلد
نوع colset
عملکرد
۱
TRANSLIST
لیستی از تراکنشهایی که بعد از اجرای دستور جاری، بر روی منبع قفل خواهند داشت را نشان میدهد (در حالتی که فیلد سوم true باشد، لیست قبلی گاهی بدون تغییر میماند و گاهی تغیییر میکند، اما در حالتی که فیلد سوم false باشد همان لیست قبلی را برمیگرداند).
۲
LOCK
نوع قفل نهایی بر روی منبع را بعد از اجرای دستور جاری نشان خواهد داد. لازم به ذکر است در صورت وجود خطا این فیلد شامل پیغام خطا برای شناسایی خطاهای دستورهای تراکنش در زمان اجرا خواهد بود.
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
۳
BOOLEAN
وقتی دستور جاری میتواند اجرا شود، تابع برای پارامتر سوم true را بازمیگرداند. تابع مقدار false را در دو مورد مختلف بازمیگرداند؛ مورد اول، زمانی است که دستور جاری براساس قفلهای موجود روی منابع و قوانین سازگاری قفلها، مجاز نیست که اجرا شود و بعد از اجرای برخی دستورهای دیگر ممکن است این دستور بتواند اجرا شود؛ مورد دوم زمانی رخ میدهد که دستورات تراکنش، براساس الگوریتم ۲PL دارای اشتباه باشند. به عنوان مثال اگر تراکنش بخواهد بر روی منبعی عمل نوشتن را قبل از تقاضای قفل انحصاری بر روی آن انجام دهد (در چنین حالاتی فیلد دوم رکورد خروجی شامل پیغام خطا برای شناسایی و تعیین بهتر خطاهای دستورهای تراکنش برای ردیابی آسانتر مدل در زمان اجرا است).
۴
BOOLEAN
برای هر تراکنش وضعیت نقطه قفل را بعد از انجام دستور جاری نشان میدهد.
۵، ۶، ۷
SEQUENCE
برای هر تراکنش، شماره دستور بعدی آن را که باید اجرا شود مشخص میکنند. در صورتی که تراکنش طرد شده باشد، دستور بعدی که باید اجرا شود دستور شماره یک خواهد بود. اگر تراکنش به حال انتظار رفته باشد مجدداً باید همان دستور قبلی که اجرا نشده است اجرا شود و اگر تراکنش اجرا شده باشد، به شماره دستور قبلی یک واحد اضافه میشود و شماره دستور بعدی که باید اجرا شود مشخص میشود.
۸، ۹، ۱۰
TIMESTAMP
برای هر تراکنش زمانمهر جدید آن را مشخص میکنند. در صورتی که تراکنش طرد شده باشد زمانمهر جدید به آن اختصاص داده میشود؛ واضح است که زمانمهر جدید تراکنش از زمانمهر قدیمیاش بزرگتر خواهد بود و به طور کلی از سایر زمانمهرهای موجود نیز بزرگتر خواهد بود.
۱۱، ۱۲، ۱۳
MODE
برای هر تراکنش، وضعیت جدید آن را مشخص میکنند. در صورتی که تراکنش نتواند انجام شود و دارای مشکلی باشد وضعیت آن به حالت “can not commite” خواهد رفت؛ این نشان میدهد که تراکنش مشکل اساسی دارد و قادر به انجام شدن نیست. در صورتی که تراکنش به حالت انتظار برود وضعیت آن در حالت “wait” قرار خواهد گرفت و اگر تراکنش بتواند انجام شود در حالت “normal” قرار خواهد گرفت.
۱۴، ۱۵، ۱۶
REQUEST
برای هر تراکنش، شماره درخواست آن را مشخص میکنند. تراکنشی که در وضعیت “normal” قرار میگیرد شماره درخواست صفر را خواهد گرفت. تراکنشی که به حالت انتظار میرود شماره درخواست جدید خواهد گرفت و شماره درخواست آن از سایر شماره درخواستها بیشتر خواهد بود. (در مراحل بعدی از بین تراکنشهایی که در حالت انتظار قرار دارند، هر کدام که شماره درخواست کمتری دارد، چون زودتر به حالت انتظار رفته است و زودتر درخواست داده است، زودتر امکان انجام شدنش بررسی خواهد شد.)