VALUE oci8_make_ociinterval_ym(OCIInterval *s) { sb4 year; sb4 month; chkerr(OCIIntervalGetYearMonth(oci8_envhp, oci8_errhp, &year, &month, s)); return rb_ary_new3(2, INT2FIX(year), INT2FIX(month)); }
/* boolean OCI_API OCI_IntervalGetYearMonth(OCI_Interval *itv, int *year, int *month) { return OCI_IntervalGetYearMonth2(&OCILib, itv, year, month); } */ boolean OCI_API OCI_IntervalGetYearMonth2(OCI_Library *pOCILib, OCI_Interval *itv, int *year, int *month, ExceptionSink* xsink) { boolean res = FALSE; OCI_CHECK_PTR(pOCILib, OCI_IPC_INTERVAL, itv, FALSE); OCI_CHECK_PTR(pOCILib, OCI_IPC_INT, year, FALSE); OCI_CHECK_PTR(pOCILib, OCI_IPC_INT, month, FALSE); OCI_CHECK_INTERVAL_ENABLED(pOCILib, itv->con, FALSE, xsink); *year = 0; *month = 0; #if OCI_VERSION_COMPILE >= OCI_9_0 OCI_CALL4Q ( pOCILib, res, itv->err, itv->con, OCIIntervalGetYearMonth((dvoid *) pOCILib->env, itv->err, (sb4 *) year, (sb4 *) month, itv->handle), xsink ) #else OCI_NOT_USED(year); OCI_NOT_USED(month); #endif OCI_RESULT(pOCILib, res); return res; }