python (3.11.7)

(root)/
lib/
python3.11/
sqlite3/
__init__.py
       1  # pysqlite2/__init__.py: the pysqlite2 package.
       2  #
       3  # Copyright (C) 2005 Gerhard Häring <gh@ghaering.de>
       4  #
       5  # This file is part of pysqlite.
       6  #
       7  # This software is provided 'as-is', without any express or implied
       8  # warranty.  In no event will the authors be held liable for any damages
       9  # arising from the use of this software.
      10  #
      11  # Permission is granted to anyone to use this software for any purpose,
      12  # including commercial applications, and to alter it and redistribute it
      13  # freely, subject to the following restrictions:
      14  #
      15  # 1. The origin of this software must not be misrepresented; you must not
      16  #    claim that you wrote the original software. If you use this software
      17  #    in a product, an acknowledgment in the product documentation would be
      18  #    appreciated but is not required.
      19  # 2. Altered source versions must be plainly marked as such, and must not be
      20  #    misrepresented as being the original software.
      21  # 3. This notice may not be removed or altered from any source distribution.
      22  
      23  """
      24  The sqlite3 extension module provides a DB-API 2.0 (PEP 249) compliant
      25  interface to the SQLite library, and requires SQLite 3.7.15 or newer.
      26  
      27  To use the module, start by creating a database Connection object:
      28  
      29      import sqlite3
      30      cx = sqlite3.connect("test.db")  # test.db will be created or opened
      31  
      32  The special path name ":memory:" can be provided to connect to a transient
      33  in-memory database:
      34  
      35      cx = sqlite3.connect(":memory:")  # connect to a database in RAM
      36  
      37  Once a connection has been established, create a Cursor object and call
      38  its execute() method to perform SQL queries:
      39  
      40      cu = cx.cursor()
      41  
      42      # create a table
      43      cu.execute("create table lang(name, first_appeared)")
      44  
      45      # insert values into a table
      46      cu.execute("insert into lang values (?, ?)", ("C", 1972))
      47  
      48      # execute a query and iterate over the result
      49      for row in cu.execute("select * from lang"):
      50          print(row)
      51  
      52      cx.close()
      53  
      54  The sqlite3 module is written by Gerhard Häring <gh@ghaering.de>.
      55  """
      56  
      57  from sqlite3.dbapi2 import *
      58  
      59  
      60  # bpo-42264: OptimizedUnicode was deprecated in Python 3.10.  It's scheduled
      61  # for removal in Python 3.12.
      62  def __getattr__(name):
      63      if name == "OptimizedUnicode":
      64          import warnings
      65          msg = ("""
      66              OptimizedUnicode is deprecated and will be removed in Python 3.12.
      67              Since Python 3.3 it has simply been an alias for 'str'.
      68          """)
      69          warnings.warn(msg, DeprecationWarning, stacklevel=2)
      70          return str
      71      raise AttributeError(f"module 'sqlite3' has no attribute '{name}'")