tỷ lệ kèo bóng đá 9.1.24 Tài liệu | ||||
---|---|---|---|---|
prev | UP | Chương 35.SQL | NEXT |
như được mô tả trongPhần, tỷ lệ kèo bóng đácó thểSQLNgôn ngữ.
tỷ lệ kèo bóng đá ví dụ trong phần này có thể được tìm thấy trongComplex.sqlvàphức tạp.ctrongSRC/Hướng dẫnThư mục của nguồnreadmeTệp trong
Một tỷ lệ kèo bóng đá do người dùng xác định phải luôn có đầu vào và đầu ra
Giả sử chúng ta muốn xác định một tỷ lệ kèo bóng đáphức tạpđại diện cho tỷ lệ kèo bóng đá số phức. Một cách tự nhiên để đại diện cho một
Typedef Struct Complex
Datumgiá trị.
Là biểu diễn chuỗi bên ngoài của tỷ lệ kèo bóng đá, chúng tôi chọn một(x, y).
tỷ lệ kèo bóng đá chức năng đầu vào và đầu ra thường không khó để viết,
pg_function_info_v1 (Complex_in);
Hàm đầu ra có thể chỉ là:
pg_function_info_v1 (Complex_out);
Bạn nên cẩn thận để thực hiện tỷ lệ kèo bóng đá chức năng đầu vào và đầu ra
Tùy chọn, tỷ lệ kèo bóng đá do người dùng xác định có thể cung cấp đầu vào nhị phân vàphức tạp, chúng tôi sẽfloat8:
pg_function_info_v1 (Complex_Recv);
Một khi chúng tôi đã viết tỷ lệ kèo bóng đá hàm I/O và biên dịch chúng thànhphức tạptỷ lệ kèo bóng đá trong SQL. Đầu tiên chúng tôi khai báo nó là tỷ lệ kèo bóng đá shell:
Tạo tỷ lệ kèo bóng đá phức tạp;
Điều này đóng vai trò là người giữ chỗ cho phép chúng tôi tham khảo
Tạo chức năng Complex_in (cString)FileName'FileName'FileName'FileName'
Cuối cùng, chúng tôi có thể cung cấp định nghĩa đầy đủ về dữ liệu
Tạo tỷ lệ kèo bóng đá phức tạp (
Khi bạn xác định tỷ lệ kèo bóng đá cơ sở mới,tỷ lệ kèo bóng đáTự động cung cấp hỗ trợ_) Chuẩn bị.
Một khi tỷ lệ kèo bóng đá dữ liệu tồn tại, chúng ta có thể khai báo các chức năng bổ sung
Nếu tỷ lệ kèo bóng đá giá trị của kiểu dữ liệu của bạn khác nhau về kích thước (trong nội bộbánh mì nướng-able (xemPhần 55.2). Bạn nên làm điều này thậm chíbánh mì nướngcó thể
Để làm điều này, đại diện nội bộ phải tuân theoChar [4]trường không bao giờVL_LEN_). Bạn phải sử dụngset_varsize ()
Để lưu trữ kích thước của mốc thời gian trongvarsize ()
đếnpg_detoast_datum
. (Cái nàyGetArg_Datatype_P
Macros.) Sau đó,Tạo tỷ lệ kèo bóng đálệnh,biếnvà chọn tùy chọn lưu trữ thích hợp.
Nếu căn chỉnh là không quan trọng (chỉ là cho một cụ thểpg_detoast_datum
. Bạn có thể sử dụngpg_detoast_datum_packed
Thay vào đóGetArg_Datatype_pp
Macro) và sử dụng macroVarsize_any_exhdr
vàVardata_any
Để truy cập vào một người có khả năng đóng góipg_detoast_datum
giao diện.
Lưu ý:Mã cũ thường xuyên khai báoVL_LEN_như mộtINT32trường thay vìChar [4]. Điều này là ok vìINT32Căn chỉnh. Nhưng nó là
Để biết thêm chi tiết, hãy xem mô tả củaTạo tỷ lệ kèo bóng đálệnh.