Example #1
0
bool MainObject::SetMysqlMetadata(const QString &binlog_name,int binlog_pos)
{
  QString sql;
  QSqlQuery *q;
  QStringList args;
  Config::Address addr;

  //
  // Open Mysql
  //
  addr=Config::PublicAddress;
  if(!OpenMysql(Am::This,addr)) {
    addr=Config::PublicAddress;
    if(!OpenMysql(Am::This,addr)) {
      return false;
    }
  }

  //
  // Set Metadata
  //
  sql="stop slave";
  q=new QSqlQuery(sql,Db());
  delete q;
  sql="reset slave";
  q=new QSqlQuery(sql,Db());
  delete q;
  sql=QString("change master to MASTER_HOST=\"")+
    main_config->address(Am::That,Config::PublicAddress).toString()+"\","+
    "MASTER_USER=\""+main_config->mysqlUsername(Am::This)+"\","+
    "MASTER_PASSWORD=\""+main_config->mysqlPassword(Am::This)+"\","+
    "MASTER_LOG_FILE=\""+binlog_name+"\","+
    "MASTER_LOG_POS="+QString().sprintf("%d",binlog_pos);
  q=new QSqlQuery(sql,Db());
  if(!q->isActive()) {
    syslog(LOG_ERR,"cannot configure replication source in mysql at %s [%s]",
	   (const char *)main_config->address(Am::This,addr).toString().
	   toAscii(),
	   (const char *)q->lastError().text().toAscii());
    delete q;
    CloseMysql();
    return false;
  }
  delete q;
  sql="start slave";
  q=new QSqlQuery(sql,Db());
  delete q;

  CloseMysql();

  return true;
}
Example #2
0
void RpalParser::Dr()
{
  pushProc("Dr()");
  if (_nt == "rec")
  {
    read_token(_nt);
    Db();
    build("rec", 1);
  }
  else
    Db();
  popProc("Dr()");
}
Example #3
0
void CampingConfig::init()
{
	this->clear();

	QSqlQuery query("SELECT key, value FROM config", Db());
	while (query.next()) {
		this->data[query.value(0).toString()] = query.value(1);
	}
}
Example #4
0
BOOL CMyAccessDoc::OnOpenDocument(LPCTSTR lpszPathName) 
{
	if (!CDocument::OnOpenDocument(lpszPathName))
		return FALSE;
	
	// TODO: Add your specialized creation code here
	LPTSTR	 buf;
	INT	     ret;
	INT		 openType;

	// TODO: Add your specialized code here and/or call the base class
	
	CDaoDatabase Db(NULL);
	try{
		Db.Open(lpszPathName,FALSE,FALSE,_T(""));
	}
	catch(CException * e){
		e->ReportError();
		e->Delete();
		return FALSE;
	}
	
	m_sqlDlg.SetDatabase(&Db);
	m_sqlDlg.m_csPath = lpszPathName;


	if(m_sqlDlg.DoModal()!= IDOK) {
		return FALSE;
	}

	openType = m_sqlDlg.GetOpenType();
	
	m_data.SetOption(UGDAO_OPT_GHOSTROWMODE,m_sqlDlg.m_bUseGhost,0L);
	m_data.SetOption(UGDAO_OPT_ALLOWEDITS,m_sqlDlg.m_bAllowEdit,0L);
	m_data.SetOption(UGDAO_OPT_NUMBERSIDEHDG, m_sqlDlg.m_bNumSH, m_sqlDlg.m_bBase1);

	if( dbOpenTable != openType) {
		buf = m_sqlDlg.GetSQLString();
		ret = m_data.Open(lpszPathName,NULL,openType,buf,0);
	}
	else {
		buf = m_sqlDlg.GetTableName();
		ret = m_data.Open(lpszPathName,buf, openType,NULL,0);
	}	



	if(UG_SUCCESS == ret || 3021 == ret)
		return TRUE;
	else
		return FALSE;
}
Example #5
0
void CampingConfig::save()
{
	QMapIterator<QString, QVariant> i(this->data);
	QSqlQuery recordQuery(Db());

	Db().transaction();
	Db().exec("DELETE FROM config");

	while (i.hasNext()) {
		i.next();

		QString queryStr;
		queryStr = "INSERT INTO config(key, value) VALUES (:key, :value)";

		recordQuery.prepare(queryStr);
		recordQuery.bindValue(":value", i.value());
		recordQuery.bindValue(":key", i.key());
		recordQuery.exec();
	}
	Db().commit();

	this->init();
}
Example #6
0
void thiriandispersion(float B, float f, int M, Filter *c)
{
  int N = 2;
  float D;
  D = Db(B,f,M);

  if(D<=1.0) {
    c->n = 2;	
    c->a[0] = 1;
    c->a[1] = 0;
    c->a[2] = 0;
    c->b[0] = 1;
    c->b[1] = 0;
    c->b[2] = 0;	
	init_filter(c);
  } else {
    thirian(D,N,c);
  }
}
Example #7
0
void thiriandispersion(float B, float f, int M, Filter *c)
{
  int N = 2;
  float D;
  D = Db(B,f,M);

  if(D<=1.0) {
	c->x = (float *)RTAlloc(gWorld, sizeof(float) * (N + 1));//new float[N+1];
	c->y = (float *)RTAlloc(gWorld, sizeof(float) * (N + 1));//new float[N+1];
	c->a = (float *)RTAlloc(gWorld, sizeof(float) * (N + 1));//new float[N+1];
	c->b = (float *)RTAlloc(gWorld, sizeof(float) * (N + 1));//new float[N+1];
    memset(c->x,0,(N+1)*sizeof(float));
    memset(c->y,0,(N+1)*sizeof(float));
    c->a[0] = 1;
    c->a[1] = 0;
    c->a[2] = 0;
    c->b[0] = 1;
    c->b[1] = 0;
    c->b[2] = 0;
  } else {
    thirian(D,N,c);
  }
}
Example #8
0
void Thiriandispersion(float B, float f, int M, ThirianT<2> *c)
{
  int N = 2;
  float D;
  D = Db(B,f,M);
	//Print("D dispersion %g\n",D);
  if(D<=1.0) {

	c->setcoeffs(1);
	//for(int i = 0;i<=N;i++)
	//	Print("KernelB %d %g\n",i,c->KernelB[i]);
	//for(int i = 0;i<N;i++)
	//	Print("KernelA %d %g\n",i,c->KernelA[i]);
  } else {
    //thirian(D,N,c);
	c->setcoeffs(D);
	/*
	for(int i = 0;i<=N;i++)
		Print("KernelB %d %g\n",i,c->KernelB[i]);
	for(int i = 0;i<N;i++)
		Print("KernelA %d %g\n",i,c->KernelA[i]);*/
  }
}
Example #9
0
int main ( int argc, char** argv )
{
	if(argc !=2)
		std::cout <<"Usage ./server <DbFilename>\n";

	FileStorage Db(static_cast<std::string>(argv[1]));

	// register the storage system
	database.registerStorage(&Db);

	// load the data from storage if any
	database.loadDataFromStorage();

	// register for signal handler
	registerSignal();

	try
	{
		std::cout << "Server starting on port 15000....\n";
		ServerSocket server ( 15000 );

		while ( true )
		{
			ServerSocket server_sock;
			server.accept ( server_sock );
			try
			{
				while ( true )
				{
					std::string input;
					server_sock >> input;

					std::string key,value;
					std::string result;

					// remove the last \r\n from input string
					input.erase(input.size()-2);

					// space for storing the tokens from input string
					std::vector<std::string> token;
					std::fill(token.begin(), token.end(), "");

					// Parse the input and tokenize it and store in vector for further use
					std::stringstream ss(input);
					std::string s;

					while (getline(ss, s, ' ')) {
						token.push_back(s);
					}

					// Parese rest of input based on first token {SET,GET,SAVE}  
					switch(hashit(token[0]))
					{
						case GET:
							if (2 != token.size())
								goto INVALID;

							key = token[1];
							result = database.get(key);

							// Return the result of GET query
							server_sock <<"$3\n";
							server_sock << result <<"\n";
							break;

						case SET:
							if (3 != token.size())
								goto INVALID;

							key = token[1];
							value = token[2];

							// Store the SET query in memory
							database.add(key,value);
							server_sock <<"+OK\n";

							break;

						case SAVE:
							if (1 != token.size())
								goto INVALID;
							database.persistData();
							server_sock <<"+OK\n";
							break;
INVALID:
						default:
							server_sock << "-INVALID\n";
							break;

					}
				}

			}
			catch ( SocketException& ) {}
		}
	}
	catch ( SocketException& e )
	{
		std::cout << "Exception was caught:" << e.description() << "\nExiting.\n";
	}


	return 0;
}
Example #10
0
static double CalculateSNR(double signal_power, double noise_power) {
    return (noise_power == 0) ? 1000 : Db(signal_power / noise_power);
}