मैं PostgreSQL सी एपीआई, libpq के साथ काम कर रहा हूँ। मुझे रूबी में PGresult*
में उनके समकक्ष डेटा प्रकारों में मानों को रूपांतरित करने में सक्षम होना चाहिए। मैं वर्तमान में बस सभी डेटा का चयन कर रहा हूं और PQgetvalue()
का उपयोग कर रहा हूं, जो मुझे char*
देता है जिसे मैं रूबी स्ट्रिंग में परिवर्तित कर सकता हूं। यह आसान है। लेकिन PQftype()
द्वारा लौटाए गए ओआईडी के मुताबिक char*
से , float
या double
से कोई भी प्रकार का रूपांतरण साझा कर सकता है?रूपांतरण टाइप करें। सी में libpq में PostgreSQL ओआईडी मान के साथ मैं क्या करूँ?
असल में, मुझे नहीं पता कि ओआईडी और the documentation की व्याख्या कैसे करें किसी भी पॉइंटर्स को नहीं लगता है। मुझे this page मिला, लेकिन यह सीआईपी में एक प्रकार के रूपांतरण करने के लिए इस ओआईडी का उपयोग करने के तरीके को समझने में मदद नहीं करता है। मुझे लगता है कि वहां स्थिरांक की एक सूची है जहां से मैं एक बड़ा स्विच स्टेटमेंट कर सकता हूं?
धन्यवाद, हालांकि क्या आपको पता है कि प्रत्येक परिणाम में प्रत्येक कॉलम के लिए सर्वर पर राउंड-ट्रिपिंग के बजाय सी एपीआई से इसे प्राप्त करने का कोई तरीका है या नहीं? मुझे केवल मूल प्रकारों में दिलचस्पी है, न कि उपयोगकर्ता प्रकार। – d11wtq
आप पोस्टग्रेस प्रत्येक परिणाम के साथ इस जानकारी को भेज सकते हैं, बस चयन आइटम जोड़ें - हालांकि यह अनावश्यक (प्रति पंक्ति) होगा। मैं सी एपीआई से परिचित नहीं हूँ। –
कोई नाटक नहीं। आपकी सहायता के लिए धन्यवाद. मैं क्लाइंट लाइब्रेरी को कार्यान्वित कर रहा हूं, इसलिए उपयोगकर्ता क्वेरी को संशोधित नहीं करना चाहूंगा, या सर्वर को अत्यधिक अतिरिक्त अनुरोध नहीं भेजूंगा। मुझे लगता है कि मैंने इसे अब पाया है, वास्तव में, सूची में/pg_type.h :) – d11wtq