[freetds] Problems Connecting Debian --> MSSQL through odbc
James K. Lowden
jklowden at freetds.org
Wed Jul 15 22:04:48 EDT 2009
Steve Langasek wrote:
>
> > DRIVER=$(echo ${DRIVER_LINE} \
> > | awk -F '[[:space:]]*=[[:space:]]*' '{print $2}')
>
> > sh -x echoes:
>
> > > ++ echo Driver = FreeTDS
> > > ++ awk -F '[[:space:]]*=[[:space:]]*' '{print $2}'
> > > + DRIVER=
>
> > It's as though your awk doesn't accept Posix regular expressions as a
> > field separator. Is there any reason to think that could be so? What
> > does "awk --version" say?
>
> > $ awk --version
> > GNU Awk 3.1.3
> > Copyright (C) 1989, 1991-2003 Free Software Foundation.
>
> gawk supports this syntax, mawk (the default on Debian) does not.
Thanks Steve! Am I missing something, or is that totally broken?
http://193.110.243.4/hppd/hpux/Shells/mawk-1.3.3/man.html
"mawk conforms to the Posix 1003.2 (draft 11.3)"
Posix Regular expression for awk are defined by the OpenGroup:
http://www.opengroup.org/onlinepubs/009695399/utilities/awk.html#tag_04_06_13_04
which refers to
http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap09.html#tag_09_01
which clearly defines [:space:] as a basic RE character class expression.
So mawk claims to be Posix-compliant, but isn't. Not supporting Posix
regular expressions in 2009 is just lame.
Bah. Why do they do this?
Sorry, Jaap, afaict your awk nonstandard. Thanks for bringing it to my
attention. I'll modify osql to test for that.
--jkl
More information about the FreeTDS
mailing list