|
<< İç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 |
| Üye | Notlar |
|---|---|
Stream() | kurucu; bellek akışı |
ReadRaw(out data, len = -1) returns integer | ham okuma |
ReadString(maxlen = 4096) returns string | bulunduğu yerden en çok maxlen bayt okur; akış bittiyse NULL |
ReadLine(maxlen = 4096) returns string | satı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.
Tamponlu çıktı için yol Stream ile
Console.SetOutStream / Application.SetOutStream birleşimidir.
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.
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.
| Üye | Ne 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, TestOperatorWithError | Operatörler için |
WriteLn([msg]) | Çıktıya satır yazar |
StartTest(modül) / EndTest(modül) | Başlık ve PASS/FAIL özeti |
| Tip | Üyeler / durum |
|---|---|
ARRAY | LENGTH(), ADD(value) |
EXCEPTION | name, code, state, message, getStackTrace(); kurucusu uygulanmamış |
XMLTYPE, JSONTYPE | SERIALIZABLE'dan türer; kurucuları çalışır. serialize/deserialize soyuttur, hiçbir şey uygulamaz. |
DIRECTORY | GetPath() bildirilmiş ama bağlanmamış |
RECORD | COUNT, SET, GET, ADD_FIELD: dördü de bağlanmamış |
CREDENTIAL | Yalnızca sabitler (CredType, SubType, Identity, Password) ve özel kurucu; türler OS, DBLINK, EMAIL, HTTP, FTP, IPTEL, CUSTOM |
TABLE, OBJECT | Örneklenemez; üyesi yok / özel |
Model | kurucusu uygulanmamış |
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.