in src/limitless/limitless_query_helper.cc [42:71]
bool LimitlessQueryHelper::CheckLimitlessCluster(SQLHDBC conn) {
HSTMT hstmt = SQL_NULL_HSTMT;
SQLRETURN rc = SQLAllocHandle(SQL_HANDLE_STMT, conn, &hstmt);
if (!SQL_SUCCEEDED(rc)) {
return false;
}
rc = SQLExecDirect(hstmt, check_limitless_cluster_query, SQL_NTS);
if (!OdbcHelper::CheckResult(rc, "CheckLimitlessCluster - SQLExecDirect failed", hstmt, SQL_HANDLE_STMT)) {
OdbcHelper::Cleanup(SQL_NULL_HENV, SQL_NULL_HDBC, hstmt);
return false;
}
rc = SQLFetch(hstmt);
if (!OdbcHelper::CheckResult(rc, "CheckLimitlessCluster - SQLFetch failed", hstmt, SQL_HANDLE_STMT)) {
OdbcHelper::Cleanup(SQL_NULL_HENV, SQL_NULL_HDBC, hstmt);
return false;
}
SQLCHAR result[2];
SQLLEN result_len = 0;
rc = SQLGetData(hstmt, 1, SQL_C_CHAR, &result, sizeof(result), &result_len);
if (OdbcHelper::CheckResult(rc, "CheckLimitlessCluster - SQLGetData failed", hstmt, SQL_HANDLE_STMT)) {
OdbcHelper::Cleanup(SQL_NULL_HENV, SQL_NULL_HDBC, hstmt);
return result[0] == '1';
}
OdbcHelper::Cleanup(SQL_NULL_HENV, SQL_NULL_HDBC, hstmt);
return false;
}