9.2 SQL'den örneklenebilen nesne tipleri

<< İçindekileri Görüntülemek İçin Tıklayın >>

Yer:  Teknik Kılavuzlar > IVEDI SQL Kullanıcı Kılavuzu > 9. Yerleşik kütüphane >

9.2 SQL'den örneklenebilen nesne tipleri

9.2.1 Stream

ÜyeNotlar
Stream()kurucu; bellek akışı
ReadRaw(out data, len = -1) returns integerham okuma
ReadString(maxlen = 4096) returns stringbulunduğu yerden en çok maxlen bayt okur; akış bittiyse NULL
ReadLine(maxlen = 4096) returns stringsatır sonuna kadar okur, satır sonu (CRLF dahil) atılır; maxlen'i aşan satır kırpılır ama akış satır sonundan sonraya konumlanır; akış bittiyse NULL
WriteRaw(data, len = -1), WriteString(params), WriteLine(params)yazılan bayt sayısını döndürür
PrintF(format, params){0} yer tutucuları
SetPosition(newPos, origin = soBegin), GetPosition(), GetSize()SeekOrigin (soBegin, soCurrent, soEnd)
SetCharSet(encoding), GetCharSet()akışın karakter kümesi (öndeğer uygulamanınki); okuma (ReadString, ReadLine) akışın kümesinden, yazma (WriteString, WriteLine) akışın kümesine çevrilir. Örneğin Windows-1254 bir dosya SetCharSet('WIN1254') ile Türkçe karakterleriyle okunur. UTF-8 akışta maxlen sınırı çok baytlı bir karakteri bölmez. Kabul edilen adlar için bkz. Oturum ayarları
Truncate(), Flush(), Close(), IsOpen(), CopyFrom(stream, len = -1)

Türevleri: FileSystem.FileStream (dosya) ve BlobStream(blob, mode) (OpenMode (omRead, omWrite)). BlobStream blob'un taşıdığı akışın kendisini açar, kopyalamaz: yazılan blob'a yansır; omRead başa sarar, omWrite içeriği boşaltır. NULL blob boş bir bellek akışı açar.

Not

Tamponlu çıktı için yol Stream ile Console.SetOutStream / Application.SetOutStream birleşimidir.

9.2.2 TypeInfo — tip yansıması

TypeInfo(<değer veya type of <nesne>>)
  .GetTypeId()  .GetTypeName()  .GetFullTypeName()  .GetParent()

Bir variant parametresine sarılarak bir değerin çalışma zamanı tipini öğrenmenin yolu budur.

9.2.3 UnitTest — test doğrulama tipi

Test süitinin kendi doğrulama tipi; saf PSQL'dir. Bir bloğun içinde test UnitTest = UnitTest(); ile örneklenir, dosya test.StartTest('…') / test.EndTest('…') ile çerçevelenir.

ÜyeNe yapar
CheckValue(callInfo, actual, expected)Elde olan bir değeri karşılaştırır; NULL-güvenli
Pass(callInfo [, actual, expected]) / Fail(…)Elle geçti/kaldı kaydı
TestStatement(sqlText) / TestStatementWithError(exc, sqlText)Bir deyimin çalıştığını / belirli bir istisnayla düştüğünü doğrular (EXECUTE STATEMENT; DDL de olur)
TestProcedure(…) / TestProcedureWithError(…)Bir çağrı için aynısı (EXECUTE EMBEDDED)
TestFunction(expected, funcName, params)Fonksiyon sonucunu karşılaştırır
TestOperator, TestPredOperator, TestPostOperator, TestOperator2, TestOperatorWithErrorOperatörler için
WriteLn([msg])Çıktıya satır yazar
StartTest(modül) / EndTest(modül)Başlık ve PASS/FAIL özeti

9.2.4 Öteki yerleşik tipler

TipÜyeler / durum
ARRAYLENGTH(), ADD(value)
EXCEPTIONname, code, state, message, getStackTrace(); kurucusu uygulanmamış
XMLTYPE, JSONTYPESERIALIZABLE'dan türer; kurucuları çalışır. serialize/deserialize soyuttur, hiçbir şey uygulamaz.
DIRECTORYGetPath() bildirilmiş ama bağlanmamış
RECORDCOUNT, SET, GET, ADD_FIELD: dördü de bağlanmamış
CREDENTIALYalnızca sabitler (CredType, SubType, Identity, Password) ve özel kurucu; türler OS, DBLINK, EMAIL, HTTP, FTP, IPTEL, CUSTOM
TABLE, OBJECTÖrneklenemez; üyesi yok / özel
Modelkurucusu uygulanmamış
Sınır

SESSION ve TRANSACTION nesne tipleri kaynakta vardır ama derlemeye hiç dahil edilmez; yani session.user ya da session.statement_timeout gibi bir yüzey yoktur.