메인 콘텐츠로 건너뛰기
여러 숫자 열이 한 묶음을 이루고 이를 하나의 값으로 쿼리하고 싶을 때 vsql_cube를 사용하세요. AND 조건을 이어 붙이면 행이 범위 안에 있는지는 검사할 수 있지만, 거리순으로 행을 정렬할 수는 없습니다. cube 유형은 둘 다 할 수 있습니다. 이 확장 기능은 PostgreSQL의 cube 확장을 포팅한 것입니다. 대부분의 PostgreSQL 함수 이름이 그대로 이어지며, cube() 생성자, 연산자, 그리고 그 지원 함수(cube_contained, cube_overlap, distance_taxicab, distance_chebyshev)는 아래의 이름 있는 함수가 됩니다.

설치

설치 스크립트, Docker 이미지 또는 릴리스 tarball로 VillageSQL을 설치했다면 vsql_cube.veb는 이미 서버의 lib/veb/ 디렉터리에 있습니다. 문 하나로 서버에 설치하세요:
설치되었는지 확인합니다:
직접 빌드하려면 저장소의 빌드 지침을 따르세요.

추가되는 기능

cube 유형

열을 `cube`(N)으로 선언합니다. N은 값이 가질 수 있는 최대 차원 수이며 1부터 100까지입니다. cube는 MySQL 예약어이므로 백틱이 필요하며, 차원 수는 필수입니다.
값은 좌표 문자열로 씁니다. 열이 이를 파싱합니다:

함수

예제

목표 측정값에 가장 가까운 센서 두 개를 찾은 다음, 영역 안에 있는 센서를 찾습니다:
cube 인수는 열에서 차원 수를 얻으므로, cube 인수 중 하나가 열 값이거나 cube_union, cube_enlarge처럼 열의 차원 수를 유지하는 함수의 결과일 때 호출이 동작합니다. cube_dim(cube_point_nd(1, 2))처럼 그런 인수가 없는 호출은 ERROR 3219 (HY000): Cannot initialize function 'cube_dim': cannot determine type parameters for vsql_cube.cube in argument 1 오류로 실패합니다. 같은 이유로, cube_point_nd()로 감싸지 말고 일반 좌표 문자열을 삽입하세요.cube_point_nd, cube_box_nd, cube_subset, cube_add_dim의 각 좌표 인수는 쉼표로 구분한 문자열일 수도 있으며, 목록은 끝에서 끝으로 이어집니다. 따라서 cube_point_nd('1,2,3')과 cube_point_nd(1, 2, 3)은 같은 점을 만듭니다. 좌표가 열에 들어 있을 때는 문자열을 전달하세요. 이 경우가 개별 인수로는 표현할 수 없는 유일한 경우입니다.

참고 항목