Your're welcome. As for no response from pyodbc that is indeed sloppy
as is the fact that PyPi package does not work. Hats off to you for
always being responsive (afaik). I often wonder what keeps you so
motivated but that's off topic.

On Sep 8, 4:07 pm, Michael Bayer <mike...@zzzcomputing.com> wrote:
> thanks, the two test failures would be expected in this case, will see what 
> response I get on the FreeTDS list if any.
>
> On Sep 8, 2011, at 3:07 PM, Victor Olex wrote:
>
> > Unfortunately I don't have access to a blank database and I took the
> > chance and ran your tests on a non-empty database. Tests are mostly
> > good: 5/7 pass. You should know that I used current trunk and simply
> > commented out the line, which resets the supports_unicode_binds but it
> > should be equivalent in effect to your patch. Without the patch all
> > tests fail. Below is pretty verbose result for you.
>
> > I hope this helps,
>
> > Victor
>
> > ./sqla_nose.py -v test.sql.test_types:UnicodeTest --dburi="mssql
> > +pyodbc://XXXX:xxx@xxx:2431/X?
> > driver=SQLServer&port=2431&TDS_Version=8.0" --log-
> > debug=sqlalchemy.orm.mapper --log-debug=sqlalchemy.pool --log-
> > debug=sqlalchemy.engine
> > DEBUG:sqlalchemy.pool.QueuePool:Created new connection
> > <pyodbc.Connection object at 0xa3fdfa0>
> > INFO:sqlalchemy.engine.base.Engine:SELECT user_name() as user_name;
> > INFO:sqlalchemy.engine.base.Engine:()
> > DEBUG:sqlalchemy.engine.base.Engine:Col ('user_name',)
> > DEBUG:sqlalchemy.engine.base.Engine:Row (u'SPEED_IT', )
> > INFO:sqlalchemy.engine.base.Engine:
> >            SELECT default_schema_name FROM
> >            sys.database_principals
> >            WHERE name = ?
> >            AND type = 'S'
>
> > INFO:sqlalchemy.engine.base.Engine:(u'SPEED_IT',)
> > DEBUG:sqlalchemy.engine.base.Engine:Col ('default_schema_name',)
> > DEBUG:sqlalchemy.engine.base.Engine:Row (u'dbo', )
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa3fdfa0> checked out from pool
> > INFO:sqlalchemy.engine.base.Engine:SELECT [COLUMNS_1].[TABLE_SCHEMA],
> > [COLUMNS_1].[TABLE_NAME], [COLUMNS_1].[COLUMN_NAME], [COLUMNS_1].
> > [IS_NULLABLE], [COLUMNS_1].[DATA_TYPE], [COLUMNS_1].
> > [ORDINAL_POSITION], [COLUMNS_1].[CHARACTER_MAXIMUM_LENGTH],
> > [COLUMNS_1].[NUMERIC_PRECISION], [COLUMNS_1].[NUMERIC_SCALE],
> > [COLUMNS_1].[COLUMN_DEFAULT], [COLUMNS_1].[COLLATION_NAME]
> > FROM [INFORMATION_SCHEMA].[COLUMNS] AS [COLUMNS_1]
> > WHERE [COLUMNS_1].[TABLE_NAME] = ? AND [COLUMNS_1].[TABLE_SCHEMA] = ?
> > INFO:sqlalchemy.engine.base.Engine:(u'unicode_table', u'dbo')
> > DEBUG:sqlalchemy.engine.base.Engine:Col ('TABLE_SCHEMA', 'TABLE_NAME',
> > 'COLUMN_NAME', 'IS_NULLABLE', 'DATA_TYPE', 'ORDINAL_POSITION',
> > 'CHARACTER_MAXIMUM_LENGTH', 'NUMERIC_PRECISION', 'NUMERIC_SCALE',
> > 'COLUMN_DEFAULT', 'COLLATION_NAME')
> > INFO:sqlalchemy.engine.base.Engine:
> > CREATE TABLE unicode_table (
> >        id INTEGER NOT NULL IDENTITY(1,1),
> >        unicode_varchar NVARCHAR(250) NULL,
> >        unicode_text NTEXT NULL,
> >        PRIMARY KEY (id)
> > )
>
> > INFO:sqlalchemy.engine.base.Engine:()
> > INFO:sqlalchemy.engine.base.Engine:COMMIT
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa3fdfa0> being returned to pool
> > test.sql.test_types.UnicodeTest.test_blank_strings ...
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa3fdfa0> checked out from pool
> > INFO:sqlalchemy.engine.base.Engine:INSERT INTO unicode_table
> > (unicode_varchar) OUTPUT inserted.id VALUES (?)
> > INFO:sqlalchemy.engine.base.Engine:(u'',)
> > DEBUG:sqlalchemy.engine.base.Engine:Col ('id',)
> > DEBUG:sqlalchemy.engine.base.Engine:Row (1, )
> > INFO:sqlalchemy.engine.base.Engine:COMMIT
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa3fdfa0> being returned to pool
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa3fdfa0> checked out from pool
> > INFO:sqlalchemy.engine.base.Engine:SELECT
> > unicode_table.unicode_varchar
> > FROM unicode_table
> > INFO:sqlalchemy.engine.base.Engine:()
> > DEBUG:sqlalchemy.engine.base.Engine:Col ('unicode_varchar',)
> > DEBUG:sqlalchemy.engine.base.Engine:Row (u'', )
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa3fdfa0> being returned to pool
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa3fdfa0> checked out from pool
> > INFO:sqlalchemy.engine.base.Engine:DELETE FROM unicode_table
> > INFO:sqlalchemy.engine.base.Engine:()
> > INFO:sqlalchemy.engine.base.Engine:COMMIT
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa3fdfa0> being returned to pool
> > ok
> > test.sql.test_types.UnicodeTest.test_ignoring_unicode_error ...
> > DEBUG:sqlalchemy.pool.QueuePool:Created new connection
> > <pyodbc.Connection object at 0xa4490e0>
> > INFO:sqlalchemy.engine.base.Engine:SELECT user_name() as user_name;
> > INFO:sqlalchemy.engine.base.Engine:()
> > DEBUG:sqlalchemy.engine.base.Engine:Col ('user_name',)
> > DEBUG:sqlalchemy.engine.base.Engine:Row (u'SPEED_IT', )
> > INFO:sqlalchemy.engine.base.Engine:
> >            SELECT default_schema_name FROM
> >            sys.database_principals
> >            WHERE name = ?
> >            AND type = 'S'
>
> > INFO:sqlalchemy.engine.base.Engine:(u'SPEED_IT',)
> > DEBUG:sqlalchemy.engine.base.Engine:Col ('default_schema_name',)
> > DEBUG:sqlalchemy.engine.base.Engine:Row (u'dbo', )
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa4490e0> checked out from pool
> > INFO:sqlalchemy.engine.base.Engine:SELECT [COLUMNS_1].[TABLE_SCHEMA],
> > [COLUMNS_1].[TABLE_NAME], [COLUMNS_1].[COLUMN_NAME], [COLUMNS_1].
> > [IS_NULLABLE], [COLUMNS_1].[DATA_TYPE], [COLUMNS_1].
> > [ORDINAL_POSITION], [COLUMNS_1].[CHARACTER_MAXIMUM_LENGTH],
> > [COLUMNS_1].[NUMERIC_PRECISION], [COLUMNS_1].[NUMERIC_SCALE],
> > [COLUMNS_1].[COLUMN_DEFAULT], [COLUMNS_1].[COLLATION_NAME]
> > FROM [INFORMATION_SCHEMA].[COLUMNS] AS [COLUMNS_1]
> > WHERE [COLUMNS_1].[TABLE_NAME] = ? AND [COLUMNS_1].[TABLE_SCHEMA] = ?
> > INFO:sqlalchemy.engine.base.Engine:(u'unicode_err_table', u'dbo')
> > DEBUG:sqlalchemy.engine.base.Engine:Col ('TABLE_SCHEMA', 'TABLE_NAME',
> > 'COLUMN_NAME', 'IS_NULLABLE', 'DATA_TYPE', 'ORDINAL_POSITION',
> > 'CHARACTER_MAXIMUM_LENGTH', 'NUMERIC_PRECISION', 'NUMERIC_SCALE',
> > 'COLUMN_DEFAULT', 'COLLATION_NAME')
> > INFO:sqlalchemy.engine.base.Engine:
> > CREATE TABLE unicode_err_table (
> >        sort INTEGER NULL,
> >        plain_varchar_no_coding_error VARCHAR(248) NULL
> > )
>
> > INFO:sqlalchemy.engine.base.Engine:()
> > INFO:sqlalchemy.engine.base.Engine:COMMIT
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa4490e0> being returned to pool
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa4490e0> checked out from pool
> > INFO:sqlalchemy.engine.base.Engine:INSERT INTO unicode_err_table
> > (sort, plain_varchar_no_coding_error) VALUES (?, ?)
> > INFO:sqlalchemy.engine.base.Engine:(1, 'Alors vous imaginez ma
> > surprise, au lever du jour, quand une drle de petite voix ma rveill.
> > Elle disait:  Sil vous plat dessine-moi un mouton! ')
> > INFO:sqlalchemy.engine.base.Engine:COMMIT
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa4490e0> being returned to pool
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa4490e0> checked out from pool
> > INFO:sqlalchemy.engine.base.Engine:SELECT unicode_err_table.sort,
> > unicode_err_table.plain_varchar_no_coding_error
> > FROM unicode_err_table
> > INFO:sqlalchemy.engine.base.Engine:()
> > DEBUG:sqlalchemy.engine.base.Engine:Col ('sort',
> > 'plain_varchar_no_coding_error')
> > DEBUG:sqlalchemy.engine.base.Engine:Row (1, 'Alors vous imaginez ma
> > surprise, au lever du jour, quand une drle de petite voix ma rveill.
> > Elle disait:  Sil vous plat dessine-moi un mouton! ')
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa4490e0> being returned to pool
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa4490e0> checked out from pool
> > INFO:sqlalchemy.engine.base.Engine:INSERT INTO unicode_err_table
> > (sort, plain_varchar_no_coding_error) VALUES (?, ?)
> > INFO:sqlalchemy.engine.base.Engine:(2, u'Alors vous imaginez ma
> > surprise, au lever du jour, quand une dr\xf4le de petite voix m\u2019a
> > r\xe9veill\xe9. Elle disait: \xab S\u2019il vous pla\xeet\u2026
> > dessine-moi un mouton! \xbb')
> > INFO:sqlalchemy.engine.base.Engine:COMMIT
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa4490e0> being returned to pool
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa4490e0> checked out from pool
> > INFO:sqlalchemy.engine.base.Engine:SELECT unicode_err_table.sort,
> > unicode_err_table.plain_varchar_no_coding_error
> > FROM unicode_err_table ORDER BY unicode_err_table.sort
> > INFO:sqlalchemy.engine.base.Engine:()
> > DEBUG:sqlalchemy.engine.base.Engine:Col ('sort',
> > 'plain_varchar_no_coding_error')
> > DEBUG:sqlalchemy.engine.base.Engine:Row (1, 'Alors vous imaginez ma
> > surprise, au lever du jour, quand une drle de petite voix ma rveill.
> > Elle disait:  Sil vous plat dessine-moi un mouton! ')
> > DEBUG:sqlalchemy.engine.base.Engine:Row (2, 'Alors vous imaginez ma
> > surprise, au lever du jour, quand une dr\xf4le de petite voix m?a r
> > \xe9veill\xe9. Elle disait: \xab S?il vous pla\xeet? dessine-moi un
> > mouton! ')
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa4490e0> being returned to pool
> > DEBUG:sqlalchemy.pool.QueuePool:Connection <pyodbc.Connection object
> > at 0xa4490e0> checked out from pool
> > INFO:sqlalchemy.engine.base.Engine:SELECT [COLUMNS_1].[TABLE_SCHEMA],
> > [COLUMNS_1].[TABLE_NAME], [COLUMNS_1].[COLUMN_NAME], [COLUMNS_1].
> > [IS_NULLABLE], [COLUMNS_1].[DATA_TYPE], [COLUMNS_1].
> > [ORDINAL_POSITION], [COLUMNS_1].[CHARACTER_MAXIMUM_LENGTH],
> > [COLUMNS_1].[NUMERIC_PRECISION], [COLUMNS_1].[NUMERIC_SCALE],
> > [COLUMNS_1].[COLUMN_DEFAULT], [COLUMNS_1].[COLLATION_NAME]
> > FROM [INFORMATION_SCHEMA].[COLUMNS] AS [COLUMNS_1]
> > WHERE [COLUMNS_1].[TABLE_NAME] = ? AND [COLUMNS_1].[TABLE_SCHEMA] = ?
> > INFO:sqlalchemy.engine.base.Engine:(u'unicode_err_table', u'dbo')
> > DEBUG:sqlalchemy.engine.base.Engine:Col ('TABLE_SCHEMA', 'TABLE_NAME',
> > 'COLUMN_NAME', 'IS_NULLABLE', 'DATA_TYPE', 'ORDINAL_POSITION',
>
> ...
>
> read more »

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to