지원되지 않는 버전 :7.0
이 문서는 지원되지 않는 버전의 tỷ lệ kèo bóng đá을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다current버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

tỷ lệ kèo bóng đá샘플 프로그램

샘플 프로그램 1

/*
 * testlibpq.c libpq, postgres frontend의 ​​c 버전 테스트
 * 도서관.
 *
 *
 */
#include <stdio.h
#include "libpq-fe.h"

무효의
exit_nicely (pgconn *conn)

    pqfinish (conn);
    출구 (1);

기본()

    char *pghost,
               *pgport,
               *pgoptions,
               *pgtty;
    char *dbname;
    int nfields;
    INT I,
                J;

    / * 파일 * 디버그; */

    pgconn *conn;
    pgresult *tỷ lệ kèo bóng đá;

    /*
     * 백엔드 연결의 매개 변수를 설정하여 시작합니다.
     * 매개 변수는 null이면 시스템은 합리적인 사용을 시도합니다.
     * 환경 변수를 찾거나 실패함으로써 기본값
     * 하드 유선 상수 사용
     */
    pghost = null;              / * 백엔드 서버의 호스트 이름 */
    pgport = null;              /* port of the backend server */
    pgoptions = null;           /* 백엔드를 시작하는 특별 옵션
                                 * 서버 */
    pgtty = null;               / * 백엔드 서버의 TTY 디버깅 */
    dbname = "template1";

    / * 데이터베이스에 연결 */
    conn = pqsetdb (pghost, pgport, pgoptions, pgtty, dbname);

    /*
     * 백엔드 연결이 성공적으로 이루어 졌는지 확인하십시오.
     */
    if (pqstatus (conn) == connection_bad)

        fprintf (stderr, "데이터베이스 '%s'에 대한 연결 실패. \ n", dbname);
        fprintf (stderr, "%s", pqerrormessage (conn));
        exit_nicely (conn);

    /* debug = fopen ( "/tmp/trace.out", "w"); */
    /* pqtrace (Conn, Debug);  */

    /* start a transaction block */
    tỷ lệ kèo bóng đá = PQEXEC (Conn, "시작");
    if (! tỷ lệ kèo bóng đá || pqresultstatus (tỷ lệ kèo bóng đá)! = pgres_command_ok)

        fprintf (stderr, "시작 명령 실패 \ n");
        PQCLEAR (tỷ lệ kèo bóng đá);
        exit_nicely (conn);

    /*
     * pqclear pgresult가 더 이상 피할 필요가 없을 때마다
     * 메모리 누출
     */
    PQCLEAR (tỷ lệ kèo bóng đá);

    /*
     * PG_DATABASE의 인스턴스, 시스템 카탈로그
     * 데이터베이스
     */
    tỷ lệ kèo bóng đá = pqexec (conn, "pg_database에서 select *에서 mycursor cursor를 선언한다");
    if (! tỷ lệ kèo bóng đá || pqresultstatus (tỷ lệ kèo bóng đá)! = pgres_command_ok)

        fprintf (stderr, "cursor 명령 실패 \ n");
        PQclear(tỷ lệ kèo bóng đá);
        exit_nicely (conn);

    PQCLEAR (tỷ lệ kèo bóng đá);
    tỷ lệ kèo bóng đá = PQEXEC (Conn, "MyCursor에서 모두 가져 오기");
    if (! tỷ lệ kèo bóng đá || pqresultstatus (tỷ lệ kèo bóng đá)! = pgres_tuples_ok)

        fprintf (stderr, "모든 명령은 튜플을 올바르게 반환하지 않았다");
        PQCLEAR (tỷ lệ kèo bóng đá);
        exit_nicely (conn);

    / * 먼저 속성 이름을 인쇄 */
    nfields = pqnfields (tỷ lệ kèo bóng đá);
    for (i = 0; i <nfields; i ++)
        printf ( "%-15s", pqfname (tỷ lệ kèo bóng đá, i));
    printf ( "\ n \ n");

    / * 다음으로 인스턴스를 인쇄 */
    for (i = 0; i <pqntuples (tỷ lệ kèo bóng đá); i ++)

        for (j = 0; j <nfields; j ++)
            printf ( "%-15s", pqgetValue (tỷ lệ kèo bóng đá, i, j));
        printf ( "\ n");

    PQCLEAR (tỷ lệ kèo bóng đá);

    / * 커서를 닫습니다 */
    tỷ lệ kèo bóng đá = PQEXEC (Conn, "Close MyCursor");
    PQCLEAR (tỷ lệ kèo bóng đá);

    /* commit the transaction */
    tỷ lệ kèo bóng đá = PQEXEC (Conn, "Commit");
    PQCLEAR (tỷ lệ kèo bóng đá);

    / * 데이터베이스 연결을 닫고 정리 */
    pqfinish (conn);

    /* fclose (Debug); */
    반환 0;

