Make trace_sort control abbreviation debug output for the text opclass.
authorRobert Haas <[email protected]>
Wed, 8 Apr 2015 02:45:17 +0000 (22:45 -0400)
committerRobert Haas <[email protected]>
Wed, 8 Apr 2015 02:45:17 +0000 (22:45 -0400)
This is consistent with what the new numeric suppor for abbreviated keys
now does, and seems much more convenient than having a separate compiler
define to control this debug output.

Peter Geoghegan

src/backend/utils/adt/varlena.c

index d874a1aec095b4165ce79b2e26c81cdbdca4a91a..18cbdd0e76943debd6ed3d889d04be2095f35b4c 100644 (file)
@@ -34,9 +34,6 @@
 #include "utils/pg_locale.h"
 #include "utils/sortsupport.h"
 
-#ifdef DEBUG_ABBREV_KEYS
-#define DEBUG_elog_output      DEBUG1
-#endif
 
 /* GUC variable */
 int                    bytea_output = BYTEA_OUTPUT_HEX;
@@ -2149,11 +2146,13 @@ bttext_abbrev_abort(int memtupcount, SortSupport ssup)
         * time there are differences within full key strings not captured in
         * abbreviations.
         */
-#ifdef DEBUG_ABBREV_KEYS
+#ifdef TRACE_SORT
+       if (trace_sort)
        {
                double norm_abbrev_card = abbrev_distinct / (double) memtupcount;
 
-               elog(DEBUG_elog_output, "abbrev_distinct after %d: %f (key_distinct: %f, norm_abbrev_card: %f, prop_card: %f)",
+               elog(LOG, "bttext_abbrev: abbrev_distinct after %d: %f "
+                        "(key_distinct: %f, norm_abbrev_card: %f, prop_card: %f)",
                         memtupcount, abbrev_distinct, key_distinct, norm_abbrev_card,
                         tss->prop_card);
        }
@@ -2219,11 +2218,11 @@ bttext_abbrev_abort(int memtupcount, SortSupport ssup)
         * of moderately high to high abbreviated cardinality.  There is little to
         * lose but much to gain, which our strategy reflects.
         */
-#ifdef DEBUG_ABBREV_KEYS
-       elog(DEBUG_elog_output, "would have aborted abbreviation due to worst-case at %d. abbrev_distinct: %f, key_distinct: %f, prop_card: %f",
-                memtupcount, abbrev_distinct, key_distinct, tss->prop_card);
-       /* Actually abort only when debugging is disabled */
-       return false;
+#ifdef TRACE_SORT
+       if (trace_sort)
+               elog(LOG, "bttext_abbrev: aborted abbreviation at %d "
+                        "(abbrev_distinct: %f, key_distinct: %f, prop_card: %f)",
+                        memtupcount, abbrev_distinct, key_distinct, tss->prop_card);
 #endif
 
        return true;