백엔드 유량 차트

항목을 클릭자세한 내용을 보거나 전체를 보려면index.

flowchart main postmaster tcop parser tcop rewrite path plan executor libpq tcop commands utils catalog storage access nodes


토토는 TCP/IP를 통해 도착하는 데이터 패킷을 통해 백엔드에 제공됩니다.Parser,어휘 스캐너,scan.l,토토를 토큰 (단어)으로 나눕니다. 파서 사용gram.y및 토토 유형을 식별하고 적절한로드하는 토큰CreateStmt또는SelectStmt.

진술은 복잡한 것으로 식별됩니다 (선택 / 삽입 /) 또는 단순, 예 :역할 만들기, 분석,등. 집행자를 요구하지 않는 간단한 유틸리티 명령은 명세서별로 처리됩니다.명령모듈.

파서는 복잡한 토토를 가져 와서 a를 만듭니다.토토복잡한 토토가 사용하는 모든 요소를 ​​포함하는 구조.Fromand여기서조항TransformFromClause ()andTransformWhereClause ().토토에서 참조 된 각 테이블은 a로 표시됩니다.RangetBlentry,그리고 그들은 함께 연결되어범위 테이블TransformFromClause ().query.rtable Query의 범위 테이블을 보유합니다.

특정 토토, 유사select,데이터의 리턴 열. 다른삽입and업데이트,열을 지정합니다TargetEntry항목은 함께 연결되어대상 목록OFtransformTargetList ().

집계와 같은 다른 토토 요소 (sum ()), 그룹and주문 by도 자체 토토에 저장됩니다

다음 단계는 토토를 ATH에 의해 수정하는 것입니다보기또는규칙토토에 적용될 수 있습니다. 이것은다시 쓰기System.

theOptimizer토토 구조를 사용하여 최상의 테이블 조인 순서를 결정하고 가입합니다.Fromand여기서Clauses) 최적의 인덱스 사용을 고려합니다.

thePATH모듈은 최적의 최적을 생성합니다Plan,토토를 실행하기 위해 수행 할 작업이 포함되어 있습니다.

그런 다음 계획이 전달됩니다.executor실행을위한

이 기본을 지원하는 많은 다른 모듈이 있습니다