Provided by:
manpages-tr_1.0.5.1-2_all 
ISIM
CREATE OPERATOR - yeni bir islec tanimlar
KULLANIM
CREATE OPERATOR isim (
PROCEDURE = i,slev_ismi
[, LEFTARG = soltaraf_t"ur"u ] [, RIGHTARG = sagtaraf_t"ur"u ]
[, COMMUTATOR = e,sittir_i,sleci ] [, NEGATOR = degil_i,sleci ]
[, RESTRICT = sinirlama_i,slevi ] [, JOIN = katilim_i,slevi ]
[, HASHES ] [, MERGES ]
[, SORT1 = sol_siralama_i,sleci ] [, SORT2 = sag_siralama_i,sleci ]
[, LTCMP = k"u,c"ukt"ur_i,sleci ] [, GTCMP = b"uy"ukt"ur_i,sleci ]
)
A,CIKLAMA
CREATE OPERATOR isim adinda yeni bir islec tanimlar. Islecin sahibi
komutu calistiran kullanici olacaktir. Eger bir sema ismi
belirtilmisse, islec belirtilen semada olusturulur. Aksi takdirde o an
gecerli olan semada olusturulur.
Islecin ismi en fazla NAMEDATALEN-1 (ontanimli 63) karakter icerebilir
ve sadece su karakterlere izin verilir:
+ - * / < > = ~ ! @ # % ^ & | ` ?
Isim secimi ile ilgili bir kac sinirlama daha vardir:
. -- ve /* dizgeleri aciklama baslangicini gosterdiginden, islec
isminde bulunamazlar.
. Asagidaki karakterlerden en az birini icermedikce, bir cok
karakterli islec ismi + veya - ile bitemez.
~ ! @ # % ^ & | ` ?
Ornegin, @- bir islec ismi olabilirken, *- bir islec ismi
olamaz. Bu sinirlama sayesinde, islec ve terimler arasinda
bosluk birakilmasa bile PostgreSQL, SQL uyumlu komutlari
cozumleyebilir.
!= isleci girdide, <> isleci olarak ele alinir, dolayisiyla bu iki isim
daima esdegerdir.
En azindan LEFTARG ve RIGHTARG'dan biri tanimlanmalidir. Iki
terimliler icin her ikisi de tanimlanmalidir. Artcil tekterimlilerde
sadece LEFTARG, oncul tekterimlilerde sadece RIGHTARG tanimlanmalidir.
i,slev_ismi islevi CREATE FUNCTION kullanilarak evvelce turleri
belirtilerek dogru sayida argumanla (bir ya da iki) tanimlanmis
olmalidir.
Diger deyimler istege bagli islec eniyileme deyimleridir.
http://www.postgresql.org/uygulamalar/pgsql/xoper-optimization.html
adresinde bunlarin anlamlari ayrintili olarak anlatilmistir.
PARAMETRELER
isim Tanimlanacak islecin ismi. Izin verilen karakterler yukarida
aciklanmisti. Isim, CREATE OPERATOR myschema.+ (...) orneginde
oldugu gibi sema nitelemeli olabilir. Degilse, islec o anki
semada olulusturulur. Ayni sema icinde, farkli veri turleri ile
islem yapan iki islecin ismi ayni olabilir.
i,slev_ismi
Bu isleci gerceklemede kullanilan islev.
soltaraf_t"ur"u
Islecin sol tarafindaki terimin veri turu. Bu secenek oncul
tekterimlilerde atlanir.
sagtaraf_t"ur"u
Islecin sag tarafindaki terimin veri turu. Bu secenek artcil
tekterimlilerde atlanir.
"onde,c_i,sle,c
Bu islecin ondeci.
degil_i,sleci
Bu islecin olumsuzlayicisi.
sinirlama_i,slevi
Bu islec icin sinirlama secici islev.
katilim_i,slevi
Bu islec icin katilim secici islev.
HASHES Bu islecin bir cirpilamali katilimi destekledigini belirtir.
MERGES Bu islecin katistirmali katilimi destekledigini belirtir.
sol_siralama_i,sleci
Bu islec katilimi destekliyorsa, kucuktur isleci bu islecin sol
taraf veri turunu siralar.
sag_siralama_i,sleci
Bu islec katilimi destekliyorsa, kucuktur isleci bu islecin sag
taraf veri turunu siralar.
k"u,c"ukt"ur_i,sleci
Bu islec katilimi destekliyorsa, kucuktur isleci bu islecin
girdi veri turlerini karsilastirir.
b"uy"ukt"ur_i,sleci
Bu islec katilimi destekliyorsa, buyuktur isleci bu islecin
girdi veri turlerini karsilastirir.
Istege bagli baska bir arguman ya da e,sittir_i,sleci'inde bir sema
nitelemeli isim belirtmek icin OPERATOR() sozdizimini kullanin. Ornek:
COMMUTATOR = OPERATOR(myschema.===) ,
EK BILGI
Daha fazla bilgi icin:
http://www.postgresql.org/uygulamalar/pgsql/xoper.html
Bir veritabanindaki kullanici tanimli islecleri silmek icin DROP
OPERATOR [drop_operator(7)] kullanilir. Bir veritabanindaki isleclerde
degisiklik yapmak icin ALTER OPERATOR [alter_operator(7)] kullanilir.
"ORNEKLER
Asagidaki ornekte, box veri turu icin alan esitligi ile ilgili yeni bir
islec tanimlanmaktadir.
CREATE OPERATOR === (
LEFTARG = box,
RIGHTARG = box,
PROCEDURE = area_equal_procedure,
COMMUTATOR = ===,
NEGATOR = !==,
RESTRICT = area_restriction_procedure,
JOIN = area_join_procedure,
HASHES,
SORT1 = <<<,
SORT2 = <<<
-- Siralama islecleri verildiginden, MERGES uygulanir.
-- LTCMP icin < ve GTCMP icin > varsayilmistir.
);
UYUMLULUK
CREATE OPERATOR bir PostgreSQL olusumudur. SQL standardinda kullanici
tanimli islecler icin bir bahis yoktur.
ILGILI BELGELER
ALTER OPERATOR [alter_operator(7)],
CREATE OPERATOR CLASS [create_operator_class(7)],
DROP OPERATOR [drop_operator(7)].
,CEVIREN
Nilgun Belma Buguner <nilgun (at) belgeler.gen.tr>, Nisan 2005