Navid Ashrafi

24 papers B 5Journal 11Unranked 8
YearRankTypeTitle / Venue / Authors
2025 conf
HCI (28)
Navid Ashrafi, Philipp Graf, Manuela Marquardt, Francesco Vona, Julia Schorlemmer, Jan-Niklas Voigt-Antons
2025 J jnl
CoRR
Navid Ashrafi, Philipp Graf, Manuela Marquardt, Francesco Vona, Julia Schorlemmer, Jan-Niklas Voigt-Antons
2025 conf
VR Workshops
Francesco Vona, Julia Schorlemmer, Michael Stern, Navid Ashrafi, Maurizio Vergari, Tanja Kojic, Jan-Niklas Voigt-Antons
2025 J jnl
CoRR
Francesco Vona, Julia Schorlemmer, Michael Stern, Navid Ashrafi, Maurizio Vergari, Tanja Kojic, Jan-Niklas Voigt-Antons
2025 conf
HCI (83)
Navid Ashrafi, Julia Schorlemmer, Francesco Vona, Tanja Kojic, Stefan Hillmann, Ali Braytee, Yu-Kai Wang, A. Baki Kocaballi, Catarina Moreira, Sebastian Möller, Jan-Niklas Voigt-Antons
2025 conf
IVA (Adjunct)
Navid Ashrafi, Julia Schorlemmer, Francesco Vona, Tanja Kojic, Stefan Hillmann, Ali Braytee, Yu-Kai Wang, A. Baki Kocaballi, Catarina Moreira, Sebastian Möller, Jan-Niklas Voigt-Antons
2025 conf
HCI (1)
Francesco Vona, Evelyn Romanjuk, Sina Hinzmann, Julia Schorlemmer, Navid Ashrafi, Jan-Niklas Voigt-Antons
2025 J jnl
CoRR
Francesco Vona, Evelyn Romanjuk, Sina Hinzmann, Julia Schorlemmer, Navid Ashrafi, Jan-Niklas Voigt-Antons
2025 conf
HCI (25)
Francesco Vona, Michael Stern, Navid Ashrafi, Julia Schorlemmer, Jessica Stemann, Jan-Niklas Voigt-Antons
2025 J jnl
CoRR
Francesco Vona, Michael Stern, Navid Ashrafi, Julia Schorlemmer, Jessica Stemann, Jan-Niklas Voigt-Antons
2025 B conf
QoMEX
Navid Ashrafi, Francesco Vona, Sina Hinzmann, Juliane Henning, Maurizio Vergari, Maximilian Warsinke, Catarina Pinto Moreira, Jan-Niklas Voigt-Antons
2025 J jnl
CoRR
Navid Ashrafi, Francesco Vona, Sina Hinzmann, Juliane Henning, Maurizio Vergari, Maximilian Warsinke, Catarina Pinto Moreira, Jan-Niklas Voigt-Antons
2024 B conf
QoMEX
Robert P. Spang, Maximilian Warsinke, Vera Schmitt, Luis Felipe Villa-Arenas, Navid Ashrafi, Sebastian Möller
2024 conf
HCI (3)
Navid Ashrafi, Vanessa Neuhaus, Francesco Vona, Nicolina Laura Peperkorn, Youssef Shiban, Jan-Niklas Voigt-Antons
2024 J jnl
CoRR
Navid Ashrafi, Vanessa Neuhaus, Francesco Vona, Nicolina Laura Peperkorn, Youssef Shiban, Jan-Niklas Voigt-Antons
2024 conf
ISMAR-Adjunct
Navid Ashrafi, Francesco Vona, Carina Ringsdorf, Christian Hertel, Luca Toni, Sarina Kailer, Alice Bartels, Tanja Kojic, Jan-Niklas Voigt-Antons
2024 J jnl
CoRR
Navid Ashrafi, Francesco Vona, Carina Ringsdorf, Christian Hertel, Luca Toni, Sarina Kailer, Alice Bartels, Tanja Kojic, Jan-Niklas Voigt-Antons
2024 J jnl
CoRR
Jan-Niklas Voigt-Antons, Zhirou Sun, Maurizio Vergari, Navid Ashrafi, Francesco Vona, Tanja Kojic
2024 B conf
QoMEX
Francesco Vona, Michael Stern, Navid Ashrafi, Tanja Kojic, Sina Hinzmann, David Grieshammer, Jan-Niklas Voigt-Antons
2024 J jnl
CoRR
Francesco Vona, Sina Hinzmann, Michael Stern, Tanja Kojic, Navid Ashrafi, David Grieshammer, Jan-Niklas Voigt-Antons
2024 J jnl
CoRR
Navid Ashrafi, Vera Schmitt, Robert P. Spang, Sebastian Möller, Jan-Niklas Voigt-Antons
2024 B conf
VRST
Navid Ashrafi, Francesco Vona, Sina Hinzmann, Philipp Graf, Philipp Harnisch, Jan-Niklas Voigt-Antons
2024 J jnl
CoRR
Navid Ashrafi, Francesco Vona, Philipp Graf, Philipp Harnisch, Sina Hinzmann, Jan-Niklas Voigt-Antons
2023 B conf
QoMEX
Navid Ashrafi, Vera Schmitt, Robert P. Spang, Sebastian Möller, Jan-Niklas Voigt-Antons
redb/settings/clickhouse.py
← Index redb/settings/clickhouse.py python
import os
import clickhouse_connect
from dotenv import load_dotenv

load_dotenv()

# ClickHouse configuration
CLICKHOUSE_HOST = os.getenv("CLICKHOUSE_HOST")
CLICKHOUSE_PORT = os.getenv("CLICKHOUSE_PORT", "9000")
CLICKHOUSE_USER = os.getenv("CLICKHOUSE_USER")
CLICKHOUSE_PASSWORD = os.getenv("CLICKHOUSE_PASSWORD")
CLICKHOUSE_DATABASE = os.getenv("CLICKHOUSE_DATABASE", "default")
CLICKHOUSE_ENFORCE_SSL = os.getenv("CLICKHOUSE_ENFORCE_SSL", "False")

# Cached client instance
_clickhouse_client = None

def get_clickhouse_client():
    """Get ClickHouse client with lazy initialization and caching"""
    global _clickhouse_client
    
    if _clickhouse_client is None:
        _clickhouse_client = clickhouse_connect.get_client(
            host=CLICKHOUSE_HOST,
            port=CLICKHOUSE_PORT,
            user=CLICKHOUSE_USER,
            password=CLICKHOUSE_PASSWORD,
            database=CLICKHOUSE_DATABASE,
            verify=CLICKHOUSE_ENFORCE_SSL,
            settings={
                'max_execution_time': 3600,  # 1 hour timeout
                'connect_timeout': 30,
                'receive_timeout': 30,
                'send_timeout': 30
            }
        )
    
    return _clickhouse_client

def create_clickhouse_client():
    """Create a new ClickHouse client connection (legacy function)"""
    return get_clickhouse_client()

CLICKHOUSE_BINARIES_TABLE = os.getenv("CLICKHOUSE_BINARIES_TABLE", "binaries")