| Line | Source Code | Coverage |
|---|
| 1 | /**************************************************************************** | - |
| 2 | ** | - |
| 3 | ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). | - |
| 4 | ** Contact: http://www.qt-project.org/legal | - |
| 5 | ** | - |
| 6 | ** This file is part of the QtSql module of the Qt Toolkit. | - |
| 7 | ** | - |
| 8 | ** $QT_BEGIN_LICENSE:LGPL$ | - |
| 9 | ** Commercial License Usage | - |
| 10 | ** Licensees holding valid commercial Qt licenses may use this file in | - |
| 11 | ** accordance with the commercial license agreement provided with the | - |
| 12 | ** Software or, alternatively, in accordance with the terms contained in | - |
| 13 | ** a written agreement between you and Digia. For licensing terms and | - |
| 14 | ** conditions see http://qt.digia.com/licensing. For further information | - |
| 15 | ** use the contact form at http://qt.digia.com/contact-us. | - |
| 16 | ** | - |
| 17 | ** GNU Lesser General Public License Usage | - |
| 18 | ** Alternatively, this file may be used under the terms of the GNU Lesser | - |
| 19 | ** General Public License version 2.1 as published by the Free Software | - |
| 20 | ** Foundation and appearing in the file LICENSE.LGPL included in the | - |
| 21 | ** packaging of this file. Please review the following information to | - |
| 22 | ** ensure the GNU Lesser General Public License version 2.1 requirements | - |
| 23 | ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | - |
| 24 | ** | - |
| 25 | ** In addition, as a special exception, Digia gives you certain additional | - |
| 26 | ** rights. These rights are described in the Digia Qt LGPL Exception | - |
| 27 | ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | - |
| 28 | ** | - |
| 29 | ** GNU General Public License Usage | - |
| 30 | ** Alternatively, this file may be used under the terms of the GNU | - |
| 31 | ** General Public License version 3.0 as published by the Free Software | - |
| 32 | ** Foundation and appearing in the file LICENSE.GPL included in the | - |
| 33 | ** packaging of this file. Please review the following information to | - |
| 34 | ** ensure the GNU General Public License version 3.0 requirements will be | - |
| 35 | ** met: http://www.gnu.org/copyleft/gpl.html. | - |
| 36 | ** | - |
| 37 | ** | - |
| 38 | ** $QT_END_LICENSE$ | - |
| 39 | ** | - |
| 40 | ****************************************************************************/ | - |
| 41 | | - |
| 42 | #include "qsqlindex.h" | - |
| 43 | | - |
| 44 | #include "qsqlfield.h" | - |
| 45 | #include "qstringlist.h" | - |
| 46 | | - |
| 47 | QT_BEGIN_NAMESPACE | - |
| 48 | | - |
| 49 | /*! | - |
| 50 | \class QSqlIndex | - |
| 51 | \brief The QSqlIndex class provides functions to manipulate and | - |
| 52 | describe database indexes. | - |
| 53 | | - |
| 54 | \ingroup database | - |
| 55 | \inmodule QtSql | - |
| 56 | | - |
| 57 | An \e index refers to a single table or view in a database. | - |
| 58 | Information about the fields that comprise the index can be used | - |
| 59 | to generate SQL statements. | - |
| 60 | */ | - |
| 61 | | - |
| 62 | /*! | - |
| 63 | Constructs an empty index using the cursor name \a cursorname and | - |
| 64 | index name \a name. | - |
| 65 | */ | - |
| 66 | | - |
| 67 | QSqlIndex::QSqlIndex(const QString& cursorname, const QString& name) | - |
| 68 | : cursor(cursorname), nm(name) | - |
| 69 | { | - |
| 70 | } executed: }Execution Count:695 | 695 |
| 71 | | - |
| 72 | /*! | - |
| 73 | Constructs a copy of \a other. | - |
| 74 | */ | - |
| 75 | | - |
| 76 | QSqlIndex::QSqlIndex(const QSqlIndex& other) | - |
| 77 | : QSqlRecord(other), cursor(other.cursor), nm(other.nm), sorts(other.sorts) | - |
| 78 | { | - |
| 79 | } executed: }Execution Count:1 | 1 |
| 80 | | - |
| 81 | /*! | - |
| 82 | Sets the index equal to \a other. | - |
| 83 | */ | - |
| 84 | | - |
| 85 | QSqlIndex& QSqlIndex::operator=(const QSqlIndex& other) | - |
| 86 | { | - |
| 87 | cursor = other.cursor; executed (the execution status of this line is deduced): cursor = other.cursor; | - |
| 88 | nm = other.nm; executed (the execution status of this line is deduced): nm = other.nm; | - |
| 89 | sorts = other.sorts; executed (the execution status of this line is deduced): sorts = other.sorts; | - |
| 90 | QSqlRecord::operator=(other); executed (the execution status of this line is deduced): QSqlRecord::operator=(other); | - |
| 91 | return *this; executed: return *this;Execution Count:187 | 187 |
| 92 | } | - |
| 93 | | - |
| 94 | /*! | - |
| 95 | Destroys the object and frees any allocated resources. | - |
| 96 | */ | - |
| 97 | | - |
| 98 | QSqlIndex::~QSqlIndex() | - |
| 99 | { | - |
| 100 | | - |
| 101 | } | - |
| 102 | | - |
| 103 | /*! | - |
| 104 | Sets the name of the index to \a name. | - |
| 105 | */ | - |
| 106 | | - |
| 107 | void QSqlIndex::setName(const QString& name) | - |
| 108 | { | - |
| 109 | nm = name; never executed (the execution status of this line is deduced): nm = name; | - |
| 110 | } | 0 |
| 111 | | - |
| 112 | /*! | - |
| 113 | \fn QString QSqlIndex::name() const | - |
| 114 | | - |
| 115 | Returns the name of the index. | - |
| 116 | */ | - |
| 117 | | - |
| 118 | /*! | - |
| 119 | Appends the field \a field to the list of indexed fields. The | - |
| 120 | field is appended with an ascending sort order. | - |
| 121 | */ | - |
| 122 | | - |
| 123 | void QSqlIndex::append(const QSqlField& field) | - |
| 124 | { | - |
| 125 | append(field, false); executed (the execution status of this line is deduced): append(field, false); | - |
| 126 | } executed: }Execution Count:964 | 964 |
| 127 | | - |
| 128 | /*! | - |
| 129 | \overload | - |
| 130 | | - |
| 131 | Appends the field \a field to the list of indexed fields. The | - |
| 132 | field is appended with an ascending sort order, unless \a desc is | - |
| 133 | true. | - |
| 134 | */ | - |
| 135 | | - |
| 136 | void QSqlIndex::append(const QSqlField& field, bool desc) | - |
| 137 | { | - |
| 138 | sorts.append(desc); executed (the execution status of this line is deduced): sorts.append(desc); | - |
| 139 | QSqlRecord::append(field); executed (the execution status of this line is deduced): QSqlRecord::append(field); | - |
| 140 | } executed: }Execution Count:964 | 964 |
| 141 | | - |
| 142 | | - |
| 143 | /*! | - |
| 144 | Returns true if field \a i in the index is sorted in descending | - |
| 145 | order; otherwise returns false. | - |
| 146 | */ | - |
| 147 | | - |
| 148 | bool QSqlIndex::isDescending(int i) const | - |
| 149 | { | - |
| 150 | if (i >= 0 && i < sorts.size()) never evaluated: i >= 0 never evaluated: i < sorts.size() | 0 |
| 151 | return sorts[i]; never executed: return sorts[i]; | 0 |
| 152 | return false; never executed: return false; | 0 |
| 153 | } | - |
| 154 | | - |
| 155 | /*! | - |
| 156 | If \a desc is true, field \a i is sorted in descending order. | - |
| 157 | Otherwise, field \a i is sorted in ascending order (the default). | - |
| 158 | If the field does not exist, nothing happens. | - |
| 159 | */ | - |
| 160 | | - |
| 161 | void QSqlIndex::setDescending(int i, bool desc) | - |
| 162 | { | - |
| 163 | if (i >= 0 && i < sorts.size()) never evaluated: i >= 0 never evaluated: i < sorts.size() | 0 |
| 164 | sorts[i] = desc; never executed: sorts[i] = desc; | 0 |
| 165 | } | 0 |
| 166 | | - |
| 167 | /*! \internal | - |
| 168 | | - |
| 169 | Creates a string representing the field number \a i using prefix \a | - |
| 170 | prefix. If \a verbose is true, ASC or DESC is included in the field | - |
| 171 | description if the field is sorted in ASCending or DESCending order. | - |
| 172 | */ | - |
| 173 | | - |
| 174 | QString QSqlIndex::createField(int i, const QString& prefix, bool verbose) const | - |
| 175 | { | - |
| 176 | QString f; never executed (the execution status of this line is deduced): QString f; | - |
| 177 | if (!prefix.isEmpty()) never evaluated: !prefix.isEmpty() | 0 |
| 178 | f += prefix + QLatin1Char('.'); never executed: f += prefix + QLatin1Char('.'); | 0 |
| 179 | f += field(i).name(); never executed (the execution status of this line is deduced): f += field(i).name(); | - |
| 180 | if (verbose) | 0 |
| 181 | f += QLatin1Char(' ') + QString((isDescending(i) never executed: f += QLatin1Char(' ') + QString((isDescending(i) ? QLatin1String("DESC") : QLatin1String("ASC"))); | 0 |
| 182 | ? QLatin1String("DESC") : QLatin1String("ASC"))); never executed: f += QLatin1Char(' ') + QString((isDescending(i) ? QLatin1String("DESC") : QLatin1String("ASC"))); | 0 |
| 183 | return f; never executed: return f; | 0 |
| 184 | } | - |
| 185 | | - |
| 186 | /*! | - |
| 187 | \fn QString QSqlIndex::cursorName() const | - |
| 188 | | - |
| 189 | Returns the name of the cursor which the index is associated with. | - |
| 190 | */ | - |
| 191 | | - |
| 192 | | - |
| 193 | /*! | - |
| 194 | Sets the name of the cursor that the index is associated with to | - |
| 195 | \a cursorName. | - |
| 196 | */ | - |
| 197 | void QSqlIndex::setCursorName(const QString& cursorName) | - |
| 198 | { | - |
| 199 | cursor = cursorName; never executed (the execution status of this line is deduced): cursor = cursorName; | - |
| 200 | } | 0 |
| 201 | | - |
| 202 | QT_END_NAMESPACE | - |
| 203 | | - |
| | |