InParameter
int direction; [ÀоîµéÀÏ ¹æÇâ : FIRST_NODE | LAST_NODE | PREVIOUS_NODE | NEXT_NODE] string primary_key; [±âº»Å° : FIRST_NODE¿Í LAST_NODEÀÎ °æ¿ì¿¡´Â ÁöÁ¤ÇÒ Çʿ䰡 ¾ø´Ù] unsigned int counter; [°¡Á®¿Ã ¹®¼ ¼ö] vector table_namelist; [Å×À̺í À̸§ : µÎ¹øÂ° ÀÌÈÄ·Î ÁöÁ¤µÈ Å×À̺íÀº ¹«½ÃµÈ´Ù] vector section_namelist; [°¡Á®¿Ã ¼½¼Ç : ALL_SECTIONS¸¦ »ç¿ëÇÏ¸é ¸ðµç ¼½¼ÇÀÌ ÁöÁ¤µÊ]
OutParameter
vectordocuments; [°¡Á®¿Â ¹®¼(µé)] long unsigned int service_time; [½ÇÇà½Ã°£]
Example
vector table_namelist; // °Ë»ö ´ë»ó Å×À̺í ÁöÁ¤
vector section_namelist; // °¡Á®¿Ã ¼½¼Ç¸í
// °Ë»ö ´ë»ó Å×À̺í ÁöÁ¤
table_namelist.push_back("blue01");
// ¼½¼Ç ÁöÁ¤
//section_namelist.push_back(ALL_SECTIONS);
section_namelist.push_back("AN");
// ¿äûÀ» ó¸®ÇÒ Å¬·¡½º¸¦ »ý¼º
// »ý¼ºÀÚÀÇ ¸Å°³º¯¼ö·Î ó¸®ÇÒ DB ¼ºñ½ºÀÇ ÁÖ¼Ò¿Í Æ÷Æ®¹øÈ£¸¦ ÀÔ·Â
ClientLIB clientLib(SERVER_IP, SERVER_PORT);
Cparameter_t p_in, p_out; // ¸Å°³º¯¼ö Ŭ·¡½º ¼±¾ð
/************************** ù¹øÂ° 5°³¸¦ ÀÐ¾î µéÀÓ **************************/
p_in.table_namelist = table_namelist; // °Ë»ö ´ë»ó Å×À̺í ÁöÁ¤
p_in.direction = FIRST_NODE; // FIRST_NODE | LAST_NODE | PREVIOUS_NODE | NEXT_NODE
//p_in.primary_key = ""; // FIRST_NODE¿Í LAST_NODE¿¡¼´Â ÁöÁ¤ÇÒ ÇÊ¿ä ¾øÀ½
p_in.counter = 5; // 5°³ ÀоîµéÀÓ
p_in.section_namelist = section_namelist;
// ù¹øÂ° ´Ù¼¸ ¹®¼¸¦ ÀоîµéÀÓ
RedirectStdoutInit(); // ¿äû ¼öÇà Áß¿¡ Ãâ·ÂµÇ´Â ¸Þ½ÃÁö ¸·À½...
int ret_val = clientLib.Request(GET_DOCUMENTS_WITH_PRIMARY_KEY, p_in, p_out);
RedirectStdoutClose();
if (ret_val != 0) {
cout << "ERROR : " << p_out.errmsg << "(" << p_out.errcode << ")" << endl;
return -1;
}
/************************** µÎ¹øÂ° 5°³¸¦ ÀÐ¾î µéÀÓ **************************/
p_in.table_namelist = table_namelist; // °Ë»ö ´ë»ó Å×À̺í ÁöÁ¤(À§¿¡¼ ÁöÁ¤ÇßÀ¸¹Ç·Î ¿©±â¼± ÁöÁ¤¾ÈÇØµµ µÊ)
p_in.direction = NEXT_NODE; // FIRST_NODE | LAST_NODE | PREVIOUS_NODE | NEXT_NODE
p_in.primary_key = p_out.documents[4].sections[0].section_value; // À§¿¡¼ ÀоîµéÀÎ ¸¶Áö¸· ·¹ÄÚµåÀÇ PK¸¦ ÁöÁ¤
p_in.counter = 5; // 5°³ ÀоîµéÀÓ
p_in.section_namelist = section_namelist;
// µÎ¹øÂ° ´Ù¼¸ ¹®¼¸¦ ÀоîµéÀÓ
RedirectStdoutInit(); // ¿äû ¼öÇà Áß¿¡ Ãâ·ÂµÇ´Â ¸Þ½ÃÁö ¸·À½...
ret_val = clientLib.Request(GET_DOCUMENTS_WITH_PRIMARY_KEY, p_in, p_out);
RedirectStdoutClose();
if (ret_val != 0) {
cout << "ERROR : " << p_out.errmsg << "(" << p_out.errcode << ")" << endl;
return -1;
}
/************************** ¸¶Áö¸· 5°³¸¦ ÀÐ¾î µéÀÓ **************************/
p_in.table_namelist = table_namelist; // °Ë»ö ´ë»ó Å×À̺í ÁöÁ¤
p_in.direction = LAST_NODE; // FIRST_NODE | LAST_NODE | PREVIOUS_NODE | NEXT_NODE
//p_in.primary_key = ""; // FIRST_NODE¿Í LAST_NODE¿¡¼´Â ÁöÁ¤ÇÒ ÇÊ¿ä ¾øÀ½
p_in.counter = 5; // 5°³ ÀоîµéÀÓ
p_in.section_namelist = section_namelist;
// ¸¶Áö¸· ´Ù¼¸ ¹®¼¸¦ ÀоîµéÀÓ
RedirectStdoutInit(); // ¿äû ¼öÇà Áß¿¡ Ãâ·ÂµÇ´Â ¸Þ½ÃÁö ¸·À½...
ret_val = clientLib.Request(GET_DOCUMENTS_WITH_PRIMARY_KEY, p_in, p_out);
RedirectStdoutClose();
if (ret_val != 0) {
cout << "ERROR : " << p_out.errmsg << "(" << p_out.errcode << ")" << endl;
return -1;
}
/************************** ±×ÀÌÀü 5°³¸¦ ÀÐ¾î µéÀÓ **************************/
p_in.table_namelist = table_namelist; // °Ë»ö ´ë»ó Å×À̺í ÁöÁ¤(À§¿¡¼ ÁöÁ¤ÇßÀ¸¹Ç·Î ¿©±â¼± ÁöÁ¤¾ÈÇØµµ µÊ)
p_in.direction = PREVIOUS_NODE; // FIRST_NODE | LAST_NODE | PREVIOUS_NODE | NEXT_NODE
p_in.primary_key = p_out.documents[0].sections[0].section_value; // À§¿¡¼ ÀоîµéÀΠù¹øÂ° ·¹ÄÚµåÀÇ PK¸¦ ÁöÁ¤
p_in.counter = 5; // 5°³ ÀоîµéÀÓ
p_in.section_namelist = section_namelist;
// ÀÌÀü ´Ù¼¸ ¹®¼¸¦ ÀоîµéÀÓ
RedirectStdoutInit(); // ¿äû ¼öÇà Áß¿¡ Ãâ·ÂµÇ´Â ¸Þ½ÃÁö ¸·À½...
ret_val = clientLib.Request(GET_DOCUMENTS_WITH_PRIMARY_KEY, p_in, p_out);
RedirectStdoutClose();
if (ret_val != 0) {
cout << "ERROR : " << p_out.errmsg << "(" << p_out.errcode << ")" << endl;
return -1;
}