Example #1
0
QSqlRecord QPSQLResult::record() const
{
    QSqlRecord info;
    if (!isActive() || !isSelect())
        return info;

    int count = PQnfields(d->result);
    for (int i = 0; i < count; ++i) {
        QSqlField f;
        if (d->driver->isUtf8)
            f.setName(QString::fromUtf8(PQfname(d->result, i)));
        else
            f.setName(QString::fromLocal8Bit(PQfname(d->result, i)));
        f.setType(qDecodePSQLType(PQftype(d->result, i)));
        int len = PQfsize(d->result, i);
        int precision = PQfmod(d->result, i);
        // swap length and precision if length == -1
        if (len == -1 && precision > -1) {
            len = precision - 4;
            precision = -1;
        }
        f.setLength(len);
        f.setPrecision(precision);
        f.setSqlType(PQftype(d->result, i));
        info.append(f);
    }
    return info;
}
Example #2
0
QSqlRecord DatabaseLayout::formatRecord(const LoggingEvent &rEvent)
{
    QSqlField field;
    QSqlRecord record;

    if (!mTimeStamp.isEmpty())
    {
        field.setName(mTimeStamp);
        field.setType(QVariant::DateTime);
        field.setGenerated(true);
        field.setValue(DateTime::fromMSecsSinceEpoch(rEvent.timeStamp()));
        record.append(field);
    }

    if (!mLoggerName.isEmpty())
    {
        field.setName(mLoggerName);
        field.setType(QVariant::String);
        field.setGenerated(true);
        field.setValue(rEvent.loggerName());
        record.append(field);
    }

    if (!mThreadName.isEmpty())
    {
        field.setName(mThreadName);
        field.setType(QVariant::String);
        field.setGenerated(true);
        field.setValue(rEvent.threadName());
        record.append(field);
    }

    if (!mLevel.isEmpty())
    {
        field.setName(mLevel);
        field.setType(QVariant::String);
        field.setGenerated(true);
        field.setValue(rEvent.level().toString());
        record.append(field);
    }

    if (!mMessage.isEmpty())
    {
        field.setName(mMessage);
        field.setType(QVariant::String);
        field.setGenerated(true);
        field.setValue(rEvent.message());
        record.append(field);
    }
    return record;
}
Example #3
0
QSqlRecord Query::record() const
{
	QSqlRecord ret = Super::record();
	for(int i=0; i<ret.count(); i++) {
		QSqlField fld = ret.field(i);
		QString n = QueryBuilder::unmangleLongFieldName(fld.name());
		if(n != fld.name()) {
			fld.setName(n);
			ret.replace(i, fld);
		}
	}
	return ret;
}
Example #4
0
QSqlRecord Query::record() const
{
	if(m_demangledRecord.isEmpty()) {
		m_demangledRecord = Super::record();
		for(int i=0; i<m_demangledRecord.count(); i++) {
			QSqlField fld = m_demangledRecord.field(i);
			QString n = QueryBuilder::unmangleLongFieldName(fld.name());
			if(n != fld.name()) {
				fld.setName(n);
				m_demangledRecord.replace(i, fld);
			}
		}
	}
	return m_demangledRecord;
}
Example #5
0
QSqlRecord QsoEntry::getRecord() const
{
    QSqlRecord record;

    // create a field for each property
    const QMetaObject* obj = metaObject();
    for (int i = 0; i < obj->propertyCount(); i++) {
        QMetaProperty metaProperty = obj->property(i);

        const char* name = metaProperty.name();

        // create field
        QSqlField field;
        field.setName(QLatin1String(name));
        field.setValue(property(name));

        // insert field into record
        record.insert(i, field);
    }

    return record;
}