আকর্ষণীয় প্রশ্ন; আপনি সাধারণত এটি ডিজাইন হিসাবে দেখেন না। আমার কাছে এমন একটি প্রোগ্রাম রয়েছে যা ইতিহাস রেকর্ড করার জন্য একটি চমকপ্রদ অনুরূপ কৌশল ব্যবহার করে তবে এটি বাইনারি বিন্যাস ব্যবহার করে। 'লগ ফাইল' এর চারটি অংশ রয়েছে, সবই একটি মেশিন-নিরপেক্ষ বিন্যাসে রেখে দেওয়া হয়েছে:
- ব্যবহৃত শিরোনামে জাদু নম্বর এবং সর্বাধিক (সর্বাধিক) সংখ্যার প্রবেশের সংখ্যা, পরবর্তী ইতিহাসের প্রবেশের ক্রম সংখ্যা, ব্যবহৃত তালিকায় প্রবেশের প্রকৃত সংখ্যা, বিনামূল্যে তালিকায় প্রবেশের প্রকৃত সংখ্যা রয়েছে , এবং ফাইলের দৈর্ঘ্য (যার প্রত্যেকটি 4 বাইট)।
- ব্যবহৃত তালিকা, প্রতিটি এন্ট্রি একটি অফসেট এবং একটি দৈর্ঘ্য দেয় (প্রতিটি প্রবেশের প্রতিটি অংশের জন্য 4 বাইট)।
- বিনামূল্যে তালিকা, ব্যবহৃত তালিকা এন্ট্রি অনুরূপ প্রতিটি এন্ট্রি।
- প্রধান ডেটা, প্রতিটি ইতিহাসের রেকর্ডে নাল টার্মিনেটর বাইট দ্বারা সমাপ্ত বাইটের সংমিশ্রিত সেট থাকে।
যখন একটি নতুন রেকর্ড বরাদ্দ করা হয়, যদি ফ্রি তালিকায় স্থান থাকে, তবে এটি সেখানে একটি এন্ট্রিটিকে ওভাররাইট করে (অগত্যা এটি সমস্ত ব্যবহার করে না - যে ক্ষেত্রে খণ্ডটি মুক্ত তালিকায় থাকে)। যখন ফ্রি তালিকায় কোনও স্থান নেই, তখন শেষে নতুন স্থান বরাদ্দ করা হয়। পুরানো রেকর্ডটি ঘোরার সময়, এর স্থানটি ফ্রি তালিকায় স্থানান্তরিত হয় এবং কোনও সংলগ্ন নিখরচায় রেকর্ডের সাথে মিলিত হয়। এটি এসকিউএল স্টেটমেন্টগুলি হ্যান্ডেল করার জন্য ডিজাইন করা হয়েছে যাতে রেকর্ডগুলি অনেক লাইনে ছড়িয়ে যায়। এই কোডটি একটি নির্দিষ্ট সংখ্যক রেকর্ডে কাজ করে। এটি প্রতি সেটের জন্য ফাইলের আকার সীমাবদ্ধ করে না (যদিও এটি এটি করা কঠিন হবে না)।
মূল কোড ইতিহাসের কোডটি দুটি ফাইলের মধ্যে রয়েছে, ইতিহাসের কোড এবং ইতিহাসের এইচএসএলসিএমডি প্রোগ্রামের উত্স থেকে পাওয়া যায় (আমার সংস্করণ, মাইক্রোসফ্টের নয়; মাইক্রোসফ্টের এক দশক বা তারও বেশি আগে আমার অস্তিত্ব ছিল), যা থেকে ডাউনলোড করা যেতে পারে আন্তর্জাতিক ইনফর্মিক্স ব্যবহারকারী গ্রুপের সফ্টওয়্যার সংরক্ষণাগার । এছাড়াও একটি হিস্ট্রি ফাইল ডাম্প প্রোগ্রাম (হিস্টডম্প.সি) এবং একটি ইতিহাস পরীক্ষক রয়েছে (হিস্টেস্ট.সি - এটি ইএসকিউএল / সি বলে দাবি করে তবে এটি সত্যই সি কোড; এটি যে সমর্থনকারী ফাংশন বলে তার মধ্যে কিছু ইনফর্মিক্স ইএসকিউএল / সি ব্যবহার করে) গ্রন্থাগার ফাংশন)। আপনি যদি ইনফর্মিক্স ইএসকিউএল / সি ব্যবহার না করে পরীক্ষা করতে চান তবে আমার সাথে যোগাযোগ করুন - আমার প্রোফাইল দেখুন। এটির নকশা মিলিয়িউর বাইরে হিস্টেস্ট সংকলন করার জন্য কিছু তুচ্ছ পরিবর্তন রয়েছে, এছাড়াও আপনার একটি মেকফাইল প্রয়োজন।