필자가 작성한 다양한 라이브러리의 다른 버전을 가지고 있는데, 작성한 다양한 plperl 함수에서 current_database()
을 기반으로 특정 버전을로드합니다.PostgreSQL의 plperlu interpreter의 @INC 및/또는 캐시 된 라이브러리 : 다른 데이터베이스에 대해 별도?
(이 라이브러리를 캐시 할 수 있기 때문에 IIRC이 바람직하다 use
오히려 require
보다 사용하여, 나는 생각?)
하지만, 내 두려움이 동일한 서버에 다른 데이터베이스 나 '중 하나의 방법으로, 문제가있는 것입니다 그 일의 m 생각 :
1) use lib
하나 개 이상의 경로 굳이 이렇게 다음 use
가 @INC에 걸리면, 그것은
이 사용됩니다 오른쪽에 하나) require
라는 말이다 경우를하지 않을 수 있습니다 이것은 올바른 것이 항상 c에서 사용된다는 것을 의미합니다. 라이브러리 스크립트가 매번 다시로드된다는 의미입니까? 그리고 라이브러리를 한 번 사용하면로드가 유지되면 다른 버전의 네임 스페이스 오염으로 인해 버그가 발생할 수 있습니까? 예를 들어 변수가 정의되어 있는지 여부에 따라 분기가있는 경우 (기본적으로 하나의 버전에서는 기본적으로, 다른 버전에서는 그렇지 않은 경우) - 모든 버전이 그대로 작동합니다. 그것을 정의하지?)