Tukunga o DBMS SQLite 3.31 me te tautoko mo nga pou kua hangaia

whakaputaina tuku SQLite 3.31.0, he DBMS mama i hangaia hei whare pukapuka whakauru. Ka tohatohahia te waehere SQLite hei rohe whanui, i.e. ka taea te whakamahi me te kore here me te kore utu mo tetahi kaupapa. Ko te tautoko putea mo nga kaiwhakawhanake SQLite e whakaratohia ana e tetahi roopu i hangaia motuhake, kei roto ko nga kamupene penei i a Adobe, Oracle, Mozilla, Bentley me Bloomberg.

Main huringa:

  • He tautoko taapiri nga pou i hangaia (ngā tīwae tātai), ka taea e koe te tautuhi i tētahi tīwae ina hanga koe i tētahi ripanga ka tātai aunoatia tōna uara i runga i ngā ihirangi o tētahi atu tīwae. Ko nga pou i hangaia ka taea te mariko (he mea hanga i runga i te rere me ia urunga) ka penapenahia ranei ki roto i te papanga raraunga (kua tiakina ia wa ka whakahouhia nga pou e pa ana). Ko nga ihirangi o nga pou kua hangaia kei te waatea noa i te aratau panui (ka mahia nga huringa ma te whakarereketanga o te uara o tetahi atu pou e uru ana ki te tatauranga). Hei tauira:

    Waihanga Ripanga t1(
    he Kī TUATAHI TATAU,
    b INT,
    c KUPU,
    d INT HANGA TONU HEI (a*abs(b)) VIRTUAL,
    e TE KUPU TE WHAKAMAHI I NGA TONU KAUPAPA (substr(c,b,b+1)) I POKOHIA
    );

  • Kua taapirihia te PRAGMA whirinaki_arohanga, whakatakotoranga SQLITE_DBCONFIG_TRUSTED_SCHEMA me te kōwhiringa huihuinga "-DSQLITE_TRUSTED_SCHEMA", ka taea e koe te whakahaere i te whakaurunga o te whakamarumaru ki whakaeke na roto i te whakarerekētanga o te aronuinga raraunga i roto i te pātengi raraunga. Ko te parenga hohe e whakatiki ana i te whakamahinga o nga mahi SQL (kaore i tohua SQLITE_INNOCUOUS) i roto i nga keu, i nga tirohanga, i nga tauākī CHECK me te DEFAULT, taupū, me nga pou kua hangaia. Ko te whakamahi i nga ripanga mariko i roto i nga keu me nga tirohanga ka monoa hoki mena ka whakaatuhia te ripanga mariko me te haki SQLITE_VTAB_INNOCUOUS.
  • I whakatinanahia te kaha ki te tautapa i nga taonga ki nga mahi SQL kua tautuhia i roto i nga tono SQLITE_INNOCUOUS (nga mahi kino kaore e whakawhirinaki ki nga tawhā o waho, kaore e taea te whakamahi ki te mahi i nga mahi kino) me SQLITE_DIRECTONLY (karanga tika noa i roto i nga patai SQL, kaore e taea te whakamahi i roto i nga keu, nga tirohanga me nga hoahoa hanganga raraunga);
  • Kōwae tāpiri uuid me te whakatinanatanga o nga mahi mo te tukatuka UUID (RFC-4122);
  • Kua tapirihia te PRAGMA tepee_maamaha me te mahi sqlite3_hard_heap_limit64() ki te whakahaere i te rahi o te puranga;
  • Kei PRAGMA rārangi_mahi te taapiri putanga o te momo, nga ahuatanga me te maha o nga tohenga mo ia mahi;
  • Ki te ripanga mariko DBSTAT kua taapirihia aratau whakahiato raraunga;
  • sqlite3_open_v2() ka whakatinana i te whiringa SQLITE_OPEN_NOFOLLOW, ka taea e koe te whakakore i te whakatuwheratanga o nga hononga tohu;
  • Mo te tautohetohe PATH, i tukuna ki nga mahi JSON, kua taapirihia te tautoko mo te tuhi tuhi "#-N";
  • I roto i te punaha tohatoha mahara titiro taha Ko te tautoko mo nga puna mahara e rua kua whakatinanahia, ka taea te whakamahi i ia waahanga ki te tohatoha i nga poraka o nga rahi rereke (ko te wehenga ka taea e koe te whakawhānui ake i te whakamahinga o te punaha titiro, me te whakaiti i te rahi o te parepare kua tohaina ki ia hononga mai i te 120 ki te 48 KB);
  • Kua whakamutua te tautoko PRAGMA hōputu_kōnae_tuku, he hotokore ki te VACUUM, nga pou i hangaia, me nga taurangi heke (ka taea te whakahoki mai i te tautoko hōputu tuku iho ma te haki SQLITE_DBCONFIG_LEGACY_FILE_FORMAT i sqlite3_db_config()).

Source: opennet.ru

Tāpiri i te kōrero