well I'm visibly upset about this one because i really *don't* have the 
motivation to go down another FreeTDS hole .... :)


On Sep 8, 2011, at 4:13 PM, Victor Olex wrote:

> 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 <[email protected]> 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 [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/sqlalchemy?hl=en.
> 

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

Reply via email to