当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sqlite3.Connection.enable_load_extension用法及代码示例


用法:

enable_load_extension(enabled)

此例程允许/禁止 SQLite 引擎从共享库加载 SQLite 扩展。 SQLite 扩展可以定义新的函数、聚合或全新的虚拟表实现。一个众所周知的扩展是随 SQLite 分发的 fulltext-search 扩展。

默认情况下禁用可加载扩展。见1

使用参数 connectionenabled 引发审计事件 sqlite3.enable_load_extension

3.2 版中的新函数。

在 3.10 版中更改:添加了sqlite3.enable_load_extension审计事件。

import sqlite3

con = sqlite3.connect(":memory:")

# enable extension loading
con.enable_load_extension(True)

# Load the fulltext search extension
con.execute("select load_extension('./fts3.so')")

# alternatively you can load the extension using an API call:
# con.load_extension("./fts3.so")

# disable extension loading again
con.enable_load_extension(False)

# example from SQLite wiki
con.execute("create virtual table recipe using fts3(name, ingredients)")
con.executescript("""
    insert into recipe (name, ingredients) values ('broccoli stew', 'broccoli peppers cheese tomatoes');
    insert into recipe (name, ingredients) values ('pumpkin stew', 'pumpkin onions garlic celery');
    insert into recipe (name, ingredients) values ('broccoli pie', 'broccoli cheese onions flour');
    insert into recipe (name, ingredients) values ('pumpkin pie', 'pumpkin sugar flour butter');
    """)
for row in con.execute("select rowid, name, ingredients from recipe where name match 'pie'"):
    print(row)

con.close()

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 sqlite3.Connection.enable_load_extension。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。