sorting on inet type?
I have a table with an inet column, which I entered in order initially,
so they came out like:
1.2.3.4
1.2.3.5
1.2.3.40
1.2.3.41
After updating, say, 1.2.3.5, it moves to the end. I understand why,
that's not the problem. Adding an 'ORDER BY host(ip)' clause causes the
ordering to be:
1.2.3.4
1.2.3.40
1.2.3.41
1.2.3.5
Is there an easy way to return to the original order, or do I need to
write a custom PL/SQL function to parse the octets and do sorting
manually? If the latter is the case, help/hints would be appreciated.
Thanks.
P.S. Thanks to the group for all the help you've given on my previous
questions!
--
Dan
____ Kressin ____ .-----------------------------------.
/___ \____________/ __ \ | Unix SysAdmin |
\ \ / / \ | | Global Crossing |
___/ __\/\/rench_ \__/ | | dkressin@globalcrossing.com |
\____/ \____/ | http://www.vib.org/wrench/ |
`-----------------------------------'
I believe this is fixed in 7.1.
LER
Original Message <<<<<<<<<<<<<<<<<<
On 3/20/01, 11:16:42 AM, Daniel "J." Kressin <dkressin@globalcrossing.com>
wrote regarding [GENERAL] sorting on inet type?:
Show quoted text
I have a table with an inet column, which I entered in order initially,
so they came out like:
1.2.3.4
1.2.3.5
1.2.3.40
1.2.3.41
After updating, say, 1.2.3.5, it moves to the end. I understand why,
that's not the problem. Adding an 'ORDER BY host(ip)' clause causes the
ordering to be:
1.2.3.4
1.2.3.40
1.2.3.41
1.2.3.5
Is there an easy way to return to the original order, or do I need to
write a custom PL/SQL function to parse the octets and do sorting
manually? If the latter is the case, help/hints would be appreciated.
Thanks.
P.S. Thanks to the group for all the help you've given on my previous
questions!
--
Dan
____ Kressin ____ .-----------------------------------.
/___ \____________/ __ \ | Unix SysAdmin |
\ \ / / \ | | Global Crossing |
___/ __\/\/rench_ \__/ | | dkressin@globalcrossing.com |
\____/ \____/ | http://www.vib.org/wrench/ |
`-----------------------------------'
---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?
Larry Rosenman wrote:
I believe this is fixed in 7.1.
LER
Is there a workaround for 7.0.x? Short of adding extra columns to store
the separate octets and sorting on them?
--
Dan
____ Kressin ____ .-----------------------------------.
/___ \____________/ __ \ | Unix SysAdmin |
\ \ / / \ | | Global Crossing |
___/ __\/\/rench_ \__/ | | dkressin@globalcrossing.com |
\____/ \____/ | http://www.vib.org/wrench/ |
`-----------------------------------'
"Daniel J. Kressin" <dkressin@globalcrossing.com> writes:
Adding an 'ORDER BY host(ip)' clause causes the
ordering to be:
1.2.3.4
1.2.3.40
1.2.3.41
1.2.3.5
host(ip) produces a text result, so the above sort is according to
string-comparison rules. If you want a numeric sort why don't
you just "ORDER BY ip"?
regards, tom lane
"Daniel J. Kressin" <dkressin@globalcrossing.com> writes:
Tom Lane wrote:
host(ip) produces a text result, so the above sort is according to
string-comparison rules. If you want a numeric sort why don't
you just "ORDER BY ip"?
"ORDER BY ip" didn't work. I'm assuming this is the broken behaviour
that Larry mentioned is fixed in 7.1.
Ah. Sorry, I tried it in current sources to verify that it produced
the sort order you wanted ... but I forgot that we'd done some work
on inet since 7.0.*.
regards, tom lane
Import Notes
Reply to msg id not found: 3AB79B3D.ED3BDD39@globalcrossing.com