샘플 프로그램 2

/*
 * testlibpq2.c
 * 비동기식 알림 인터페이스 테스트
 *
 *이 프로그램을 시작한 다음 다른 창의 PSQL에서
 * TBL2 알림;
 *
 * Or, if you want to get fancy, try this:
 * 다음과 함께 데이터베이스를 채우십시오.
 *
 * 테이블 TBL1 (I int4)을 만듭니다.
 *
 * 테이블 생성 tbl2 (i int4);
 *
 * tbl1에 삽입 된대로 규칙 R1을 만듭니다.
 * (tbl2 값 (new.i)에 삽입; TBL2 알림);
 *
 * 그리고 그렇게하십시오
 *
 * TBL1 값 (10)에 삽입;
 *
 */
#include <stdio.h
#include "libpq-fe.h"

무효의
exit_nicely (pgconn *conn)

    pqfinish (conn);
    출구 (1);

기본()

    char *pghost,
               *pgport,
               *pgoptions,
               *pgtty;
    char *dbname;
    int nfields;
    INT I,
                J;

    pgconn *conn;
    pgresult *tỷ lệ kèo bóng đá;
    pgnotify *알림;

    /*
     * 백엔드 연결의 매개 변수를 설정하여 시작합니다.
     * 매개 변수는 null이면 시스템은 합리적인 사용을 시도합니다.
     * 환경 변수를 찾거나 실패함으로써 기본값
     * 하드 유선 상수 사용
     */
    pghost = null;              / * 백엔드 서버의 호스트 이름 */
    pgport = null;              / * 백엔드 서버의 포트 */
    pgoptions = null;           /* 백엔드를 시작하는 특별 옵션
                                 * 서버 */
    pgtty = null;               / * 백엔드 서버의 TTY 디버깅 */
    dbname = getenv ( "사용자");    /* 테스트 이름으로 변경하십시오
                                 * 데이터베이스 */

    / * 데이터베이스에 연결 */
    conn = pqsetdb (pghost, pgport, pgoptions, pgtty, dbname);

    /*
     * 백엔드 연결이 성공적으로 이루어 졌는지 확인하십시오.
     */
    if (pqstatus (conn) == connection_bad)

        fprintf (stderr, "데이터베이스 '%s'에 대한 연결 실패. \ n", dbname);
        fprintf (stderr, "%s", pqerrormessage (conn));
        exit_nicely (conn);

    tỷ lệ kèo bóng đá = pqexec (conn, "청취 tbl2");
    if (! tỷ lệ kèo bóng đá || pqresultstatus (tỷ lệ kèo bóng đá)! = pgres_command_ok)

        fprintf (stderr, "청취 명령 실패 \ n");
        PQCLEAR (tỷ lệ kèo bóng đá);
        exit_nicely (conn);

    /*
     * pqclear pgresult가 더 이상 피할 필요가 없을 때마다
     * 메모리 누출
     */
    PQCLEAR (tỷ lệ kèo bóng đá);

    동안 (1)

        /*
         * 수표 사이를 조금 기다리십시오. select ()와 대기
         * 더 효율적입니다.
         */
        수면 (1);
        / * 비동기 백엔드 메시지 수집 */
        PQconsumeInput(conn);
        / * 비동기식 알림 메시지 */
        while ((notify = pqnotifies (conn))! = null)

            fprintf (stderr,
                 "Backend Pid '%d'에서 '%s'를 Async 알림 \ n",
                    notify- relname, notify- be_pid);
            무료 (알림);

    / * 데이터베이스 연결을 닫고 정리 */
    pqfinish (conn);

    반환 0;

