/*
 * VL_RULE.pgc - vl 모듈 서비스 VL_RULE (one service = one file).
 * 기능: 검증 규칙 등록/갱신 (dbio upsert).
 * 기존 인라인 vl_svr.pgc에서 분리; caller의 XA 브랜치에서 실행(EXEC SQL CONNECT 없음).
 * vl_svr가 tpsvrinit에서 이 서비스를 tpadvertise 한다.
 */
#include "VL_RULE.h"

void VL_RULE(TPSVCINFO *p)
{
    UBFH *b = (UBFH *)p->data;
    char rule[32], name[64], sev[8];
    long thr;
    gets_(b, T_STR3, rule, sizeof(rule));
    if (rule[0] == 0) { userlog("VL_RULE: T_STR3(rule_code) 누락"); FAIL(b); }
    gets_(b, T_STR1, name, sizeof(name)); if (name[0] == 0) strcpy(name, "사용자 규칙");
    gets_(b, T_STR4, sev, sizeof(sev));   if (sev[0] == 0) strcpy(sev, "WARN");
    thr = getl(b, T_ARG1);
    if (vldb_upsert_rule(rule, name, thr, sev) < 0) FAIL(b);
    OK(b);
}
