const void *sqlite3_column_table_name16(sqlite3_stmt *pStmt, int N){ return columnName( pStmt, N, (const void*(*)(Mem*))sqlite3_value_text16, COLNAME_TABLE); }
const void *sqlite3_column_decltype16(sqlite3_stmt *pStmt, int N){ return columnName( pStmt, N, (const void*(*)(Mem*))sqlite3_value_text16, COLNAME_DECLTYPE); }
/* ** Return the name of the database from which a result column derives. ** NULL is returned if the result column is an expression or constant or ** anything else which is not an unabiguous reference to a database column. */ const char *sqlite3_column_database_name(sqlite3_stmt *pStmt, int N){ return columnName( pStmt, N, (const void*(*)(Mem*))sqlite3_value_text, COLNAME_DATABASE); }
QString CntFilterDetailDisplayLabel::createSelectQuery(const QContactFilter& filter, const QList<QContactSortOrder>& sortOrders, QContactManager::Error* error) const { Q_UNUSED(sortOrders); QString result; //Commented currently since this will be checked in contacts call intially //if(filterSupported(filter)) { const QContactDetailFilter detailFilter(filter); *error = QContactManager::NoError; //get the contact fields that should be checked CntDisplayLabel displayLabel; QList<QPair<QLatin1String, QLatin1String> > contactFields = displayLabel.contactFilterDetails(); //search values QStringList searchStrings = detailFilter.value().toStringList(); //default sql query result = "SELECT contact_id FROM contact WHERE (type_flags>>24)=0"; //everything ok if(!searchStrings.isEmpty() && searchStrings.count() <= contactFields.count() ) { QString subQuery; QStringList columns; //get the column names for(int i = 0; i < contactFields.count(); i++) { columns << columnName(contactFields.at(i)); } //single search value if(searchStrings.count() == 1) { createQuerySingleSearchValue(subQuery, searchStrings.at(0), columns); } //multiple search values else { createQueryMultipleSearchValues(subQuery, searchStrings, columns); } if(!subQuery.isEmpty()){ result += " AND (" + subQuery + ')'; } *error = QContactManager::NoError; } //if specified more filter criterias than contact fields return error else if(searchStrings.count() > contactFields.count()){ *error = QContactManager::BadArgumentError; } } return result; }