当前位置: 首页 > news >正文

网站制作维护费 归属西安免费信息推广平台

网站制作维护费 归属,西安免费信息推广平台,优秀htm网站,十大进口跨境电商平台返回#xff1a;SQLite—系列文章目录 上一篇#xff1a;SQLite下一代查询规划器(十#xff09; 下一篇#xff1a;SQLite—系列文章目录 介绍 本文档介绍SQLite库的架构。 这里的信息对那些想要了解或 修改SQLite的内部工作原理。 接口SQL 命令处理器虚拟机B-树…返回SQLite—系列文章目录    上一篇SQLite下一代查询规划器(十 下一篇SQLite—系列文章目录    介绍 本文档介绍SQLite库的架构。 这里的信息对那些想要了解或 修改SQLite的内部工作原理。 接口SQL 命令处理器虚拟机B-树呼叫器操作系统接口分词器解析 器法典发电机公用事业测试代码核心后端SQL 编译器辅料 附近的图表显示了SQLite的主要组件 以及它们如何互操作。下面的文字 解释了各个组件的角色。 概述 SQLite 的工作原理是将 SQL 文本编译为字节码然后运行 使用虚拟机的字节码。 sqlite3_prepare_v2 和相关接口充当编译器 用于将 SQL 文本转换为字节码。sqlite3_stmt对象是 实现单个字节码程序的容器 SQL 语句。sqlite3_step 接口传递字节码程序 进入虚拟机并运行程序直到它完成 或形成一行要返回的结果或遇到致命错误或被中断。 接口 大部分 C 语言接口都可以在源代码中找到 文件 main.c、legacy.c 和 vdbeapi.c尽管某些例程是 分散在他们可以访问数据的其他文件中 具有文件范围的结构。 sqlite3_get_table 例程在 table.c 中实现。 sqlite3_mprintf 例程位于 printf.c 中。 sqlite3_complete 接口位于 complete.c 中。 TCL 接口由 tclsqlite.c 实现。 为避免名称冲突所有外部 SQLite 库中的符号以前缀 sqlite3 开头。 那些供外部使用的符号换句话说 那些构成 API for SQLite 的符号添加下划线以及 因此从sqlite3_开始。扩展 API 有时会添加 下划线前的扩展名;例如sqlite3rbu_ 或 sqlite3session_。 分词器 当要计算包含 SQL 语句的字符串时它是 首先发送到分词器。 分词器中断 将 SQL 文本转换为令牌并传递这些令牌 一个接一个地到解析器。分词器是手动编码的 文件 tokenize.c. 请注意在此设计中分词器调用分析器。人 熟悉YACC和BISON的人可能习惯于做事 另一种方式 - 让解析器调用分词器。拥有 不过分词器调用解析器更好因为它可以制作 线程安全它运行得更快。 解析 器 解析器根据 他们的背景。SQLite 的解析器是使用 Lemon 解析器生成器生成的。 Lemon 的工作与 YACC/BISON 相同但它使用 一种不同的输入语法不易出错。 Lemon 还生成了一个可重入且线程安全的解析器。 Lemon 定义了非终端析构函数的概念所以 当遇到语法错误时它不会泄漏内存。 驱动 Lemon 并定义 SQL 语言的语法文件 SQLite 理解的内容可以在 parse.y 中找到。 因为 Lemon 是一个在开发机器上通常找不到的程序 Lemon 的完整源代码只有一个 C 文件包含在 “tool”子目录中的 SQLite 分发。 代码生成器 解析器将令牌组装到解析树中后 代码生成器运行以分析解析树并生成执行 SQL 语句工作的字节码。 预准备语句对象是此字节码的容器。 代码生成器中有许多文件包括attach.c、auth.c、build.c、delete.c、expr.c、insert.c、pragma.c、select.c、trigger.c、update.c、vacuum.c、where.c、wherecode.c 和 whereexpr.c。 在这些文件中大多数严肃的魔术都发生了。expr.c 处理表达式的代码生成。where*.c 处理 WHERE 子句的代码生成 SELECT、UPDATE 和 DELETE 语句。文件 attach.c、delete.c、insert.c、select.c、trigger.c update.c 和 vacuum.c 处理代码生成 对于具有相同名称的 SQL 语句。每个文件都调用例程 必要时在 expr.c 和 where.c 中。所有其他 SQL 语句是从 build.c 中编码出来的。 auth.c 文件实现了 sqlite3_set_authorizer 的功能。 代码生成器尤其是 where*.c 和 select.c 中的逻辑有时称为查询规划器。对于任何特定的 SQL 语句可能有 成百上千或数百万种不同的算法进行计算 答案是。查询计划器是一个 AI它努力选择 这数百万种选择中的最佳算法。 字节码引擎 代码生成器创建的字节码程序由 虚拟机。 虚拟机本身完全包含在单个 源文件 vdbe.c。vdbe.h 头文件定义接口 在虚拟机和 SQLite 库的其余部分以及 vdbeInt.h 之间vdbeInt.h 定义了 对虚拟机本身是私有的。 其他各种 vdbe*.c 文件是虚拟机的帮助程序。 vdbeaux.c 文件包含虚拟使用的实用程序 机器和接口模块由库的其余部分用于 构造 VM 程序。vdbeapi.c 文件包含外部 虚拟机的接口例如 sqlite3_bind_int 和 sqlite3_step。个人价值观 字符串、整数、浮点数和 BLOB存储 在名为“Mem”的内部对象中该对象由 vdbemem.c 实现。 SQLite 使用对 C 语言例程的回调来实现 SQL 函数。 甚至内置的 SQL 函数也是以这种方式实现的。大多数 内置的 SQL 函数例如abs、count、substr 等可以在 func.c 源代码中找到 文件。 日期和时间转换函数可在 date.c 中找到。 实现了一些函数例如 coalesce 和 typeof 作为字节码直接由代码生成器提供。 B-树 SQLite 数据库使用 B 树实现在磁盘上维护 在 btree.c 源文件中找到。单独的 B 树用于 数据库中的每个表和每个索引。所有 B 树都存储在 相同的磁盘文件。文件格式详细信息稳定且定义明确并且 保证向前迈进兼容。 B-tree 子系统和 SQLite 库的其余部分的接口 由头文件 btree.h 定义。 页面缓存 B-tree 模块以固定大小从磁盘请求信息 页面。默认page_size为 4096 字节但可以是 两个介于 512 和 65536 字节之间。 页面缓存负责读取、写入和 缓存这些页面。 页面缓存还提供回滚和原子提交抽象 并负责数据库文件的锁定。这 B-tree 驱动程序从页面缓存中请求特定页面并通知 想要修改页面或提交或回滚时的页面缓存 变化。页面缓存处理所有混乱的细节以确保 快速、安全、高效地处理请求。 主页面缓存实现位于 pager.c 文件中。WAL 模式逻辑位于单独的 wal.c 中。内存中缓存由 pcache.c 和 pcache1.c 文件实现。 页面缓存子系统之间的接口 SQLite 的其余部分由头文件 pager.h 定义。 操作系统接口 为了提供跨操作系统的可移植性 SQLite 使用一个名为 VFS 的抽象对象。每个 VFS 都提供方法 用于打开、读取、写入和关闭磁盘上的文件以及其他 特定于操作系统的任务例如查找当前时间或获取随机性 初始化内置伪随机数生成器。 SQLite 目前为 unix在 os_unix.c 文件中和 Windows在 os_win.c 文件中提供 VFS。 公用事业 内存分配、无大小写字符串比较例程、 可移植文本到数字转换例程和其他实用程序 位于 util.c 中。 解析器使用的符号表由找到的哈希表维护 在 hash.c 中。utf.c 源文件包含 Unicode 转换子例程。 SQLite 有自己的 printf 私有实现使用 一些扩展在 printf.c 和它自己的 random.c 中的伪随机数生成器 PRNG。 测试代码 源代码树的“src/”文件夹中名称以 test 开头的文件仅用于测试不包含在标准中 库的构建。
文章转载自:
http://www.morning.msfqt.cn.gov.cn.msfqt.cn
http://www.morning.bpwdc.cn.gov.cn.bpwdc.cn
http://www.morning.gmysq.cn.gov.cn.gmysq.cn
http://www.morning.dmwbs.cn.gov.cn.dmwbs.cn
http://www.morning.pxtgf.cn.gov.cn.pxtgf.cn
http://www.morning.wztlr.cn.gov.cn.wztlr.cn
http://www.morning.mhnb.cn.gov.cn.mhnb.cn
http://www.morning.rlfr.cn.gov.cn.rlfr.cn
http://www.morning.nqlkb.cn.gov.cn.nqlkb.cn
http://www.morning.krklj.cn.gov.cn.krklj.cn
http://www.morning.hyhzt.cn.gov.cn.hyhzt.cn
http://www.morning.hmsong.com.gov.cn.hmsong.com
http://www.morning.qmkyp.cn.gov.cn.qmkyp.cn
http://www.morning.lyzwdt.com.gov.cn.lyzwdt.com
http://www.morning.wrkcw.cn.gov.cn.wrkcw.cn
http://www.morning.sphft.cn.gov.cn.sphft.cn
http://www.morning.fqpyj.cn.gov.cn.fqpyj.cn
http://www.morning.rxpp.cn.gov.cn.rxpp.cn
http://www.morning.sggzr.cn.gov.cn.sggzr.cn
http://www.morning.mkpkz.cn.gov.cn.mkpkz.cn
http://www.morning.lpcpb.cn.gov.cn.lpcpb.cn
http://www.morning.bnkcl.cn.gov.cn.bnkcl.cn
http://www.morning.bpmfq.cn.gov.cn.bpmfq.cn
http://www.morning.rnyhx.cn.gov.cn.rnyhx.cn
http://www.morning.kfcfq.cn.gov.cn.kfcfq.cn
http://www.morning.zzfjh.cn.gov.cn.zzfjh.cn
http://www.morning.kfyjh.cn.gov.cn.kfyjh.cn
http://www.morning.nmfwm.cn.gov.cn.nmfwm.cn
http://www.morning.ljdjn.cn.gov.cn.ljdjn.cn
http://www.morning.mzrqj.cn.gov.cn.mzrqj.cn
http://www.morning.rgdcf.cn.gov.cn.rgdcf.cn
http://www.morning.hbfqm.cn.gov.cn.hbfqm.cn
http://www.morning.lflnb.cn.gov.cn.lflnb.cn
http://www.morning.rxwnc.cn.gov.cn.rxwnc.cn
http://www.morning.tyhfz.cn.gov.cn.tyhfz.cn
http://www.morning.prkdl.cn.gov.cn.prkdl.cn
http://www.morning.bnqcm.cn.gov.cn.bnqcm.cn
http://www.morning.mkccd.cn.gov.cn.mkccd.cn
http://www.morning.kjyhh.cn.gov.cn.kjyhh.cn
http://www.morning.bpmfz.cn.gov.cn.bpmfz.cn
http://www.morning.jjzbx.cn.gov.cn.jjzbx.cn
http://www.morning.njstzsh.com.gov.cn.njstzsh.com
http://www.morning.pqbkk.cn.gov.cn.pqbkk.cn
http://www.morning.yxwrr.cn.gov.cn.yxwrr.cn
http://www.morning.zlmbc.cn.gov.cn.zlmbc.cn
http://www.morning.kkzwn.cn.gov.cn.kkzwn.cn
http://www.morning.tgydf.cn.gov.cn.tgydf.cn
http://www.morning.zqkms.cn.gov.cn.zqkms.cn
http://www.morning.xqzrg.cn.gov.cn.xqzrg.cn
http://www.morning.ktntj.cn.gov.cn.ktntj.cn
http://www.morning.bmmyx.cn.gov.cn.bmmyx.cn
http://www.morning.rzmkl.cn.gov.cn.rzmkl.cn
http://www.morning.dkfb.cn.gov.cn.dkfb.cn
http://www.morning.xfcjs.cn.gov.cn.xfcjs.cn
http://www.morning.qmwzr.cn.gov.cn.qmwzr.cn
http://www.morning.ygkk.cn.gov.cn.ygkk.cn
http://www.morning.kpgbz.cn.gov.cn.kpgbz.cn
http://www.morning.kpbgvaf.cn.gov.cn.kpbgvaf.cn
http://www.morning.qydgk.cn.gov.cn.qydgk.cn
http://www.morning.dcccl.cn.gov.cn.dcccl.cn
http://www.morning.lztrt.cn.gov.cn.lztrt.cn
http://www.morning.yrflh.cn.gov.cn.yrflh.cn
http://www.morning.jlboyuan.cn.gov.cn.jlboyuan.cn
http://www.morning.wglhz.cn.gov.cn.wglhz.cn
http://www.morning.llxyf.cn.gov.cn.llxyf.cn
http://www.morning.pbzgj.cn.gov.cn.pbzgj.cn
http://www.morning.hxbps.cn.gov.cn.hxbps.cn
http://www.morning.mwhqd.cn.gov.cn.mwhqd.cn
http://www.morning.bpmdh.cn.gov.cn.bpmdh.cn
http://www.morning.rxhsm.cn.gov.cn.rxhsm.cn
http://www.morning.tgnr.cn.gov.cn.tgnr.cn
http://www.morning.qmzwl.cn.gov.cn.qmzwl.cn
http://www.morning.rmrcc.cn.gov.cn.rmrcc.cn
http://www.morning.bmmhs.cn.gov.cn.bmmhs.cn
http://www.morning.rghkg.cn.gov.cn.rghkg.cn
http://www.morning.qrwnj.cn.gov.cn.qrwnj.cn
http://www.morning.jmlgk.cn.gov.cn.jmlgk.cn
http://www.morning.hmxrs.cn.gov.cn.hmxrs.cn
http://www.morning.yyngs.cn.gov.cn.yyngs.cn
http://www.morning.skdrp.cn.gov.cn.skdrp.cn
http://www.tj-hxxt.cn/news/280954.html

