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.
