some improvment
This commit is contained in:
parent
0f13da95e8
commit
09877631d2
2
nut.pri
2
nut.pri
|
|
@ -1,4 +1,4 @@
|
|||
QT += core widgets sql
|
||||
QT += core sql
|
||||
|
||||
INCLUDEPATH += $$PWD/include
|
||||
|
||||
|
|
|
|||
|
|
@ -307,8 +307,6 @@ Database::Database(QObject *parent)
|
|||
Q_D(Database);
|
||||
// d->changeLogs->sett
|
||||
DatabasePrivate::lastId++;
|
||||
// m__change_logs = new TableSet<ChangeLogTable>(this);
|
||||
qDebug() << "normal constructor called in database";
|
||||
}
|
||||
|
||||
Database::Database(const Database &other, QObject *parent)
|
||||
|
|
@ -323,9 +321,6 @@ Database::Database(const Database &other, QObject *parent)
|
|||
setDatabaseName(other.databaseName());
|
||||
setUserName(other.userName());
|
||||
setPassword(other.password());
|
||||
|
||||
qDebug() << "copy constructor called in database";
|
||||
// m__change_logs = new TableSet<ChangeLogTable>(this);
|
||||
}
|
||||
|
||||
Database::~Database()
|
||||
|
|
@ -504,7 +499,6 @@ QSqlQuery Database::exec(QString sql)
|
|||
{
|
||||
Q_D(Database);
|
||||
|
||||
qInfo("Execute command: %s", qPrintable(sql));
|
||||
QSqlQuery q = d->db.exec(sql);
|
||||
if (d->db.lastError().type() != QSqlError::NoError)
|
||||
qWarning("Error executing sql command: %s; Command=%s",
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ TableModel *DatabaseModel::modelByClass(QString className) const
|
|||
{
|
||||
for(int i = 0; i < size(); i++){
|
||||
TableModel *s = at(i);
|
||||
qDebug() << s->className();
|
||||
|
||||
if(s->className() == className)
|
||||
return s;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@ Q_OUTOFLINE_TEMPLATE QList<T *> Query<T>::toList(int count)
|
|||
d->orderPhrases,
|
||||
d->tableName,
|
||||
d->joinClassName);
|
||||
qDebug() << sql;
|
||||
|
||||
QSqlQuery q = d->database->exec(sql);
|
||||
|
||||
// QString pk = TableModel::findByName(d->tableName)->primaryKey();
|
||||
|
|
@ -211,7 +211,6 @@ Q_OUTOFLINE_TEMPLATE QList<F> Query<T>::select(const FieldPhrase<F> f)
|
|||
d->joinClassName);
|
||||
QSqlQuery q = d->database->exec(sql);
|
||||
|
||||
qDebug() << sql;
|
||||
while (q.next()) {
|
||||
QVariant v = q.value(f.data()->text);
|
||||
ret.append(v.value<F>());
|
||||
|
|
@ -241,7 +240,6 @@ Q_OUTOFLINE_TEMPLATE int Query<T>::count()
|
|||
d->select = "COUNT(*)";
|
||||
QSqlQuery q = d->database->exec(d->database->sqlGenertor()->selectCommand("COUNT(*)", d->wheres, d->orders, d->tableName, d->joinClassName));
|
||||
|
||||
qDebug() << "sql="<<d->database->sqlGenertor()->selectCommand("COUNT(*)", d->wheres, d->orders, d->tableName, d->joinClassName);
|
||||
if(q.next())
|
||||
return q.value(0).toInt();
|
||||
return 0;
|
||||
|
|
@ -322,7 +320,6 @@ Q_OUTOFLINE_TEMPLATE int Query<T>::update(WherePhrase phrase)
|
|||
phrase,
|
||||
d->wheres,
|
||||
d->tableName);
|
||||
qDebug() << sql;
|
||||
QSqlQuery q = d->database->exec(sql);
|
||||
|
||||
if (m_autoDelete)
|
||||
|
|
@ -338,7 +335,6 @@ Q_OUTOFLINE_TEMPLATE int Query<T>::remove()
|
|||
QString sql = d->database->sqlGenertor()->deleteCommand(
|
||||
d->wheres,
|
||||
d->tableName);
|
||||
qDebug() << sql;
|
||||
QSqlQuery q = d->database->exec(sql);
|
||||
return q.numRowsAffected();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -93,7 +93,6 @@ QStringList SqlGeneratorBase::diff(DatabaseModel lastModel, DatabaseModel newMod
|
|||
TableModel *oldTable = lastModel.model(tableName);
|
||||
TableModel *newTable = newModel.model(tableName);
|
||||
QString sql = diff(oldTable, newTable);
|
||||
qDebug() << "diff sql"<<sql;
|
||||
ret << sql;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ TableModel::TableModel(int typeId, QString tableName)
|
|||
_typeId = typeId;
|
||||
_name = tableName;
|
||||
_className = tableMetaObject->className();
|
||||
qDebug() << "my name is" << _className;
|
||||
|
||||
//#ifdef NUT_NAMESPACE
|
||||
// if(_className.startsWith(QT_STRINGIFY(NUT_NAMESPACE) "::"))
|
||||
// _className = _className.replace(QT_STRINGIFY(NUT_NAMESPACE) "::", "");
|
||||
|
|
@ -191,10 +191,6 @@ qDebug() << "my name is" << _className;
|
|||
continue;
|
||||
fieldObj->type = fieldProperty.type();
|
||||
fieldObj->typeName = QString(fieldProperty.typeName());
|
||||
// qDebug() <<"fieldProperty.type()"
|
||||
// <<fieldProperty.typeName()
|
||||
// << fieldProperty.type()
|
||||
// << fieldObj->type;
|
||||
}
|
||||
|
||||
// Browse class infos
|
||||
|
|
|
|||
|
|
@ -25,41 +25,43 @@
|
|||
|
||||
NUT_BEGIN_NAMESPACE
|
||||
|
||||
PhraseData::PhraseData(const char *className, const char *s){
|
||||
text = QString(s);// QString(className) + "." + s;
|
||||
PhraseData::PhraseData(const char *className, const char *s)
|
||||
{
|
||||
Q_UNUSED(className)
|
||||
text = QString(s); // QString(className) + "." + s;
|
||||
type = Field;
|
||||
operatorCond = NotAssign;
|
||||
// qDebug() << "(" << this << ")" << "Data type 0";
|
||||
}
|
||||
|
||||
PhraseData::PhraseData(PhraseData *l, PhraseData::Condition o) : left(l){
|
||||
PhraseData::PhraseData(PhraseData *l, PhraseData::Condition o) : left(l)
|
||||
{
|
||||
operatorCond = o;
|
||||
type = WithoutOperand;
|
||||
// qDebug() << "(" << this << ")" << "Data type 1";
|
||||
}
|
||||
|
||||
PhraseData::PhraseData(PhraseData *l, PhraseData::Condition o, const PhraseData *r) : left(l), right(r){
|
||||
PhraseData::PhraseData(PhraseData *l, PhraseData::Condition o,
|
||||
const PhraseData *r)
|
||||
: left(l), right(r)
|
||||
{
|
||||
operatorCond = o;
|
||||
type = WithOther;
|
||||
// qDebug() << "(" << this << ")" << "Data type 2";
|
||||
}
|
||||
|
||||
PhraseData::PhraseData(PhraseData *l, PhraseData::Condition o, QVariant r) : left(l), operand(r){
|
||||
PhraseData::PhraseData(PhraseData *l, PhraseData::Condition o, QVariant r)
|
||||
: left(l), operand(r)
|
||||
{
|
||||
operatorCond = o;
|
||||
type = WithVariant;
|
||||
// qDebug() << "(" << this << ")" << "Data type 1";
|
||||
}
|
||||
|
||||
PhraseData::~PhraseData(){
|
||||
// qDebug() << "(" << this << ")" << "Data Deleting..." << type;
|
||||
if(type == WithOther){
|
||||
// qDebug() << " - Other" << left << right;
|
||||
PhraseData::~PhraseData()
|
||||
{
|
||||
if (type == WithOther) {
|
||||
delete left;
|
||||
delete right;
|
||||
}
|
||||
if(type == WithVariant){
|
||||
// qDebug() << " - Variant" << left;
|
||||
if(left)
|
||||
if (type == WithVariant) {
|
||||
if (left)
|
||||
delete left;
|
||||
}
|
||||
}
|
||||
|
|
@ -71,15 +73,12 @@ PhraseData *WherePhrase::data() const
|
|||
|
||||
WherePhrase::WherePhrase(const char *className, const char *s)
|
||||
{
|
||||
// qDebug() << "(" << this << ")" << "class ctor" << className << s;
|
||||
_data = new PhraseData(className, s);
|
||||
}
|
||||
|
||||
WherePhrase::WherePhrase(const WherePhrase &l)
|
||||
{
|
||||
_data = l._data;
|
||||
// l._data = 0;
|
||||
// qDebug() << "(" << this << ")" << "Copy ctor, from" << _data << (&l);
|
||||
_dataPointer = QSharedPointer<PhraseData>(l._dataPointer);
|
||||
}
|
||||
|
||||
|
|
@ -87,8 +86,6 @@ WherePhrase::WherePhrase(WherePhrase *l)
|
|||
{
|
||||
_data = l->_data;
|
||||
|
||||
// qDebug() << "(" << this << ")" << "From pointer" << _data;
|
||||
// _dataPointer = QSharedPointer<PhraseData>(_data);
|
||||
l->_data = 0;
|
||||
l->_dataPointer.reset(0);
|
||||
}
|
||||
|
|
@ -96,21 +93,17 @@ WherePhrase::WherePhrase(WherePhrase *l)
|
|||
WherePhrase::WherePhrase(WherePhrase *l, PhraseData::Condition o)
|
||||
{
|
||||
_data = new PhraseData(l->_data, o);
|
||||
// _dataPointer = QSharedPointer<PhraseData>(_data);
|
||||
l->_data = 0;
|
||||
// qDebug() << "(" << this << ")" << "From cond, " << _data << o;
|
||||
l->_dataPointer.reset(0);
|
||||
}
|
||||
|
||||
|
||||
WherePhrase::WherePhrase(WherePhrase *l, PhraseData::Condition o, WherePhrase *r)
|
||||
WherePhrase::WherePhrase(WherePhrase *l, PhraseData::Condition o,
|
||||
WherePhrase *r)
|
||||
{
|
||||
_data = new PhraseData(l->_data, o, r->_data);
|
||||
// _dataPointer = QSharedPointer<PhraseData>(_data);
|
||||
l->_data = 0;
|
||||
r->_data = 0;
|
||||
|
||||
// qDebug() << "(" << this << ")" << "From two pointer" << _data;
|
||||
l->_dataPointer.reset(0);
|
||||
r->_dataPointer.reset(0);
|
||||
}
|
||||
|
|
@ -118,133 +111,123 @@ WherePhrase::WherePhrase(WherePhrase *l, PhraseData::Condition o, WherePhrase *r
|
|||
WherePhrase::WherePhrase(WherePhrase *l, PhraseData::Condition o, QVariant r)
|
||||
{
|
||||
_data = new PhraseData(l->_data, o, r);
|
||||
// _dataPointer = QSharedPointer<PhraseData>(_data);
|
||||
l->_data = 0;
|
||||
|
||||
// qDebug() << "(" << this << ")" << "From variant," << _data << l << r;
|
||||
l->_dataPointer.reset(0);
|
||||
}
|
||||
|
||||
WherePhrase::~WherePhrase()
|
||||
{
|
||||
// qDebug() << "(" << this << ")" << "Dtor" << _data << _dataPointer.data();
|
||||
// if(_data){
|
||||
// delete _data;
|
||||
// qDebug() << "deleted";
|
||||
// }
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator ==(const WherePhrase &other)
|
||||
WherePhrase WherePhrase::operator==(const WherePhrase &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::Equal, (WherePhrase*)&other);
|
||||
return WherePhrase(this, PhraseData::Equal, (WherePhrase *)&other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator !=(const WherePhrase &other)
|
||||
WherePhrase WherePhrase::operator!=(const WherePhrase &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::NotEqual, (WherePhrase*)&other);
|
||||
return WherePhrase(this, PhraseData::NotEqual, (WherePhrase *)&other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator <(const WherePhrase &other)
|
||||
WherePhrase WherePhrase::operator<(const WherePhrase &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::Less, (WherePhrase*)&other);
|
||||
return WherePhrase(this, PhraseData::Less, (WherePhrase *)&other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator >(const WherePhrase &other)
|
||||
WherePhrase WherePhrase::operator>(const WherePhrase &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::Greater, (WherePhrase*)&other);
|
||||
return WherePhrase(this, PhraseData::Greater, (WherePhrase *)&other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator <=(const WherePhrase &other)
|
||||
WherePhrase WherePhrase::operator<=(const WherePhrase &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::LessEqual, (WherePhrase*)&other);
|
||||
return WherePhrase(this, PhraseData::LessEqual, (WherePhrase *)&other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator >=(const WherePhrase &other)
|
||||
WherePhrase WherePhrase::operator>=(const WherePhrase &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::GreaterEqual, (WherePhrase*)&other);
|
||||
return WherePhrase(this, PhraseData::GreaterEqual, (WherePhrase *)&other);
|
||||
}
|
||||
|
||||
|
||||
WherePhrase WherePhrase::operator !()
|
||||
WherePhrase WherePhrase::operator!()
|
||||
{
|
||||
if(_data->operatorCond < 20)
|
||||
_data->operatorCond = (PhraseData::Condition)((_data->operatorCond + 10) % 20);
|
||||
if (_data->operatorCond < 20)
|
||||
_data->operatorCond
|
||||
= (PhraseData::Condition)((_data->operatorCond + 10) % 20);
|
||||
else
|
||||
qFatal("Operator ! can not aplied to non condition statements");
|
||||
|
||||
return this;//WherePhrase(this, PhraseData::Not);
|
||||
return this; // WherePhrase(this, PhraseData::Not);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator =(const WherePhrase &other)
|
||||
WherePhrase WherePhrase::operator=(const WherePhrase &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::Set, (WherePhrase*)&other);
|
||||
return WherePhrase(this, PhraseData::Set, (WherePhrase *)&other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator +(const WherePhrase &other)
|
||||
WherePhrase WherePhrase::operator+(const WherePhrase &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::Add, (WherePhrase*)&other);
|
||||
return WherePhrase(this, PhraseData::Add, (WherePhrase *)&other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator -(const WherePhrase &other)
|
||||
WherePhrase WherePhrase::operator-(const WherePhrase &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::Minus, (WherePhrase*)&other);
|
||||
return WherePhrase(this, PhraseData::Minus, (WherePhrase *)&other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator *(const WherePhrase &other)
|
||||
WherePhrase WherePhrase::operator*(const WherePhrase &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::Multiple, (WherePhrase*)&other);
|
||||
return WherePhrase(this, PhraseData::Multiple, (WherePhrase *)&other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator /(const WherePhrase &other)
|
||||
WherePhrase WherePhrase::operator/(const WherePhrase &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::Divide, (WherePhrase*)&other);
|
||||
return WherePhrase(this, PhraseData::Divide, (WherePhrase *)&other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator &&(const WherePhrase &other)
|
||||
WherePhrase WherePhrase::operator&&(const WherePhrase &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::And, (WherePhrase*)&other);
|
||||
return WherePhrase(this, PhraseData::And, (WherePhrase *)&other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator ||(const WherePhrase &other)
|
||||
WherePhrase WherePhrase::operator||(const WherePhrase &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::Or, (WherePhrase*)&other);
|
||||
return WherePhrase(this, PhraseData::Or, (WherePhrase *)&other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator &(const WherePhrase &other)
|
||||
WherePhrase WherePhrase::operator&(const WherePhrase &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::Append, (WherePhrase*)&other);
|
||||
return WherePhrase(this, PhraseData::Append, (WherePhrase *)&other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator ==(const QVariant &other)
|
||||
WherePhrase WherePhrase::operator==(const QVariant &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::Equal, other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator !=(const QVariant &other)
|
||||
WherePhrase WherePhrase::operator!=(const QVariant &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::NotEqual, other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator <(const QVariant &other)
|
||||
WherePhrase WherePhrase::operator<(const QVariant &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::Less, other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator >(const QVariant &other)
|
||||
WherePhrase WherePhrase::operator>(const QVariant &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::Greater, other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator <=(const QVariant &other)
|
||||
WherePhrase WherePhrase::operator<=(const QVariant &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::LessEqual, other);
|
||||
}
|
||||
|
||||
WherePhrase WherePhrase::operator >=(const QVariant &other)
|
||||
WherePhrase WherePhrase::operator>=(const QVariant &other)
|
||||
{
|
||||
return WherePhrase(this, PhraseData::GreaterEqual, other);
|
||||
}
|
||||
|
||||
NUT_END_NAMESPACE
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue