forked from AFPy/python-docs-fr
1193 lines
39 KiB
Plaintext
1193 lines
39 KiB
Plaintext
# SOME DESCRIPTIVE TITLE.
|
||
# Copyright (C) 2001-2016, Python Software Foundation
|
||
# This file is distributed under the same license as the Python package.
|
||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||
#
|
||
#, fuzzy
|
||
msgid ""
|
||
msgstr ""
|
||
"Project-Id-Version: Python 3.6\n"
|
||
"Report-Msgid-Bugs-To: \n"
|
||
"POT-Creation-Date: 2017-12-01 07:43+0100\n"
|
||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||
"Language: fr\n"
|
||
"MIME-Version: 1.0\n"
|
||
"Content-Type: text/plain; charset=UTF-8\n"
|
||
"Content-Transfer-Encoding: 8bit\n"
|
||
|
||
#: ../Doc/library/sqlite3.rst:2
|
||
msgid ":mod:`sqlite3` --- DB-API 2.0 interface for SQLite databases"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:9
|
||
msgid "**Source code:** :source:`Lib/sqlite3/`"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:13
|
||
msgid ""
|
||
"SQLite is a C library that provides a lightweight disk-based database that "
|
||
"doesn't require a separate server process and allows accessing the database "
|
||
"using a nonstandard variant of the SQL query language. Some applications can "
|
||
"use SQLite for internal data storage. It's also possible to prototype an "
|
||
"application using SQLite and then port the code to a larger database such as "
|
||
"PostgreSQL or Oracle."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:20
|
||
msgid ""
|
||
"The sqlite3 module was written by Gerhard Häring. It provides a SQL "
|
||
"interface compliant with the DB-API 2.0 specification described by :pep:"
|
||
"`249`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:23
|
||
msgid ""
|
||
"To use the module, you must first create a :class:`Connection` object that "
|
||
"represents the database. Here the data will be stored in the :file:`example."
|
||
"db` file::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:30
|
||
msgid ""
|
||
"You can also supply the special name ``:memory:`` to create a database in "
|
||
"RAM."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:32
|
||
msgid ""
|
||
"Once you have a :class:`Connection`, you can create a :class:`Cursor` "
|
||
"object and call its :meth:`~Cursor.execute` method to perform SQL commands::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:51
|
||
msgid ""
|
||
"The data you've saved is persistent and is available in subsequent sessions::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:57
|
||
msgid ""
|
||
"Usually your SQL operations will need to use values from Python variables. "
|
||
"You shouldn't assemble your query using Python's string operations because "
|
||
"doing so is insecure; it makes your program vulnerable to an SQL injection "
|
||
"attack (see https://xkcd.com/327/ for humorous example of what can go wrong)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:62
|
||
msgid ""
|
||
"Instead, use the DB-API's parameter substitution. Put ``?`` as a "
|
||
"placeholder wherever you want to use a value, and then provide a tuple of "
|
||
"values as the second argument to the cursor's :meth:`~Cursor.execute` "
|
||
"method. (Other database modules may use a different placeholder, such as ``"
|
||
"%s`` or ``:1``.) For example::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:84
|
||
msgid ""
|
||
"To retrieve data after executing a SELECT statement, you can either treat "
|
||
"the cursor as an :term:`iterator`, call the cursor's :meth:`~Cursor."
|
||
"fetchone` method to retrieve a single matching row, or call :meth:`~Cursor."
|
||
"fetchall` to get a list of the matching rows."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:89
|
||
msgid "This example uses the iterator form::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:104
|
||
msgid "https://github.com/ghaering/pysqlite"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:103
|
||
msgid ""
|
||
"The pysqlite web page -- sqlite3 is developed externally under the name "
|
||
"\"pysqlite\"."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:108
|
||
msgid "https://www.sqlite.org"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:107
|
||
msgid ""
|
||
"The SQLite web page; the documentation describes the syntax and the "
|
||
"available data types for the supported SQL dialect."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:111
|
||
msgid "http://www.w3schools.com/sql/"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:111
|
||
msgid "Tutorial, reference and examples for learning SQL syntax."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:113
|
||
msgid ":pep:`249` - Database API Specification 2.0"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:114
|
||
msgid "PEP written by Marc-André Lemburg."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:120
|
||
msgid "Module functions and constants"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:125
|
||
msgid ""
|
||
"The version number of this module, as a string. This is not the version of "
|
||
"the SQLite library."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:131
|
||
msgid ""
|
||
"The version number of this module, as a tuple of integers. This is not the "
|
||
"version of the SQLite library."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:137
|
||
msgid "The version number of the run-time SQLite library, as a string."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:142
|
||
msgid ""
|
||
"The version number of the run-time SQLite library, as a tuple of integers."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:147 ../Doc/library/sqlite3.rst:160
|
||
msgid ""
|
||
"This constant is meant to be used with the *detect_types* parameter of the :"
|
||
"func:`connect` function."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:150
|
||
msgid ""
|
||
"Setting it makes the :mod:`sqlite3` module parse the declared type for each "
|
||
"column it returns. It will parse out the first word of the declared type, "
|
||
"i. e. for \"integer primary key\", it will parse out \"integer\", or for "
|
||
"\"number(10)\" it will parse out \"number\". Then for that column, it will "
|
||
"look into the converters dictionary and use the converter function "
|
||
"registered for that type there."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:163
|
||
msgid ""
|
||
"Setting this makes the SQLite interface parse the column name for each "
|
||
"column it returns. It will look for a string formed [mytype] in there, and "
|
||
"then decide that 'mytype' is the type of the column. It will try to find an "
|
||
"entry of 'mytype' in the converters dictionary and then use the converter "
|
||
"function found there to return the value. The column name found in :attr:"
|
||
"`Cursor.description` is only the first word of the column name, i. e. if "
|
||
"you use something like ``'as \"x [datetime]\"'`` in your SQL, then we will "
|
||
"parse out everything until the first blank for the column name: the column "
|
||
"name would simply be \"x\"."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:175
|
||
msgid ""
|
||
"Opens a connection to the SQLite database file *database*. You can use ``\":"
|
||
"memory:\"`` to open a database connection to a database that resides in RAM "
|
||
"instead of on disk."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:179
|
||
msgid ""
|
||
"When a database is accessed by multiple connections, and one of the "
|
||
"processes modifies the database, the SQLite database is locked until that "
|
||
"transaction is committed. The *timeout* parameter specifies how long the "
|
||
"connection should wait for the lock to go away until raising an exception. "
|
||
"The default for the timeout parameter is 5.0 (five seconds)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:185
|
||
msgid ""
|
||
"For the *isolation_level* parameter, please see the :attr:`~Connection."
|
||
"isolation_level` property of :class:`Connection` objects."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:188
|
||
msgid ""
|
||
"SQLite natively supports only the types TEXT, INTEGER, REAL, BLOB and NULL. "
|
||
"If you want to use other types you must add support for them yourself. The "
|
||
"*detect_types* parameter and the using custom **converters** registered with "
|
||
"the module-level :func:`register_converter` function allow you to easily do "
|
||
"that."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:193
|
||
msgid ""
|
||
"*detect_types* defaults to 0 (i. e. off, no type detection), you can set it "
|
||
"to any combination of :const:`PARSE_DECLTYPES` and :const:`PARSE_COLNAMES` "
|
||
"to turn type detection on."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:197
|
||
msgid ""
|
||
"By default, *check_same_thread* is :const:`True` and only the creating "
|
||
"thread may use the connection. If set :const:`False`, the returned "
|
||
"connection may be shared across multiple threads. When using multiple "
|
||
"threads with the same connection writing operations should be serialized by "
|
||
"the user to avoid data corruption."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:202
|
||
msgid ""
|
||
"By default, the :mod:`sqlite3` module uses its :class:`Connection` class for "
|
||
"the connect call. You can, however, subclass the :class:`Connection` class "
|
||
"and make :func:`connect` use your class instead by providing your class for "
|
||
"the *factory* parameter."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:207
|
||
msgid "Consult the section :ref:`sqlite3-types` of this manual for details."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:209
|
||
msgid ""
|
||
"The :mod:`sqlite3` module internally uses a statement cache to avoid SQL "
|
||
"parsing overhead. If you want to explicitly set the number of statements "
|
||
"that are cached for the connection, you can set the *cached_statements* "
|
||
"parameter. The currently implemented default is to cache 100 statements."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:214
|
||
msgid ""
|
||
"If *uri* is true, *database* is interpreted as a URI. This allows you to "
|
||
"specify options. For example, to open a database in read-only mode you can "
|
||
"use::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:220
|
||
msgid ""
|
||
"More information about this feature, including a list of recognized options, "
|
||
"can be found in the `SQLite URI documentation <https://www.sqlite.org/uri."
|
||
"html>`_."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:223
|
||
msgid "Added the *uri* parameter."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:229
|
||
msgid ""
|
||
"Registers a callable to convert a bytestring from the database into a custom "
|
||
"Python type. The callable will be invoked for all database values that are "
|
||
"of the type *typename*. Confer the parameter *detect_types* of the :func:"
|
||
"`connect` function for how the type detection works. Note that the case of "
|
||
"*typename* and the name of the type in your query must match!"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:238
|
||
msgid ""
|
||
"Registers a callable to convert the custom Python type *type* into one of "
|
||
"SQLite's supported types. The callable *callable* accepts as single "
|
||
"parameter the Python value, and must return a value of the following types: "
|
||
"int, float, str or bytes."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:246
|
||
msgid ""
|
||
"Returns :const:`True` if the string *sql* contains one or more complete SQL "
|
||
"statements terminated by semicolons. It does not verify that the SQL is "
|
||
"syntactically correct, only that there are no unclosed string literals and "
|
||
"the statement is terminated by a semicolon."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:251
|
||
msgid ""
|
||
"This can be used to build a shell for SQLite, as in the following example:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:259
|
||
msgid ""
|
||
"By default you will not get any tracebacks in user-defined functions, "
|
||
"aggregates, converters, authorizer callbacks etc. If you want to debug them, "
|
||
"you can call this function with *flag* set to ``True``. Afterwards, you will "
|
||
"get tracebacks from callbacks on ``sys.stderr``. Use :const:`False` to "
|
||
"disable the feature again."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:269
|
||
msgid "Connection Objects"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:273
|
||
msgid "A SQLite database connection has the following attributes and methods:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:277
|
||
msgid ""
|
||
"Get or set the current isolation level. :const:`None` for autocommit mode or "
|
||
"one of \"DEFERRED\", \"IMMEDIATE\" or \"EXCLUSIVE\". See section :ref:"
|
||
"`sqlite3-controlling-transactions` for a more detailed explanation."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:283
|
||
msgid ""
|
||
":const:`True` if a transaction is active (there are uncommitted changes), :"
|
||
"const:`False` otherwise. Read-only attribute."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:290
|
||
msgid ""
|
||
"The cursor method accepts a single optional parameter *factory*. If "
|
||
"supplied, this must be a callable returning an instance of :class:`Cursor` "
|
||
"or its subclasses."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:296
|
||
msgid ""
|
||
"This method commits the current transaction. If you don't call this method, "
|
||
"anything you did since the last call to ``commit()`` is not visible from "
|
||
"other database connections. If you wonder why you don't see the data you've "
|
||
"written to the database, please check you didn't forget to call this method."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:303
|
||
msgid ""
|
||
"This method rolls back any changes to the database since the last call to :"
|
||
"meth:`commit`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:308
|
||
msgid ""
|
||
"This closes the database connection. Note that this does not automatically "
|
||
"call :meth:`commit`. If you just close your database connection without "
|
||
"calling :meth:`commit` first, your changes will be lost!"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:314
|
||
msgid ""
|
||
"This is a nonstandard shortcut that creates a cursor object by calling the :"
|
||
"meth:`~Connection.cursor` method, calls the cursor's :meth:`~Cursor.execute` "
|
||
"method with the *parameters* given, and returns the cursor."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:321
|
||
msgid ""
|
||
"This is a nonstandard shortcut that creates a cursor object by calling the :"
|
||
"meth:`~Connection.cursor` method, calls the cursor's :meth:`~Cursor."
|
||
"executemany` method with the *parameters* given, and returns the cursor."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:328
|
||
msgid ""
|
||
"This is a nonstandard shortcut that creates a cursor object by calling the :"
|
||
"meth:`~Connection.cursor` method, calls the cursor's :meth:`~Cursor."
|
||
"executescript` method with the given *sql_script*, and returns the cursor."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:335
|
||
msgid ""
|
||
"Creates a user-defined function that you can later use from within SQL "
|
||
"statements under the function name *name*. *num_params* is the number of "
|
||
"parameters the function accepts (if *num_params* is -1, the function may "
|
||
"take any number of arguments), and *func* is a Python callable that is "
|
||
"called as the SQL function."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:341
|
||
msgid ""
|
||
"The function can return any of the types supported by SQLite: bytes, str, "
|
||
"int, float and ``None``."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:344 ../Doc/library/sqlite3.rst:361
|
||
#: ../Doc/library/sqlite3.rst:475 ../Doc/library/sqlite3.rst:575
|
||
msgid "Example:"
|
||
msgstr "Exemple :"
|
||
|
||
#: ../Doc/library/sqlite3.rst:351
|
||
msgid "Creates a user-defined aggregate function."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:353
|
||
msgid ""
|
||
"The aggregate class must implement a ``step`` method, which accepts the "
|
||
"number of parameters *num_params* (if *num_params* is -1, the function may "
|
||
"take any number of arguments), and a ``finalize`` method which will return "
|
||
"the final result of the aggregate."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:358
|
||
msgid ""
|
||
"The ``finalize`` method can return any of the types supported by SQLite: "
|
||
"bytes, str, int, float and ``None``."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:368
|
||
msgid ""
|
||
"Creates a collation with the specified *name* and *callable*. The callable "
|
||
"will be passed two string arguments. It should return -1 if the first is "
|
||
"ordered lower than the second, 0 if they are ordered equal and 1 if the "
|
||
"first is ordered higher than the second. Note that this controls sorting "
|
||
"(ORDER BY in SQL) so your comparisons don't affect other SQL operations."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:374
|
||
msgid ""
|
||
"Note that the callable will get its parameters as Python bytestrings, which "
|
||
"will normally be encoded in UTF-8."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:377
|
||
msgid ""
|
||
"The following example shows a custom collation that sorts \"the wrong way\":"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:381
|
||
msgid ""
|
||
"To remove a collation, call ``create_collation`` with ``None`` as callable::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:388
|
||
msgid ""
|
||
"You can call this method from a different thread to abort any queries that "
|
||
"might be executing on the connection. The query will then abort and the "
|
||
"caller will get an exception."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:395
|
||
msgid ""
|
||
"This routine registers a callback. The callback is invoked for each attempt "
|
||
"to access a column of a table in the database. The callback should return :"
|
||
"const:`SQLITE_OK` if access is allowed, :const:`SQLITE_DENY` if the entire "
|
||
"SQL statement should be aborted with an error and :const:`SQLITE_IGNORE` if "
|
||
"the column should be treated as a NULL value. These constants are available "
|
||
"in the :mod:`sqlite3` module."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:402
|
||
msgid ""
|
||
"The first argument to the callback signifies what kind of operation is to be "
|
||
"authorized. The second and third argument will be arguments or :const:`None` "
|
||
"depending on the first argument. The 4th argument is the name of the "
|
||
"database (\"main\", \"temp\", etc.) if applicable. The 5th argument is the "
|
||
"name of the inner-most trigger or view that is responsible for the access "
|
||
"attempt or :const:`None` if this access attempt is directly from input SQL "
|
||
"code."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:409
|
||
msgid ""
|
||
"Please consult the SQLite documentation about the possible values for the "
|
||
"first argument and the meaning of the second and third argument depending on "
|
||
"the first one. All necessary constants are available in the :mod:`sqlite3` "
|
||
"module."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:416
|
||
msgid ""
|
||
"This routine registers a callback. The callback is invoked for every *n* "
|
||
"instructions of the SQLite virtual machine. This is useful if you want to "
|
||
"get called from SQLite during long-running operations, for example to update "
|
||
"a GUI."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:421
|
||
msgid ""
|
||
"If you want to clear any previously installed progress handler, call the "
|
||
"method with :const:`None` for *handler*."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:424
|
||
msgid ""
|
||
"Returning a non-zero value from the handler function will terminate the "
|
||
"currently executing query and cause it to raise an :exc:`OperationalError` "
|
||
"exception."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:431
|
||
msgid ""
|
||
"Registers *trace_callback* to be called for each SQL statement that is "
|
||
"actually executed by the SQLite backend."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:434
|
||
msgid ""
|
||
"The only argument passed to the callback is the statement (as string) that "
|
||
"is being executed. The return value of the callback is ignored. Note that "
|
||
"the backend does not only run statements passed to the :meth:`Cursor."
|
||
"execute` methods. Other sources include the transaction management of the "
|
||
"Python module and the execution of triggers defined in the current database."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:440
|
||
msgid ""
|
||
"Passing :const:`None` as *trace_callback* will disable the trace callback."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:447
|
||
msgid ""
|
||
"This routine allows/disallows the SQLite engine to load SQLite extensions "
|
||
"from shared libraries. SQLite extensions can define new functions, "
|
||
"aggregates or whole new virtual table implementations. One well-known "
|
||
"extension is the fulltext-search extension distributed with SQLite."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:452 ../Doc/library/sqlite3.rst:464
|
||
msgid "Loadable extensions are disabled by default. See [#f1]_."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:460
|
||
msgid ""
|
||
"This routine loads a SQLite extension from a shared library. You have to "
|
||
"enable extension loading with :meth:`enable_load_extension` before you can "
|
||
"use this routine."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:470
|
||
msgid ""
|
||
"You can change this attribute to a callable that accepts the cursor and the "
|
||
"original row as a tuple and will return the real result row. This way, you "
|
||
"can implement more advanced ways of returning results, such as returning an "
|
||
"object that can also access columns by name."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:479
|
||
msgid ""
|
||
"If returning a tuple doesn't suffice and you want name-based access to "
|
||
"columns, you should consider setting :attr:`row_factory` to the highly-"
|
||
"optimized :class:`sqlite3.Row` type. :class:`Row` provides both index-based "
|
||
"and case-insensitive name-based access to columns with almost no memory "
|
||
"overhead. It will probably be better than your own custom dictionary-based "
|
||
"approach or even a db_row based solution."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:491
|
||
msgid ""
|
||
"Using this attribute you can control what objects are returned for the "
|
||
"``TEXT`` data type. By default, this attribute is set to :class:`str` and "
|
||
"the :mod:`sqlite3` module will return Unicode objects for ``TEXT``. If you "
|
||
"want to return bytestrings instead, you can set it to :class:`bytes`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:496
|
||
msgid ""
|
||
"You can also set it to any other callable that accepts a single bytestring "
|
||
"parameter and returns the resulting object."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:499
|
||
msgid "See the following example code for illustration:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:506
|
||
msgid ""
|
||
"Returns the total number of database rows that have been modified, inserted, "
|
||
"or deleted since the database connection was opened."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:512
|
||
msgid ""
|
||
"Returns an iterator to dump the database in an SQL text format. Useful when "
|
||
"saving an in-memory database for later restoration. This function provides "
|
||
"the same capabilities as the :kbd:`.dump` command in the :program:`sqlite3` "
|
||
"shell."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:517
|
||
msgid "Example::"
|
||
msgstr "Exemples ::"
|
||
|
||
#: ../Doc/library/sqlite3.rst:531
|
||
msgid "Cursor Objects"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:535
|
||
msgid "A :class:`Cursor` instance has the following attributes and methods."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:539
|
||
msgid ""
|
||
"Executes an SQL statement. The SQL statement may be parameterized (i. e. "
|
||
"placeholders instead of SQL literals). The :mod:`sqlite3` module supports "
|
||
"two kinds of placeholders: question marks (qmark style) and named "
|
||
"placeholders (named style)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:544
|
||
msgid "Here's an example of both styles:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:548
|
||
msgid ""
|
||
":meth:`execute` will only execute a single SQL statement. If you try to "
|
||
"execute more than one statement with it, it will raise a :exc:`.Warning`. "
|
||
"Use :meth:`executescript` if you want to execute multiple SQL statements "
|
||
"with one call."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:556
|
||
msgid ""
|
||
"Executes an SQL command against all parameter sequences or mappings found in "
|
||
"the sequence *seq_of_parameters*. The :mod:`sqlite3` module also allows "
|
||
"using an :term:`iterator` yielding parameters instead of a sequence."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:562
|
||
msgid "Here's a shorter example using a :term:`generator`:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:569
|
||
msgid ""
|
||
"This is a nonstandard convenience method for executing multiple SQL "
|
||
"statements at once. It issues a ``COMMIT`` statement first, then executes "
|
||
"the SQL script it gets as a parameter."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:573
|
||
msgid "*sql_script* can be an instance of :class:`str`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:582
|
||
msgid ""
|
||
"Fetches the next row of a query result set, returning a single sequence, or :"
|
||
"const:`None` when no more data is available."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:588
|
||
msgid ""
|
||
"Fetches the next set of rows of a query result, returning a list. An empty "
|
||
"list is returned when no more rows are available."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:591
|
||
msgid ""
|
||
"The number of rows to fetch per call is specified by the *size* parameter. "
|
||
"If it is not given, the cursor's arraysize determines the number of rows to "
|
||
"be fetched. The method should try to fetch as many rows as indicated by the "
|
||
"size parameter. If this is not possible due to the specified number of rows "
|
||
"not being available, fewer rows may be returned."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:597
|
||
msgid ""
|
||
"Note there are performance considerations involved with the *size* "
|
||
"parameter. For optimal performance, it is usually best to use the arraysize "
|
||
"attribute. If the *size* parameter is used, then it is best for it to retain "
|
||
"the same value from one :meth:`fetchmany` call to the next."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:604
|
||
msgid ""
|
||
"Fetches all (remaining) rows of a query result, returning a list. Note that "
|
||
"the cursor's arraysize attribute can affect the performance of this "
|
||
"operation. An empty list is returned when no rows are available."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:610
|
||
msgid "Close the cursor now (rather than whenever ``__del__`` is called)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:612
|
||
msgid ""
|
||
"The cursor will be unusable from this point forward; a :exc:"
|
||
"`ProgrammingError` exception will be raised if any operation is attempted "
|
||
"with the cursor."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:617
|
||
msgid ""
|
||
"Although the :class:`Cursor` class of the :mod:`sqlite3` module implements "
|
||
"this attribute, the database engine's own support for the determination of "
|
||
"\"rows affected\"/\"rows selected\" is quirky."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:621
|
||
msgid ""
|
||
"For :meth:`executemany` statements, the number of modifications are summed "
|
||
"up into :attr:`rowcount`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:624
|
||
msgid ""
|
||
"As required by the Python DB API Spec, the :attr:`rowcount` attribute \"is "
|
||
"-1 in case no ``executeXX()`` has been performed on the cursor or the "
|
||
"rowcount of the last operation is not determinable by the interface\". This "
|
||
"includes ``SELECT`` statements because we cannot determine the number of "
|
||
"rows a query produced until all rows were fetched."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:630
|
||
msgid ""
|
||
"With SQLite versions before 3.6.5, :attr:`rowcount` is set to 0 if you make "
|
||
"a ``DELETE FROM table`` without any condition."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:635
|
||
msgid ""
|
||
"This read-only attribute provides the rowid of the last modified row. It is "
|
||
"only set if you issued an ``INSERT`` or a ``REPLACE`` statement using the :"
|
||
"meth:`execute` method. For operations other than ``INSERT`` or ``REPLACE`` "
|
||
"or when :meth:`executemany` is called, :attr:`lastrowid` is set to :const:"
|
||
"`None`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:641
|
||
msgid ""
|
||
"If the ``INSERT`` or ``REPLACE`` statement failed to insert the previous "
|
||
"successful rowid is returned."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:644
|
||
msgid "Added support for the ``REPLACE`` statement."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:649
|
||
msgid ""
|
||
"Read/write attribute that controls the number of rows returned by :meth:"
|
||
"`fetchmany`. The default value is 1 which means a single row would be "
|
||
"fetched per call."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:654
|
||
msgid ""
|
||
"This read-only attribute provides the column names of the last query. To "
|
||
"remain compatible with the Python DB API, it returns a 7-tuple for each "
|
||
"column where the last six items of each tuple are :const:`None`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:658
|
||
msgid "It is set for ``SELECT`` statements without any matching rows as well."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:662
|
||
msgid ""
|
||
"This read-only attribute provides the SQLite database :class:`Connection` "
|
||
"used by the :class:`Cursor` object. A :class:`Cursor` object created by "
|
||
"calling :meth:`con.cursor() <Connection.cursor>` will have a :attr:"
|
||
"`connection` attribute that refers to *con*::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:675
|
||
msgid "Row Objects"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:679
|
||
msgid ""
|
||
"A :class:`Row` instance serves as a highly optimized :attr:`~Connection."
|
||
"row_factory` for :class:`Connection` objects. It tries to mimic a tuple in "
|
||
"most of its features."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:683
|
||
msgid ""
|
||
"It supports mapping access by column name and index, iteration, "
|
||
"representation, equality testing and :func:`len`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:686
|
||
msgid ""
|
||
"If two :class:`Row` objects have exactly the same columns and their members "
|
||
"are equal, they compare equal."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:691
|
||
msgid ""
|
||
"This method returns a list of column names. Immediately after a query, it is "
|
||
"the first member of each tuple in :attr:`Cursor.description`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:694
|
||
msgid "Added support of slicing."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:697
|
||
msgid "Let's assume we initialize a table as in the example given above::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:709
|
||
msgid "Now we plug :class:`Row` in::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:741
|
||
msgid "Exceptions"
|
||
msgstr "Les exceptions"
|
||
|
||
#: ../Doc/library/sqlite3.rst:745
|
||
msgid "A subclass of :exc:`Exception`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:749
|
||
msgid ""
|
||
"The base class of the other exceptions in this module. It is a subclass of :"
|
||
"exc:`Exception`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:754
|
||
msgid "Exception raised for errors that are related to the database."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:758
|
||
msgid ""
|
||
"Exception raised when the relational integrity of the database is affected, "
|
||
"e.g. a foreign key check fails. It is a subclass of :exc:`DatabaseError`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:763
|
||
msgid ""
|
||
"Exception raised for programming errors, e.g. table not found or already "
|
||
"exists, syntax error in the SQL statement, wrong number of parameters "
|
||
"specified, etc. It is a subclass of :exc:`DatabaseError`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:771
|
||
msgid "SQLite and Python types"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:775
|
||
msgid "Introduction"
|
||
msgstr "Introduction"
|
||
|
||
#: ../Doc/library/sqlite3.rst:777
|
||
msgid ""
|
||
"SQLite natively supports the following types: ``NULL``, ``INTEGER``, "
|
||
"``REAL``, ``TEXT``, ``BLOB``."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:780
|
||
msgid ""
|
||
"The following Python types can thus be sent to SQLite without any problem:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:783 ../Doc/library/sqlite3.rst:800
|
||
msgid "Python type"
|
||
msgstr "Type Python"
|
||
|
||
#: ../Doc/library/sqlite3.rst:783 ../Doc/library/sqlite3.rst:800
|
||
msgid "SQLite type"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:785 ../Doc/library/sqlite3.rst:802
|
||
msgid ":const:`None`"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:785 ../Doc/library/sqlite3.rst:802
|
||
msgid "``NULL``"
|
||
msgstr "``NULL``"
|
||
|
||
#: ../Doc/library/sqlite3.rst:787 ../Doc/library/sqlite3.rst:804
|
||
msgid ":class:`int`"
|
||
msgstr ":class:`int`"
|
||
|
||
#: ../Doc/library/sqlite3.rst:787 ../Doc/library/sqlite3.rst:804
|
||
msgid "``INTEGER``"
|
||
msgstr "``INTEGER``"
|
||
|
||
#: ../Doc/library/sqlite3.rst:789 ../Doc/library/sqlite3.rst:806
|
||
msgid ":class:`float`"
|
||
msgstr ":class:`float`"
|
||
|
||
#: ../Doc/library/sqlite3.rst:789 ../Doc/library/sqlite3.rst:806
|
||
msgid "``REAL``"
|
||
msgstr "``REAL``"
|
||
|
||
#: ../Doc/library/sqlite3.rst:791
|
||
msgid ":class:`str`"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:791 ../Doc/library/sqlite3.rst:808
|
||
msgid "``TEXT``"
|
||
msgstr "``TEXT``"
|
||
|
||
#: ../Doc/library/sqlite3.rst:793 ../Doc/library/sqlite3.rst:811
|
||
msgid ":class:`bytes`"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:793 ../Doc/library/sqlite3.rst:811
|
||
msgid "``BLOB``"
|
||
msgstr "``BLOB``"
|
||
|
||
#: ../Doc/library/sqlite3.rst:797
|
||
msgid "This is how SQLite types are converted to Python types by default:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:808
|
||
msgid "depends on :attr:`~Connection.text_factory`, :class:`str` by default"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:814
|
||
msgid ""
|
||
"The type system of the :mod:`sqlite3` module is extensible in two ways: you "
|
||
"can store additional Python types in a SQLite database via object "
|
||
"adaptation, and you can let the :mod:`sqlite3` module convert SQLite types "
|
||
"to different Python types via converters."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:821
|
||
msgid "Using adapters to store additional Python types in SQLite databases"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:823
|
||
msgid ""
|
||
"As described before, SQLite supports only a limited set of types natively. "
|
||
"To use other Python types with SQLite, you must **adapt** them to one of the "
|
||
"sqlite3 module's supported types for SQLite: one of NoneType, int, float, "
|
||
"str, bytes."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:828
|
||
msgid ""
|
||
"There are two ways to enable the :mod:`sqlite3` module to adapt a custom "
|
||
"Python type to one of the supported ones."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:833
|
||
msgid "Letting your object adapt itself"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:835
|
||
msgid ""
|
||
"This is a good approach if you write the class yourself. Let's suppose you "
|
||
"have a class like this::"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:842
|
||
msgid ""
|
||
"Now you want to store the point in a single SQLite column. First you'll "
|
||
"have to choose one of the supported types first to be used for representing "
|
||
"the point. Let's just use str and separate the coordinates using a "
|
||
"semicolon. Then you need to give your class a method ``__conform__(self, "
|
||
"protocol)`` which must return the converted value. The parameter *protocol* "
|
||
"will be :class:`PrepareProtocol`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:852
|
||
msgid "Registering an adapter callable"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:854
|
||
msgid ""
|
||
"The other possibility is to create a function that converts the type to the "
|
||
"string representation and register the function with :meth:"
|
||
"`register_adapter`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:859
|
||
msgid ""
|
||
"The :mod:`sqlite3` module has two default adapters for Python's built-in :"
|
||
"class:`datetime.date` and :class:`datetime.datetime` types. Now let's "
|
||
"suppose we want to store :class:`datetime.datetime` objects not in ISO "
|
||
"representation, but as a Unix timestamp."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:868
|
||
msgid "Converting SQLite values to custom Python types"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:870
|
||
msgid ""
|
||
"Writing an adapter lets you send custom Python types to SQLite. But to make "
|
||
"it really useful we need to make the Python to SQLite to Python roundtrip "
|
||
"work."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:873
|
||
msgid "Enter converters."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:875
|
||
msgid ""
|
||
"Let's go back to the :class:`Point` class. We stored the x and y coordinates "
|
||
"separated via semicolons as strings in SQLite."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:878
|
||
msgid ""
|
||
"First, we'll define a converter function that accepts the string as a "
|
||
"parameter and constructs a :class:`Point` object from it."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:883
|
||
msgid ""
|
||
"Converter functions **always** get called with a :class:`bytes` object, no "
|
||
"matter under which data type you sent the value to SQLite."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:892
|
||
msgid ""
|
||
"Now you need to make the :mod:`sqlite3` module know that what you select "
|
||
"from the database is actually a point. There are two ways of doing this:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:895
|
||
msgid "Implicitly via the declared type"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:897
|
||
msgid "Explicitly via the column name"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:899
|
||
msgid ""
|
||
"Both ways are described in section :ref:`sqlite3-module-contents`, in the "
|
||
"entries for the constants :const:`PARSE_DECLTYPES` and :const:"
|
||
"`PARSE_COLNAMES`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:902
|
||
msgid "The following example illustrates both approaches."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:908
|
||
msgid "Default adapters and converters"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:910
|
||
msgid ""
|
||
"There are default adapters for the date and datetime types in the datetime "
|
||
"module. They will be sent as ISO dates/ISO timestamps to SQLite."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:913
|
||
msgid ""
|
||
"The default converters are registered under the name \"date\" for :class:"
|
||
"`datetime.date` and under the name \"timestamp\" for :class:`datetime."
|
||
"datetime`."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:917
|
||
msgid ""
|
||
"This way, you can use date/timestamps from Python without any additional "
|
||
"fiddling in most cases. The format of the adapters is also compatible with "
|
||
"the experimental SQLite date/time functions."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:921
|
||
msgid "The following example demonstrates this."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:925
|
||
msgid ""
|
||
"If a timestamp stored in SQLite has a fractional part longer than 6 numbers, "
|
||
"its value will be truncated to microsecond precision by the timestamp "
|
||
"converter."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:933
|
||
msgid "Controlling Transactions"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:935
|
||
msgid ""
|
||
"By default, the :mod:`sqlite3` module opens transactions implicitly before a "
|
||
"Data Modification Language (DML) statement (i.e. ``INSERT``/``UPDATE``/"
|
||
"``DELETE``/``REPLACE``)."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:939
|
||
msgid ""
|
||
"You can control which kind of ``BEGIN`` statements sqlite3 implicitly "
|
||
"executes (or none at all) via the *isolation_level* parameter to the :func:"
|
||
"`connect` call, or via the :attr:`isolation_level` property of connections."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:943
|
||
msgid ""
|
||
"If you want **autocommit mode**, then set :attr:`isolation_level` to "
|
||
"``None``."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:945
|
||
msgid ""
|
||
"Otherwise leave it at its default, which will result in a plain \"BEGIN\" "
|
||
"statement, or set it to one of SQLite's supported isolation levels: "
|
||
"\"DEFERRED\", \"IMMEDIATE\" or \"EXCLUSIVE\"."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:949
|
||
msgid ""
|
||
"The current transaction state is exposed through the :attr:`Connection."
|
||
"in_transaction` attribute of the connection object."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:952
|
||
msgid ""
|
||
":mod:`sqlite3` used to implicitly commit an open transaction before DDL "
|
||
"statements. This is no longer the case."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:958
|
||
msgid "Using :mod:`sqlite3` efficiently"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:962
|
||
msgid "Using shortcut methods"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:964
|
||
msgid ""
|
||
"Using the nonstandard :meth:`execute`, :meth:`executemany` and :meth:"
|
||
"`executescript` methods of the :class:`Connection` object, your code can be "
|
||
"written more concisely because you don't have to create the (often "
|
||
"superfluous) :class:`Cursor` objects explicitly. Instead, the :class:"
|
||
"`Cursor` objects are created implicitly and these shortcut methods return "
|
||
"the cursor objects. This way, you can execute a ``SELECT`` statement and "
|
||
"iterate over it directly using only a single call on the :class:`Connection` "
|
||
"object."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:976
|
||
msgid "Accessing columns by name instead of by index"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:978
|
||
msgid ""
|
||
"One useful feature of the :mod:`sqlite3` module is the built-in :class:"
|
||
"`sqlite3.Row` class designed to be used as a row factory."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:981
|
||
msgid ""
|
||
"Rows wrapped with this class can be accessed both by index (like tuples) and "
|
||
"case-insensitively by name:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:988
|
||
msgid "Using the connection as a context manager"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:990
|
||
msgid ""
|
||
"Connection objects can be used as context managers that automatically commit "
|
||
"or rollback transactions. In the event of an exception, the transaction is "
|
||
"rolled back; otherwise, the transaction is committed:"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:999
|
||
msgid "Common issues"
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:1002
|
||
msgid "Multithreading"
|
||
msgstr "Multi threads"
|
||
|
||
#: ../Doc/library/sqlite3.rst:1004
|
||
msgid ""
|
||
"Older SQLite versions had issues with sharing connections between threads. "
|
||
"That's why the Python module disallows sharing connections and cursors "
|
||
"between threads. If you still try to do so, you will get an exception at "
|
||
"runtime."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:1008
|
||
msgid ""
|
||
"The only exception is calling the :meth:`~Connection.interrupt` method, "
|
||
"which only makes sense to call from a different thread."
|
||
msgstr ""
|
||
|
||
#: ../Doc/library/sqlite3.rst:1012
|
||
msgid "Footnotes"
|
||
msgstr "Notes"
|
||
|
||
#: ../Doc/library/sqlite3.rst:1013
|
||
msgid ""
|
||
"The sqlite3 module is not built with loadable extension support by default, "
|
||
"because some platforms (notably Mac OS X) have SQLite libraries which are "
|
||
"compiled without this feature. To get loadable extension support, you must "
|
||
"pass --enable-loadable-sqlite-extensions to configure."
|
||
msgstr ""
|