일부는 올바르게 설치되었으며 완벽하게 작동함포스트그레SQL설치 가능"실패"이 회귀 젠 토토 중 일부는 다음으로 인해 발생합니다. 다양한 부동 소수점과 같은 플랫폼별 아티팩트 표현과 메시지 표현. 젠 토토는 현재 간단한 사용하여 평가됨차이점비교 참조 시스템에서 생성된 출력에 대해 결과는 작은 시스템 차이에 민감합니다. 시험이 있을 때 다음과 같이 보고되었습니다."실패", 항상 조사하세요 예상 결과와 실제 결과의 차이 당신은 아마도 차이가 크지 않다는 것을 알 수 있습니다. 그럼에도 불구하고 우리는 여전히 모든 분야에서 정확한 참조 파일을 유지하기 위해 노력하고 있습니다. 플랫폼을 지원하므로 모든 젠 토토가 통과.
회귀 젠 토토의 실제 결과는 다음 파일에 있습니다.src/젠 토토/회귀/결과디렉토리. 는 젠 토토 스크립트 사용차이점각각 비교 에 저장된 참조 출력에 대한 출력 파일src/젠 토토/회귀/예상디렉토리. 검사를 위해 차이점이 저장됩니다.src/test/regress/regression.diffs. (또는 할 수 있습니다 실행차이점원한다면 당신 자신.)
어떤 이유로 특정 플랫폼이 다음을 생성하는 경우"실패"주어진 젠 토토의 경우, 그러나 출력을 검사하면 결과가 유효하다는 것을 확신할 수 있습니다. 실패 보고서를 침묵시키기 위해 새로운 비교 파일을 추가할 수 있습니다 향후 젠 토토 실행에서. 보다PostgreSQL : 문서 : 8.1 : 변형 비교 토토 사이트 추천자세한 내용은.
일부 회귀 젠 토토에는 의도적인 유효하지 않은 내용이 포함되어 있습니다. 입력 값. 오류 메시지는 다음 중 하나에서 나타날 수 있습니다.PostgreSQL코드 또는 호스트 플랫폼 시스템 루틴. 후자의 경우 메시지는 플랫폼마다 다를 수 있지만 유사한 내용을 반영해야 합니다. 정보. 이러한 메시지 차이로 인해 다음과 같은 결과가 발생합니다."실패"회귀 젠 토토가 가능합니다. 검사를 통해 검증되었습니다.
이미 설치된 서버에 대해 젠 토토를 실행하는 경우 이외의 조합 순서 로케일로 초기화되었습니다. C. 그러면 정렬 순서에 따라 차이가 있을 수 있으며, 후속 실패. 회귀 젠 토토 스위트는 다음과 같이 설정되었습니다. 대체 결과 파일을 제공하여 이 문제를 처리합니다. 함께 많은 수의 로케일을 처리하는 것으로 알려져 있습니다.
대부분의 날짜 및 시간 결과는 시간에 따라 달라집니다. 구역 환경. 참조 파일은 시간에 따라 생성됩니다. 구역PST8PDT(캘리포니아주 버클리), 젠 토토가 실행되지 않으면 명백한 실패가 발생합니다. 해당 시간대 설정으로. 회귀 젠 토토 드라이버 세트 환경 변수PGTZ에PST8PDT, 일반적으로 적절한 결과.
일부 젠 토토에는 64비트 부동 소수점 계산이 포함됩니다. 숫자(배정밀도) 테이블에서 열. 수학적 결과의 차이 의 기능배정밀도열 관찰되었습니다.float8그리고기하학젠 토토는 특히 취약합니다. 플랫폼 간 작은 차이, 심지어는 서로 다른 컴파일러 최적화 옵션. 인간의 안구 비교는 이러한 차이점의 실제 중요성을 결정하는 데 필요함 일반적으로 소수점 오른쪽 10자리입니다. 포인트.
일부 시스템은 마이너스 0을 다음과 같이 표시합니다.-0, 다른 사람들은 그냥 표시함0.
일부 시스템은 다음에서 오류 신호를 보냅니다.파우()그리고특급()현재 기대되는 메커니즘과 다르게PostgreSQL코드.
동일한 행이 출력되는 차이점을 볼 수 있습니다. 예상 파일에 나타나는 순서와 다릅니다. 에서 대부분의 경우 이는 엄밀히 말하면 버그가 아닙니다. 대부분의 회귀 젠 토토 스크립트는 다음을 사용할 만큼 현명하지 않습니다.주문 기준모든 단일에 대해선택, 결과 행 순서는 다음과 같습니다. SQL 문자에 따라 잘 정의되지 않음 사양. 실제로는 같은 것을 보고 있기 때문에 동일한 소프트웨어에 의해 동일한 데이터에 대해 쿼리가 실행되는 경우 우리는 일반적으로 모든 플랫폼에서 동일한 결과를 얻습니다. 그래서 부족하다주문 기준아닙니다 문제. 일부 쿼리는 플랫폼 간 순서를 나타냅니다. 그러나 차이점이 있습니다. 이미 설치된 것을 젠 토토할 때 서버의 경우 C가 아닌 로케일로 인해 순서 차이가 발생할 수도 있습니다. 설정 또는 사용자 정의와 같은 기본이 아닌 매개변수 설정 값work_mem또는 플래너 비용 매개변수.
그러므로 순서에 차이가 있는 경우에는 그렇지 않습니다. 쿼리에 다음이 없으면 걱정할 사항입니다.주문 기준당신의 결과는 다음과 같습니다 위반. 하지만 어쨌든 신고해 주시면 추가할 수 있습니다.주문 기준특정 검색어에 이로써 가짜를 제거합니다"실패"향후 릴리스에서.
왜 우리가 모든 회귀 젠 토토를 주문하지 않는지 궁금하실 것입니다. 이 문제를 완전히 없애기 위해 명시적으로 쿼리합니다. 그 이유는 회귀 젠 토토가 줄어들기 때문입니다. 유용하지만 그 이상은 아닙니다. 쿼리 계획을 실행하는 경향이 있기 때문입니다. 이를 제외하고 순서대로 결과를 생성하는 유형 그렇지 않습니다.
만약오류젠 토토 결과는 서버 충돌선택 무한_반복()명령은 플랫폼의 프로세스 스택 크기 제한이 다음보다 작습니다.max_stack_깊이매개변수는 나타냅니다. 이 문제는 다음을 실행하여 해결할 수 있습니다. 더 높은 스택 크기 제한을 따르는 postmaster(4MB 권장) 기본값은max_stack_깊이). 그렇게 할 수 없다면, 대안은 값을 줄이는 것입니다.max_stack_깊이.
그무작위젠 토토 스크립트가 의도된 것입니다. 무작위 결과를 생성합니다. 드문 경우지만 이로 인해 다음이 발생합니다. 무작위 회귀 젠 토토가 실패합니다. 타이핑
차이점 결과/random.out 예상/random.out
한 줄 또는 몇 줄의 차이만 생성되어야 합니다. 당신 무작위 젠 토토가 반복적으로 실패하지 않는 한 걱정할 필요가 없습니다.