| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 29. libpq - C ¶óÀ̺귯¸® | Fast Forward | Next |
º» Àý¿¡¼ ¼³¸íÇÏ´Â ÇÔ¼ö¸¦ »ç¿ëÇÏ¿©, Ŭ¶óÀÌ¾ðÆ® ¾îÇø®ÄÉÀ̼ÇÀº ¼¹ö·Î ó¸® ÁßÀÎ Ä¿¸Çµå¸¦ Ãë¼ÒÇÏ´Â ¿ä±¸¸¦ ½Ç½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù.
PQgetCancel
ƯÁ¤ÇÑ µ¥ÀÌÅͺ£À̽º Á¢¼ÓÀ» ÅëÇØ ¹ßÇàµÈ Ä¿¸Çµå¸¦ Ãë¼ÒÇϱâ À§ÇØ ÇÊ¿äÇÑ Á¤º¸¸¦ °¡Áö´Â µ¥ÀÌÅÍ ±¸Á¶¸¦ »ý¼ºÇÕ´Ï´Ù.
PGcancel *PQgetCancel(PGconn *conn);
PQgetCancel´Â ÁÖ¾îÁøPGconnÁ¢¼Ó ¿ÀºêÁ§Æ®ÀÇPGcancel
¿ÀºêÁ§Æ®¸¦ »ý¼ºÇÕ´Ï´Ù.
ÁÖ¾îÁøconn°¡ NULLÀ̳ª À߸øµÈ Á¢¼ÓÀ̾úÀ» °æ¿ì, NULLÀÌ ¹ÝȯµË´Ï´Ù.
PGcancel¿ÀºêÁ§Æ®´Â ºÒÅõ¸íÇÑ ±¸Á¶·Î, ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ Á÷Á¢ ¾×¼¼½º ÇÒ ¼ö ¾ø´Â °ÍÀ» ¶æÇÕ´Ï´Ù.
À̰ÍÀºPQcancel³ª PQfreeCancel¿¡ °Ç³×ÁÙ ¼ö ¹Û¿¡ ¾ø½À´Ï´Ù.
PQfreeCancel
PQgetCancel·Î »ý¼ºµÈ µ¥ÀÌÅÍ ±¸Á¶¸¦ ÇØÁ¦ÇÕ´Ï´Ù.
void PQfreeCancel(PGcancel *cancel);
PQfreeCancel´Â »çÀü¿¡PQgetCancel·Î »ý¼ºµÈ µ¥ÀÌÅÍ ¿ÀºêÁ§Æ®¸¦ ÇØÁ¦ÇÕ´Ï´Ù.
PQcancel
¼¹ö¿¡ ÇöÀçÀÇ Ä¿¸ÇµåÀÇ Æó±â 󸮸¦ ¿ä±¸ÇÕ´Ï´Ù.
int PQcancel(PGcancel *cancel, char *errbuf, int errbufsize);
Ãë¼Ò ¿äûÀÌ ¼ö¶ôµÇ¸é 1À», ±×·¸Áö ¾ÊÀ¸¸é 0À» ¹ÝȯÇÕ´Ï´Ù. ½ÇÆÐÇßÀ» °æ¿ì, errbuf¿¡ ±× ¿øÀÎÀ» ³ªÅ¸³»´Â ¿¡·¯ ¸Þ¼¼Áö°¡ ä¿öÁý´Ï´Ù. errbuf´Â errbufsizeÅ©±âÀÇ ¹®ÀÚ ¹è¿ÀÌ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. (Ãßõ Å©±â´Â 256¹ÙÀÌÆ®ÀÔ´Ï´Ù. )
±×·¯³ª ¿äûÀÌ ¼ö¶ôµÆ´Ù°í ÇØµµ, ±× ¿äûÀÇ È¿°ú°¡ ³ª¿À´Â °ÍÀº ÀüÇô º¸ÁõµÇÁö ¾Ê½À´Ï´Ù. ¸¸¾à Ãë¼Ò ¿äûÀÌ À¯È¿Çϸé, ÇöÀçÀÇ Ä¿¸Çµå´Â ¸ÓÁö¾Ê¾Æ Áß´ÜµÇ¾î ¿¡·¯°¡ °á°úÀûÀ¸·Î µ¹¾Æ°©´Ï´Ù. Ãë¼Ò Á¶ÀÛ¿¡ ½ÇÆÐÇßÀ» °æ¿ì(Áï ¼¹ö°¡ ¹ú½á Ä¿¸Çµå 󸮸¦ Á¾·áÇϰí ÀÖ¾ú±â ¶§¹®¿¡), ´«¿¡ º¸ÀÌ´Â °á°ú´Â ¾Æ¹«°Íµµ ³ª¿ÀÁö ¾Ê°Ô µË´Ï´Ù.
errbuf°¡ ½Ã±×³Î Çڵ鷯 ³»ÀÇ ·ÎÄà º¯¼öÀ̸é, PQrequestCancel´Â ½Ã±×³Î Çڵ鷯·ÎºÎÅÍ ±âµ¿Çصµ ¹®Á¦ ¾ø½À´Ï´Ù.
PQcancelÀÇ ½ÇÇàÁß, PGcancel´Â read¸¸ÀÔ´Ï´Ù.
µû¶ó¼, PGconn¿ÀºêÁ§Æ®¸¦ Á¶ÀÛÇÏ´Â thread¿Í ´Ù¸¥ thread·ÎºÎÅÍ ÀÌ ÇÔ¼ö¸¦ È£ÃâÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
PQrequestCancel
¼¹ö¿¡ ÇöÀçÀÇ Ä¿¸ÇµåÀÇ Æó±â 󸮸¦ ¿ä±¸ÇÕ´Ï´Ù.
int PQrequestCancel(PGconn *conn);
PQrequestCancel´Â PQcancelÀÇ º¯ÇüÀÌ¸ç ÆóÁöµÈ °ÍÀÔ´Ï´Ù.
À̰ÍÀºPGconn¿ÀºêÁ§Æ®¸¦ Á÷Á¢ Ãë±ÞÇϰí, ½ÇÆÐÇßÀ» °æ¿ì ¿¡·¯ ¸Þ¼¼Áö´Â PGconn¿ÀºêÁ§Æ® ³»¿¡ ÀúÀåµË´Ï´Ù.
(PQerrorMessage¿¡ ÀÇÇØ ²¨³¾ ¼ö ÀÖ½À´Ï´Ù. )
±â´ÉÀûÀ¸·Î´Â µ¿ÀÏÇÏÁö¸¸, PGconnÀÇ ¿¡·¯ ¸Þ¼¼Áö°¡ °ãÃÄ ½áÁö´Â °ÍÀ¸·Î, ±× Á¢¼ÓÀ¸·Î ÇöÀç ÁøÇà ÁßÀÎ Á¶ÀÛÀÌ ¸Á°¡Á® ¹ö¸®±â ¶§¹®¿¡,
ÀÌ ¹æ¹ýÀº º¹¼ö thread ÇÁ·Î±×·¥À̳ª ½Ã±×³Î Çڵ鷯¿¡¼ ¹®Á¦°¡ ÀϾ´Ï´Ù.