샘플 프로그램 3

/*
 * testlibpq3.c libpq, postgres frontend의 ​​c 버전 테스트
 * 도서관. 이진 커서 인터페이스를 테스트합니다
 *
 *
 *
 * 다음을 수행하여 데이터베이스를 채우십시오.
 *
 * 테이블 테스트 1 (I int4, d float4, p 다각형)을 만듭니다.
 *
 * test1 값 (1, 3.567, '(3.0, 4.0, 1.0,
 * 2.0) ':: 다각형);
 *
 * test1 값 (2, 89.05, '(4.0, 3.0, 2.0, 삽입
 * 1.0) ':: 다각형);
 *
 * the expected output is:
 *
 * 튜플 0 : got i = (4 바이트) 1, d = (4 바이트) 3.567000, p = (4
 * 바이트) 2 포인트 boundbox = (hi = 3.000000/4.000000, lo =
 * 1.000000,2.000000) 튜플 1 : got i = (4 바이트) 2, d = (4 바이트)
 * 89.050003, p = (4 바이트) 2 points boundbox =
 * (HI = 4.000000/3.000000, LO = 2.000000,1.000000)
 *
 *
 */
#include <stdio.h
#include "libpq-fe.h"
#include "utils/geo-decls.h"/ * 다각형 유형 */

무효의
exit_nicely (pgconn *conn)

    pqfinish (conn);
    출구 (1);

