1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
from .connection import Connection
from .errors import (
Warning, Error, DataError, DatabaseError, ProgrammingError, IntegrityError,
InterfaceError, InternalError, NotSupportedError, OperationalError
)
from .. import defines
apilevel = '2.0'
threadsafety = 2
paramstyle = 'pyformat'
def connect(dsn=None, host=None,
user=defines.DEFAULT_USER, password=defines.DEFAULT_PASSWORD,
port=defines.DEFAULT_PORT, database=defines.DEFAULT_DATABASE,
**kwargs):
"""
Create a new database connection.
The connection can be specified via DSN:
``conn = connect("clickhouse://localhost/test?param1=value1&...")``
or using database and credentials arguments:
``conn = connect(database="test", user="default", password="default",
host="localhost", **kwargs)``
The basic connection parameters are:
- *host*: host with running ClickHouse server.
- *port*: port ClickHouse server is bound to.
- *database*: database connect to.
- *user*: database user.
- *password*: user's password.
See defaults in :data:`~clickhouse_driver.connection.Connection`
constructor.
DSN or host is required.
Any other keyword parameter will be passed to the underlying Connection
class.
:return: a new connection.
"""
if dsn is None and host is None:
raise ValueError('host or dsn is required')
return Connection(dsn=dsn, user=user, password=password, host=host,
port=port, database=database, **kwargs)
__all__ = [
'connect',
'Warning', 'Error', 'DataError', 'DatabaseError', 'ProgrammingError',
'IntegrityError', 'InterfaceError', 'InternalError', 'NotSupportedError',
'OperationalError'
]
|