इस प्रोजेक्ट के बारे में

FrankenSQLite Rust में लिखा गया SQLite का स्वतंत्र, शुरू से किया गया पुनर्कार्यान्वयन है, जिसका लक्ष्य SQLite के एकल-लेखक अवरोध और स्थायित्व संबंधी चिंताओं का समाधान करना है। यह समवर्ती लेखकों की अनुमति देने के लिए पृष्ठ-स्तरीय मल्टी-वर्ज़न कंसकरेंसी कंट्रोल (MVCC) प्रस्तुत करता है, जो पारंपरिक फ़ाइल-स्तरीय लॉक का स्थान लेता है। इंजन को सुरक्षित Rust कोर के साथ डिज़ाइन किया गया है, जो unsafe कोड को VFS और वैकल्पिक C ABI शिम तक सीमित करता है। मुख्य विशेषताएं: - समवर्ती लेखक: डिफ़ॉल्ट रूप से सीरियलाइज़ेबल स्नैपशॉट आइसोलेशन (SSI) के साथ पृष्ठ-स्तरीय MVCC, जो भिन्न पृष्ठों को स्पर्श करने वाले लेखकों को ओवरलैप करने देता है। समान-पृष्ठ टकराव वर्तमान में SQLITE_BUSY_SNAPSHOT के साथ निरस्त और पुनः प्रयास होते हैं; एक सुरक्षित राइट-मर्ज लैडर निष्क्रिय है। - फ़ाइल फ़ॉर्मैट संगतता: मानक SQLite 3.x डेटाबेस पढ़ता और लिखता है, UTF-8 और UTF-16 टेक्स्ट एन्कोडिंग का समर्थन करता है। समानता सत्यापन UTF-8 पर सबसे गहन है। - सुरक्षित Rust इंजन: कोर इंजन, पेजर, पार्सर, VDBE और संबंधित क्रेट unsafe कोड को प्रतिबंधित करते हैं; अपवाद केवल fsqlite-vfs (mmap/shm) और fsqlite-c-api (FFI) में हैं। - स्तरित वास्तुकला: 28-सदस्यीय Cargo वर्कस्पेस जिसमें types, errors, VFS, pager, WAL, MVCC, B-tree, parser, planner, VDBE, functions और extensions (FTS5, JSON1, R-tree, ICU आदि) के लिए क्रेट हैं। - स्थायित्व अनुसंधान: संभावित स्व-उपचार भंडारण के लिए RaptorQ/ECS बिल्डिंग ब्लॉक शामिल हैं, लेकिन यह डिज़ाइन और आंशिक कार्यान्वयन है, संगतता मोड में अभी सक्रिय नहीं है। - लेनदेन अवलोकन: लेनदेन आँकड़ों, सक्रिय लेनदेन, सलाहकार चेतावनियों और JSON टाइमलाइन के लिए PRAGMA सतहें। वर्तमान स्थिति: रनटाइम हाइब्रिड है, जिसमें मानक SQLite फ़ाइलों पर संगतता मोड सक्रिय मार्ग है। नेटिव मोड और ECS अनुभाग डिज़ाइन सहित आंशिक कार्यान्वयन हैं। CLI एक छोटा शेल है, पूर्ण sqlite3 फ्रंट-एंड नहीं। FTS3/FTS4 जैसे एक्सटेंशन केवल सहायक-स्तर हैं; dbstat, carray और dbpage कार्यान्वित नहीं हैं। planner क्रेट मौजूद है, लेकिन सभी क्वेरी के लिए प्राथमिक हॉट पाथ नहीं है।