##// END OF EJS Templates
Use single quotes in sql string literal (#13968)...
Use single quotes in sql string literal (#13968) the SQL spec requires that string literals use single quotes and column references (or other identifiers) use double quotes. sqlite permits the use of double quotes for string literals in "unambiguous cases". For some reason, its understanding of what constitutes unambiguous has changed recently - I'm on FreeBSD 14.0-CURRENT with sqlite 3.41.0 - and attempting to do anything with ipython throws a very strange sqlite operation error: ``` [+] ~% ipython --version (test) audrey@daisy [12:18:02 AM] 8.11.0 [+] ~% ipython (test) audrey@daisy [12:18:04 AM] [TerminalIPythonApp] ERROR | Failed to create history session in /usr/home/audrey/.ipython/profile_default/history.sqlite. History will not be saved. Traceback (most recent call last): File "/usr/home/audrey/.virtualenvs/test/lib/python3.9/site-packages/IPython/core/history.py", line 545, in __init__ self.new_session() File "/usr/home/audrey/.virtualenvs/test/lib/python3.9/site-packages/decorator.py", line 232, in fun return caller(func, *(extras + args), **kw) File "/usr/home/audrey/.virtualenvs/test/lib/python3.9/site-packages/IPython/core/history.py", line 60, in only_when_enabled return f(self, *a, **kw) File "/usr/home/audrey/.virtualenvs/test/lib/python3.9/site-packages/IPython/core/history.py", line 570, in new_session cur = conn.execute("""INSERT INTO sessions VALUES (NULL, ?, NULL, sqlite3.OperationalError: no such column: Python 3.9.16 (main, Feb 28 2023, 01:31:45) Type 'copyright', 'credits' or 'license' for more information IPython 8.11.0 -- An enhanced Interactive Python. Type '?' for help. ``` This patch fixes it. idk if this constitutes a bug in sqlite3, but this is, I guess, more correct.

File last commit:

r27329:745fc89c
r28168:9a5baf06 merge
Show More
long_description.rst
37 lines | 1.4 KiB | text/x-rst | RstLexer
/ long_description.rst
Matthias Bussonnier
fix long description
r27317 IPython provides a rich toolkit to help you make the most out of using Python
interactively. Its main components are:
Matthias Bussonnier
3rd attempt at 8.0.0a1
r27329 * A powerful interactive Python shell
* A `Jupyter <https://jupyter.org/>`_ kernel to work with Python code in Jupyter
notebooks and other interactive frontends.
Matthias Bussonnier
fix long description
r27317
The enhanced interactive Python shells have the following main features:
Matthias Bussonnier
3rd attempt at 8.0.0a1
r27329 * Comprehensive object introspection.
Matthias Bussonnier
fix long description
r27317
Matthias Bussonnier
3rd attempt at 8.0.0a1
r27329 * Input history, persistent across sessions.
Matthias Bussonnier
fix long description
r27317
Matthias Bussonnier
3rd attempt at 8.0.0a1
r27329 * Caching of output results during a session with automatically generated
references.
Matthias Bussonnier
fix long description
r27317
Matthias Bussonnier
3rd attempt at 8.0.0a1
r27329 * Extensible tab completion, with support by default for completion of python
variables and keywords, filenames and function keywords.
Matthias Bussonnier
fix long description
r27317
Matthias Bussonnier
3rd attempt at 8.0.0a1
r27329 * Extensible system of 'magic' commands for controlling the environment and
performing many tasks related either to IPython or the operating system.
Matthias Bussonnier
fix long description
r27317
Matthias Bussonnier
3rd attempt at 8.0.0a1
r27329 * A rich configuration system with easy switching between different setups
(simpler than changing $PYTHONSTARTUP environment variables every time).
Matthias Bussonnier
fix long description
r27317
Matthias Bussonnier
3rd attempt at 8.0.0a1
r27329 * Session logging and reloading.
Matthias Bussonnier
fix long description
r27317
Matthias Bussonnier
3rd attempt at 8.0.0a1
r27329 * Extensible syntax processing for special purpose situations.
Matthias Bussonnier
fix long description
r27317
Matthias Bussonnier
3rd attempt at 8.0.0a1
r27329 * Access to the system shell with user-extensible alias system.
Matthias Bussonnier
fix long description
r27317
Matthias Bussonnier
3rd attempt at 8.0.0a1
r27329 * Easily embeddable in other Python programs and GUIs.
Matthias Bussonnier
fix long description
r27317
Matthias Bussonnier
3rd attempt at 8.0.0a1
r27329 * Integrated access to the pdb debugger and the Python profiler.
Matthias Bussonnier
fix long description
r27317
The latest development version is always available from IPython's `GitHub
site <http://github.com/ipython>`_.