void TestTable::parseSQL()
{
    QString sSQL = "create TABLE hero (\n"
            "\tid integer PRIMARY KEY AUTOINCREMENT,\n"
            "\tname text NOT NULL DEFAULT 'xxxx',\n"
            "\tinfo VARCHAR(255) CHECK (info == 'x')\n"
            ");";

    Table tab = Table::parseSQL(sSQL).first;

    QVERIFY(tab.name() == "hero");
    QVERIFY(tab.rowidColumn() == "_rowid_");
    QVERIFY(tab.fields().at(0)->name() == "id");
    QVERIFY(tab.fields().at(1)->name() == "name");
    QVERIFY(tab.fields().at(2)->name() == "info");

    QVERIFY(tab.fields().at(0)->type() == "integer");
    QVERIFY(tab.fields().at(1)->type() == "text");
    QCOMPARE(tab.fields().at(2)->type(), QString("VARCHAR ( 255 )"));

    FieldVector pk = tab.primaryKey();
    QVERIFY(tab.fields().at(0)->autoIncrement());
    QVERIFY(pk.size() == 1 && pk.at(0) == tab.fields().at(0));
    QVERIFY(tab.fields().at(1)->notnull());
    QCOMPARE(tab.fields().at(1)->defaultValue(), QString("'xxxx'"));
    QCOMPARE(tab.fields().at(1)->check(), QString(""));
    QCOMPARE(tab.fields().at(2)->check(), QString("info == 'x'"));
}
FieldVector IniLogInitialiser::GetFields() {
	mr_inireader::iniFile::SectionIterator it = 
		this->GetSection(this->GetNodeValue(this->m_sectionName, _L_("FieldList")));

	FieldVector fields;
	std::for_each( 
		it->nodes().begin(), it->nodes().end(), PopulateFieldListFromIni(fields) 
	);

	if (fields.empty()) {
		this->ThrowError( 
			this->GetNodeValue(this->m_sectionName, _L_("FieldList")), 
			_L_(""), 
			_L_("There are no valid entries for fields that require logging"));
	}
	return fields;
}
Example #3
0
  ctype volume() const {

    ctype result = 0;
    int numberOfNodes = m_symmetricGaussWeights.size();
    for (int i = 0; i < numberOfNodes; ++i)
      result += integrationElement({m_symmetricGaussNodes[i]}) *
                m_symmetricGaussWeights[i];

    return result;
  }
Example #4
0
Polynomial Polynomial::torusAct(FieldVector const &w)const
{
  Polynomial ret=*this;
  int n=theRing.getNumberOfVariables();
  assert(w.size()==n);
  for(TermMap::iterator i=ret.terms.begin();i!=ret.terms.end();i++)
    {
      FieldElement c=theRing.getField().zHomomorphism(1);
      for(int j=0;j<n;j++)
	for(int k=0;k<i->first.exponent[j];k++)
	  c*=w[j];
      i->second=i->second*c;
    }

  if(isMarked())
    {
      ret.mark(marked.m);
    }
  return ret;
}