pg_builder 및 pg_wrapper 2.3.0이 Postgres 16 구문 지원과 함께 출시됨

게시일2023-09-21작성자: Alexey Borzov
관련 오픈 소스

다음 출시를 발표하게 되어 기쁘게 생각합니다.pg_builder그리고pg_wrapperPostgres 16 윈 토토 및 초기 릴리스에 대해 업데이트된 PHP 패키지pg_gateway.

pg_builder 2.3.0

pg_builder는 PostgreSQL 자체 SQL 파서를 부분적으로 PHP로 재구현한 Postgres용 쿼리 빌더입니다. Postgres 16에서 사용 가능한 거의 모든 구문을 지원합니다.선택(및), 삽입, 업데이트, 삭제그리고병합쿼리.

pg_builder를 사용하면 수동으로 작성된 쿼리로 시작하여 추상 구문 트리로 구문 분석하고 쿼리 부분을 추가할 수 있습니다(또는노드객체 또는 문자열)을 이 트리에 추가하거나 제거하고 마지막으로 트리를 다시 SQL 문자열로 변환합니다.

새 릴리스에는 PostgreSQL 16에 추가된 기능에 대한 지원이 추가되었습니다.

  • SQL/JSON 함수 및 표현식:IS JSON술어, 집계 함수json_arayagg()그리고json_objectagg(), 생성자 함수json_array()그리고json_object().
  • 숫자 리터럴의 구분 기호로 사용되는 십진수가 아닌 정수 리터럴 및 밑줄.
  • 하위 쿼리에 대한 선택적 별칭발신, 추가됨시스템_사용자서버 변수,[아니요] 들여쓰기옵션XMLSERIALIZE()표현.

전체 출시 노트

패키지는 다음과 같습니다.Github에서 다운로드됨또는 Composer와 함께 설치:

$ 작곡가 필요 sad_spirit/pg_builder

pg_wrapper 2.3.0

pg_wrapper는 PostgreSQL 데이터 유형에 대한 변환기와 이러한 변환기를 사용하는 PHP의 기본 pgsql 확장에 대한 OO 래퍼를 제공합니다. 쿼리 결과 필드의 변환은 데이터베이스 메타데이터를 사용하여 자동으로 수행되며 쿼리 매개변수에는 유형 지정이 필요할 수 있습니다.

해당 기본 PHP 유형 또는 클래스를 사용할 수 있는 유형의 경우 이를 사용합니다(텍스트 - 문자열, 타임스탬프 - DateTimeImmutable, hstore - 연관 배열 등). 다른 유형(기하학적 유형, 범위)의 경우 패키지는 사용자 정의 클래스를 제공합니다.

새 릴리스에는 PostgreSQL 16에 추가된 기능에 대한 지원이 추가되었습니다.

  • Postgres 16+에 연결되면 숫자 유형 변환기는 십진수가 아닌 정수 리터럴을 허용합니다. 숫자 구분 기호에 밑줄이 있는 숫자 리터럴을 사용하여 쿼리 매개변수 값으로 사용할 수 있습니다.

전체 출시 노트

패키지는 다음과 같습니다.Github에서 다운로드됨또는 Composer와 함께 설치:

$ 작곡가 필요 sad_spirit/pg_wrapper

pg_gateway 0.1.0

이것은테이블 데이터 게이트웨이pg_wrapper 및 pg_builder 패키지를 기반으로 구축된 구현입니다. 다음 기능을 추가합니다.

  • 게이트웨이는 테이블 메타데이터를 인식하고 공통 조건 등을 생성하는 도우미 메소드를 포함합니다.
  • 파싱/빌드 주기를 건너뛰기 위해 전체 쿼리를 캐시하는 방법이 있습니다.
  • 하나의 게이트웨이를 통해 쿼리를 생성하고 이를 다른 게이트웨이가 작성한 쿼리에 결합할 수 있습니다.

평소와 같이 패키지는 다음과 같습니다.Github에서 다운로드됨또는 Composer와 함께 설치:

$ 작곡가 필요 sad_spirit/pg_gateway