====== Foreign Sync ====== Aktuálna verzia je **1.27** z 5.8.2014 ===== Zoznam zmien ===== FIXME ===== Obslužné funkcie ===== Obslužné funkcie a procedúry sú určené napr. pre prihlásenie a podobne. ==== FS_VERSION ==== * ''**FUNCTION FS_VERSION()**'' * ''RETURNS //VARCHAR(30)//'' Táto funkcia vráti aktualnu verziu FS databázy. SELECT FS_VERSION(); ---- ==== FS_RESULT ==== * ''**PROCEDURE FS_RESULT()**'' Táto procedúra generuje jednoriadkovú tabuľku podľa aktuálneho stavu poslednej chyby. \\ Ak nenastala žiadna chyba, potom stĺpec ``status`` bude obsahovať hodnotu ''**1**'' a stĺpec ``info`` bude obsahovať text ''**ok**''. \\ Ak nastala nejaká chyba, potom stĺpec ``status`` bude obsahovať hodnotu ''**0**'', stĺpec ``info`` bude obsahovať text ''**err**'' a stĺpec ``error`` bude obsahovať text chyby. Stĺpec ``data`` je určený ako dodatkový parameter pre niektoré procedúry, napr. procedúra ''fs_changelog_status()'' do tohoto stĺpca ukladá informáciu o tom, že či je nutné robiť aplikáciu synchronizačného logu alebo nie. :!: Ak je pri nejakej nižšie popísanej procedúre napísané, že výsledok procedúry je ''**SELECT //FS_RESULT//**'', potom môžete na výstupe očakávať práve takúto jednoriadkovú tabuľku, z ktorej sa dozviete, či bola procedúra úspešne ukončená a ak nebola, potom sa dozviete aj chybovú hlášku. Príklad: pokúsime sa prihlásiť pomocou chybného ``hash_idf``, ktoré nepatrí momentáne žiadnemu zariadeniu. mysql> call fs_select_device("ddf24"); +--------+-------+----------------------------------------------------+-------+ | status | info | error | data | +--------+-------+----------------------------------------------------+-------+ | 0 | error | Zadany hash nepatri ziadnemu aktivnemu zariadeniu! | NULL | +--------+-------+----------------------------------------------------+-------+ Príklad: teraz sa pokúsime sa prihlásiť pomocou funkčného ``hash_idf``. mysql> call fs_select_device("kwef7dv"); +--------+------+-------+-------+ | status | info | error | data | +--------+------+-------+-------+ | 1 | ok | NULL | NULL | +--------+------+-------+-------+ ---- ==== FS_ERROR ==== * **''FUNCTION FS_ERROR()''** * ''RETURNS //SMALLINT//'' Táto funkcia vráti hodnotu ''**1**'', ak nastala nejaká chyba, alebo ''**0**'', ak žiadna chyba nenastala. \\ Text chyby sa dá zistiť pomocou funkcie ''fs_last_error()''. SELECT FS_ERROR(); ---- ==== FS_LAST_ERROR ==== * ''**FUNCTION FS_LAST_ERROR()**'' * ''RETURNS //VARCHAR(255)//'' Táto funkcia vráti text poslednej chyby. SELECT FS_LAST_ERROR(); ---- ==== FS_GET_DEVICE_LAST_ACCESS ==== * ''**FUNCTION FS_GET_DEVICE_LAST_ACCESS()**'' * ''IN ``_DEVICE_ALIAS`` //VARCHAR(50)//'' * ''RETURNS //DATETIME//'' * od verzie 1.27 Funkcia pre zistenie času posledného prístupu zariadenia podľa jeho aliasu ``_DEVICE_ALIAS``. SELECT FS_GET_DEVICE_LAST_ACCESS("system24"); ---- ==== FS_SELECT_DEVICE ==== * ''**PROCEDURE FS_SELECT_DEVICE()**'' * ''IN ``_DEVICE_HASH`` //VARCHAR(50)//'' * ''SELECT //FS_RESULT//'' Procedúra, pomocou ktorej sa treba prihlásiť, ak chcete vykonávať synchronizáciu alebo aplikovať synchronizačný log (changelog). Ako vstup sa používa parameter ``_DEVICE_HASH``, ktorý je pridelený vašemu zariadeniu. Výsledok procedúry je select fs_result. CALL FS_DELECT_DEVICE("d86dkh213"); ---- ==== FS_SELECT_DEVICE_QUICK ==== * ''**PROCEDURE FS_SELECT_DEVICE_QUICK()**'' * ''IN ``_DEVICE_HASH`` //VARCHAR(50)//'' * ''SELECT //FS_RESULT//'' Skoro rovnaká procedúra ako [[#FS_SELECT_DEVICE|FS_SELECT_DEVICE()]], ale nerobí zmeny v tabuľke zariadení, takže by nemala čakať na uzamknutie inou transakciou. \\ Je vhodné ju používať pre rýchlu prácu so zámkom. ---- ==== FS_FREE ==== * ''**PROCEDURE FS_FREE()**'' * ''SELECT //FS_RESULT//'' Procedúra určená pre ukončenie spojenia. Táto procedúra vyčistí všetky dočasné premenné a tabuľky a pripraví databázu pre nové spojenie. :!: Túto procedúru použite po skončení činnosti, napr. po pridaní záznamov do logu alebo po aplikácii synchronizačného logu. CALL FS_FREE(); ---- ===== Manipulačné funkcie ===== FIXME Manipulačné funkcie sú určené pre manipuláciu s dátami, napr. pridávanie, zmeny a podobne. ===== Changelog funkcie ===== FIXME Tieto funkcie sú určené pre zisťovanie zmien v synchronizačnej databáze. ===== Príklady ===== ===== Register ===== ===== Lock - práca so zámkom ===== ==== Lock - procedúry a funkcie ==== ==== Simple lock - procedúry a funkcie ====