Files
OmniRoute/docs/i18n/kn/docs/ops/SQLITE_RUNTIME.md
Diego Rodrigues de Sa e Souza 8feea123bb feat(docs): mirror every docs/ page in all 65 locales (#14106)
* feat(docs): mirror every docs/ page in all 65 locales

Extends the documentation mirrors from the 22-page core set (#13940) to
every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors
(6,208 new), language bars rewritten for the full locale list, state
adopted so the blocking drift gate now covers all 152 pages.

run-translation.mjs: an oversized block made only of table rows or list
items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is
cut at item boundaries and rejoined without a blank line — the single
16-40 KB request outlived the backend socket for verbose scripts. 48
older mirrors whose tables had lost rows were retranslated with --force.

* docs(i18n): refresh mirrors for the sources the base changed since the branch cut

Section-level retranslation of the 29 docs (and README.md) whose source
or mirrors moved on release/v3.8.51 during the run, then state adoption;
the drift gate is green again on the merged tree.
2026-09-18 13:16:46 -03:00

12 KiB

SQLite Runtime Resolution (ಕನ್ನಡ)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


OmniRoute ಪ್ರಾರಂಭದ ಸಮಯದಲ್ಲಿ ತನ್ನ SQLite ಡ್ರೈವರ್ ಅನ್ನು 5-ಹಂತದ ಫಾಲ್ಬ್ಯಾಕ್ ಸರಪಳಿಯ ಮೂಲಕ ಪರಿಹರಿಸುತ್ತದೆ:

  1. ಬಂಡಲ್ ಮಾಡಲಾದ better-sqlite3 (package.jsonನಲ್ಲಿನ dependencies ಮೂಲಕ) — ಅತ್ಯಂತ ವೇಗವಾದದ್ದು, ನೆಟಿವ್ ಬೈನರಿ; ಬಿಲ್ಡ್ ಪರಿಕರಗಳು ಲಭ್ಯವಿದ್ದಾಗ npm install ಮೂಲಕ ಸ್ಥಾಪಿಸಲಾಗುತ್ತದೆ.

  2. ರನ್ಟೈಮ್ನಲ್ಲಿ ಸ್ಥಾಪಿಸಲಾದ better-sqlite3 (~/.omniroute/runtime/ನಲ್ಲಿ) — ಮೊದಲ ರನ್ನಲ್ಲಿ ಅಗತ್ಯವಿದ್ದಾಗ ಅಥವಾ scripts/build/postinstall.mjs → scripts/postinstall.mjs ಮೂಲಕ ಸ್ಥಾಪಿಸಲಾಗುತ್ತದೆ. ಲೋಡ್ ಮಾಡುವ ಮೊದಲು ನೆಟಿವ್ .node ಮ್ಯಾಜಿಕ್ ಬೈಟ್ಗಳನ್ನು (ELF / Mach-O / PE) ಪರಿಶೀಲಿಸುತ್ತದೆ; ಇದರಿಂದ ಹಾಳಾದ ಅಥವಾ ತಪ್ಪು ಪ್ಲಾಟ್ಫಾರ್ಮ್ನ ಬೈನರಿಗಳ ವಿರುದ್ಧ ರಕ್ಷಣೆ ದೊರೆಯುತ್ತದೆ.

  3. node:sqlite (Node ≥22.5 ಪ್ರಮಾಣಿತ ಲೈಬ್ರರಿ) — ನೆಟಿವ್ ಬಿಲ್ಡ್ ಅಗತ್ಯವಿಲ್ಲ; ಎರಡೂ better-sqlite3 ಮಾರ್ಗಗಳು ವಿಫಲವಾದಾಗ ಬಳಸಲಾಗುತ್ತದೆ. ಸೀಮಿತ ವೈಶಿಷ್ಟ್ಯಗಳ ಸಮೂಹವನ್ನು ಹೊಂದಿದೆ.

  4. sql.js (WASM) — ಅಂತಿಮ ಫಾಲ್ಬ್ಯಾಕ್. ಎಲ್ಲೆಡೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಆದರೆ ನಿಧಾನವಾಗಿರುತ್ತದೆ ಮತ್ತು ಡೇಟಾವನ್ನು ಸಮಕಾಲಿಕವಾಗಿ ಬರೆಯುವ ಬದಲು ನಿಗದಿತ ಅವಧಿಗಳಲ್ಲಿ ಬರೆಯುತ್ತದೆ.

ಈ ಸಂಕೀರ್ಣತೆ ಏಕೆ?

  • Windows EBUSY: ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರಕ್ರಿಯೆಯೊಂದು ಹಿಂದಿನ ಆವೃತ್ತಿಯ better_sqlite3.node ಅನ್ನು ಲಾಕ್ ಮಾಡಿದ್ದರೆ npm install -g omniroute@latest ವಿಫಲವಾಗಬಹುದು. ~/.omniroute/runtime/ನಲ್ಲಿನ ರನ್ಟೈಮ್ ಸ್ಥಾಪನೆಯು ಜಾಗತಿಕ npm ಕ್ಯಾಶ್ ಅನ್ನು ತಪ್ಪಿಸುತ್ತದೆ.
  • ಬಿಲ್ಡ್ ಪರಿಕರಗಳಿಲ್ಲ: ಕೆಲವು ಪರಿಸರಗಳು (VS Build Tools ಇಲ್ಲದ ಕಾರ್ಪೊರೇಟ್ Windows, ಕನಿಷ್ಠ Docker ಇಮೇಜ್ಗಳು) better-sqlite3 ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ರನ್ಟೈಮ್ ಇನ್ಸ್ಟಾಲರ್ npm ರಿಜಿಸ್ಟ್ರಿಯಿಂದ ಪೂರ್ವ-ನಿರ್ಮಿತ ಬೈನರಿಯನ್ನು ಪಡೆದುಕೊಳ್ಳುತ್ತದೆ; ಅದು ವಿಫಲವಾದರೂ OmniRoute ಪ್ರಾರಂಭವಾಗುವುದನ್ನು ಫಾಲ್ಬ್ಯಾಕ್ ಡ್ರೈವರ್ಗಳು ಖಚಿತಪಡಿಸುತ್ತವೆ.
  • ಏರ್-ಗ್ಯಾಪ್ಡ್ ಸಿಸ್ಟಮ್ಗಳು: npm ರಿಜಿಸ್ಟ್ರಿಯನ್ನು ತಲುಪಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, node:sqlite ಅಥವಾ sql.js ಮೂಲಭೂತ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಖಚಿತಪಡಿಸುತ್ತವೆ.

ಮ್ಯಾಜಿಕ್-ಬೈಟ್ ಪರಿಶೀಲನೆ

ರನ್ಟೈಮ್ನಲ್ಲಿ ಸ್ಥಾಪಿಸಲಾದ .node ಫೈಲ್ ಅನ್ನು ಲೋಡ್ ಮಾಡುವ ಮೊದಲು, OmniRoute ಮೊದಲ 8 ಬೈಟ್ಗಳನ್ನು ಓದಿ, ತಿಳಿದಿರುವ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಮ್ಯಾಜಿಕ್ಗಳೊಂದಿಗೆ ಹೋಲಿಸುತ್ತದೆ:

ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಬೈಟ್ಗಳು (ಹೆಕ್ಸ್) ಲೇಬಲ್
Linux 7F 45 4C 46 elf
macOS 64-ಬಿಟ್ BE FE ED FA CF macho
macOS 64-ಬಿಟ್ LE CF FA ED FE macho-le
macOS ಫ್ಯಾಟ್ (ಯುನಿವರ್ಸಲ್) CA FE BA BE macho-fat
Windows 4D 5A (MZ) pe

ಮ್ಯಾಜಿಕ್ ಹೊಂದಿಕೆಯಾಗದಿದ್ದರೆ → ಫೈಲ್ ಅನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಫಾಲ್ಬ್ಯಾಕ್ ಮುಂದಿನ ಹಂತಕ್ಕೆ ಸಾಗುತ್ತದೆ.

ಸಕ್ರಿಯ ಡ್ರೈವರ್ ಅನ್ನು ಪರಿಶೀಲಿಸುವುದು

import { getDriverInfo } from "@/lib/db/core";

const info = getDriverInfo();
// { source: "bundled" | "runtime" | "runtime-installed-now" | "node-sqlite" | "sql-js",
//   kind: "better-sqlite3" | "node-sqlite" | "sql-js" }

ಹಸ್ತಚಾಲಿತ ನಿಯಂತ್ರಣ

# ವೇಗವಾದ CI ಸ್ಥಾಪನೆಗಳಿಗಾಗಿ postinstall ವಾರ್ಮ್-ಅಪ್ ಅನ್ನು ಬಿಟ್ಟುಬಿಡಿ
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute

# ರನ್ಟೈಮ್ better-sqlite3 ಅನ್ನು ಬಲವಂತವಾಗಿ ಮರುಸ್ಥಾಪಿಸಿ
rm -rf ~/.omniroute/runtime
omniroute  # ಮುಂದಿನ ಪ್ರಾರಂಭದಲ್ಲಿ ಮರುಸ್ಥಾಪಿಸಲಾಗುತ್ತದೆ

# ಯಾವ ಡ್ರೈವರ್ ಸಕ್ರಿಯವಾಗಿದೆ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಿ
omniroute config db-info  # (CLI ಕಮಾಂಡ್ ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದರೆ)

ಉಲ್ಲೇಖ

ಅನುಷ್ಠಾನ:

  • bin/cli/runtime/magicBytes.mjs — ಬೈನರಿ ಮ್ಯಾಜಿಕ್-ಬೈಟ್ ಪರಿಶೀಲನಾ ಸಹಾಯಕಗಳು
  • bin/cli/runtime/sqliteRuntime.mjs — 5-ಹಂತದ ರನ್ಟೈಮ್ ರಿಸಾಲ್ವರ್ + ಅಗತ್ಯವಿದ್ದಾಗ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಇನ್ಸ್ಟಾಲರ್
  • bin/cli/runtime/index.mjs — ಪ್ರಾರಂಭದ ಆರ್ಕೆಸ್ಟ್ರೇಟರ್ (warmUpRuntimes())
  • scripts/postinstall.mjs — npm ಸ್ಥಾಪನೆಯ ನಂತರದ ಹುಕ್ (ವಿಫಲವಾದರೂ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಿಲ್ಲಿಸದ ವಾರ್ಮ್-ಅಪ್)
  • src/lib/db/core.tsensureDbInitialized() / getDriverInfo() ಎಕ್ಸ್ಪೋರ್ಟ್ಗಳು

ಏಕ-ರೈಟರ್ ಟೊಪಾಲಜಿ (HA ಬೆಂಬಲಿತವಲ್ಲ)

ಮೇಲಿನ ಡ್ರೈವರ್ ಫಾಲ್ಬ್ಯಾಕ್ ಸರಪಳಿಯು ಇನ್ನೂ ಒಂದೇ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಡೀಫಾಲ್ಟ್ SQLite OmniRoute ಒಂದು ಏಕ ರೈಟರ್ ಆಗಿದೆ:

  • ಒಂದೇ storage.sqlite ಫೈಲ್ಗೆ ಎರಡು OmniRoute ರೆಪ್ಲಿಕಾಗಳನ್ನು ಜೋಡಿಸಬೇಡಿ.
  • ಕಂಟೇನರ್ ಮರುಪ್ರಾರಂಭ, Recreate ಡಿಪ್ಲಾಯ್, OOM ಕಿಲ್ ಅಥವಾ HEALTHCHECK ಮರುಪ್ರಾರಂಭವು ಪ್ರಗತಿಯಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದು SSE ಸೆಷನ್ ಅನ್ನು ಕಡಿತಗೊಳಿಸುತ್ತದೆ. ಡೀಫಾಲ್ಟ್ ಮಾರ್ಗದಲ್ಲಿ ಸೆಷನ್ ಡ್ರೇನ್ ಇಲ್ಲ.
  • ನಿಧಾನವಾದ /healthz ಅನ್ನು ಸ್ಥಗಿತಗೊಂಡಿದೆ ಎಂದು ಪರಿಗಣಿಸುವ ಆರ್ಕೆಸ್ಟ್ರೇಟರ್ ಲೈವ್ನೆಸ್ ಪರಿಶೀಲನೆಯು ಏಕೈಕ ರೆಪ್ಲಿಕಾವನ್ನೇ ನಿಲ್ಲಿಸುತ್ತದೆ. TCP ಲೈವ್ನೆಸ್ + HTTP /healthz ರೆಡಿನೆಸ್ಗೆ ಆದ್ಯತೆ ನೀಡಿ. ನೋಡಿ: Docker ಮಾರ್ಗದರ್ಶಿ — ಲಭ್ಯತೆ ಮತ್ತು Kubernetes ಪ್ರೋಬ್ ಶಿಫಾರಸುಗಳು.