ለተፈጠሩ አምዶች ድጋፍ የ DBMS SQLite 3.31 መልቀቅ

የታተመ መልቀቅ ኤስኪላይት 3.31.0፣ እንደ ተሰኪ ቤተ-መጽሐፍት የተነደፈ ቀላል ክብደት ያለው DBMS። የSQLite ኮድ እንደ ህዝባዊ ጎራ ተሰራጭቷል፣ i.e. ለማንኛውም ዓላማ ያለ ገደብ እና ከክፍያ ነጻ ጥቅም ላይ ሊውል ይችላል. ለ SQLite ገንቢዎች የገንዘብ ድጋፍ የሚሰጠው በልዩ የተፈጠረ ጥምረት ነው፣ እሱም እንደ Adobe፣ Oracle፣ Mozilla፣ Bentley እና Bloomberg ያሉ ኩባንያዎችን ያካትታል።

ዋና ለውጥ:

  • ድጋፍ ታክሏል። የተፈጠሩ አምዶች (የተሰሉ ዓምዶች)፣ በሌላ አምድ ይዘቶች ላይ ተመስርተው ዋጋው በራስ-ሰር የሚሰላበትን ሠንጠረዥ ሲፈጥሩ ዓምድን እንዲገልጹ ያስችልዎታል። የተፈጠሩት አምዶች ምናባዊ ሊሆኑ ይችላሉ (በእያንዳንዱ መዳረሻ በመብረር ላይ የሚፈጠሩ) ወይም በመረጃ ቋቱ ውስጥ ይቀመጣሉ (ተዛማጅ አምዶች በተዘመኑ ቁጥር ይቀመጣሉ)። የተፈጠሩት ዓምዶች ይዘቶች በንባብ ሁነታ ብቻ ይገኛሉ (ለውጦች የሚደረጉት በስሌቱ ውስጥ በተሳተፈ ሌላ አምድ ውስጥ ያለውን ዋጋ በማስተካከል ብቻ ነው). ለምሳሌ:

    ጠረጴዛ t1 ፍጠር
    ኢንቲገር ዋና ቁልፍ፣
    ቢ INT፣
    ሐ ጽሑፍ፣
    d INT ሁልጊዜ እንደ (a*abs(b)) ምናባዊ፣
    ሠ ጽሑፍ ሁልጊዜ እንደ (ንዑስ (c,b,b+1)) ተከማችቷል
    );

  • PRAGMA ታክሏል። የታመነ_መርሃግብር, ቅንብር SQLITE_DBCONFIG_TRUSTED_SCHEMA እና የመሰብሰቢያ አማራጭ «-DSQLITE_TRUSTED_SCHEMA»፣ ይህም ጥበቃን ማካተት እንዲቆጣጠሩ ያስችልዎታል። ጥቃቶች በመረጃ ቋቱ ውስጥ ያለውን የውሂብ ንድፍ በማሻሻል. ንቁ ጥበቃ የSQL ተግባራትን (የSQLITE_INNOCUOUS ምልክት ያልተደረገበት) ቀስቅሴዎች፣ እይታዎች፣ ቼክ እና DEFAULT መግለጫዎች፣ ኢንዴክሶች እና በተፈጠሩ አምዶች ውስጥ መጠቀምን ይገድባል። ምናባዊ ሠንጠረዡ ከSQLITE_VTAB_INNOCUOUS ባንዲራ ጋር በግልፅ እስካልታወጀ ድረስ ምናባዊ ሠንጠረዦችን ቀስቅሴዎች እና እይታዎች ውስጥ መጠቀም እንዲሁ ተሰናክሏል።
  • በመተግበሪያዎች ውስጥ ለተገለጹት የSQL ተግባራት ንብረቶችን የመመደብ ችሎታን ተግባራዊ አድርጓል SQLITE_INNOCUOUS (በውጫዊ መመዘኛዎች ላይ የማይመሰረቱ እና ተንኮል-አዘል ድርጊቶችን ለመፈጸም ጥቅም ላይ የማይውሉ የማይጎዱ ተግባራት) እና SQLITE_DIRECTONLY (በ SQL መጠይቆች ውስጥ በቀጥታ ጥሪ ብቻ ፣ ቀስቅሴዎች ፣ እይታዎች እና የውሂብ አወቃቀር ሥዕላዊ መግለጫዎች ውስጥ የመጠቀም እድል ሳይኖር);
  • ሞጁል ታክሏል። ኡይድ UUID (RFC-4122) ለማስኬድ ተግባራትን በመተግበር;
  • PRAGMA ታክሏል። ጠንካራ_ክምር_ገደብ እና ተግባር sqlite3_hard_heap_limit64() ከፍተኛውን ክምር መጠን ለመቆጣጠር;
  • በPRAGMA ተግባር_ዝርዝር የእያንዳንዱ ተግባር ዓይነት ፣ ንብረቶች እና የክርክር ብዛት መጨመር;
  • ወደ ምናባዊ ሰንጠረዥ DBSTAT ታክሏል የውሂብ ማሰባሰብ ሁነታ;
  • sqlite3_open_v2() የSQLITE_OPEN_NOFOLLOW አማራጭን ተግባራዊ ያደርጋል፣ይህም ተምሳሌታዊ አገናኞችን መክፈትን እንዲያሰናክሉ ያስችልዎታል።
  • ለክርክር PATH, ወደ JSON ተግባራት ተላልፏል, ለ "#-N" ድርድር ማስታወሻ ተጨማሪ ድጋፍ;
  • በማህደረ ትውስታ ስርጭት ስርዓት መመልከት ለሁለት የተለያዩ የማስታወሻ ገንዳዎች ድጋፍ ተተግብሯል ፣ እያንዳንዱም የተለያዩ መጠኖችን ለመመደብ ሊያገለግል ይችላል (መለያየት የእይታ ስርዓቱን አጠቃቀም ለማስፋት ያስችላል ፣ ለእያንዳንዱ ግንኙነት የተመደበውን ቋት መጠን ከ 120 እስከ 48 ይቀንሳል ። KB);
  • የPRAGMA ድጋፍ ተቋርጧል የቆየ_ፋይል_ቅርጸት።ከ VACUUM፣ ከተፈጠሩ አምዶች እና ቁልቁል ኢንዴክሶች ጋር ተኳሃኝ ያልሆነ (የቆየ ቅርጸት ድጋፍ በSQLITE_DBCONFIG_LEGACY_FILE_FORMAT ባንዲራ በ sqlite3_db_config() መመለስ ይቻላል)።

ምንጭ: opennet.ru

አስተያየት ያክሉ