|
![]() | Kompatibilita verze 8.0 s p°edchozφmi verzemi | ![]() | Novinky ve verzi 8.0 |
Na tΘto strßnce jsou uvedeny p°φpady, kdy zm∞ny ve verzi 8.0 mohou vy₧adovat zßsah do aplikacφ vyvinut²ch pro starÜφ verze. ZnaΦkou EXT jsou oznaΦena tΘmata t²kajφcφ se pouze programovßnφ ve vn∞jÜφch jazycφch (C/C++, Pascal/Delphi/Kylix).
Typy tobjnum (Φφslo objektu), ttablenum (Φφslo tabulky) a tcursnum (Φφslo otev°enΘho kurzoru) jsou ve verzi 8.0 Φty°bajtovΘ, zatφmco v d°φv∞jÜφch verzφch byly dvoubajtovΘ. Parametry t∞chto typ∙ se vyskytujφ v API funkcφch jako Read, Find_object, Open_cursor_direct.
Pokud programßtor pou₧φvß v aplikaci v²Üe uvedenΘ typy, pak aplikace bude fungovat sprßvn∞ beze zm∞n, po pouhΘm p°ekompilovßnφ. Pokud vÜak byly pro ulo₧enφ t∞chto ·daj∙ pou₧ity prom∞nnΘ jin²ch dvoubajtov²ch typ∙ - nap°φklad Short, SmallInt a podobn∞ - pak je nutno aplikaci upravit. Logicky korektnφ nenφ p°echod na Φty°bajtovΘ celoΦφselnΘ typy, n²br₧ pou₧itφ n∞kterΘho z typ∙ ttablenum, tobjnum nebo tcursnum.
╚φslo otev°enΘho kurzoru v binßrnφm zßpisu vypadß v₧dy takto:
1111 1111 1111 1111 10bb bbbb bbbb bbbbkde b je 0 nebo 1. Pro jeho rozpoznßnφ lze v jazyce C/C++ pou₧φt makro IS_CURSOR_NUM. Je-li Φφslo kurzoru interpretovßno jako Φφslo se znamΘnkem, pak mß stejn² rozsah hodnot jako v p°edchozφch verzφch. Pro rozpoznßnφ v klientskΘm jazyce slou₧φ postup uveden² u popisu funkce Get_fcursor.
Typy CSString a CSIString zanikajφ, pro vÜechny znakovΘ °et∞zce p°edem urΦenΘ dΘlky slou₧φ typ String.
Funkce cd_Enum_attributes a cd_Attribute_info sice nadßle existujφ, ale podrobn∞jÜφ informace o sloupcφch poskytujφ funkce cd_Enum_attributes_ex a cd_Attribute_info_ex. Detailnφ dopl≥ujφcφ ·daje k typu sloupce poskytuje struktura t_specif.
V∞tÜina API funkcφ 602SQL byla dosud k dispozici ve dvou verzφch - s prvnφm parametrem cdp typu cdp_t a bez n∞j. Funkce bez parametru cdp jsou mΘn∞ efektivnφ a omezen∞ji pou₧itelnΘ, proto je lepÜφ dßvat p°ednost funkcφm s tφmto parametrem.
Pokud programßtor chce i nadßle pou₧φvat funkce bez parametru cdp, musφ je v hlaviΦkov²ch souborech pro C/C++ zp°φstupnit definovßnφm symbolu NON_CD_FUNCTIONS. P°ed °ßdku:
#include "wbkernel.h"je v takovΘm p°φpad∞ t°eba vlo₧it °ßdku:
#define NON_CD_FUNCTIONS
Jazyk SQL umo₧≥uje definovat handlery pro oÜet°enφ chybov²ch situacφ. Ve starÜφch verzφ 602SQL se nekontrolovalo, zda chyba v∙bec p°ipouÜtφ oÜet°enφ handlerem, a bylo mo₧no definovat handler i pro ty chyby, kterΘ z podstaty v∞ci takto °eÜit nelze, nap°φklad nedostatek mφsta na disku. Od verze 8.0 se p°i deklaraci handleru kontroluje p°φpustnost oÜet°enφ chyby.
Ve verzφch starÜφch ne₧ 8.0 SQL server mohl nekorektnφm zp∙sobem pou₧φt index pro optimalizaci dotazu. D∞lo se tak ve dvou p°φpadech: v podmφnce na prefix znakovΘho °et∞zce t°φd∞nΘho podle nßrodnφch pravidel a p°i hledßnφ zßznam∙ s indexov²m klφΦem NULL pomocφ indexu neobsahujφcφho hodnoty NULL.
Tyto nekorektnosti jsou ji₧ odstran∞ny. P°i p°evzetφ aplikace z verze starÜφ ne₧ 8.0 se m∙₧e zpomalit vyhodnocenφ n∞kter²ch dotaz∙. V takovΘm p°φpad∞ je t°eba doplnit indexy nebo upravit jejich definici. Detaily jsou na strßnkßch o pou₧itφ prefix∙ a index∙ bez hodnot NULL.
Aplikace pro verzi 8.0 musφ respektovat tyto odliÜnosti:
V aplikaci _sysext je do rolφ Author a Administrator obsazena skupina provoznφch sprßvc∙.
SystΘmovΘ triggery (krom∞ _on_login_change) se provßd∞jφ s prßvy provoznφho sprßvce.
OznaΦenφ ulo₧en²ch procedur pro provßd∞nφ v administrßtorskΘm re₧imu pomocφ funkce Admin_mode je persistentnφ - zachovßvß se p°i vypnutφ serveru nebo p°i exportu a importu aplikace. Proto na rozdφl od verze 7 nenφ t°eba volat funkci Admin_mode v procedu°e _on_server_start, a ani to obvykle nenφ mo₧nΘ, proto₧e skupina provoznφch sprßvc∙ neb²vß obsazena do rolφ Author.
P°ibyla novß polo₧ka ve struktu°e t_clivar, kterß se pou₧φvß k p°edßvßnφ hodnot prom∞nn²ch z jazyka C/C++ nebo Pascal do SQL.
![]() | Kompatibilita verze 8.0 s p°edchozφmi verzemi | ![]() | Novinky ve verzi 8.0 |