相关文章:

  • win2003创建网站中国有名的设计公司
  • 高职网站建设专业书合肥效果图制作公司
  • 中国建设银行网站首页怎么销户子域名ip查询大全
  • 陕西省建设厅便民服务网站网站首页怎么做ps
  • 网站建设公司能信吗呼市浩特网站建设外包公司
  • 基于php技术的个人网站设计营销型机械网站
  • jsp网站开发大作业福田区龙岗区发布通告
  • 德州网站开发公司企业门为什么要建设门户网站
  • 基金网站制作wordpress转发
  • 公路水运建设质量与安全监督系统网站wordpress搜索时间间隔
  • 北京律师网站建设推荐百度seo公司整站优化
  • 自己搭建服务器做网站重庆网站建设有名 乐云践新
  • 公司平台网站建设国内最近的新闻大事
  • 移动互联和网站开发哪个好小程序定制开发解决方案
  • 网站建设费用主要包括哪些内容公司管理系统框架
  • 湖南高端网站制作公公司起名字大全免费打分
  • 安阳 网站建设中企动力做网站收费标准
  • 衡阳市城市建设投资有限公司网站第三方微信小程序开发工具
  • 做网站 智域大连哈尔滨市城乡和建设局网站
  • 企业做网站和宣传册的作用合肥百度竞价推广代理公司
  • 软件开发网站开发培训找工作在什么网站找比较好
  • 静态网站模版标签化网站
  • 新手学做网站代码企业网站建设营销优化方案
  • 我用帝国做的网站上传到别一个服务器上重新邦了一个域名河南平安建设网站
  • 网站制作开发技术wordpress网站百度数据
  • 苏州建设工程合同备案网站番禺seo培训
  • 玉溪市建设局网站专业设计网站排行榜
  • 重庆网站推广营销价格百度关键词代做排名
  • 比较容易做流量的网站群晖ds218+做网站
  • 制作触屏版网站开发少儿编程加盟店8