ИздаванС Π½Π° Π‘Π£Π‘Π” Firebird 5.0

Π‘Π»Π΅Π΄ Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π΅ прСдставСна вСрсия 5.0 Π½Π° Ρ€Π΅Π»Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° Π‘Π£Π‘Π” Firebird. Firebird ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ΄Π° Π½Π° Π‘Π£Π‘Π” InterBase 6.0, ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΏΡ€Π΅Π· 2000 Π³ΠΎΠ΄ΠΈΠ½Π° ΠΎΡ‚ компанията Borland. Firebird сС разпространява ΠΏΠΎΠ΄ свободна лицСнзия MPL ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° стандартитС ANSI SQL, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°Ρ‚ΠΎ Ρ‚Ρ€ΠΈΠ³Π΅Ρ€ΠΈ, ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΈ ΠΈ рСпликация. Π‘ΠΈΠ½Π°Ρ€Π½ΠΈΡ‚Π΅ сборки са ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ Π·Π° Linux, Windows, macOS ΠΈ Android.

ΠšΠ»ΡŽΡ‡ΠΎΠ²ΠΈ нововъвСдСния:

  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ. ΠŸΠ°Ρ€Π°Π»Π΅Π»ΠΈΠ·Π°Ρ†ΠΈΡΡ‚Π° Π² няколко ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌΠ° ΠΏΡ€ΠΈ създаванС Π½Π° индСкси, ΡΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° Π±ΠΎΠΊΠ»ΡƒΠΊ (Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΈ ΠΈ Ρ€ΡŠΡ‡Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ sweep), създаванС Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΈ копия ΠΈ Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ ΠΎΡ‚ тях. gfix -sweep -parallel 4 dbname gbak -b -par 4 -user username -pass password dbname backupname
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° частични индСкси, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ само сСлСктивни записи, отговарящи Π½Π° условията, Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ ΠΏΡ€ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° индСкса. CREATE INDEX IT1_COL ON T1 (COL) WHERE COL < 100;
  • Π’ ΠΈΠ·Ρ€Π°Π·ΠΈΡ‚Π΅ SELECT WITH LOCK, UPDATE ΠΈ DELETE Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡΡŠΡ‚ β€žSKIP LOCKEDβ€œ, позволяващ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° записи, Π·Π° ΠΊΠΎΠΈΡ‚ΠΎ към ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° заявката Π΅ Π·Π°Π΄Π°Π΄Π΅Π½Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° Π΄Π° Π½Π΅ сС ΠΈΠ·Ρ‡Π°ΠΊΠ²Π° освобоТдаванСто Π½Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ‚Π° ΠΏΡ€ΠΈ прСсичанС с Π΄Ρ€ΡƒΠ³Π° транзакция).
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° обновяванС Π½Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π΄ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»Π½Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½Π° вСрсия Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ (ODS β€” On-Disk-Structure) Π½Π° Π»Π΅Ρ‚Ρƒ (inline update) Π±Π΅Π· създаванС ΠΈ Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ ΠΎΡ‚ Ρ€Π΅Π·Π΅Ρ€Π²Π½Π° копия. НапримСр, сСга ΠΌΠΎΠΆΠ΅ Π½Π° Π»Π΅Ρ‚Ρƒ Π΄Π° сС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π° Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Firebird 4.0 (ODS 13.0) Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Firebird 5.0 (ODS 13.1).
  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ Π΅ кСш Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ SQL-ΠΈΠ·Ρ€Π°Π·ΠΈ, обслуТван Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ (остарСлитС записи сС почистват ΠΏΡ€ΠΈ нСобходимост). Π Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° кСша сС Π·Π°Π΄Π°Π²Π° Ρ‡Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° MaxStatementCacheSize Π² firebird.conf.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ интСрфСйс Π·Π° ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° SQL ΠΈ PSQL, позволяващ оцСняванС Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС Π½Π° всяка заявка, Π½Π°Ρ‚Ρ€ΡƒΠΏΠ²Π°Π½Π΅ Π½Π° статистика Π·Π° броя Π½Π° заявкитС ΠΈ установяванС Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ с производитСлността.
  • Π’ ΠΈΠ·Ρ€Π°Π·Π° MERGE Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° условСн Π±Π»ΠΎΠΊ β€žWHEN NOT MATCHED BY SOURCEβ€œ, ΠΊΠΎΠΉΡ‚ΠΎ сработва, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π½Π°Ρ‚Π° запис Π½Π΅ отговаря Π½Π° Π½ΠΈΡ‚ΠΎ Π΅Π΄Π½Π° запис Π² цСлСвия Π½Π°Π±ΠΎΡ€. MERGE INTO customers c USING new_customers nc ON (c.id = nc.id) WHEN MATCHED THEN UPDATE SET name = nc.name WHEN NOT MATCHED BY SOURCE THEN DELETE
  • ΠžΡΠΈΠ³ΡƒΡ€Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° Π²Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° няколко Ρ€Π΅Π΄Π° Ρ‡Ρ€Π΅Π· ΠΈΠ·Ρ€Π°Π·Π° RETURNING, Π°ΠΊΠΎ Π·Π°Π΄Π°Π΄Π΅Π½ΠΎΡ‚ΠΎ DML-ΠΈΠ·Ρ€Π°Π·Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ…Π²Π°Ρ‰Π° няколко Ρ€Π΅Π΄Π° (ΠΏΠΎ-Ρ€Π°Π½ΠΎ Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ситуации сС извСТдашС Π³Ρ€Π΅ΡˆΠΊΠ° β€žmultiple rows in singleton selectβ€œ).
  • Π”ΠΎΠ±Π°Π²Π΅Π½ΠΈ са Π½ΠΎΠ²ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: UNICODE_CHAR Π·Π° Π²Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° unicode символ, ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰ Π½Π° зададСния ΠΊΠΎΠ΄, ΠΈ UNICODE_VAL Π·Π° Π²Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄Π° Π·Π° зададСния символ. Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ EXTRACT, FIRST_DAY ΠΈ LAST_DAY Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ QUARTER Π·Π° опрСдСлянС Π½Π° Π½ΠΎΠΌΠ΅Ρ€Π° Π½Π° тримСсСчиСто.
  • Π”ΠΎΠ±Π°Π²Π΅Π½ Π΅ Π½ΠΎΠ² систСмСн ΠΏΠ°ΠΊΠ΅Ρ‚ RDB$BLOB_UTIL с Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с BLOB ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π·Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ PSQL.
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌΡŠΡ‚ Π·Π° компрСсиранС Π½Π° записи, ΠΊΠΎΠΉΡ‚ΠΎ сСга ΠΏΡ€ΠΈΠ»Π°Π³Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° дълТина Π·Π° ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Π½Π° повторяващи сС послСдоватСлности ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡΡ‚Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ стСпСнта Π½Π° компрСсия Π½Π° нСпълно запълнСни дълги ΠΏΠΎΠ»Π΅Ρ‚Π° VARCHAR с Π΄Π°Π½Π½ΠΈ Π² UTF-8 ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с двупосочни курсори (scrollable) ΠΏΡ€ΠΈ ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ.
  • Π˜Π·Π²ΡŠΡ€ΡˆΠ΅Π½Π° Π΅ оптимизация Π½Π° производитСлността ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€Π°Π½Π΅ Π½Π° BLOB ΠΎΠ±Π΅ΠΊΡ‚ΠΈ.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ пълна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° синтаксиса Π·Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½Π΅ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅, описан Π² SQL стандарта. НапримСр, Π½ΠΈΠ·ΠΎΠ²Π΅Ρ‚Π΅ Π²Π΅Ρ‡Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½ΠΈ ΠΎΡ‚ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΈ: select 'ab' /* comment */ 'cd' from RDB$DATABASE; select 'ab' 'cd' from RDB$DATABASE;

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster