ರಚಿಸಿದ ಕಾಲಮ್‌ಗಳಿಗೆ ಬೆಂಬಲದೊಂದಿಗೆ DBMS SQLite 3.31 ಬಿಡುಗಡೆ

ಪ್ರಕಟಿಸಲಾಗಿದೆ ಬಿಡುಗಡೆ SQLite 3.31.0, ಪ್ಲಗ್-ಇನ್ ಲೈಬ್ರರಿಯಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಹಗುರವಾದ DBMS. SQLite ಕೋಡ್ ಅನ್ನು ಸಾರ್ವಜನಿಕ ಡೊಮೇನ್ ಆಗಿ ವಿತರಿಸಲಾಗಿದೆ, ಅಂದರೆ. ಯಾವುದೇ ಉದ್ದೇಶಕ್ಕಾಗಿ ನಿರ್ಬಂಧಗಳಿಲ್ಲದೆ ಮತ್ತು ಉಚಿತವಾಗಿ ಬಳಸಬಹುದು. SQLite ಡೆವಲಪರ್‌ಗಳಿಗೆ ಹಣಕಾಸಿನ ಬೆಂಬಲವನ್ನು ವಿಶೇಷವಾಗಿ ರಚಿಸಲಾದ ಒಕ್ಕೂಟವು ಒದಗಿಸಿದೆ, ಇದು Adobe, Oracle, Mozilla, Bentley ಮತ್ತು Bloomberg ನಂತಹ ಕಂಪನಿಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.

ಮುಖ್ಯ ಬದಲಾವಣೆಗಳನ್ನು:

  • ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ ರಚಿಸಿದ ಕಾಲಮ್‌ಗಳು (ಲೆಕ್ಕಾಚಾರದ ಕಾಲಮ್‌ಗಳು), ಮತ್ತೊಂದು ಕಾಲಮ್‌ನ ವಿಷಯಗಳ ಆಧಾರದ ಮೇಲೆ ಮೌಲ್ಯವನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲೆಕ್ಕಾಚಾರ ಮಾಡುವ ಟೇಬಲ್ ಅನ್ನು ನೀವು ರಚಿಸಿದಾಗ ಕಾಲಮ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ನಿಮಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ. ರಚಿಸಲಾದ ಕಾಲಮ್‌ಗಳು ವರ್ಚುವಲ್ ಆಗಿರಬಹುದು (ಪ್ರತಿ ಪ್ರವೇಶದೊಂದಿಗೆ ಫ್ಲೈನಲ್ಲಿ ರಚಿಸಲಾಗಿದೆ) ಅಥವಾ ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ (ಸಂಬಂಧಿತ ಕಾಲಮ್‌ಗಳನ್ನು ನವೀಕರಿಸಿದಾಗ ಪ್ರತಿ ಬಾರಿ ಉಳಿಸಲಾಗುತ್ತದೆ). ರಚಿತವಾದ ಕಾಲಮ್‌ಗಳ ವಿಷಯಗಳು ರೀಡ್ ಮೋಡ್‌ನಲ್ಲಿ ಮಾತ್ರ ಲಭ್ಯವಿರುತ್ತವೆ (ಬದಲಾವಣೆಗಳನ್ನು ಲೆಕ್ಕಾಚಾರದಲ್ಲಿ ಒಳಗೊಂಡಿರುವ ಮತ್ತೊಂದು ಕಾಲಮ್‌ನಲ್ಲಿನ ಮೌಲ್ಯವನ್ನು ಮಾರ್ಪಡಿಸುವ ಮೂಲಕ ಮಾತ್ರ ಮಾಡಲಾಗುತ್ತದೆ). ಉದಾಹರಣೆಗೆ:

    ಟೇಬಲ್ t1 ರಚಿಸಿ(
    ಒಂದು ಪೂರ್ಣಾಂಕ ಪ್ರಾಥಮಿಕ ಕೀ,
    b INT,
    c TEXT,
    d INT ಯಾವಾಗಲೂ (a*abs(b)) ವರ್ಚುವಲ್ ಆಗಿ ರಚಿಸಲಾಗಿದೆ,
    ಇ ಪಠ್ಯವನ್ನು ಯಾವಾಗಲೂ (substr(c,b,b+1)) ಸಂಗ್ರಹಿಸಿದಂತೆ ರಚಿಸಲಾಗಿದೆ
    );

  • PRAGMA ಸೇರಿಸಲಾಗಿದೆ ವಿಶ್ವಾಸಾರ್ಹ_ಸ್ಕೀಮಾ, ಸೆಟ್ಟಿಂಗ್ SQLITE_DBCONFIG_TRUSTED_SCHEMA ಮತ್ತು ಅಸೆಂಬ್ಲಿ ಆಯ್ಕೆ “-DSQLITE_TRUSTED_SCHEMA”, ಇದು ನಿಮಗೆ ವಿರುದ್ಧ ರಕ್ಷಣೆಯ ಸೇರ್ಪಡೆಯನ್ನು ನಿಯಂತ್ರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ ದಾಳಿಗಳು ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಡೇಟಾ ಸ್ಕೀಮಾವನ್ನು ಮಾರ್ಪಡಿಸುವ ಮೂಲಕ. ಟ್ರಿಗ್ಗರ್‌ಗಳು, ವೀಕ್ಷಣೆಗಳು, CHECK ಮತ್ತು DEFAULT ಹೇಳಿಕೆಗಳು, ಸೂಚ್ಯಂಕಗಳು ಮತ್ತು ರಚಿತವಾದ ಕಾಲಮ್‌ಗಳಲ್ಲಿ SQL ಕಾರ್ಯಗಳ ಬಳಕೆಯನ್ನು (SQLITE_INNOCUOUS ಎಂದು ಗುರುತಿಸಲಾಗಿಲ್ಲ) ಸಕ್ರಿಯ ರಕ್ಷಣೆ ನಿರ್ಬಂಧಿಸುತ್ತದೆ. ವರ್ಚುವಲ್ ಟೇಬಲ್ ಅನ್ನು SQLITE_VTAB_INNOCUOUS ಫ್ಲ್ಯಾಗ್‌ನೊಂದಿಗೆ ಸ್ಪಷ್ಟವಾಗಿ ಘೋಷಿಸದ ಹೊರತು ಟ್ರಿಗ್ಗರ್‌ಗಳು ಮತ್ತು ವೀಕ್ಷಣೆಗಳಲ್ಲಿ ವರ್ಚುವಲ್ ಕೋಷ್ಟಕಗಳ ಬಳಕೆಯನ್ನು ಸಹ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ.
  • ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ವ್ಯಾಖ್ಯಾನಿಸಲಾದ SQL ಕಾರ್ಯಗಳಿಗೆ ಗುಣಲಕ್ಷಣಗಳನ್ನು ನಿಯೋಜಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ SQLITE_INNOCUOUS (ಬಾಹ್ಯ ನಿಯತಾಂಕಗಳನ್ನು ಅವಲಂಬಿಸಿರದ ಮತ್ತು ದುರುದ್ದೇಶಪೂರಿತ ಕ್ರಿಯೆಗಳನ್ನು ಮಾಡಲು ಬಳಸಲಾಗದ ನಿರುಪದ್ರವ ಕಾರ್ಯಗಳು) ಮತ್ತು SQLITE_DIRECTONLY (ಪ್ರಚೋದಕಗಳು, ವೀಕ್ಷಣೆಗಳು ಮತ್ತು ಡೇಟಾ ರಚನೆ ರೇಖಾಚಿತ್ರಗಳಲ್ಲಿ ಬಳಸುವ ಸಾಧ್ಯತೆಯಿಲ್ಲದೆ, SQL ಪ್ರಶ್ನೆಗಳಲ್ಲಿ ನೇರ ಕರೆ ಮಾತ್ರ);
  • ಮಾಡ್ಯೂಲ್ ಸೇರಿಸಲಾಗಿದೆ uuid UUID (RFC-4122) ಪ್ರಕ್ರಿಯೆಗೆ ಕಾರ್ಯಗಳ ಅನುಷ್ಠಾನದೊಂದಿಗೆ;
  • PRAGMA ಸೇರಿಸಲಾಗಿದೆ ಹಾರ್ಡ್_ಹೀಪ್_ಮಿತಿ ಮತ್ತು ಕಾರ್ಯ sqlite3_hard_heap_limit64() ಗರಿಷ್ಠ ರಾಶಿ ಗಾತ್ರವನ್ನು ನಿಯಂತ್ರಿಸಲು;
  • PRAGMA ನಲ್ಲಿ ಕಾರ್ಯ_ಪಟ್ಟಿ ಪ್ರತಿ ಕಾರ್ಯದ ಪ್ರಕಾರ, ಗುಣಲಕ್ಷಣಗಳು ಮತ್ತು ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳ ಸಂಖ್ಯೆಯ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
  • ವರ್ಚುವಲ್ ಟೇಬಲ್ DBSTAT ಗೆ ಸೇರಿಸಲಾಗಿದೆ ಡೇಟಾ ಒಟ್ಟುಗೂಡಿಸುವ ಮೋಡ್;
  • sqlite3_open_v2() SQLITE_OPEN_NOFOLLOW ಆಯ್ಕೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ, ಇದು ಸಾಂಕೇತಿಕ ಲಿಂಕ್‌ಗಳ ತೆರೆಯುವಿಕೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ;
  • ವಾದಕ್ಕಾಗಿ ಪಾತ್, JSON ಕಾರ್ಯಗಳಿಗೆ ರವಾನಿಸಲಾಗಿದೆ, "#-N" ರಚನೆಯ ಸಂಕೇತಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಸೇರಿಸಲಾಗಿದೆ;
  • ಮೆಮೊರಿ ವಿತರಣಾ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಪಕ್ಕಕ್ಕೆ ನೋಡಿ ಎರಡು ಪ್ರತ್ಯೇಕ ಮೆಮೊರಿ ಪೂಲ್‌ಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ, ಪ್ರತಿಯೊಂದನ್ನು ವಿಭಿನ್ನ ಗಾತ್ರದ ಬ್ಲಾಕ್‌ಗಳನ್ನು ನಿಯೋಜಿಸಲು ಬಳಸಬಹುದು (ಬೇರ್ಪಡಿಸುವಿಕೆಯು ಲುಕ್‌ಸೈಡ್ ಸಿಸ್ಟಮ್‌ನ ಬಳಕೆಯನ್ನು ವಿಸ್ತರಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಆದರೆ ಪ್ರತಿ ಸಂಪರ್ಕಕ್ಕೆ ನಿಯೋಜಿಸಲಾದ ಬಫರ್‌ನ ಗಾತ್ರವನ್ನು 120 ರಿಂದ 48 ಕ್ಕೆ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಕೆಬಿ);
  • PRAGMA ಬೆಂಬಲವನ್ನು ನಿಲ್ಲಿಸಲಾಗಿದೆ legacy_file_format, ಇದು VACUUM, ರಚಿತವಾದ ಕಾಲಮ್‌ಗಳು ಮತ್ತು ಅವರೋಹಣ ಸೂಚ್ಯಂಕಗಳೊಂದಿಗೆ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ (sqlite3_db_config() ನಲ್ಲಿ SQLITE_DBCONFIG_LEGACY_FILE_FORMAT ಫ್ಲ್ಯಾಗ್ ಮೂಲಕ ಪರಂಪರೆಯ ಸ್ವರೂಪದ ಬೆಂಬಲವನ್ನು ಹಿಂತಿರುಗಿಸಬಹುದು).

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