2012-04-26 17 views
5

यह एक मामूली सवाल है, लेकिन मैं तरह का स्टंप हूं।एसक्यूएलएट अधिकतम क्वेरी पैरामीटर हिम तेंदुए पर अलग हैं?

sqlite 999 के क्वेरी पैरामीटर की संख्या पर एक कठिन सीमा है। यह हेडर में सेट है जो सार्वजनिक हेडर फ़ाइल का हिस्सा नहीं हैं, और रनटाइम आपको सीमा को कम करने की क्षमता देता है, लेकिन इससे अधिक नहीं हार्ड सीमा हिम तेंदुए पर पाइथन एसक्लाइट 3 मॉड्यूल (और शेर भी स्पष्ट रूप से) इस से अधिक पैरामीटर की अनुमति देता है, हालांकि, और मैं अपने जीवन के लिए यह नहीं समझ सकता कि यह कैसे संभव है।

मुझे यह संभावना माना जाता है कि पाइथन रैपर पैरामीटर प्रतिस्थापन स्वयं कर रहा है और sqlite3 पर पूर्ण विवरण पास कर रहा है; लेकिन जहां तक ​​मैं स्रोत कोड से बता सकता हूं, यह नहीं हो रहा है। मैंने यह भी माना कि हिम तेंदुए पर वर्ग 3 के कार्यान्वयन को थोड़ा अलग स्रोत कोड से संकलित किया गया था; लेकिन यह पता चला है कि ऐप्पल अपने ओपन-सोर्स संशोधनों को प्रकाशित करता है (http://opensource.apple.com/source/SQLite/SQLite-74.11/ देखें) और उनके स्रोत में पैरामीटर सीमा डिफ़ॉल्ट के समान है।

अगर किसी के पास यह हो रहा है कि यह कैसे हो रहा है (और मुझे यकीन है कि यह हो रहा है; मैंने 2000 पैरामीटर के साथ बयान बनाए हैं और वे ठीक काम करते हैं), कृपया इसमें झुकें। इसके लिए क्या लायक है, मुझे इसका सामना करना पड़ा विषमता क्योंकि पैरामीटर सीमा के कारण, विंडोज पर समान कोड टूट जाता है।

+0

क्या आपने जांच की है कि हिम-तेंदुए पर वास्तविक सीमा कौन सा है? यदि आप एक बेतुका उच्च संख्या डालते हैं तो स्मृति कैसे व्यवहार करती है? – dsign

+0

अच्छा विचार। हिम तेंदुए की संख्या 500000 है, बिल्कुल। 500001 ब्रेक –

उत्तर

1

जब पूर्ण SQLite (सी) के सूत्रों का निर्माण, पूर्वप्रक्रमक "बयान चर" की

SQLITE_MAX_VARIABLE_NUMBER 

नियंत्रण अधिकतम संख्या को परिभाषित, डिफ़ॉल्ट मान 999

अधिक जानकारी यहां पाया जा सकता है : https://sqlite.org/limits.html

मुझे लगता है कि पाइथन बाध्यकारी एक उच्च संख्या के साथ SQLite के कस्टम निर्माण का उपयोग करता है।


(999 के बारे में मानकों अनिवार्य टिप्पणी बहुत अधिक से अधिक किया जा रहा है, और आप कुछ अजीब कर रहे हैं -। या असामान्य आपके उपयोग के मामले पोस्टिंग पर विचार करें और अगर वहाँ मापदंडों के एक mroe उचित संख्या के लिए सुझाव दिए गए हैं।)

संबंधित मुद्दे