Provided by:
manpages-tr_1.0.5.1-1.1_all 
İSİM
CREATE OPERATOR CLASS - yeni bir işleç sınıfı tanımlar
KULLANIM
CREATE OPERATOR CLASS isim [ DEFAULT ] FOR TYPE veri_türü
USING indeksleme_yöntemi
AS { OPERATOR strateji_numarası
işleç_ismi [ ( işleç_türü, işleç_türü ) ]
[ RECHECK ]
| FUNCTION destek_numarası işlev_ismi ( arg_türü [, ...] )
| STORAGE saklama_türü
} [, ... ]
AÇIKLAMA
CREATE OPERATOR CLASS yeni bir işleç sınıfı oluşturur. Bir işleç sınıfı
belli bir veri türünün bir indeks ile nasıl kullanılabileceğini
tanımlar. İşleç sınıfı bu veri türü ya da indeksleme yöntemi için bazı
roller alacak veya stratejileri üstlenecek işleçleri belirler. Ayrıca,
işleç sınıfı bir indeks sütunu için seçildiğinde indeksleme yöntemi
tarafından kullanılacak destek yordamlarını da belirtir. Bir işleç
sınıfı tarafından kullanılacak bütün işleçler ve işlevler işleç sınıfı
oluşturulmadan önce tanımlanmalıdır.
Bir şema ismi verilmişse, işleç sınıfı belirtilen şemada oluşturulur.
Aksi takdirde o anki şemada oluşturulur. Aynı şema içinde iki işleç
sınıfı, sadece farklı indeksleme yöntemleri içinseler aynı isimde
olabilirler.
İşleç sınıfını tanımlayan kullanıcı işleç sınıfının sahibi olur.
Şimdilik, bu kullanıcı ayrıcalıklı kullanıcı olmak zorundadır. (Bir
hatalı işleç sınıfı tanımının karışıklığa yol açması ve hatta sunucunun
çökmesine sebep olması nedeniyle bu kısıtlama konmuştur.)
CREATE OPERATOR CLASS şimdilik işleç sınıfı tanımının içerdiği tüm
işleçlerin ve işlevlerin indeksleme yöntemi için gerekli olup
olmadığına bakmamaktadır. Geçerli bir işleç sınıfı tanımlamak
kullanıcının sorumluluğundadır.
Daha fazla bilgi için,
http://www.postgresql.org/uygulamalar/pgsql/xindex.html adresine
bakınız.
PARAMETRELER
isim Oluşturulacak işleç sınıfının ismi (şema nitelemeli olabilir).
DEFAULT
Belirtilmişse, işleç sınıfı kendi veri türü için öntanımlı hale
gelir. Bir veri türü ve indeksleme yöntemi için en fazla bir
işleç sınıfı öntanımlı olabilir.
veri_türü
İşleç sınıfının kullanılacağı sütunun veri türü.
indeksleme_yöntemi
İşleç sınıfının kullanılacağı indeksleme yönteminin ismi.
strateji_numarası
İşleç sınıfı ile ilgili bir işleç için indeksleme yönteminin
strateji numarası
işleç_ismi
İşleç sınıfı ile ilgili bir işlecin ismi (şema nitelemeli
olabilir).
işleç_türü
Bir işlecin terim veri türü ya da türleri. İşleç tekterimli ise
bunu belirtmek için NONE. İşleç veri türü işleç sınıfının veri
türü ile aynıysa belirtilmeyebilir.
RECHECK
Belirtilmişse, bu işleç için indeks kaybolmuş demektir ve
dolayısıyla alınan satırlar, indeks kullanılarak doğrulamak için
ve dolaylı olarak aslında bu işlecin yeterlik deyimine
sokulmasını sağlamak için yeniden sınanmalıdır.
destek_numarası
İşleç sınıfı ile ilişkili bir işlev için indeksleme yönteminin
destek yordamı numarası.
iÅŸlev_ismi
İndeksleme yönteminin işleç sınıfı için destek yordamı olan
iÅŸlevin ismi (ÅŸema nitelemeli olabilir).
arg_türü
İşlev argümanlarının veri türleri.
saklama_türü
Aslında indekste saklanan verinin türü. Normalde, bu sütun veri
türü ile aynıdır, ama bazı indeksleme yöntemleri farklı bir tür
kullanımına izin verir (şimdilik sadece GiST). İndeksleme
yöntemi farklı bir türün kullanımına izin vermiyorsa, STORAGE
deyimi kullanılmamalıdır.
OPERATOR, FUNCTION ve STORAGE deyimleri herhangi bir sırada
belirtilebilir.
EK BİLGİ
İşleçler SQL işlevleri tarafından tanımlanmamalıdır. Bir SQL işlevi
çağrılan sorgu içinde satıriçi işlev gibidir ve eniyileyicinin bu
sorgunun bir indeksle eşleştiğini saptamasını engelleyecektir.
ÖRNEKLER
Aşağıdaki örnekte, _int4 (int4 dizisi) türü için bir GiST indeksi işleç
sınıfı tanımlanmaktadır. Tam bir örnek için contrib/intarray/ dizinine
bakınız.
CREATE OPERATOR CLASS gist__int_ops
DEFAULT FOR TYPE _int4 USING gist AS
OPERATOR 3 &&,
OPERATOR 6 = RECHECK,
OPERATOR 7 @,
OPERATOR 8 ~,
OPERATOR 20 @@ (_int4, query_int),
FUNCTION 1 g_int_consistent (internal, _int4, int4),
FUNCTION 2 g_int_union (bytea, internal),
FUNCTION 3 g_int_compress (internal),
FUNCTION 4 g_int_decompress (internal),
FUNCTION 5 g_int_penalty (internal, internal, internal),
FUNCTION 6 g_int_picksplit (internal, internal),
FUNCTION 7 g_int_same (_int4, _int4, internal);
UYUMLULUK
CREATE OPERATOR CLASS bir PostgreSQL oluşumudur. SQL standardında
CREATE OPERATOR CLASS diye bir deyim yoktur.
İLGİLİ BELGELER
ALTER OPERATOR CLASS [alter_operator_class(7)],
DROP OPERATOR CLASS [drop_operator_class(7)].
ÇEVİREN
Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Nisan 2005