기본()

    char *pghost,
               *pgport,
               *pgoptions,
               *pgtty;
    char *dbname;
    int nfields;
    INT I,
                J;
    int i_fnum,
                d_fnum,
                p_fnum;
    pgconn *conn;
    pgresult *tỷ lệ kèo bóng đá;

    /*
     * 백엔드 연결의 매개 변수를 설정하여 시작합니다.
     * 매개 변수는 null이면 시스템은 합리적인 사용을 시도합니다.
     * 환경 변수를 찾거나 실패함으로써 기본값
     * 하드 유선 상수 사용
     */
    pghost = null;              / * 백엔드 서버의 호스트 이름 */
    pgport = null;              / * 백엔드 서버의 포트 */
    pgoptions = null;           /* 백엔드를 시작하는 특별 옵션
                                 * 서버 */
    pgtty = null;               / * 백엔드 서버의 TTY 디버깅 */

    dbname = getenv ( "사용자");    /* 테스트 이름으로 변경하십시오
                                 * 데이터베이스 */

    / * 데이터베이스에 연결 */
    conn = pqsetdb (pghost, pgport, pgoptions, pgtty, dbname);

    /*
     * 백엔드 연결이 성공적으로 이루어 졌는지 확인하십시오.
     */
    if (pqstatus (conn) == connection_bad)

        fprintf (stderr, "데이터베이스 '%s'에 대한 연결 실패. \ n", dbname);
        fprintf (stderr, "%s", pqerrormessage (conn));
        exit_nicely (conn);

    / * 거래 블록 시작 */
    tỷ lệ kèo bóng đá = PQEXEC (Conn, "시작");
    if (! tỷ lệ kèo bóng đá || pqresultstatus (tỷ lệ kèo bóng đá)! = pgres_command_ok)

        fprintf (stderr, "시작 명령 실패 \ n");
        PQCLEAR (tỷ lệ kèo bóng đá);
        exit_nicely (conn);

    /*
     * pqclear pgresult가 더 이상 피할 필요가 없을 때마다
     * 메모리 누출
     */
    PQCLEAR (tỷ lệ kèo bóng đá);

    /*
     * PG_DATABASE의 인스턴스, 시스템 카탈로그
     * 데이터베이스
     */
    tỷ lệ kèo bóng đá = pqexec (conn, "select * from test1에 대한 mycursor binary cursor를 선언한다");
    if (! tỷ lệ kèo bóng đá || pqresultstatus (tỷ lệ kèo bóng đá)! = pgres_command_ok)

        fprintf (stderr, "cursor 명령 실패 \ n");
        PQCLEAR (tỷ lệ kèo bóng đá);
        exit_nicely (conn);

    PQCLEAR (tỷ lệ kèo bóng đá);

    tỷ lệ kèo bóng đá = PQEXEC (Conn, "MyCursor에서 모두 가져 오기");
    if (! tỷ lệ kèo bóng đá || pqresultstatus (tỷ lệ kèo bóng đá)! = pgres_tuples_ok)

        fprintf (stderr, "모든 명령은 튜플을 올바르게 반환하지 않았다");
        PQCLEAR (tỷ lệ kèo bóng đá);
        exit_nicely (conn);

    i_fnum = pqfnumber (tỷ lệ kèo bóng đá, "i");
    d_fnum = pqfnumber (tỷ lệ kèo bóng đá, "d");
    p_fnum = pqfnumber (tỷ lệ kèo bóng đá, "p");

    for (i = 0; i < 3; i++)

        printf ( "type [ %d] = %d, 크기 [ %d] = %d \ n",
               i, pqftype (tỷ lệ kèo bóng đá, i),
               i, pqfsize (tỷ lệ kèo bóng đá, i));

    for (i = 0; i <pqntuples (tỷ lệ kèo bóng đá); i ++)

        int *ival;
        float *dval;
        int plen;
        다각형 *Pval;

        / * 우리는 이것을 우리가 알고있는 3 개의 필드에 이것을 하드 와이어 */
        ival = (int *) pqgetValue (tỷ lệ kèo bóng đá, i, i_fnum);
        dval = (float *) pqgetValue (tỷ lệ kèo bóng đá, i, d_fnum);
        plen = pqgetlength (tỷ lệ kèo bóng đá, i, p_fnum);

        /*
         * plen doesn't include the length field so need to
         * varhdsz의 증분
         */
        pval = (다각형 *) malloc (plen + varhdrsz);
        pval- size = plen;
        memmove ((char *) 및 pval- npts, pqgetValue (tỷ lệ kèo bóng đá, i, p_fnum), plen);
        printf ( "튜플 %d : got \ n", i);
        printf ( "i = ( %d 바이트) %d, \ n",
               pqgetlength (tỷ lệ kèo bóng đá, i, i_fnum), *ival);
        printf ( "d = ( %d 바이트) %f, \ n",
               pqgetlength (tỷ lệ kèo bóng đá, i, d_fnum), *dval);
        printf ( "p = (%d 바이트)%d points \ tboundbox = (hi =%f/%f, lo =%f,%f) \ n",
               pqgetlength (tỷ lệ kèo bóng đá, i, d_fnum),
               pval-npts,
               pval- boundbox.xh,
               pval- boundbox.yh,
               pval- boundbox.xl,
               pval- boundbox.yl);

    PQCLEAR (tỷ lệ kèo bóng đá);

    / * 커서를 닫습니다 */
    tỷ lệ kèo bóng đá = PQEXEC (Conn, "Close MyCursor");
    PQCLEAR (tỷ lệ kèo bóng đá);

    / * 거래 커밋 */
    tỷ lệ kèo bóng đá = PQEXEC (Conn, "Commit");
    PQCLEAR (tỷ lệ kèo bóng đá);

    / * 데이터베이스 연결을 닫고 정리 */
    pqfinish (conn);

    반환 0;