시스템 뷰
INFORMATION_SCHEMA.EXTENSIONS
현재 설치된 VillageSQL 확장을 모두 나열합니다.INSTALL EXTENSION 및 UNINSTALL EXTENSION은 VillageSQL SQL 확장입니다.
이는 표준 MySQL 8.4 구문의 일부가 아닙니다.
예시:
EXTENSION_NAME 값은 make_extension()에 전달된 이름과 일치하는 소문자입니다.
이 뷰는 현재 설치된 상태를 반영합니다.
네 개의 PENDING_* 열은 예약된 ALTER EXTENSION ... AT RESTART
버전 변경을 추적합니다. 워크플로에 대해서는 확장 관리를 참조하세요.
INFORMATION_SCHEMA.COLUMNS (사용자 정의 유형)
사용자 정의 확장 유형을 사용하는 열은 표준INFORMATION_SCHEMA.COLUMNS 뷰를 통해 표시됩니다. 사용자 정의 유형은 DATA_TYPE 및 COLUMN_TYPE 열에서 extension_name.type_name 형식으로 표시됩니다 (예: vsql_complex.COMPLEX).
예시:
INFORMATION_SCHEMA.EXTENSION_REGISTRATION
로드된 각 확장에 대한 메모리 내 VEF 등록 구조체를 JSON 문서로 노출합니다.INSTALL EXTENSION 후 서버가 확장의 함수, 유형 및 시스템 변수를 올바르게 해석했는지 확인하기 위해 사용합니다.
일반 쿼리
확장 종속성 찾기
제거하기 전에 특정 확장의 유형을 사용하는 열을 찾습니다:모든 확장 및 사용자 정의 유형 열 목록
확장 유형을 사용하는 테이블 찾기
시스템 변수
veb_dir
런타임 시 읽기 전용입니다. 서버가.veb 확장 패키지 파일을 찾는 디렉토리 경로입니다. [mysqld] 섹션의 my.cnf에서 설정해야 하며, 서버 재시작 없이는 변경할 수 없습니다.
my.cnf에서 구성합니다:
villagesql_server_version
읽기 전용 글로벌 변수입니다. 서버 바이너리에 컴파일된 VillageSQL 버전 문자열을 반환합니다. 형식은{codebase}_{major}.{minor}.{patch}[-prerelease]이며, 여기서 codebase는
이 빌드가 파생된 상위 포크의 이름입니다 (여기서는 mysql-8.4). 이는
내부 메타데이터 카탈로그에 찍힌 버전을 동일한 {codebase}_{version} 형식으로
보고하는 villagesql_schema_version과 구분됩니다.
villagesql_vef_server_protocol
읽기 전용 글로벌 변수입니다. 이 서버 빌드에서 지원하는 가장 높은 VEF 프로토콜 버전을 반환합니다. 확장 작성자는 이 값을types.h의 프로토콜 상수와 비교하여 등록 중 사용 가능한 ABI 기능을 결정할 수 있습니다.
프로토콜 V4가 추가하는 것
VEF_PROTOCOL_4 이상을 협상하는 확장은 vef_type_desc_t의
variable_length 필드에 접근할 수 있습니다. true로 설정되면 해당
유형의 저장 크기는 단일 고정 크기가 아니라 값별로 결정됩니다.
가변 길이 유형은 상한값으로 max_persisted_length도 선언해야 합니다.
이 플래그를 설정하려면 TypeBuilder의 variable_length_type() 빌더
메서드를 사용하세요 — variable_length를 직접 설정하지 마세요.
이 필드는 협상된 프로토콜이 VEF_PROTOCOL_4 이상일 때만 서버가 읽습니다.
VEF_PROTOCOL_4는 또한 vef_func_desc_t에 max_result_length 필드를 추가합니다.
함수는 자신의 STRING 결과의 최대 길이 (문자 단위)를 선언하여, 구체화된 결과 —
GROUP BY/DISTINCT 임시 테이블, CREATE TABLE ... SELECT,
UNION — 가 인수 너비에서 잘리지 않고 전체 값을 담도록 할 수 있습니다. 0은
인수 너비로 대체되며, STRING 전용이고
VEF_MAX_RESULT_LENGTH (16 MiB / 16777216 바이트)로 제한됩니다. 선언된 값이 더 크면
이 값으로 제한됩니다. FuncBuilder의 max_result_length() 빌더 메서드로
설정합니다.
프로토콜 V4는 활발히 개발 중입니다. 옵트인하는 확장은
-DVSQL_USE_DEV_ABI=ON으로 빌드해야 하며, 안정화되기 전에 ABI 변경을
예상해야 합니다.
전체 vef_type_desc_t 및 vef_func_desc_t 정의는 abi/types.h,
variable_length_type()는 type_builder.h, max_result_length()는
func_builder.h를 참조하세요.
이 값은 컴파일 타임 상수 vef_server_protocol_version을 반영하며, 런타임 시 변경할 수 없습니다.
villagesql_build_info
읽기 전용 글로벌 변수입니다. 이 서버 바이너리가 어떻게 빌드되었는지에 대한 메타데이터를 담은 JSON 객체를 반환합니다: 소스 커밋, 작업 트리 상태 및 빌드 환경.
범위: 글로벌, 읽기 전용입니다. 런타임 시 설정할 수 없습니다.
깨끗한 릴리스 빌드는
is_dirty: false이며 세 개의 파일 개수 필드가 모두 0입니다.
수정된 작업 트리에서 빌드하면 files_added,
files_deleted 또는 files_modified에 0이 아닌 개수가 표시됩니다.
다음 단계
확장 관리
확장 모니터링 및 문제 해결
확장 설치
새로운 확장 추가
확장 아키텍처
내부 구조 이해
사용 가능한 확장
확장 카탈로그 브라우징

