@@ -139,7 +139,7 @@ QgsPostgresProvider::QgsPostgresProvider( QString const & uri )
139
139
140
140
deduceEndian ();
141
141
calculateExtents ();
142
- getFeatureCount () ;
142
+ featuresCounted = - 1 ;
143
143
144
144
// set the primary key
145
145
getPrimaryKey ();
@@ -735,14 +735,6 @@ QGis::WkbType QgsPostgresProvider::geometryType() const
735
735
return geomType;
736
736
}
737
737
738
- /* *
739
- * Return the feature type
740
- */
741
- long QgsPostgresProvider::featureCount () const
742
- {
743
- return featuresCounted;
744
- }
745
-
746
738
const QgsField &QgsPostgresProvider::field ( int index ) const
747
739
{
748
740
QgsFieldMap::const_iterator it = attributeFields.find ( index );
@@ -2753,14 +2745,20 @@ bool QgsPostgresProvider::setSubsetString( QString theSQL )
2753
2745
setDataSourceUri ( mUri .uri () );
2754
2746
2755
2747
// need to recalculate the number of features...
2756
- getFeatureCount () ;
2748
+ featuresCounted = - 1 ;
2757
2749
calculateExtents ();
2758
2750
2759
2751
return true ;
2760
2752
}
2761
2753
2762
- long QgsPostgresProvider::getFeatureCount ()
2754
+ /* *
2755
+ * Return the feature count
2756
+ */
2757
+ long QgsPostgresProvider::featureCount () const
2763
2758
{
2759
+ if ( featuresCounted >= 0 )
2760
+ return featuresCounted;
2761
+
2764
2762
// get total number of features
2765
2763
2766
2764
// First get an approximate count; then delegate to
@@ -2783,12 +2781,12 @@ long QgsPostgresProvider::getFeatureCount()
2783
2781
2784
2782
Result result = connectionRO->PQexec ( sql );
2785
2783
2786
- QgsDebugMsg ( " Approximate Number of features as text: " +
2784
+ QgsDebugMsg ( " number of features as text: " +
2787
2785
QString::fromUtf8 ( PQgetvalue ( result, 0 , 0 ) ) );
2788
2786
2789
2787
featuresCounted = QString::fromUtf8 ( PQgetvalue ( result, 0 , 0 ) ).toLong ();
2790
2788
2791
- QgsDebugMsg ( " Approximate Number of features: " + QString::number ( featuresCounted ) );
2789
+ QgsDebugMsg ( " number of features: " + QString::number ( featuresCounted ) );
2792
2790
2793
2791
return featuresCounted;
2794
2792
}
0 commit comments