Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0
Tài liệu này dành cho phiên bản không được hỗ trợ của soi kèo bóng đá truoctran.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

43.8. soi kèo bóng đá truoctran

43.8.1. Cấu hình

Phần này liệt kê các tham số cấu hình ảnh hưởngsoi kèo bóng đá truoctran.

plperl.on_init(chuỗi)

Chỉ định mã soi kèo bóng đá truoctran sẽ được thực thi khi trình thông dịch soi kèo bóng đá truoctran được khởi tạo lần đầu tiên, trước khi nó được sử dụng bởiplperlhoặcplperlu. Các chức năng SPI không có sẵn khi mã này được thực thi.

Mã soi kèo bóng đá truoctran bị giới hạn trong một chuỗi. Mã dài hơn có thể được đặt vào một mô -đun và được tải bởion_initChuỗi. Ví dụ:

plperl.on_init = 'yêu cầu "plperlinit.pl"'

Bất kỳ mô -đun nào được tải bởiplperl.on_init, trực tiếp hoặc gián tiếp, sẽ có sẵn để sử dụng bởiplperl. Điều này có thể tạo ra một rủi ro bảo mật.

do 'ELOG (cảnh báo, tham gia ","

Khởi tạo sẽ xảy ra trong thư viện Postmaster nếu thư viện plperl được bao gồm trongshared_preload_l Libries, trong trường hợp đó nên xem xét thêm cho nguy cơ gây bất ổn cho người bán bưu điện. Lý do chính để sử dụng tính năng này là các mô -đun soi kèo bóng đá truoctran được tải bởiplperl.on_initChỉ cần được tải khi bắt đầu Postmaster và sẽ có sẵn ngay lập tức mà không cần tải chi phí trong các phiên cơ sở dữ liệu riêng lẻ. Tuy nhiên, hãy nhớ rằng chi phí chỉ được tránh đối với trình thông dịch Perl đầu tiên được sử dụng bởi phiên cơ sở dữ liệu - PL/Perlu hoặc soi kèo bóng đá truoctran cho vai trò SQL đầu tiên gọi hàm soi kèo bóng đá truoctran.plperl.on_initAfresh. Ngoài ra, trên Windows sẽ không có tiết kiệm nào từ việc tải trước, vì trình thông dịch soi kèo bóng đá truoctran được tạo trong quy trình PostMaster không tuyên truyền sang các quy trình con.

Tham số này chỉ có thể được đặt trongsoi kèo bóng đá truoctranconfTệp hoặc trên dòng lệnh máy chủ.

plperl.on_plperl_init(chuỗi)
plperl.on_plperlu_init(chuỗi)

Các tham số này chỉ định mã soi kèo bóng đá truoctran sẽ được thực thi khi trình thông dịch soi kèo bóng đá truoctran được chuyên vềplperlhoặcPlperlutương ứng. Điều này sẽ xảy ra khi hàm soi kèo bóng đá truoctran hoặc PL/Perlu được thực thi lần đầu tiên trong phiên cơ sở dữ liệu hoặc khi một trình thông dịch bổ sung phải được tạo vì ngôn ngữ khác được gọi hoặc hàm soi kèo bóng đá truoctran được gọi bởi vai trò SQL mới.plperl.on_init. Các chức năng SPI không có sẵn khi mã này được thực thi.plperl.on_plperl_initđược thực thi sau"Khóa xuống"Thông dịch viên và do đó nó chỉ có thể thực hiện các hoạt động đáng tin cậy.

Nếu mã không bị lỗi, nó sẽ hủy bỏ việc khởi tạo và truyền ra truy vấn gọi, khiến giao dịch hiện tại hoặc trừ đi bị hủy bỏ. Bất kỳ hành động nào đã được thực hiện trong soi kèo bóng đá truoctran sẽ không hoàn tác;

Chỉ các siêu người dùng mới có thể thay đổi các cài đặt này. Mặc dù các cài đặt này có thể được thay đổi trong một phiên, những thay đổi đó sẽ không ảnh hưởng đến các phiên dịch viên soi kèo bóng đá truoctran đã được sử dụng để thực thi các chức năng.

plperl.use_strict(Boolean)

Khi đặt các phần tổng hợp tiếp theo của các hàm soi kèo bóng đá truoctran sẽ cónghiêm ngặtPragma được bật. Tham số này không ảnh hưởng đến các chức năng đã được biên dịch trong phiên hiện tại.

43.8.2. Hạn chế và các tính năng bị thiếu

Các tính năng sau đây hiện đang bị thiếu trong soi kèo bóng đá truoctran, nhưng họ sẽ đóng góp đáng hoan nghênh.

  • Hàm soi kèo bóng đá truoctran không thể gọi trực tiếp với nhau.

  • SPI chưa được thực hiện đầy đủ.

  • Nếu bạn đang tìm nạp các bộ dữ liệu rất lớn bằng cách sử dụngspi_exec_query, bạn nên lưu ý rằng tất cả những điều này sẽ đi vào bộ nhớ. Bạn có thể tránh điều này bằng cách sử dụngspi_query/spi_fetchrowNhư đã minh họa trước đó.

    Một vấn đề tương tự xảy ra nếu hàm quay lại đã chuyển một tập hợp lớn các hàng trở lại soi kèo bóng đá truoctran quareturn. Bạn cũng có thể tránh được vấn đề này bằng cách sử dụngreturn_nextĐối với mỗi hàng được trả về, như được hiển thị trước đó.

  • Khi phiên kết thúc bình thường, không phải do lỗi gây tử vong, bất kỳkết thúcCác khối đã được xác định được thực thi. Hiện tại không có hành động nào khác được thực hiện.