{"ok": true, "next": null, "rows": [{"id": "plugin_hooks:plugin-hook-prepare-connection", "page": "plugin_hooks", "ref": "plugin-hook-prepare-connection", "title": "prepare_connection(conn, database, datasette)", "content": "conn  - sqlite3 connection object \n                     \n                         The connection that is being opened \n                     \n                 \n                 \n                     database  - string \n                     \n                         The name of the database \n                     \n                 \n                 \n                     datasette  -  Datasette class \n                     \n                         You can use this to access plugin configuration options via  datasette.plugin_config(your_plugin_name) \n                     \n                 \n             \n             This hook is called when a new SQLite database connection is created. You can\n                use it to  register custom SQL functions ,\n                aggregates and collations. For example: \n             from datasette import hookimpl\nimport random\n\n\n@hookimpl\ndef prepare_connection(conn):\n    conn.create_function(\n        \"random_integer\", 2, random.randint\n    ) \n             This registers a SQL function called  random_integer  which takes two\n                arguments and can be called like this: \n             select random_integer(1, 10); \n             prepare_connection()  hooks are not called for Datasette's  internal database . \n             Examples:  datasette-jellyfish ,  datasette-jq ,  datasette-haversine ,  datasette-rure", "breadcrumbs": "[\"Plugin hooks\"]", "references": "[{\"href\": \"https://docs.python.org/2/library/sqlite3.html#sqlite3.Connection.create_function\", \"label\": \"register custom SQL functions\"}, {\"href\": \"https://datasette.io/plugins/datasette-jellyfish\", \"label\": \"datasette-jellyfish\"}, {\"href\": \"https://datasette.io/plugins/datasette-jq\", \"label\": \"datasette-jq\"}, {\"href\": \"https://datasette.io/plugins/datasette-haversine\", \"label\": \"datasette-haversine\"}, {\"href\": \"https://datasette.io/plugins/datasette-rure\", \"label\": \"datasette-rure\"}]"}], "truncated": false}