ordering operator for bytea - Mailing list pgsql-sql

From Michael McCarthy
Subject ordering operator for bytea
Date
Msg-id Pine.GSO.3.96.1000117195237.5007F-100000@sanmarino.tcsi.com
Whole thread Raw
Responses Re: [SQL] ordering operator for bytea  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-sql
Given the following schema and query (to PQexec) we get an error from
postgres (postmaster debug log shown):

Table    = asn1octtable15545
+------------------------------+------------------------------+-------+
|              Field           |              Type            | Length|
+------------------------------+------------------------------+-------+
| parent_oid_class             | int4                         |     4 |
| parent_oid_inst_ms           | int4                         |     4 |
| parent_oid_inst_ls           | int4                         |     4 |
| parent_oid_tomid             | int4                         |     4 |
| attr_code                    | int4                         |     4 |
| item_index                   | int4                         |     4 |
| octet_string                 | bytea                        |   var |
+------------------------------+------------------------------+-------+
Index:    asn1octtable15545_x

StartTransactionCommand
query: BEGIN
ProcessUtility: BEGIN
CommitTransactionCommand
StartTransactionCommand
query: DECLARE osp_cursor CURSOR FOR select item_index, octet_string,  
parent_oid_inst_ms, parent_oid_inst_ls from asn1octtable15545 where
(parent_oid_class = 5000 and attr_code = 5023 and parent_oid_tomid =   
15545 and parent_oid_inst_ms = 1018757128 and parent_oid_inst_ls =
948163998) or (parent_oid_class = 5000 and attr_code = 5023 and
parent_oid_tomid = 15545 and parent_oid_inst_ms = 1018757127 and
parent_oid_inst_ls = 948163998) order by parent_oid_inst_ms ASC,
parent_oid_inst_ls ASC, item_index ASC
ERROR:  Unable to identify an ordering operator '<' for type 'bytea'          Use an explicit ordering operator or
modifythe query
 
AbortCurrentTransaction
StartTransactionCommand
query: COMMIT
ProcessUtility: COMMIT
CommitTransactionCommand

Strangely, we tried the same query in psql, and it works fine; we can get
this error message in psql only if we include the octet_string (bytea)
column in the order by clause, which is not our intent.

any_ordering_op (where this error message originates) is called two places
in transformSortClause; are there any known bugs in this area? We have
only seen this problem for tables that contain a bytea column, but we need
to be able to store unprintable characters, and to order rows from such a
table.

Your insight, please!

Thanks,

//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\
Michael McCarthy                             TCSI Corporation
michael@tcsi.com                             1080 Marina Village Parkway
(510) 749-8739                               Alameda, CA 94501



pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: [SQL] index usage ... strange !?
Next
From: Tom Lane
Date:
Subject: Re: [SQL] ordering operator for bytea