68 Error(
"IsValid",
"row closed");
72 Error(
"IsValid",
"field index out of bounds");
86 oracle::occi::MetaData fieldMD = (*fFieldInfo)[field];
88 return fieldMD.getInt(oracle::occi::MetaData::ATTR_DATA_SIZE);
96 Error(
"TOracleRow",
"GetField(): out-of-range or No RowData/ResultSet/MetaData");
115 char str_number[200];
117 int fPrecision, fScale, fDataType;
123 if (
fResult->isNull(field+1))
continue;
125 fDataType = (*fFieldInfo)[field].getInt(oracle::occi::MetaData::ATTR_DATA_TYPE);
129 fPrecision = (*fFieldInfo)[field].getInt(oracle::occi::MetaData::ATTR_PRECISION);
130 fScale = (*fFieldInfo)[field].getInt(oracle::occi::MetaData::ATTR_SCALE);
132 if ((fScale == 0) || (fPrecision == 0)) {
133 res =
fResult->getString(field+1);
135 double_val =
fResult->getDouble(field+1);
145 res =
fResult->getString(field+1);
151 case SQLT_TIMESTAMP_TZ:
152 case SQLT_TIMESTAMP_LTZ:
157 res =
fResult->getString(field+1);
160 Error(
"GetRowData",
"Oracle type %d was not yet tested - please inform ROOT developers", fDataType);
164 int len = res.length();
171 }
catch (oracle::occi::SQLException &oraex) {
172 Error(
"GetRowData",
"%s", (oraex.getMessage()).c_str());
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
~TOracleRow()
Destroy row object.
ULong_t GetFieldLength(Int_t field) final
Get length in bytes of specified field.
Bool_t IsValid(Int_t field)
Check if row is open and field index within range.
TOracleRow(const TOracleRow &)=delete
std::vector< oracle::occi::MetaData > * fFieldInfo
void Close(Option_t *opt="") final
Close row.
oracle::occi::ResultSet * fResult
const char * GetField(Int_t field) final
static const char * GetDatimeFormat()
return value of actual conversion format from timestamps or date to string
static const char * GetFloatFormat()
return current printf format for float/double members, default "%e"