ΠΡΠΎΡΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ, GDSCODE, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠ΄ GDSCODE ΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΠΊΠΎΠ²ΡΠΌ ΡΠ΅Π»ΡΠΌ, ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² iberror.h (ΠΈΠ»ΠΈ Π² interbase.msg, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²Π΅ΡΡΠΈΡ 1.0.x)[105]. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ GDSCODE Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ[106]. Π Firebird 1.5 Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»ΡΡΡΠ΅Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠ°Ρ Π² ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΡ . Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ GDSCODE ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ; Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² Π²Π°ΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ Π½Π° Π²ΠΊΠ»ΡΡΠ°ΡΡΠ΅ΠΌ ΡΠ·ΡΠΊΠ΅ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅Π»Π°Π΅Ρ ΠΏΠΎΠΏΡΡΠΊΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ:
INSERT INTO NON_EXISTENT (TEST)
VALUES ('ABCDEF');
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΡΡΠΈΠ»ΠΈΡΠ° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° IB SQL Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅):
ISC ERROR CODE:335544569 <- GDSCODE
Dynamic SQL Error <- corresponding text from firebird.msg
SQL error code = -204 <- SQLCODE
Table unknown <- corresponding text from firebird,msg
NON_EXI STENT
ΠΡΠΊΡΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ΄Ρ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ? ΠΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² Π²Π΅ΠΊΡΠΎΡΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ (error status vector), Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ API. ΠΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ ΠΊΠΎΠ΄Ρ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Firebird[107]. API ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π²Π΅ΠΊΡΠΎΡΠΎΠ² ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π±ΡΡΠ΅ΡΠ°Ρ . ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΌΠΎΠ³ΡΡ Π·Π°ΡΠ΅ΠΌ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠΈΡ Π±ΡΡΠ΅ΡΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΠΎΡΡΡΠΏΠΈΡΡ Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΡΡΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΠ°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» iberror.h Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ /include ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ SQLCODE ΠΈ GDSCODE ΡΠ΅ΡΠ΅Π· ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΎΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ Π΄Π»Ρ Π΄Π²ΡΡ ΠΊΠΎΠ΄ΠΎΠ² ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
. . .
#define isc_dsql_error 335544569L
. . .
#define isc_dsql_relation_err 335544580L <- an SQLCODE -204 error
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ² Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΡΠ°Π½ΡΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Π° ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠΏΠΈΡΠΊΠ°ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ. ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠ΄ΠΎΠ² SQLCODE, GDSCODE ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 10. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΊΠΎΠ΄ΠΎΠ² ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ΡΠ·ΡΠΊΠ° Π² PSQL ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΌΠΎΠΉ Π³Π»Π°Π²Ρ 32.
Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
Firebird ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΠ½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π΄Π²ΡΡ ΡΠ°Π·Π½ΠΎΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ (Two- Phase Commit, 2Π Π‘), ΡΡΠΎΠ±Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π² Π΄ΡΡΠ³ΠΈΡ Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ . ΠΠ°Π½Π½ΡΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π½ΡΠΌΠΈ.
ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°Π·Π΅ Π΄Π²ΡΡ ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ°ΡΠ° Firebird ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΊ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ (ΠΈΠ»ΠΈ ΠΎΡΠΊΠ°ΡΡ) ΡΠ°Π±ΠΎΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΡΠ°Π·Π΄Π΅Π»ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π°
ΠΏΠΎΠ΄ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΈ ΠΏΠΎΡΡΠ»Π°Π΅Ρ (post) ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠ°ΠΆΠ΄ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . Π ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ "ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ΅" ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ²Π°Ρ ΡΠ°Π·Π° Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ, ΡΠΎ Π½Π° Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π·Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ°ΡΠ° Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΡΠ΅ ΡΠ°ΡΡΠΈ Π±ΡΠ»ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Ρ.
* ΠΡΠ»ΠΈ ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΠΊΠ°ΠΊΠ°Ρ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π°, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅. ΠΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΡΡΡ Π² "ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ΅" ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½ΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΊΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ .
* ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²Π΅Π·Π΄Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΎΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΡΠΎ Π²ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ "ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π½ΡΠ΅", Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌΠΈ.
* ΠΡΠ»ΠΈ ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΎΡΠΊΠ°ΡΠ°, ΡΠΎ ΠΏΠΎΠ΄ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΡΠΌΠ΅Π½Ρ.
ΠΠ°Π²ΠΈΡΡΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
ΠΡΠ»ΠΈ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ Π² ΡΠ΅ΡΠΈ ΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π΄ΠΈΡΠΊΠ° Π΄Π΅Π»Π°ΡΡ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π±Π°Π· Π΄Π°Π½Π½ΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ, ΡΠΎ Π΄Π²ΡΡ ΡΠ°Π·Π½ΠΎΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ Π½Π° Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π·Π΅, ΠΏΠΎΠ΄ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΡΡΠ°ΡΡΡΡ Π² ΠΈΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, Π±ΡΠ΄ΡΡΠΈ ΠΎΡΠΌΠ΅ΡΠ΅Π½Π½ΡΠΌΠΈ Π½ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π½ΡΠ΅, Π½ΠΈ ΠΊΠ°ΠΊ ΠΎΡΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ΄ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄ΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½Ρ Π½Π° Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π·Π΅ (Π½Π΅ ΡΡΠ°Π½ΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π½ΡΠΌΠΈ ΠΈΠ»ΠΈ ΠΎΡΠΌΠ΅Π½Π΅Π½Π½ΡΠΌΠΈ). Π’Π°ΠΊΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π·Π°Π²ΠΈΡΡΠΈΠΌΠΈ (limbo).
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΡΠΎΠΊΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ ΠΏΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΈΡ ΡΠ²ΡΠ·ΠΈ Ρ Π·Π°Π²ΠΈΡΡΠΈΠΌΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²Π°ΠΆΠ½ΡΠΌ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
ΠΠΎΠΊΠ° Π·Π°Π²ΠΈΡΡΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½Π° (ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π° ΠΈΠ»ΠΈ ΠΎΡΠΌΠ΅Π½Π΅Π½Π°), ΠΎΠ½Π° ΠΎΡΡΠ°Π΅ΡΡΡ "Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Π½ΠΎΠΉ" Π² Firebird, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎ Π½Π΅Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΡΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌ. ΠΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΡΠ΅ΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π΅Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠΌΠ΅Π½Ρ. Π£ΡΠΈΠ»ΠΈΡΠ° gfix ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π·Π°Π²ΠΈΡΡΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ Π½ΠΈΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΌ. Π² Π³Π»Π°Π²Π΅ 39.
! ! !
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ , Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ², Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ Π΄Π²ΡΡ Π²ΡΠ°Π·Π½ΠΎΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Borland Database Engine (BDE), Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π·Π°Π²ΠΈΡΡΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ.
. ! .
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π°Π΄ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠ΅ΡΠ²Π΅ΡΠ°. Π ESQL Firebird ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π² ΡΠΎΡΠΌΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ USING Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ , ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ. DSQL Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ DSQL ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ API Π² Π±Π»ΠΎΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠΈΠΌ ΡΠ΅ΠΆΠΈΠΌΠ°ΠΌ ΡΠ΅ΡΠ΅Π· ΡΠ²ΠΎΠΉΡΡΠ²Π°.
ΠΠ΅ΡΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°
Π ΠΏΠ΅ΡΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ΅ Π‘Π£ΠΠ ΡΡΡΠΎΠΊΠΈ, Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΈΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΈΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ΅Π»Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ°. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡΡΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Firebird ΠΈΠ· ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ Π² Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²ΠΎ ΠΈΠ·-Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ Π±Π΅Π·Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΠΎΡΡΡΠΊΠΈΠ²Π°ΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΠ°ΠΆΠ°ΡΡ ΡΡΠ°ΡΠΎΠΌΡ.
Π Firebird Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΡΠΎΠΊΠΈ - Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ°. ΠΠΎΡΡΠΈ Π½Π° Π²ΡΠ΅Ρ ΡΡΠΎΠ²Π½ΡΡ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ΄ΡΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΎΠΏΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ: Π²ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠΎΡΠΌΠΎΠΉ ΠΏΠ΅ΡΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²ΡΠ΅Ρ ΡΡΡΠΎΠΊ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ°Π±Π»ΠΈΡΠ°Ρ - ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΏΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΡ . ΠΠΎΠ³Π΄Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ, ΡΡΠ°ΡΠ°Ρ Π²Π΅ΡΡΠΈΡ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΎΡΡΠ°Π΅ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ Π²ΡΠ΅ΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌ. ΠΠΈΡΠ°ΡΠ΅Π»ΠΈ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΡΡΡ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ.
ΠΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ΡΠ²Π½ΠΎ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ ΡΡΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π΅ΡΠ»ΠΈ Π΄ΡΡΠ³Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎΠ± ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Firebird ΡΠΌ. Π² Π³Π»Π°Π²Π΅ 26.
Firebird ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡΠΈΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ; ΡΠ΅Π΄ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ. ΠΡΠΎ Π½Π΅ "ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠ»Ρ", Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½ΡΠΆΠ½ΠΎ ΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π°ΡΡΠΎΠ»ΡΠ½ΡΡ Π‘Π£ΠΠ. ΠΠ΅ΡΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°ΠΌ Π² Π΄ΡΡΠ³ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡ . ΠΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΉΡΠΈ ΠΎΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ°Π±Π»ΠΈΡΡ
Π£ΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ TABLE STABILITY (ΠΈΠ»ΠΈ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΡ) ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠΎ Π·Π°ΠΏΠΈΡΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ. ΠΡΠΎΡ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π°Π³ΡΠ΅ΡΡΠΈΠ²Π΅Π½ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ RESERVING Ρ ΡΡΠΎΠ²Π½ΡΠΌΠΈ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ READ COMMITTED ΠΈ SNAPSHOT, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°Π±Π»ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π·Π°ΡΠΈΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ:
RESERVING <ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ -ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ>;
<ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅-ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ> = table [, table ...]
[FOR [SHARED f PROTECTED] {READ | WRITE}]
[, <ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅-ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ>]
<ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅-ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ> ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°Π±ΠΎΡΠΎΠ², ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΡ ΡΠ°Π±Π»ΠΈΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΡΠ°Π²Π°ΠΌΠΈ. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π² ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΈΡ.