621 <<
":" <<
tMIN.minute() <<
"." <<
tMIN.second() << std::endl;
624 session->transaction().start(
true);
625 coral::ISchema& schema =
session->nominalSchema();
626 std::cout <<
">> creating FEB object..." << std::endl;
629 coral::IQuery* queryFVTH1 = schema.newQuery();
630 queryFVTH1->addToTableList(
"RPCFEB");
631 queryFVTH1->addToOutputList(
"RPCFEB.DPID",
"DPID");
632 queryFVTH1->addToOutputList(
"RPCFEB.CHANGE_DATE",
"TSTAMP");
633 queryFVTH1->addToOutputList(
"RPCFEB.VTH1",
"VTH1");
636 coral::IQuery* queryFVTH2 = schema.newQuery();
637 queryFVTH2->addToTableList(
"RPCFEB");
638 queryFVTH2->addToOutputList(
"RPCFEB.DPID",
"DPID");
639 queryFVTH2->addToOutputList(
"RPCFEB.CHANGE_DATE",
"TSTAMP");
640 queryFVTH2->addToOutputList(
"RPCFEB.VTH2",
"VTH2");
643 coral::IQuery* queryFVTH3 = schema.newQuery();
644 queryFVTH3->addToTableList(
"RPCFEB");
645 queryFVTH3->addToOutputList(
"RPCFEB.DPID",
"DPID");
646 queryFVTH3->addToOutputList(
"RPCFEB.CHANGE_DATE",
"TSTAMP");
647 queryFVTH3->addToOutputList(
"RPCFEB.VTH3",
"VTH3");
650 coral::IQuery* queryFVTH4 = schema.newQuery();
651 queryFVTH4->addToTableList(
"RPCFEB");
652 queryFVTH4->addToOutputList(
"RPCFEB.DPID",
"DPID");
653 queryFVTH4->addToOutputList(
"RPCFEB.CHANGE_DATE",
"TSTAMP");
654 queryFVTH4->addToOutputList(
"RPCFEB.VTH4",
"VTH4");
657 coral::IQuery* queryFVMON1 = schema.newQuery();
658 queryFVMON1->addToTableList(
"RPCFEB");
659 queryFVMON1->addToOutputList(
"RPCFEB.DPID",
"DPID");
660 queryFVMON1->addToOutputList(
"RPCFEB.CHANGE_DATE",
"TSTAMP");
661 queryFVMON1->addToOutputList(
"RPCFEB.VMON1",
"VMON1");
664 coral::IQuery* queryFVMON2 = schema.newQuery();
665 queryFVMON2->addToTableList(
"RPCFEB");
666 queryFVMON2->addToOutputList(
"RPCFEB.DPID",
"DPID");
667 queryFVMON2->addToOutputList(
"RPCFEB.CHANGE_DATE",
"TSTAMP");
668 queryFVMON2->addToOutputList(
"RPCFEB.VMON2",
"VMON2");
671 coral::IQuery* queryFVMON3 = schema.newQuery();
672 queryFVMON3->addToTableList(
"RPCFEB");
673 queryFVMON3->addToOutputList(
"RPCFEB.DPID",
"DPID");
674 queryFVMON3->addToOutputList(
"RPCFEB.CHANGE_DATE",
"TSTAMP");
675 queryFVMON3->addToOutputList(
"RPCFEB.VMON3",
"VMON3");
678 coral::IQuery* queryFVMON4 = schema.newQuery();
679 queryFVMON4->addToTableList(
"RPCFEB");
680 queryFVMON4->addToOutputList(
"RPCFEB.DPID",
"DPID");
681 queryFVMON4->addToOutputList(
"RPCFEB.CHANGE_DATE",
"TSTAMP");
682 queryFVMON4->addToOutputList(
"RPCFEB.VMON4",
"VMON4");
685 coral::IQuery* queryFTEMP1 = schema.newQuery();
686 queryFTEMP1->addToTableList(
"RPCFEB");
687 queryFTEMP1->addToOutputList(
"RPCFEB.DPID",
"DPID");
688 queryFTEMP1->addToOutputList(
"RPCFEB.CHANGE_DATE",
"TSTAMP");
689 queryFTEMP1->addToOutputList(
"RPCFEB.TEMPERATURE1",
"TEMP1");
692 coral::IQuery* queryFTEMP2 = schema.newQuery();
693 queryFTEMP2->addToTableList(
"RPCFEB");
694 queryFTEMP2->addToOutputList(
"RPCFEB.DPID",
"DPID");
695 queryFTEMP2->addToOutputList(
"RPCFEB.CHANGE_DATE",
"TSTAMP");
696 queryFTEMP2->addToOutputList(
"RPCFEB.TEMPERATURE2",
"TEMP2");
699 std::vector<RPCObFebmap::Feb_Item> febarray;
700 coral::TimeStamp tlast =
tMIN;
704 <<
":" <<
tMAX.minute() <<
"." <<
tMAX.second() << std::endl;
705 std::cout <<
"Processing VTH1..." << std::endl;
706 coral::AttributeList conditionData;
707 conditionData.extend<coral::TimeStamp>(
"tmin");
708 conditionData.extend<coral::TimeStamp>(
"tmax");
709 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
710 conditionData[
"tmax"].data<coral::TimeStamp>() =
tMAX;
711 std::string conditionVTH1 =
"RPCFEB.VTH1 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin AND RPCFEB.CHANGE_DATE <:tmax";
712 queryFVTH1->setCondition(conditionVTH1, conditionData);
713 coral::ICursor& cursorFVTH1 = queryFVTH1->execute();
714 while (cursorFVTH1.next()) {
729 const coral::AttributeList& row = cursorFVTH1.currentRow();
730 float idoub = row[
"DPID"].data<
float>();
731 int id =
static_cast<int>(idoub);
732 float vth1 = row[
"VTH1"].data<
float>();
733 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
734 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
735 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
740 febarray.push_back(Itemp);
743 std::cout <<
">> Processing VTH1..." << std::endl;
744 coral::AttributeList conditionData;
745 conditionData.extend<coral::TimeStamp>(
"tmin");
746 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
747 std::string conditionVTH1 =
"RPCFEB.VTH1 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin";
748 queryFVTH1->setCondition(conditionVTH1, conditionData);
749 coral::ICursor& cursorFVTH1 = queryFVTH1->execute();
750 while (cursorFVTH1.next()) {
765 const coral::AttributeList& row = cursorFVTH1.currentRow();
766 float idoub = row[
"DPID"].data<
float>();
767 int id =
static_cast<int>(idoub);
768 float vth1 = row[
"VTH1"].data<
float>();
769 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
770 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
771 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
776 febarray.push_back(Itemp);
782 std::cout <<
"Processing VTH2..." << std::endl;
783 coral::AttributeList conditionData;
784 conditionData.extend<coral::TimeStamp>(
"tmin");
785 conditionData.extend<coral::TimeStamp>(
"tmax");
786 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
787 conditionData[
"tmax"].data<coral::TimeStamp>() =
tMAX;
788 std::string conditionVTH2 =
"RPCFEB.VTH2 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin AND RPCFEB.CHANGE_DATE <:tmax";
789 queryFVTH2->setCondition(conditionVTH2, conditionData);
790 coral::ICursor& cursorFVTH2 = queryFVTH2->execute();
791 while (cursorFVTH2.next()) {
806 const coral::AttributeList& row = cursorFVTH2.currentRow();
807 float idoub = row[
"DPID"].data<
float>();
808 int id =
static_cast<int>(idoub);
809 float vth2 = row[
"VTH2"].data<
float>();
810 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
811 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
812 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
817 febarray.push_back(Itemp);
820 std::cout <<
">> Processing VTH2..." << std::endl;
821 coral::AttributeList conditionData;
822 conditionData.extend<coral::TimeStamp>(
"tmin");
823 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
824 std::string conditionVTH2 =
"RPCFEB.VTH2 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin";
825 queryFVTH2->setCondition(conditionVTH2, conditionData);
826 coral::ICursor& cursorFVTH2 = queryFVTH2->execute();
827 while (cursorFVTH2.next()) {
842 const coral::AttributeList& row = cursorFVTH2.currentRow();
843 float idoub = row[
"DPID"].data<
float>();
844 int id =
static_cast<int>(idoub);
845 float vth2 = row[
"VTH2"].data<
float>();
846 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
847 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
848 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
853 febarray.push_back(Itemp);
859 std::cout <<
"Processing VTH3..." << std::endl;
860 coral::AttributeList conditionData;
861 conditionData.extend<coral::TimeStamp>(
"tmin");
862 conditionData.extend<coral::TimeStamp>(
"tmax");
863 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
864 conditionData[
"tmax"].data<coral::TimeStamp>() =
tMAX;
865 std::string conditionVTH3 =
"RPCFEB.VTH3 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin AND RPCFEB.CHANGE_DATE <:tmax";
866 queryFVTH3->setCondition(conditionVTH3, conditionData);
867 coral::ICursor& cursorFVTH3 = queryFVTH3->execute();
868 while (cursorFVTH3.next()) {
883 const coral::AttributeList& row = cursorFVTH3.currentRow();
884 float idoub = row[
"DPID"].data<
float>();
885 int id =
static_cast<int>(idoub);
886 float vth3 = row[
"VTH3"].data<
float>();
887 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
888 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
889 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
894 febarray.push_back(Itemp);
897 std::cout <<
">> Processing VTH3..." << std::endl;
898 coral::AttributeList conditionData;
899 conditionData.extend<coral::TimeStamp>(
"tmin");
900 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
901 std::string conditionVTH3 =
"RPCFEB.VTH3 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin";
902 queryFVTH3->setCondition(conditionVTH3, conditionData);
903 coral::ICursor& cursorFVTH3 = queryFVTH3->execute();
904 while (cursorFVTH3.next()) {
919 const coral::AttributeList& row = cursorFVTH3.currentRow();
920 float idoub = row[
"DPID"].data<
float>();
921 int id =
static_cast<int>(idoub);
922 float vth3 = row[
"VTH3"].data<
float>();
923 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
924 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
925 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
930 febarray.push_back(Itemp);
936 std::cout <<
"Processing VTH4..." << std::endl;
937 coral::AttributeList conditionData;
938 conditionData.extend<coral::TimeStamp>(
"tmin");
939 conditionData.extend<coral::TimeStamp>(
"tmax");
940 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
941 conditionData[
"tmax"].data<coral::TimeStamp>() =
tMAX;
942 std::string conditionVTH4 =
"RPCFEB.VTH4 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin AND RPCFEB.CHANGE_DATE <:tmax";
943 queryFVTH4->setCondition(conditionVTH4, conditionData);
944 coral::ICursor& cursorFVTH4 = queryFVTH4->execute();
945 while (cursorFVTH4.next()) {
960 const coral::AttributeList& row = cursorFVTH4.currentRow();
961 float idoub = row[
"DPID"].data<
float>();
962 int id =
static_cast<int>(idoub);
963 float vth4 = row[
"VTH4"].data<
float>();
964 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
965 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
966 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
971 febarray.push_back(Itemp);
974 std::cout <<
">> Processing VTH4..." << std::endl;
975 coral::AttributeList conditionData;
976 conditionData.extend<coral::TimeStamp>(
"tmin");
977 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
978 std::string conditionVTH4 =
"RPCFEB.VTH4 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin";
979 queryFVTH4->setCondition(conditionVTH4, conditionData);
980 coral::ICursor& cursorFVTH4 = queryFVTH4->execute();
981 while (cursorFVTH4.next()) {
996 const coral::AttributeList& row = cursorFVTH4.currentRow();
997 float idoub = row[
"DPID"].data<
float>();
998 int id =
static_cast<int>(idoub);
999 float vth4 = row[
"VTH4"].data<
float>();
1000 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
1001 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
1002 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
1007 febarray.push_back(Itemp);
1013 std::cout <<
"Processing VMON1..." << std::endl;
1014 coral::AttributeList conditionData;
1015 conditionData.extend<coral::TimeStamp>(
"tmin");
1016 conditionData.extend<coral::TimeStamp>(
"tmax");
1017 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
1018 conditionData[
"tmax"].data<coral::TimeStamp>() =
tMAX;
1019 std::string conditionVMON1 =
"RPCFEB.VMON1 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin AND RPCFEB.CHANGE_DATE <:tmax";
1020 queryFVMON1->setCondition(conditionVMON1, conditionData);
1021 coral::ICursor& cursorFVMON1 = queryFVMON1->execute();
1022 while (cursorFVMON1.next()) {
1037 const coral::AttributeList& row = cursorFVMON1.currentRow();
1038 float idoub = row[
"DPID"].data<
float>();
1039 int id =
static_cast<int>(idoub);
1040 float vmon1 = row[
"VMON1"].data<
float>();
1041 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
1042 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
1043 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
1045 Itemp.
vmon1 = vmon1;
1048 febarray.push_back(Itemp);
1051 std::cout <<
">> Processing VMON1..." << std::endl;
1052 coral::AttributeList conditionData;
1053 conditionData.extend<coral::TimeStamp>(
"tmin");
1054 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
1055 std::string conditionVMON1 =
"RPCFEB.VMON1 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin";
1056 queryFVMON1->setCondition(conditionVMON1, conditionData);
1057 coral::ICursor& cursorFVMON1 = queryFVMON1->execute();
1058 while (cursorFVMON1.next()) {
1073 const coral::AttributeList& row = cursorFVMON1.currentRow();
1074 float idoub = row[
"DPID"].data<
float>();
1075 int id =
static_cast<int>(idoub);
1076 float vmon1 = row[
"VMON1"].data<
float>();
1077 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
1078 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
1079 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
1081 Itemp.
vmon1 = vmon1;
1084 febarray.push_back(Itemp);
1090 std::cout <<
"Processing VMON2..." << std::endl;
1091 coral::AttributeList conditionData;
1092 conditionData.extend<coral::TimeStamp>(
"tmin");
1093 conditionData.extend<coral::TimeStamp>(
"tmax");
1094 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
1095 conditionData[
"tmax"].data<coral::TimeStamp>() =
tMAX;
1096 std::string conditionVMON2 =
"RPCFEB.VMON2 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin AND RPCFEB.CHANGE_DATE <:tmax";
1097 queryFVMON2->setCondition(conditionVMON2, conditionData);
1098 coral::ICursor& cursorFVMON2 = queryFVMON2->execute();
1099 while (cursorFVMON2.next()) {
1114 const coral::AttributeList& row = cursorFVMON2.currentRow();
1115 float idoub = row[
"DPID"].data<
float>();
1116 int id =
static_cast<int>(idoub);
1117 float vmon2 = row[
"VMON2"].data<
float>();
1118 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
1119 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
1120 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
1122 Itemp.
vmon2 = vmon2;
1125 febarray.push_back(Itemp);
1128 std::cout <<
">> Processing VMON2..." << std::endl;
1129 coral::AttributeList conditionData;
1130 conditionData.extend<coral::TimeStamp>(
"tmin");
1131 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
1132 std::string conditionVMON2 =
"RPCFEB.VMON2 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin";
1133 queryFVMON2->setCondition(conditionVMON2, conditionData);
1134 coral::ICursor& cursorFVMON2 = queryFVMON2->execute();
1135 while (cursorFVMON2.next()) {
1150 const coral::AttributeList& row = cursorFVMON2.currentRow();
1151 float idoub = row[
"DPID"].data<
float>();
1152 int id =
static_cast<int>(idoub);
1153 float vmon2 = row[
"VMON2"].data<
float>();
1154 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
1155 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
1156 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
1158 Itemp.
vmon2 = vmon2;
1161 febarray.push_back(Itemp);
1167 std::cout <<
"Processing VMON3..." << std::endl;
1168 coral::AttributeList conditionData;
1169 conditionData.extend<coral::TimeStamp>(
"tmin");
1170 conditionData.extend<coral::TimeStamp>(
"tmax");
1171 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
1172 conditionData[
"tmax"].data<coral::TimeStamp>() =
tMAX;
1173 std::string conditionVMON3 =
"RPCFEB.VMON3 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin AND RPCFEB.CHANGE_DATE <:tmax";
1174 queryFVMON3->setCondition(conditionVMON3, conditionData);
1175 coral::ICursor& cursorFVMON3 = queryFVMON3->execute();
1176 while (cursorFVMON3.next()) {
1191 const coral::AttributeList& row = cursorFVMON3.currentRow();
1192 float idoub = row[
"DPID"].data<
float>();
1193 int id =
static_cast<int>(idoub);
1194 float vmon3 = row[
"VMON3"].data<
float>();
1195 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
1196 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
1197 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
1199 Itemp.
vmon3 = vmon3;
1202 febarray.push_back(Itemp);
1205 std::cout <<
">> Processing VMON3..." << std::endl;
1206 coral::AttributeList conditionData;
1207 conditionData.extend<coral::TimeStamp>(
"tmin");
1208 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
1209 std::string conditionVMON3 =
"RPCFEB.VMON3 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin";
1210 queryFVMON3->setCondition(conditionVMON3, conditionData);
1211 coral::ICursor& cursorFVMON3 = queryFVMON3->execute();
1212 while (cursorFVMON3.next()) {
1227 const coral::AttributeList& row = cursorFVMON3.currentRow();
1228 float idoub = row[
"DPID"].data<
float>();
1229 int id =
static_cast<int>(idoub);
1230 float vmon3 = row[
"VMON3"].data<
float>();
1231 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
1232 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
1233 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
1235 Itemp.
vmon3 = vmon3;
1238 febarray.push_back(Itemp);
1244 std::cout <<
"Processing VMON4..." << std::endl;
1245 coral::AttributeList conditionData;
1246 conditionData.extend<coral::TimeStamp>(
"tmin");
1247 conditionData.extend<coral::TimeStamp>(
"tmax");
1248 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
1249 conditionData[
"tmax"].data<coral::TimeStamp>() =
tMAX;
1250 std::string conditionVMON4 =
"RPCFEB.VMON4 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin AND RPCFEB.CHANGE_DATE <:tmax";
1251 queryFVMON4->setCondition(conditionVMON4, conditionData);
1252 coral::ICursor& cursorFVMON4 = queryFVMON4->execute();
1253 while (cursorFVMON4.next()) {
1268 const coral::AttributeList& row = cursorFVMON4.currentRow();
1269 float idoub = row[
"DPID"].data<
float>();
1270 int id =
static_cast<int>(idoub);
1271 float vmon4 = row[
"VMON4"].data<
float>();
1272 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
1273 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
1274 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
1276 Itemp.
vmon4 = vmon4;
1279 febarray.push_back(Itemp);
1282 std::cout <<
">> Processing VMON4..." << std::endl;
1283 coral::AttributeList conditionData;
1284 conditionData.extend<coral::TimeStamp>(
"tmin");
1285 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
1286 std::string conditionVMON4 =
"RPCFEB.VMON4 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin";
1287 queryFVMON4->setCondition(conditionVMON4, conditionData);
1288 coral::ICursor& cursorFVMON4 = queryFVMON4->execute();
1289 while (cursorFVMON4.next()) {
1304 const coral::AttributeList& row = cursorFVMON4.currentRow();
1305 float idoub = row[
"DPID"].data<
float>();
1306 int id =
static_cast<int>(idoub);
1307 float vmon4 = row[
"VMON4"].data<
float>();
1308 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
1309 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
1310 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
1312 Itemp.
vmon4 = vmon4;
1315 febarray.push_back(Itemp);
1321 std::cout <<
"Processing TEMP1..." << std::endl;
1322 coral::AttributeList conditionData;
1323 conditionData.extend<coral::TimeStamp>(
"tmin");
1324 conditionData.extend<coral::TimeStamp>(
"tmax");
1325 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
1326 conditionData[
"tmax"].data<coral::TimeStamp>() =
tMAX;
1328 "RPCFEB.TEMPERATURE1 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin AND RPCFEB.CHANGE_DATE <:tmax";
1329 queryFTEMP1->setCondition(conditionTEMP1, conditionData);
1330 coral::ICursor& cursorFTEMP1 = queryFTEMP1->execute();
1331 while (cursorFTEMP1.next()) {
1346 const coral::AttributeList& row = cursorFTEMP1.currentRow();
1347 float idoub = row[
"DPID"].data<
float>();
1348 int id =
static_cast<int>(idoub);
1349 float temp1 = row[
"TEMP1"].data<
float>();
1350 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
1351 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
1352 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
1354 Itemp.
temp1 = temp1;
1357 febarray.push_back(Itemp);
1360 std::cout <<
">> Processing TEMP1..." << std::endl;
1361 coral::AttributeList conditionData;
1362 conditionData.extend<coral::TimeStamp>(
"tmin");
1363 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
1364 std::string conditionTEMP1 =
"RPCFEB.TEMPERATURE1 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin";
1365 queryFTEMP1->setCondition(conditionTEMP1, conditionData);
1366 coral::ICursor& cursorFTEMP1 = queryFTEMP1->execute();
1367 while (cursorFTEMP1.next()) {
1382 const coral::AttributeList& row = cursorFTEMP1.currentRow();
1383 float idoub = row[
"DPID"].data<
float>();
1384 int id =
static_cast<int>(idoub);
1385 float temp1 = row[
"TEMP1"].data<
float>();
1386 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
1387 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
1388 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
1390 Itemp.
temp1 = temp1;
1393 febarray.push_back(Itemp);
1399 std::cout <<
"Processing TEMP2..." << std::endl;
1400 coral::AttributeList conditionData;
1401 conditionData.extend<coral::TimeStamp>(
"tmin");
1402 conditionData.extend<coral::TimeStamp>(
"tmax");
1403 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
1404 conditionData[
"tmax"].data<coral::TimeStamp>() =
tMAX;
1406 "RPCFEB.TEMPERATURE2 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin AND RPCFEB.CHANGE_DATE <:tmax";
1407 queryFTEMP2->setCondition(conditionTEMP2, conditionData);
1408 coral::ICursor& cursorFTEMP2 = queryFTEMP2->execute();
1409 while (cursorFTEMP2.next()) {
1424 const coral::AttributeList& row = cursorFTEMP2.currentRow();
1425 float idoub = row[
"DPID"].data<
float>();
1426 int id =
static_cast<int>(idoub);
1427 float temp2 = row[
"TEMP2"].data<
float>();
1428 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
1429 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
1430 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
1432 Itemp.
temp2 = temp2;
1435 febarray.push_back(Itemp);
1438 std::cout <<
">> Processing TEMP2..." << std::endl;
1439 coral::AttributeList conditionData;
1440 conditionData.extend<coral::TimeStamp>(
"tmin");
1441 conditionData[
"tmin"].data<coral::TimeStamp>() =
tMIN;
1442 std::string conditionTEMP2 =
"RPCFEB.TEMPERATURE2 IS NOT NULL AND RPCFEB.CHANGE_DATE >:tmin";
1443 queryFTEMP2->setCondition(conditionTEMP2, conditionData);
1444 coral::ICursor& cursorFTEMP2 = queryFTEMP2->execute();
1445 while (cursorFTEMP2.next()) {
1460 const coral::AttributeList& row = cursorFTEMP2.currentRow();
1461 float idoub = row[
"DPID"].data<
float>();
1462 int id =
static_cast<int>(idoub);
1463 float temp2 = row[
"TEMP2"].data<
float>();
1464 coral::TimeStamp ts = row[
"TSTAMP"].data<coral::TimeStamp>();
1465 int ndate = (ts.day() * 10000) + (ts.month() * 100) + (ts.year() - 2000);
1466 int ntime = (ts.hour() * 10000) + (ts.minute() * 100) + ts.second();
1468 Itemp.
temp2 = temp2;
1471 febarray.push_back(Itemp);
1475 std::cout <<
">> FEB array --> size: " << febarray.size() <<
" >> done." << std::endl;
1481 session->transaction().commit();
coral::TimeStamp UTtoT(long long utime)
coral::ISession * connect(const std::string &connectionString, const std::string &userName, const std::string &password)
std::string m_connectionString