Improve error message. Per discussion
authorTeodor Sigaev
Thu, 14 Sep 2006 11:26:49 +0000 (11:26 +0000)
committerTeodor Sigaev
Thu, 14 Sep 2006 11:26:49 +0000 (11:26 +0000)
http://archives.postgresql.org/pgsql-general/2006-09/msg00186.php

src/backend/access/gin/ginscan.c

index c15181b9dbc7736b8712d220c6b3ba729b5d6ded..2093f1ce8a606876e5dc2f23baf1f0d02cc7a10e 100644 (file)
@@ -8,7 +8,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *          $PostgreSQL: pgsql/src/backend/access/gin/ginscan.c,v 1.4 2006/08/03 15:22:09 tgl Exp $
+ *          $PostgreSQL: pgsql/src/backend/access/gin/ginscan.c,v 1.5 2006/09/14 11:26:49 teodor Exp $
  *-------------------------------------------------------------------------
  */
 
@@ -127,6 +127,11 @@ newScanKey( IndexScanDesc scan ) {
 
    so->keys = (GinScanKey) palloc( scan->numberOfKeys * sizeof(GinScanKeyData) );
 
+   if (scan->numberOfKeys < 1)
+       ereport(ERROR,
+               (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+               errmsg("GIN indexes do not support whole-index scans")));
+
    for(i=0; inumberOfKeys; i++) {
        Datum*  entryValues;
        uint32  nEntryValues;
@@ -155,7 +160,9 @@ newScanKey( IndexScanDesc scan ) {
    so->nkeys = nkeys;
 
    if ( so->nkeys == 0 )
-       elog(ERROR, "Gin doesn't support full scan due to it's awful inefficiency");
+       ereport(ERROR,
+               (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
+               errmsg("GIN index doesn't support search with void query")));
 
    pgstat_count_index_scan(&scan->xs_pgstat_info);
 }