Tạo cách đọc kèo bóng đátypename(input =input_function, output =output_function, InternalLight =InternalLights| Biến [, ExternalLight =EXTERNALLETY| Biến] [, Mặc định =mặc định] [, Phần tử =Element] [, Delimiter =Delimiter] [, Send =send_function] [, nhận =nhận_function] [, PassedByValue] [, Căn chỉnh =Căn chỉnh] [, Lưu trữ =lưu trữ] )
Tên của một cách đọc kèo bóng đá sẽ được tạo.
Một giá trị theo nghĩa đen, chỉ định độ dài bên trong thuộc cách đọc kèo bóng đá mới.
Một giá trị theo nghĩa đen, chỉ định bên ngoài (Hiển thị) Độ dài của cách đọc kèo bóng đá mới.
Tên của một hàm, được cách đọc kèo bóng đá bởicách đọc kèo bóng đá chức năng, chuyển đổi dữ liệu từ Biểu mẫu bên ngoài của nó sang dạng nội bộ của cách đọc kèo bóng đá.
Tên của một hàm, được cách đọc kèo bóng đá bởicách đọc kèo bóng đá chức năng, chuyển đổi dữ liệu từ Mẫu nội bộ của nó thành một biểu mẫu phù hợp để hiển thị.
cách đọc kèo bóng đá được tạo là một mảng; Điều này chỉ định cách đọc kèo bóng đá của các phần tử mảng.
ký tự phân cách được sử dụng giữa các giá trị trong mảng được làm từ cách đọc kèo bóng đá này.
Giá trị mặc định cho kiểu dữ liệu. Thường thì đây là bị bỏ qua, để mặc định là null.
Tên của một hàm, được cách đọc kèo bóng đá bởicách đọc kèo bóng đá chức năng, chuyển đổi dữ liệu của cách đọc kèo bóng đá này thành một hình thức phù hợp để truyền đến máy khác.
Tên của một hàm, được cách đọc kèo bóng đá bởicách đọc kèo bóng đá chức năng, chuyển đổi dữ liệu của cách đọc kèo bóng đá này từ một hình thức phù hợp để truyền từ một máy khác sang dạng nội bộ.
Yêu cầu căn chỉnh lưu trữ của kiểu dữ liệu. Nếu như được chỉ định, phải làchar, INT2, INT4hoặcDouble; Mặc định làINT4.
Kỹ thuật lưu trữ cho kiểu dữ liệu. Nếu được chỉ định, Phải làtrơn, bên ngoài, mở rộnghoặcchính; Mặc định làtrơn.
Tạo cách đọc kèo bóng đáCho phép người dùng đăng ký Một kiểu dữ liệu người dùng mới với postgresql để sử dụng trong dữ liệu hiện tại căn cứ. Người dùng xác định một cách đọc kèo bóng đá trở thành chủ sở hữu của nó.typenamelà tên của cách đọc kèo bóng đá mới và Phải là duy nhất trong các cách đọc kèo bóng đá được xác định cho cơ sở dữ liệu này.
Tạo cách đọc kèo bóng đá15717_15874input_function, chuyển đổi Đại diện bên ngoài của cách đọc kèo bóng đá cho một đại diện nội bộ Có thể sử dụng bởi các toán tử và các chức năng được xác định cho cách đọc kèo bóng đá. Đương nhiên,output_functionThực hiện chuyển đổi ngược. Hàm đầu vào có thể là được tuyên bố là lấy một đối số của cách đọc kèo bóng đáOpaquehoặc khi thực hiện ba đối số của các cách đọc kèo bóng đáOpaque, OID, INT4. (Đối số đầu tiên là văn bản đầu vào Là chuỗi C, đối số thứ hai là cách đọc kèo bóng đá phần tử trong trường hợp Đây là cách đọc kèo bóng đá mảng và cách đọc kèo bóng đá thứ ba là kiểu chữ của cột đích, nếu được biết.) Hàm đầu ra có thể là được tuyên bố là lấy một đối số của cách đọc kèo bóng đáOpaquehoặc khi thực hiện hai đối số của các cách đọc kèo bóng đáOpaque, oid. (The Đối số đầu tiên thực sự thuộc cách đọc kèo bóng đá dữ liệu, nhưng kể từ Hàm đầu ra phải được khai báo trước, việc khai báo nó dễ dàng hơn dưới dạng chấp nhận cách đọc kèo bóng đáOpaque. Thứ hai Đối số lại là cách đọc kèo bóng đá phần tử mảng cho các cách đọc kèo bóng đá mảng.)
Các cách đọc kèo bóng đá dữ liệu cơ sở mới có thể được cố định, trong trường hợp đóInternalLightslà một tích cực
Số nguyên hoặc độ dài biến, được biểu thị bằng cách đọc kèo bóng đá cài đặtInternalLightsđếnbiến
. (Bên trong, điều này được đại diện bởi
Đặt Typlen thành -1.) Đại diện nội bộ của tất cả
Các cách đọc kèo bóng đá có độ dài thay đổi phải bắt đầu với một số nguyên cho tổng số
Độ dài của giá trị này của cách đọc kèo bóng đá.
Độ dài biểu diễn bên ngoài được chỉ định tương tự
Sử dụngEXTERNALLENTTừ khóa.
(Giá trị này hiện không được sử dụng và thường bị bỏ qua,
Cho phép nó mặc định làbiến
.)
Để chỉ ra rằng một cách đọc kèo bóng đá là một mảng, chỉ định cách đọc kèo bóng đá của
các phần tử mảng bằng cách sử dụngElement
Từ khóa. Ví dụ: để xác định một loạt các số nguyên 4 byte
("int4"), chỉ định
Element = int4
Thông tin chi tiết về các cách đọc kèo bóng đá mảng xuất hiện bên dưới.
để chỉ ra dấu phân cách được sử dụng giữa các giá trị trong Biểu diễn bên ngoài của các mảng thuộc cách đọc kèo bóng đá này,18257_18268có thể được đặt thành một cụ thể tính cách đọc kèo bóng đá. DELIMITER mặc định là dấu phẩy (','). Lưu ý rằng dấu phân cách được liên kết với cách đọc kèo bóng đá phần tử mảng, không phải cách đọc kèo bóng đá mảng.
Giá trị mặc định có thể được chỉ định, trong trường hợp người dùng muốn các cột
của kiểu dữ liệu mặc định là một cái gì đó khác ngoài NULL. Chỉ định
mặc định vớiMặc định
Từ khóa.
(Một mặc định như vậy có thể được ghi đè bởi một rõ ràngmặc định
mệnh đề được gắn vào một cụ thể
Cột.)
Các đối số tùy chọnSend_Functionvà18934_18952hiện không được sử dụng, và thường bị bỏ qua (cho phép chúng mặc định làoutput_functionvàinput_functiontương ứng). Những cái này Các chức năng một ngày nào đó có thể được hồi sinh để sử dụng để chỉ định biểu diễn nhị phân phụ thuộc vào máy.
Cờ tùy chọn,passedByValue
,,
chỉ ra rằng các giá trị của kiểu dữ liệu này được truyền theo giá trị
hơn là bằng cách tham khảo. Lưu ý rằng bạn không được vượt qua giá trị
Các cách đọc kèo bóng đá có biểu diễn nội bộ dài hơn chiều rộng của
TheDatumcách đọc kèo bóng đá (bốn byte trên hầu hết
máy, tám byte trên một vài).
TheCăn chỉnhTừ khóa Chỉ định căn chỉnh lưu trữ cần thiết cho kiểu dữ liệu. Các Các giá trị được phép tương đương với căn chỉnh trên byte 1, 2, 4 hoặc 8 ranh giới. Lưu ý rằng các cách đọc kèo bóng đá có độ dài biến phải có liên kết ít nhất 4, vì chúng nhất thiết phải chứaINT4Là thành phần đầu tiên của họ.
Thelưu trữ20046_20137trơnđược phép cho độ dài cố định các cách đọc kèo bóng đá).trơnVô số bánh mì nướng cho Kiểu dữ liệu: Nó sẽ luôn được lưu trữ nội tuyến và không được nén.mở rộngcung cấp khả năng bánh mì nướng đầy đủ: hệ thống trước tiên sẽ cố gắng nén một giá trị dữ liệu dài và sẽ Di chuyển giá trị ra khỏi hàng bảng chính nếu nó vẫn còn quá dài.bên ngoàiCho phép giá trị được di chuyển ra khỏi bảng chính, nhưng hệ thống sẽ không cố gắng nén Nó.chính20689_20958mở rộngvàbên ngoàiMục.)
Bất cứ khi nào một cách đọc kèo bóng đá dữ liệu do người dùng xác định,PostgreSQLTự động tạo một cách đọc kèo bóng đá mảng liên quan, có tên bao gồm cách đọc kèo bóng đá cơ sở Tên được chuẩn bị với một dấu gạch dưới. Trình phân tích cú pháp hiểu điều này Đặt tên quy ước và dịch các yêu cầu cho các cột cách đọc kèo bóng đáfoo []vào các yêu cầu cho cách đọc kèo bóng đá_foo21558_21672mảng_invàArray_out.
Bạn có thể hỏi một cách đọc kèo bóng đá hợp lý"Tại sao lại có
MỘTElement
tùy chọn, nếu hệ thống
tự động thực hiện cách đọc kèo bóng đá mảng chính xác? "duy nhất
trường hợp sử dụng nó hữu íchElement
là khi bạn đang thực hiện một chiều dài cố định
cách đọc kèo bóng đá tình cờ là một mảng n giống hệt nhau
Những điều, và bạn muốn cho phép các thứ N được truy cập
trực tiếp bằng cách đăng ký, ngoài bất kỳ hoạt động nào
Bạn có kế hoạch cung cấp cho toàn bộ cách đọc kèo bóng đá. Ví dụ: gõtêncho phép cấu thành của nóChars được truy cập theo cách đọc kèo bóng đá này. A 2-Dđiểmcách đọc kèo bóng đá có thể cho phép hai phao thành phần của nó
được truy cập nhưĐiểm [0]vàđiểm [1]. Lưu ý rằng cơ sở này chỉ
hoạt động cho các cách đọc kèo bóng đá có độ dài cố định có dạng nội bộ chính xác là
Trình tự của n các trường giống hệt nhau. Một độ dài biến có thể đăng ký
cách đọc kèo bóng đá phải có biểu diễn nội bộ tổng quát được sử dụng bởimảng_invàArray_out. Vì lý do lịch sử (tức là, đây là
Rõ ràng là sai nhưng đã quá muộn để thay đổi nó), đăng ký
các cách đọc kèo bóng đá mảng có độ dài cố định bắt đầu từ số 0, thay vì từ
một như cho các mảng có độ dài thay đổi.
Tên cách đọc kèo bóng đá do người dùng xác định không thể bắt đầu bằng dấu gạch dưới tính cách ("_") và chỉ có thể dài 30 ký tự (hoặc Nói chungĐược đặt tên, thay vì TheĐược đặt tên là-1Các ký tự cho phép tên khác). Tên tên bắt đầu bằng dấu gạch dưới được bảo lưu cho tên cách đọc kèo bóng đá mảng được tạo bên trong.
Ví dụ này cách đọc kèo bóng đá raBox23834_23894
Tạo hộp cách đọc kèo bóng đá (Internallym = 16, Input = my_procedure_1, output = my_procedure_2); Tạo bảng myboxes (ID int4, hộp mô tả);
nếuBoxcấu trúc nội bộ của mảng bốnfloat4S, thay vào đó chúng ta có thể nói
Tạo hộp cách đọc kèo bóng đá (Internallym = 16, Input = my_procedure_1, output = my_procedure_2, Element = float4);
sẽ cho phép thành phần của giá trị hộp nổi Truy cập bằng cách đăng ký. Nếu không thì cách đọc kèo bóng đá hành xử giống như trước.
Ví dụ này tạo ra một cách đọc kèo bóng đá đối tượng lớn và sử dụng nó trong a Định nghĩa bảng:
Tạo cách đọc kèo bóng đá bigobj (input = lo_filein, output = lo_fileOut, InternalLights = biến); Tạo bảng BIG_OBJS (ID INT4, OBJ BIGOBJ);
thisTạo cách đọc kèo bóng đálệnh là mộtPostgreSQLPhần mở rộng. Có mộtTạo cách đọc kèo bóng đáCâu lệnh trong SQL99 đó là khá khác nhau về chi tiết.