Python3 mysql+pyodbc fails to send query (works on python 2)

Issue
When attempting to use pyodbc on python 3.5.2, it appears a string check fails to pick up that bytes is a valid string type (problem initially found when attempting mysql+pyodbc sqlalchemy connection, after investigation i tracked the problem down to pyodbc). Identical query in python 2 and isql below.
Environment
Python: 3.5.2 [GCC 5.4.0 20160609] on linux 64 bit
pyodbc: 4.0.26
OS: ubuntu 16.04
DB: mysql 4.0.24_Debian
driver: libmyodbc3_r-3.51.30
Console output:
user@xxx:~$ isql -v faxmail
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select * from servers limit 1;
+----------------+-----------+-------------------------------+------+
:snip
user@xxx:~$ python3
Python 3.5.2 (default, Nov 12 2018, 13:43:14)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyodbc
>>> cxn = pyodbc.connect("DSN=internaldb")
>>> c = cxn.cursor()
>>> c.execute("select * from servers limit 1").fetchall()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
pyodbc.Error: ('07006', '[07006] [MySQL][ODBC 3.51 Driver][mysqld-4.0.24_Debian-10-log]Restricted data type attribute violation (508) (SQLGetData)')
>>> c.execute(b"select * from servers limit 1").fetchall()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: The first argument to execute must be a string or unicode query.
>>>
user@xxx:~$ python2
Python 2.7.12 (default, Nov 12 2018, 14:36:49)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyodbc
>>> cxn = pyodbc.connect("DSN=internaldb")
>>> c = cxn.cursor()
>>> c.execute("select * from servers limit 1").fetchall()
[('xxx', 'xxx', 'xxx', 'xxx')]
>>>

ODBC trace:
[ODBC][31921][1562056579.399454][__handles.c][460]
                Exit:[SQL_SUCCESS]
                        Environment = 0x2b596c0
[ODBC][31921][1562056579.399505][SQLSetEnvAttr.c][189]
                Entry:
                        Environment = 0x2b596c0
                        Attribute = SQL_ATTR_ODBC_VERSION
                        Value = 0x3
                        StrLen = 4
[ODBC][31921][1562056579.399525][SQLSetEnvAttr.c][363]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056579.399544][SQLAllocHandle.c][375]
                Entry:
                        Handle Type = 2
                        Input Handle = 0x2b596c0
[ODBC][31921][1562056579.399563][SQLAllocHandle.c][493]
                Exit:[SQL_SUCCESS]
                        Output Handle = 0x2b81700
[ODBC][31921][1562056579.400066][SQLDriverConnectW.c][290]
                Entry:
                        Connection = 0x2b81700
                        Window Hdl = (nil)
                        Str In = [DSN=internaldb][length = 11 (SQL_NTS)]
                        Str Out = (nil)
                        Str Out Max = 0
                        Str Out Ptr = (nil)
                        Completion = 0
                UNICODE Using encoding ASCII 'ISO8859-1' and UNICODE 'UCS-2LE'

[ODBC][31921][1562056579.409504][SQLDriverConnectW.c][910]
                Exit:[SQL_SUCCESS]
                        Connection Out [[NULL]]
[ODBC][31921][1562056579.409539][SQLSetConnectAttr.c][396]
                Entry:
                        Connection = 0x2b81700
                        Attribute = SQL_ATTR_AUTOCOMMIT
                        Value = (nil)
                        StrLen = -5
[ODBC][31921][1562056579.410667][SQLSetConnectAttr.c][852]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056579.410727][SQLGetInfo.c][554]
                Entry:
                        Connection = 0x2b81700
                        Info Type = SQL_DRIVER_ODBC_VER (77)
                        Info Value = 0x7ffcc0870bb0
                        Buffer Length = 20
                        StrLen = 0x7ffcc0870b6e
[ODBC][31921][1562056579.410750][SQLGetInfo.c][617]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056579.410769][SQLGetInfo.c][554]
                Entry:
                        Connection = 0x2b81700
                        Info Type = SQL_DESCRIBE_PARAMETER (10002)
                        Info Value = 0x7ffcc0870ba0
                        Buffer Length = 2
                        StrLen = 0x7ffcc0870b6e
[ODBC][31921][1562056579.410788][SQLGetInfo.c][617]
                Exit:[SQL_SUCCESS_WITH_INFO]
[ODBC][31921][1562056579.410810][SQLGetInfo.c][554]
                Entry:
                        Connection = 0x2b81700
                        Info Type = SQL_NEED_LONG_DATA_LEN (111)
                        Info Value = 0x7ffcc0870ba0
                        Buffer Length = 2
                        StrLen = 0x7ffcc0870b6e
[ODBC][31921][1562056579.410828][SQLGetInfo.c][617]
                Exit:[SQL_SUCCESS_WITH_INFO]
[ODBC][31921][1562056579.410847][SQLAllocHandle.c][540]
                Entry:
                        Handle Type = 3
                        Input Handle = 0x2b81700
[ODBC][31921][1562056579.410902][SQLAllocHandle.c][1081]
                Exit:[SQL_SUCCESS]
                        Output Handle = 0x2bb8660
[ODBC][31921][1562056579.410934][SQLGetTypeInfo.c][168]
                Entry:
                        Statement = 0x2bb8660
                        Data Type = SQL_VARCHAR
[ODBC][31921][1562056579.410968][SQLGetTypeInfo.c][318]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056579.411003][SQLFetch.c][162]
                Entry:
                        Statement = 0x2bb8660
[ODBC][31921][1562056579.411032][SQLFetch.c][348]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056579.411053][SQLGetData.c][237]
                Entry:
                        Statement = 0x2bb8660
                        Column Number = 3
                        Target Type = 4 SQL_INTEGER
                        Buffer Length = 4
                        Target Value = 0x7ffcc0870b70
                        StrLen Or Ind = (nil)
[ODBC][31921][1562056579.411076][SQLGetData.c][501]
                Exit:[SQL_SUCCESS]
                        Buffer = [255]
                        Strlen Or Ind = NULLPTR
[ODBC][31921][1562056579.411095][SQLFreeStmt.c][144]
                Entry:
                        Statement = 0x2bb8660
                        Option = 0
[ODBC][31921][1562056579.411115][SQLFreeStmt.c][263]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056579.411134][SQLFreeHandle.c][381]
                Entry:
                        Handle Type = 3
                        Input Handle = 0x2bb8660
[ODBC][31921][1562056579.411155][SQLFreeHandle.c][491]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056579.411173][SQLAllocHandle.c][540]
                Entry:
                        Handle Type = 3
                        Input Handle = 0x2b81700
[ODBC][31921][1562056579.411194][SQLAllocHandle.c][1081]
                Exit:[SQL_SUCCESS]
                        Output Handle = 0x2bb8660
[ODBC][31921][1562056579.411213][SQLGetTypeInfo.c][168]
                Entry:
                        Statement = 0x2bb8660
                        Data Type = Unknown(-9)
[ODBC][31921][1562056579.411235][SQLGetTypeInfo.c][318]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056579.411253][SQLFetch.c][162]
                Entry:
                        Statement = 0x2bb8660
[ODBC][31921][1562056579.411271][SQLFetch.c][348]
                Exit:[SQL_NO_DATA]
[ODBC][31921][1562056579.411289][SQLFreeStmt.c][144]
                Entry:
                        Statement = 0x2bb8660
                        Option = 0
[ODBC][31921][1562056579.411308][SQLFreeStmt.c][263]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056579.411343][SQLFreeHandle.c][381]
                Entry:
                        Handle Type = 3
                        Input Handle = 0x2bb8660
[ODBC][31921][1562056579.411363][SQLFreeHandle.c][491]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056579.411382][SQLAllocHandle.c][540]
                Entry:
                        Handle Type = 3
                        Input Handle = 0x2b81700
[ODBC][31921][1562056579.411402][SQLAllocHandle.c][1081]
                Exit:[SQL_SUCCESS]
                        Output Handle = 0x2bb8660
[ODBC][31921][1562056579.411421][SQLGetTypeInfo.c][168]
                Entry:
                        Statement = 0x2bb8660
                        Data Type = SQL_VARBINARY
[ODBC][31921][1562056579.411443][SQLGetTypeInfo.c][318]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056579.411461][SQLFetch.c][162]
                Entry:
                        Statement = 0x2bb8660
[ODBC][31921][1562056579.411480][SQLFetch.c][348]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056579.411499][SQLGetData.c][237]
                Entry:
                        Statement = 0x2bb8660
                        Column Number = 3
                        Target Type = 4 SQL_INTEGER
                        Buffer Length = 4
                        Target Value = 0x7ffcc0870b78
                        StrLen Or Ind = (nil)
[ODBC][31921][1562056579.411519][SQLGetData.c][501]
                Exit:[SQL_SUCCESS]
                        Buffer = [255]
                        Strlen Or Ind = NULLPTR
[ODBC][31921][1562056579.411537][SQLFreeStmt.c][144]
                Entry:
                        Statement = 0x2bb8660
                        Option = 0
[ODBC][31921][1562056579.411555][SQLFreeStmt.c][263]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056579.411573][SQLFreeHandle.c][381]
                Entry:
                        Handle Type = 3
                        Input Handle = 0x2bb8660
[ODBC][31921][1562056579.411592][SQLFreeHandle.c][491]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056579.411610][SQLAllocHandle.c][540]
                Entry:
                        Handle Type = 3
                        Input Handle = 0x2b81700
[ODBC][31921][1562056579.411630][SQLAllocHandle.c][1081]
                Exit:[SQL_SUCCESS]
                        Output Handle = 0x2bb8660
[ODBC][31921][1562056579.411648][SQLGetTypeInfo.c][168]
                Entry:
                        Statement = 0x2bb8660
                        Data Type = SQL_TYPE_TIMESTAMP
[ODBC][31921][1562056579.411671][SQLGetTypeInfo.c][318]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056579.411689][SQLFetch.c][162]
                Entry:
                        Statement = 0x2bb8660
[ODBC][31921][1562056579.411708][SQLFetch.c][348]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056579.411727][SQLGetData.c][237]
                Entry:
                        Statement = 0x2bb8660
                        Column Number = 3
                        Target Type = 4 SQL_INTEGER
                        Buffer Length = 4
                        Target Value = 0x7ffcc0870b7c
                        StrLen Or Ind = (nil)
[ODBC][31921][1562056579.411746][SQLGetData.c][501]
                Exit:[SQL_SUCCESS]
                        Buffer = [21]
                        Strlen Or Ind = NULLPTR
[ODBC][31921][1562056579.411764][SQLFreeStmt.c][144]
                Entry:
                        Statement = 0x2bb8660
                        Option = 0
[ODBC][31921][1562056579.411782][SQLFreeStmt.c][263]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056579.411800][SQLFreeHandle.c][381]
                Entry:
                        Handle Type = 3
                        Input Handle = 0x2bb8660
[ODBC][31921][1562056579.411818][SQLFreeHandle.c][491]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056581.573989][SQLAllocHandle.c][540]
                Entry:
                        Handle Type = 3
                        Input Handle = 0x2b81700
[ODBC][31921][1562056581.574066][SQLAllocHandle.c][1081]
                Exit:[SQL_SUCCESS]
                        Output Handle = 0x2bb8660
[ODBC][31921][1562056603.326753][SQLFreeStmt.c][144]
                Entry:
                        Statement = 0x2bb8660
                        Option = 0
[ODBC][31921][1562056603.326814][SQLFreeStmt.c][263]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056603.326858][SQLExecDirectW.c][177]
                Entry:
                        Statement = 0x2bb8660
                        SQL = [select * from servers limit 1][length = 29]
[ODBC][31921][1562056603.329472][SQLExecDirectW.c][436]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056603.329498][SQLRowCount.c][173]
                Entry:
                        Statement = 0x2bb8660
                        Row Count = 0x7ffcc0870d50
[ODBC][31921][1562056603.329521][SQLRowCount.c][244]
                Exit:[SQL_SUCCESS]
                        Row Count = 0x7ffcc0870d50 -> 1
[ODBC][31921][1562056603.329541][SQLNumResultCols.c][156]
                Entry:
                        Statement = 0x2bb8660
                        Column Count = 0x7ffcc0870d48
[ODBC][31921][1562056603.329571][SQLNumResultCols.c][248]
                Exit:[SQL_SUCCESS]
                        Count = 0x7ffcc0870d48 -> 4
[ODBC][31921][1562056603.329599][SQLDescribeCol.c][247]
                Entry:
                        Statement = 0x2bb8660
                        Column Number = 1
                        Column Name = 0x7ffcc0870be0
                        Buffer Length = 200
                        Name Length = 0x7ffcc0870bc8
                        Data Type = 0x7ffcc0870bca
                        Column Size = 0x7ffcc0870bd0
                        Decimal Digits = 0x7ffcc0870bcc
                        Nullable = 0x7ffcc0870bce
[ODBC][31921][1562056603.329653][SQLDescribeCol.c][497]
                Exit:[SQL_SUCCESS]
                        Column Name = [xxx]
                        Data Type = 0x7ffcc0870bca -> 12
                        Column Size = 0x7ffcc0870bd0 -> 15
                        Decimal Digits = 0x7ffcc0870bcc -> 0
                        Nullable = 0x7ffcc0870bce -> 0
[ODBC][31921][1562056603.329677][SQLDescribeCol.c][247]
                Entry:
                        Statement = 0x2bb8660
                        Column Number = 2
                        Column Name = 0x7ffcc0870be0
                        Buffer Length = 200
                        Name Length = 0x7ffcc0870bc8
                        Data Type = 0x7ffcc0870bca
                        Column Size = 0x7ffcc0870bd0
                        Decimal Digits = 0x7ffcc0870bcc
                        Nullable = 0x7ffcc0870bce
[ODBC][31921][1562056603.329699][SQLDescribeCol.c][497]
                Exit:[SQL_SUCCESS]
                        Column Name = [xxx]
                        Data Type = 0x7ffcc0870bca -> 12
                        Column Size = 0x7ffcc0870bd0 -> 10
                        Decimal Digits = 0x7ffcc0870bcc -> 0
                        Nullable = 0x7ffcc0870bce -> 0
[ODBC][31921][1562056603.329725][SQLDescribeCol.c][247]
                Entry:
                        Statement = 0x2bb8660
                        Column Number = 3
                        Column Name = 0x7ffcc0870be0
                        Buffer Length = 200
                        Name Length = 0x7ffcc0870bc8
                        Data Type = 0x7ffcc0870bca
                        Column Size = 0x7ffcc0870bd0
                        Decimal Digits = 0x7ffcc0870bcc
                        Nullable = 0x7ffcc0870bce
[ODBC][31921][1562056603.329748][SQLDescribeCol.c][497]
                Exit:[SQL_SUCCESS]
                        Column Name = [xxx]
                        Data Type = 0x7ffcc0870bca -> 12
                        Column Size = 0x7ffcc0870bd0 -> 30
                        Decimal Digits = 0x7ffcc0870bcc -> 0
                        Nullable = 0x7ffcc0870bce -> 0
[ODBC][31921][1562056603.329774][SQLDescribeCol.c][247]
                Entry:
                        Statement = 0x2bb8660
                        Column Number = 4
                        Column Name = 0x7ffcc0870be0
                        Buffer Length = 200
                        Name Length = 0x7ffcc0870bc8
                        Data Type = 0x7ffcc0870bca
                        Column Size = 0x7ffcc0870bd0
                        Decimal Digits = 0x7ffcc0870bcc
                        Nullable = 0x7ffcc0870bce
[ODBC][31921][1562056603.329796][SQLDescribeCol.c][497]
                Exit:[SQL_SUCCESS]
                        Column Name = [xxx]
                        Data Type = 0x7ffcc0870bca -> 1
                        Column Size = 0x7ffcc0870bd0 -> 3
                        Decimal Digits = 0x7ffcc0870bcc -> 0
                        Nullable = 0x7ffcc0870bce -> 0
[ODBC][31921][1562056603.329838][SQLDescribeColW.c][209]
                Entry:
                        Statement = 0x2bb8660
                        Column Number = 1
                        Column Name = 0x7ffcc0870a80
                        Buffer Length = 300
                        Name Length = 0x7ffcc0870a70
                        Data Type = 0x7ffcc0870a72
                        Column Size = 0x7ffcc0870a78
                        Decimal Digits = 0x7ffcc0870a74
                        Nullable = 0x7ffcc0870a76
[ODBC][31921][1562056603.329876][SQLDescribeColW.c][460]
                Exit:[SQL_SUCCESS]
                        Column Name = [i]
                        Data Type = 0x7ffcc0870a72 -> 12
                        Column Size = 0x7ffcc0870a78 -> 15
                        Decimal Digits = 0x7ffcc0870a74 -> 0
                        Nullable = 0x7ffcc0870a76 -> 0
[ODBC][31921][1562056603.329908][SQLDescribeColW.c][209]
                Entry:
                        Statement = 0x2bb8660
                        Column Number = 2
                        Column Name = 0x7ffcc0870a80
                        Buffer Length = 300
                        Name Length = 0x7ffcc0870a70
                        Data Type = 0x7ffcc0870a72
                        Column Size = 0x7ffcc0870a78
                        Decimal Digits = 0x7ffcc0870a74
                        Nullable = 0x7ffcc0870a76
[ODBC][31921][1562056603.329933][SQLDescribeColW.c][460]
                Exit:[SQL_SUCCESS]
                        Column Name = [n]
                        Data Type = 0x7ffcc0870a72 -> 12
                        Column Size = 0x7ffcc0870a78 -> 10
                        Decimal Digits = 0x7ffcc0870a74 -> 0
                        Nullable = 0x7ffcc0870a76 -> 0
[ODBC][31921][1562056603.329956][SQLDescribeColW.c][209]
                Entry:
                        Statement = 0x2bb8660
                        Column Number = 3
                        Column Name = 0x7ffcc0870a80
                        Buffer Length = 300
                        Name Length = 0x7ffcc0870a70
                        Data Type = 0x7ffcc0870a72
                        Column Size = 0x7ffcc0870a78
                        Decimal Digits = 0x7ffcc0870a74
                        Nullable = 0x7ffcc0870a76
[ODBC][31921][1562056603.329985][SQLDescribeColW.c][460]
                Exit:[SQL_SUCCESS]
                        Column Name = [s]
                        Data Type = 0x7ffcc0870a72 -> 12
                        Column Size = 0x7ffcc0870a78 -> 30
                        Decimal Digits = 0x7ffcc0870a74 -> 0
                        Nullable = 0x7ffcc0870a76 -> 0
[ODBC][31921][1562056603.330064][SQLDescribeColW.c][209]
                Entry:
                        Statement = 0x2bb8660
                        Column Number = 4
                        Column Name = 0x7ffcc0870a80
                        Buffer Length = 300
                        Name Length = 0x7ffcc0870a70
                        Data Type = 0x7ffcc0870a72
                        Column Size = 0x7ffcc0870a78
                        Decimal Digits = 0x7ffcc0870a74
                        Nullable = 0x7ffcc0870a76
[ODBC][31921][1562056603.330101][SQLDescribeColW.c][460]
                Exit:[SQL_SUCCESS]
                        Column Name = [S]
                        Data Type = 0x7ffcc0870a72 -> 1
                        Column Size = 0x7ffcc0870a78 -> 3
                        Decimal Digits = 0x7ffcc0870a74 -> 0
                        Nullable = 0x7ffcc0870a76 -> 0
[ODBC][31921][1562056603.330128][SQLFetch.c][162]
                Entry:
                        Statement = 0x2bb8660
[ODBC][31921][1562056603.330156][SQLFetch.c][348]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056603.330197][SQLGetData.c][237]
                Entry:
                        Statement = 0x2bb8660
                        Column Number = 1
                        Target Type = -8 SQL_WCHAR
                        Buffer Length = 4096
                        Target Value = 0x2bbca80
                        StrLen Or Ind = 0x7ffcc0870c80
[ODBC][31921][1562056603.330235][SQLGetData.c][501]
                Exit:[SQL_ERROR]
                        Buffer = [▒ip](unicode)
                        Strlen Or Ind = 0x7ffcc0870c80 -> 0
                DIAG [07006] [MySQL][ODBC 3.51 Driver][mysqld-4.0.24_Debian-10-log]Restricted data type attribute violation

[ODBC][31921][1562056603.330281][SQLGetDiagRecW.c][631]
                Entry:
                        Statement = 0x2bb8660
                        Rec Number = 1
                        SQLState = 0x7ffcc08703d0
                        Native = 0x7ffcc08703cc
                        Message Text = 0x7ffcc08703e0
                        Buffer Length = 1023
                        Text Len Ptr = 0x7ffcc08703ca
[ODBC][31921][1562056603.330315][SQLGetDiagRecW.c][673]
                Exit:[SQL_SUCCESS]
                        SQLState = 07006
                        Native = 0x7ffcc08703cc -> 508
                        Message Text = [[MySQL][ODBC 3.51 Driver][mysqld-4.0.24_Debian-10-log]Restricted data type attribute violation]
[ODBC][31921][1562056609.262650][SQLFreeStmt.c][144]
                Entry:
                        Statement = 0x2bb8660
                        Option = 0
[ODBC][31921][1562056609.262689][SQLFreeStmt.c][263]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056609.262713][SQLFreeHandle.c][381]
                Entry:
                        Handle Type = 3
                        Input Handle = 0x2bb8660
[ODBC][31921][1562056609.262735][SQLFreeHandle.c][491]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056609.262757][SQLEndTran.c][421]
                Entry:
                        Connection = 0x2b81700
                        Completion Type = 1
[ODBC][31921][1562056609.264171][SQLGetInfo.c][554]
                Entry:
                        Connection = 0x2b81700
                        Info Type = SQL_CURSOR_COMMIT_BEHAVIOR (23)
                        Info Value = 0x2b82b70
                        Buffer Length = 2
                        StrLen = 0x7ffcc0870e3e
[ODBC][31921][1562056609.264196][SQLGetInfo.c][617]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056609.264216][SQLGetInfo.c][554]
                Entry:
                        Connection = 0x2b81700
                        Info Type = SQL_CURSOR_ROLLBACK_BEHAVIOR (24)
                        Info Value = 0x2b82b72
                        Buffer Length = 2
                        StrLen = 0x7ffcc0870e3e
[ODBC][31921][1562056609.264235][SQLGetInfo.c][617]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056609.264253][SQLEndTran.c][574]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056609.264272][SQLDisconnect.c][208]
                Entry:
                        Connection = 0x2b81700
[ODBC][31921][1562056609.264413][SQLDisconnect.c][364]
                Exit:[SQL_SUCCESS]
[ODBC][31921][1562056609.264437][SQLFreeHandle.c][284]
                Entry:
                        Handle Type = 2
                        Input Handle = 0x2b81700
[ODBC][31921][1562056609.264457][SQLFreeHandle.c][333]
                Exit:[SQL_SUCCESS]
[ODBC][31954][1562056620.847582][__handles.c][460]
                Exit:[SQL_SUCCESS]
                        Environment = 0x27cdb70
[ODBC][31954][1562056620.847623][SQLSetEnvAttr.c][189]
                Entry:
                        Environment = 0x27cdb70
                        Attribute = SQL_ATTR_ODBC_VERSION
                        Value = 0x3
                        StrLen = 4
[ODBC][31954][1562056620.847642][SQLSetEnvAttr.c][363]
                Exit:[SQL_SUCCESS]
[ODBC][31954][1562056620.847662][SQLAllocHandle.c][375]
                Entry:
                        Handle Type = 2
                        Input Handle = 0x27cdb70
[ODBC][31954][1562056620.847682][SQLAllocHandle.c][493]
                Exit:[SQL_SUCCESS]
                        Output Handle = 0x2764270
[ODBC][31954][1562056620.847716][SQLDriverConnectW.c][290]
                Entry:
                        Connection = 0x2764270
                        Window Hdl = (nil)
                        Str In = [DSN=internaldb][length = 11]
                        Str Out = (nil)
                        Str Out Max = 0
                        Str Out Ptr = (nil)
                        Completion = 0
                UNICODE Using encoding ASCII 'ISO8859-1' and UNICODE 'UCS-2LE'

[ODBC][31954][1562056620.856640][SQLDriverConnectW.c][910]
                Exit:[SQL_SUCCESS]
                        Connection Out [[NULL]]
[ODBC][31954][1562056620.856676][SQLSetConnectAttr.c][396]
                Entry:
                        Connection = 0x2764270
                        Attribute = SQL_ATTR_AUTOCOMMIT
                        Value = (nil)
                        StrLen = -5
[ODBC][31954][1562056620.857745][SQLSetConnectAttr.c][852]
                Exit:[SQL_SUCCESS]
[ODBC][31954][1562056620.857809][SQLGetInfo.c][554]
                Entry:
                        Connection = 0x2764270
                        Info Type = SQL_DRIVER_ODBC_VER (77)
                        Info Value = 0x7fffff5b9fb0
                        Buffer Length = 20
                        StrLen = 0x7fffff5b9f92
[ODBC][31954][1562056620.857832][SQLGetInfo.c][617]
                Exit:[SQL_SUCCESS]
[ODBC][31954][1562056620.857852][SQLGetInfo.c][554]
                Entry:
                        Connection = 0x2764270
                        Info Type = SQL_DESCRIBE_PARAMETER (10002)
                        Info Value = 0x7fffff5b9fa0
                        Buffer Length = 2
                        StrLen = 0x7fffff5b9f92
[ODBC][31954][1562056620.857871][SQLGetInfo.c][617]
                Exit:[SQL_SUCCESS_WITH_INFO]
[ODBC][31954][1562056620.857893][SQLGetInfo.c][554]
                Entry:
                        Connection = 0x2764270
                        Info Type = SQL_NEED_LONG_DATA_LEN (111)
                        Info Value = 0x7fffff5b9fa0
                        Buffer Length = 2
                        StrLen = 0x7fffff5b9f92
[ODBC][31954][1562056620.857912][SQLGetInfo.c][617]
                Exit:[SQL_SUCCESS_WITH_INFO]
[ODBC][31954][1562056620.857931][SQLAllocHandle.c][540]
                Entry:
                        Handle Type = 3
                        Input Handle = 0x2764270
[ODBC][31954][1562056620.857971][SQLAllocHandle.c][1081]
                Exit:[SQL_SUCCESS]
                        Output Handle = 0x27480e0
[ODBC][31954][1562056620.857996][SQLGetTypeInfo.c][168]
                Entry:
                        Statement = 0x27480e0
                        Data Type = SQL_TYPE_TIMESTAMP
[ODBC][31954][1562056620.858075][SQLGetTypeInfo.c][318]
                Exit:[SQL_SUCCESS]
[ODBC][31954][1562056620.858106][SQLFetch.c][162]
                Entry:
                        Statement = 0x27480e0
[ODBC][31954][1562056620.858131][SQLFetch.c][348]
                Exit:[SQL_SUCCESS]
[ODBC][31954][1562056620.858151][SQLGetData.c][237]
                Entry:
                        Statement = 0x27480e0
                        Column Number = 3
                        Target Type = 4 SQL_INTEGER
                        Buffer Length = 4
                        Target Value = 0x7fffff5b9f94
                        StrLen Or Ind = (nil)
[ODBC][31954][1562056620.858175][SQLGetData.c][501]
                Exit:[SQL_SUCCESS]
                        Buffer = [21]
                        Strlen Or Ind = NULLPTR
[ODBC][31954][1562056620.858195][SQLGetTypeInfo.c][168]
                Entry:
                        Statement = 0x27480e0
                        Data Type = SQL_VARCHAR
[ODBC][31954][1562056620.858212][SQLGetTypeInfo.c][190]Error: 24000
[ODBC][31954][1562056620.858240][SQLGetTypeInfo.c][168]
                Entry:
                        Statement = 0x27480e0
                        Data Type = Unknown(-9)
[ODBC][31954][1562056620.858258][SQLGetTypeInfo.c][190]Error: 24000
[ODBC][31954][1562056620.858281][SQLGetTypeInfo.c][168]
                Entry:
                        Statement = 0x27480e0
                        Data Type = SQL_BINARY
[ODBC][31954][1562056620.858308][SQLGetTypeInfo.c][190]Error: 24000
[ODBC][31954][1562056620.858333][SQLFreeStmt.c][144]
                Entry:
                        Statement = 0x27480e0
                        Option = 0
[ODBC][31954][1562056620.858354][SQLFreeStmt.c][263]
                Exit:[SQL_SUCCESS]
[ODBC][31954][1562056625.199570][SQLAllocHandle.c][540]
                Entry:
                        Handle Type = 3
                        Input Handle = 0x2764270
[ODBC][31954][1562056625.199640][SQLAllocHandle.c][1081]
                Exit:[SQL_SUCCESS]
                        Output Handle = 0x28213e0
[ODBC][31954][1562056630.231400][SQLFreeStmt.c][144]
                Entry:
                        Statement = 0x28213e0
                        Option = 0
[ODBC][31954][1562056630.231445][SQLFreeStmt.c][263]
                Exit:[SQL_SUCCESS]
[ODBC][31954][1562056630.231467][SQLExecDirect.c][240]
                Entry:
                        Statement = 0x28213e0
                        SQL = [select * from servers limit 1][length = 29 (SQL_NTS)]
[ODBC][31954][1562056630.234075][SQLExecDirect.c][503]
                Exit:[SQL_SUCCESS]
[ODBC][31954][1562056630.234107][SQLRowCount.c][173]
                Entry:
                        Statement = 0x28213e0
                        Row Count = 0x7fffff5ba0d0
[ODBC][31954][1562056630.234128][SQLRowCount.c][244]
                Exit:[SQL_SUCCESS]
                        Row Count = 0x7fffff5ba0d0 -> 1
[ODBC][31954][1562056630.234158][SQLNumResultCols.c][156]
                Entry:
                        Statement = 0x28213e0
                        Column Count = 0x7fffff5ba0c8
[ODBC][31954][1562056630.234178][SQLNumResultCols.c][248]
                Exit:[SQL_SUCCESS]
                        Count = 0x7fffff5ba0c8 -> 4
[ODBC][31954][1562056630.234200][SQLDescribeCol.c][247]
                Entry:
                        Statement = 0x28213e0
                        Column Number = 1
                        Column Name = 0x7fffff5b9f60
                        Buffer Length = 200
                        Name Length = 0x7fffff5b9f48
                        Data Type = 0x7fffff5b9f4a
                        Column Size = 0x7fffff5b9f50
                        Decimal Digits = 0x7fffff5b9f4c
                        Nullable = 0x7fffff5b9f4e
[ODBC][31954][1562056630.234230][SQLDescribeCol.c][497]
                Exit:[SQL_SUCCESS]
                        Column Name = [xxx]
                        Data Type = 0x7fffff5b9f4a -> 12
                        Column Size = 0x7fffff5b9f50 -> 15
                        Decimal Digits = 0x7fffff5b9f4c -> 0
                        Nullable = 0x7fffff5b9f4e -> 0
[ODBC][31954][1562056630.234251][SQLDescribeCol.c][247]
                Entry:
                        Statement = 0x28213e0
                        Column Number = 2
                        Column Name = 0x7fffff5b9f60
                        Buffer Length = 200
                        Name Length = 0x7fffff5b9f48
                        Data Type = 0x7fffff5b9f4a
                        Column Size = 0x7fffff5b9f50
                        Decimal Digits = 0x7fffff5b9f4c
                        Nullable = 0x7fffff5b9f4e
[ODBC][31954][1562056630.234272][SQLDescribeCol.c][497]
                Exit:[SQL_SUCCESS]
                        Column Name = [xxx]
                        Data Type = 0x7fffff5b9f4a -> 12
                        Column Size = 0x7fffff5b9f50 -> 10
                        Decimal Digits = 0x7fffff5b9f4c -> 0
                        Nullable = 0x7fffff5b9f4e -> 0
[ODBC][31954][1562056630.234292][SQLDescribeCol.c][247]
                Entry:
                        Statement = 0x28213e0
                        Column Number = 3
                        Column Name = 0x7fffff5b9f60
                        Buffer Length = 200
                        Name Length = 0x7fffff5b9f48
                        Data Type = 0x7fffff5b9f4a
                        Column Size = 0x7fffff5b9f50
                        Decimal Digits = 0x7fffff5b9f4c
                        Nullable = 0x7fffff5b9f4e
[ODBC][31954][1562056630.234313][SQLDescribeCol.c][497]
                Exit:[SQL_SUCCESS]
                        Column Name = [xxx]
                        Data Type = 0x7fffff5b9f4a -> 12
                        Column Size = 0x7fffff5b9f50 -> 30
                        Decimal Digits = 0x7fffff5b9f4c -> 0
                        Nullable = 0x7fffff5b9f4e -> 0
[ODBC][31954][1562056630.234332][SQLDescribeCol.c][247]
                Entry:
                        Statement = 0x28213e0
                        Column Number = 4
                        Column Name = 0x7fffff5b9f60
                        Buffer Length = 200
                        Name Length = 0x7fffff5b9f48
                        Data Type = 0x7fffff5b9f4a
                        Column Size = 0x7fffff5b9f50
                        Decimal Digits = 0x7fffff5b9f4c
                        Nullable = 0x7fffff5b9f4e
[ODBC][31954][1562056630.234353][SQLDescribeCol.c][497]
                Exit:[SQL_SUCCESS]
                        Column Name = [xxx]
                        Data Type = 0x7fffff5b9f4a -> 1
                        Column Size = 0x7fffff5b9f50 -> 3
                        Decimal Digits = 0x7fffff5b9f4c -> 0
                        Nullable = 0x7fffff5b9f4e -> 0
[ODBC][31954][1562056630.234378][SQLDescribeCol.c][247]
                Entry:
                        Statement = 0x28213e0
                        Column Number = 1
                        Column Name = 0x7fffff5b9f20
                        Buffer Length = 300
                        Name Length = (nil)
                        Data Type = 0x7fffff5b9f12
                        Column Size = 0x7fffff5b9f18
                        Decimal Digits = 0x7fffff5b9f14
                        Nullable = 0x7fffff5b9f16
[ODBC][31954][1562056630.234400][SQLDescribeCol.c][497]
                Exit:[SQL_SUCCESS]
                        Column Name = [xxx]
                        Data Type = 0x7fffff5b9f12 -> 12
                        Column Size = 0x7fffff5b9f18 -> 15
                        Decimal Digits = 0x7fffff5b9f14 -> 0
                        Nullable = 0x7fffff5b9f16 -> 0
[ODBC][31954][1562056630.234424][SQLDescribeCol.c][247]
                Entry:
                        Statement = 0x28213e0
                        Column Number = 2
                        Column Name = 0x7fffff5b9f20
                        Buffer Length = 300
                        Name Length = (nil)
                        Data Type = 0x7fffff5b9f12
                        Column Size = 0x7fffff5b9f18
                        Decimal Digits = 0x7fffff5b9f14
                        Nullable = 0x7fffff5b9f16
[ODBC][31954][1562056630.234445][SQLDescribeCol.c][497]
                Exit:[SQL_SUCCESS]
                        Column Name = [xxx]
                        Data Type = 0x7fffff5b9f12 -> 12
                        Column Size = 0x7fffff5b9f18 -> 10
                        Decimal Digits = 0x7fffff5b9f14 -> 0
                        Nullable = 0x7fffff5b9f16 -> 0
[ODBC][31954][1562056630.234474][SQLDescribeCol.c][247]
                Entry:
                        Statement = 0x28213e0
                        Column Number = 3
                        Column Name = 0x7fffff5b9f20
                        Buffer Length = 300
                        Name Length = (nil)
                        Data Type = 0x7fffff5b9f12
                        Column Size = 0x7fffff5b9f18
                        Decimal Digits = 0x7fffff5b9f14
                        Nullable = 0x7fffff5b9f16
[ODBC][31954][1562056630.234496][SQLDescribeCol.c][497]
                Exit:[SQL_SUCCESS]
                        Column Name = [xxx]
                        Data Type = 0x7fffff5b9f12 -> 12
                        Column Size = 0x7fffff5b9f18 -> 30
                        Decimal Digits = 0x7fffff5b9f14 -> 0
                        Nullable = 0x7fffff5b9f16 -> 0
[ODBC][31954][1562056630.234518][SQLDescribeCol.c][247]
                Entry:
                        Statement = 0x28213e0
                        Column Number = 4
                        Column Name = 0x7fffff5b9f20
                        Buffer Length = 300
                        Name Length = (nil)
                        Data Type = 0x7fffff5b9f12
                        Column Size = 0x7fffff5b9f18
                        Decimal Digits = 0x7fffff5b9f14
                        Nullable = 0x7fffff5b9f16
[ODBC][31954][1562056630.234540][SQLDescribeCol.c][497]
                Exit:[SQL_SUCCESS]
                        Column Name = [xxx]
                        Data Type = 0x7fffff5b9f12 -> 1
                        Column Size = 0x7fffff5b9f18 -> 3
                        Decimal Digits = 0x7fffff5b9f14 -> 0
                        Nullable = 0x7fffff5b9f16 -> 0
[ODBC][31954][1562056630.234564][SQLFetch.c][162]
                Entry:
                        Statement = 0x28213e0
[ODBC][31954][1562056630.234590][SQLFetch.c][348]
                Exit:[SQL_SUCCESS]
[ODBC][31954][1562056630.234612][SQLGetData.c][237]
                Entry:
                        Statement = 0x28213e0
                        Column Number = 1
                        Target Type = 1 SQL_CHAR
                        Buffer Length = 1024
                        Target Value = 0x7fffff5b9b50
                        StrLen Or Ind = 0x7fffff5b9b08
[ODBC][31954][1562056630.234636][SQLGetData.c][501]
                Exit:[SQL_SUCCESS]
                        Buffer = [xxx]
                        Strlen Or Ind = 0x7fffff5b9b08 -> 12
[ODBC][31954][1562056630.234657][SQLGetData.c][237]
                Entry:
                        Statement = 0x28213e0
                        Column Number = 2
                        Target Type = 1 SQL_CHAR
                        Buffer Length = 1024
                        Target Value = 0x7fffff5b9b50
                        StrLen Or Ind = 0x7fffff5b9b08
[ODBC][31954][1562056630.234678][SQLGetData.c][501]
                Exit:[SQL_SUCCESS]
                        Buffer = [xxx]
                        Strlen Or Ind = 0x7fffff5b9b08 -> 5
[ODBC][31954][1562056630.234699][SQLGetData.c][237]
                Entry:
                        Statement = 0x28213e0
                        Column Number = 3
                        Target Type = 1 SQL_CHAR
                        Buffer Length = 1024
                        Target Value = 0x7fffff5b9b50
                        StrLen Or Ind = 0x7fffff5b9b08
[ODBC][31954][1562056630.234719][SQLGetData.c][501]
                Exit:[SQL_SUCCESS]
                        Buffer = [xxx]
                        Strlen Or Ind = 0x7fffff5b9b08 -> 25
[ODBC][31954][1562056630.234739][SQLGetData.c][237]
                Entry:
                        Statement = 0x28213e0
                        Column Number = 4
                        Target Type = 1 SQL_CHAR
                        Buffer Length = 1024
                        Target Value = 0x7fffff5b9b50
                        StrLen Or Ind = 0x7fffff5b9b08
[ODBC][31954][1562056630.234759][SQLGetData.c][501]
                Exit:[SQL_SUCCESS]
                        Buffer = [xxx]
                        Strlen Or Ind = 0x7fffff5b9b08 -> 2
[ODBC][31954][1562056630.234779][SQLFetch.c][162]
                Entry:
                        Statement = 0x28213e0
[ODBC][31954][1562056630.234798][SQLFetch.c][348]
                Exit:[SQL_NO_DATA]
[ODBC][31954][1562056637.640561][SQLFreeStmt.c][144]
                Entry:
                        Statement = 0x28213e0
                        Option = 0
[ODBC][31954][1562056637.640623][SQLFreeStmt.c][263]
                Exit:[SQL_SUCCESS]
[ODBC][31954][1562056637.640647][SQLFreeHandle.c][381]
                Entry:
                        Handle Type = 3
                        Input Handle = 0x28213e0
[ODBC][31954][1562056637.640673][SQLFreeHandle.c][491]
                Exit:[SQL_SUCCESS]
[ODBC][31954][1562056637.640695][SQLEndTran.c][421]
                Entry:
                        Connection = 0x2764270
                        Completion Type = 1
[ODBC][31954][1562056637.641928][SQLGetInfo.c][554]
                Entry:
                        Connection = 0x2764270
                        Info Type = SQL_CURSOR_COMMIT_BEHAVIOR (23)
                        Info Value = 0x27656e0
                        Buffer Length = 2
                        StrLen = 0x7fffff5ba20e
[ODBC][31954][1562056637.641952][SQLGetInfo.c][617]
                Exit:[SQL_SUCCESS]
[ODBC][31954][1562056637.641972][SQLGetInfo.c][554]
                Entry:
                        Connection = 0x2764270
                        Info Type = SQL_CURSOR_ROLLBACK_BEHAVIOR (24)
                        Info Value = 0x27656e2
                        Buffer Length = 2
                        StrLen = 0x7fffff5ba20e
[ODBC][31954][1562056637.642001][SQLGetInfo.c][617]
                Exit:[SQL_SUCCESS]
[ODBC][31954][1562056637.642021][SQLEndTran.c][574]
                Exit:[SQL_SUCCESS]
[ODBC][31954][1562056637.642068][SQLDisconnect.c][208]
                Entry:
                        Connection = 0x2764270
[ODBC][31954][1562056637.642204][SQLDisconnect.c][364]
                Exit:[SQL_SUCCESS]
[ODBC][31954][1562056637.642229][SQLFreeHandle.c][284]
                Entry:
                        Handle Type = 2
                        Input Handle = 0x2764270
[ODBC][31954][1562056637.642248][SQLFreeHandle.c][333]
                Exit:[SQL_SUCCESS]

If you are looking for information on the "Restricted data type attribute violation" error check out this MySQL forum post. (TL;DR: Update your ODBC driver.)
If you're asking why c.execute(b"select * from servers limit 1") fails it's just like the error says: "The first argument to execute must be a string or unicode query." A byte array is not a string. Python_3 is more strict about these things than Python_2 was.

Updating the ODBC driver is not an option for us, as the next version doesn't support the server version. Updating the server version is a project we've been looking at for ten years, not quite there yet. If a (byte) string works perfectly with .execute in py2 and the exact same string, either byte or unicode, has no way of working in py3, I'd consider that a bug in the py3 implementation of .execute. There's no other ODBC library for python and no support for MySQL 4 with any other library so py2 it is until this is resolved.

There's no other ODBC library for python

Well, there is pypyodbc, but it doesn't seem to have been actively maintained for quite a while now. Still, I just tried the latest version (1.3.5) under Python 3.7.3 and crsr.execute(b"SELECT 1 AS foo") didn't blow up.

I agree - in Python 3 bytes is not a valid string type.  Eliminating the entire idea of treating bytes as strings was a huge part of the design of Python 3.  In Python 3, if you have a string data you should really be storing it in a str instance everywhere and encode into bytes at the edges of your program.  You don't have to, but that's how Python 3 was designed so you'll be fighting an uphill battle not doing so.  Every Python 3 library is going to expect strings.
If you have legacy code, I always suggest using a single factory function for obtaining a connection.  If you have one, it is a simple process to wrap the Connection object with your own that returns wrapped Cursors.  Intercept Cursor.execute and convert the bytes there.  Something like:
class BConnection:
    def __init__(self, cnxn):
        self.cnxn = cnxn
    def __getattr__(self, name):
        return getattr(self.cnxn, name)
    def __setattr__(self, name, value):
        setattr(self.cnxn, name, value)
    def cursor(self):
        return BCursor(self.cnxn.cursor())

class BCursor:
    def __init__(self, cursor):
        self.cursor = cursor
    def __getattr__(self, name):
        return getattr(self.cnxn, name)
    def __setattr__(self, name, value):
        setattr(self.cnxn, name, value)
    def execute(sql, *args, **kwargs):
        if isinstance(sql, bytes):
            sql = sql.decode('utf-8')
        self.cursor.execute(sql, *args, **kwargs)

(I just typed this into a tiny box in a web page so it may not be perfect, but it should give you an idea of how easy it is to wrap things in Python to work around problems.  It's a nice tool to have in your toolbox.)

You might have misunderstood, I know full well that py3 strings are unicode, I don't want to pass .execute bytes, I was just replicating the issue I first encountered with sqlalchemy for completeness, which also passes pyodbc bytes for some reason. Already had to scrap sqlalchemy because it explicitly rejects mysql servers before 5.0.2.
The issue I'm raising is the fact that the query works in py2.7, on the same pyodbc code base as py3.5. Yes I'm using an old ODBC driver out of necessity, but the functionality is there in 2.7. If I have to use 2.7 because of this, so be it, I just thought I'd raise the issue as it seems to be a bug with pyodbc's handling of strings in py3.

My mistake.  So the actual issue seems to be that pyodbc is calling SQLGetData passing SQL_WCHAR and the driver doesn't like it.  I've done a lot of tests with Python 3 and MySQL so I know we can get something working.
I'm pretty sure that the issue is we need to configure pyodbc to match how the driver deals with Unicode.   The truth is that most databases do not follow the ODBC specification (IIUC) and so we have to configure the connection to each one.  It makes things complicated to configure, but most drivers do it for performance which may be worth it.
For background, you'll want to checkout the the Unicode Wiki page which explains a lot.  For specific configuration for MySQL check out the MySQL Wiki page.
What both pages will recommend is setting this immediately after connecting and before selecting.
cnxn.setdecoding(pyodbc.SQL_CHAR, encoding='utf-8')
cnxn.setdecoding(pyodbc.SQL_WCHAR, encoding='utf-8')
cnxn.setencoding(encoding='utf-8')

Let us know how this works for you.

I didn't check the wiki first 🤦♀ Setting those three options fixes the issue for me. I'm sorry for wasting your time, hopefully this is useful to someone else having this issue in the future. Thanks for the help, it's greatly appreciated.


Map Reuse and Localization

Let's say I have built a map using a dataset and saved the results on the disk. During the next step, I want to utilize the saved results to localize the position of the camera using a new frame. What could I do using the Droid Slam approach?
My understanding of the code tells me that during the map-building process, the pose of the next frame is kept equal to the estimated pose of the current frame and then it's optimized as follows:

Extract edges from the factor graph that are close to the current frame using the estimated pose of the current frame (using add proximity factors and frame distance kernel)
Estimate the motion flow between the sets of all frames connected to the current the current frame
Extract correlations features that are in the neighbourhood of each pixel using the estimated motion flow
Update the motion flow information using the motion flow delta obtained after processing the correlation features
Perform local bundle adjustment using the updated motion flow to get an updated pose and depth estimate
Repeat until it converges (or for a set number of iterations)

Now the issue with reuse is that the first step that extracts the frames in the neighbourhood of the current frame uses the pose estimate of the last frame. For pure relocalization using a saved map, it is impossible to get this initial pose estimate. There is no feature-based matching step either that we could use to extract the frames close to the current frame. In such a scenario, what should be done to localize a frame using the saved map?
This is also related to the question of loop closure: How is it performed in the current setting?

In relocalization people often do image based search first to get images that are close to the query image. So in droid slam you need to do

save the image/pose pairs of your mapping result in a database
design a image matching algorithm (there should be many in the literature) that gives you the images in the db that are close to your query image (some algo even estimates the relative pose quite accurately)
use the resulting images' poses (or even multiply by the estimated relative pose) to give the initial pose estimate of your query frame.
then you can do local ba

loop closure is done by performing local ba if it finds previous frames inside the radius

@Sanyam-Mehta you need image based localization...or appearance based localization..check RTabMap

Are you referring to the timestamp radius when you mention "radius"? In that case, the inside radius would be related to odometry rather than loop closure, correct?
@kwea123


Admin

This will add/register the admin pages for django-citeit and consequently bump the version to 1.1.0

@ldko, @damonkelley, this is ready for review.

I don't think we need to add site_views.py just to register the Admin models. We can do that from admin.py. Also, check this out. https://docs.djangoproject.com/en/1.8/ref/contrib/admin/#the-register-decorator

Yep, you are completely correct. In fact, they were already registered. Well, most of this was pointless, I should have looked more into it before assuming that site_views.py was needed. Thanks though, now I know what to look for.


Any Bound action example for a List?

I don't suppose we could ask for a List example, such as a Contact List, maybe a function to change the Salesperson Code?
I'm running into issues that Bound actions only seem to work on single entities, so if it is possible against a collection, then I really could use an example/pointer.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: bc3b124e-b1cf-6169-386c-7ed466e0a78d
Version Independent ID: 7e63c510-35cb-226b-5d78-7ba7d045a0eb
Content: Walkthrough: Creating and Interacting With an OData V4 Bound Action - Dynamics NAV
Content Source: dynamics-nav/walkthrough-creating-and-interacting-odata-v4-bound-action.md
Product: dynamics-nav-2018
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

To the best of my API knowledge in the intervening 3 years since opening this ticket, you cannot use Bound Actions on a Collection.  So, rather than requesting a Code Sample of an Impossible, perhaps a new Note section to clarify that "Bound actions are performed against single Entity endpoints, not Collections"?

The NAV documentation is no longer maintained. Closing this issue. Thanks.


#470 pipeline support

 You should sign our Contributor License Agreement in order to get your pull request merged.

LGTM


ModuleNotFoundError: No module named 'mmcv'

Traceback (most recent call last):
File "eval_Vimeo90K.py", line 13, in
import src.layers as layers
File "/content/drive/My Drive/Colab Notebooks/FeatureFlow/src/layers.py", line 1, in
import src.model as model
File "/content/drive/My Drive/Colab Notebooks/FeatureFlow/src/model.py", line 6, in
from mmdet.ops.dcn.deform_conv import DeformConv, ModulatedDeformConv, _pair, modulated_deform_conv
File "/content/drive/My Drive/Colab Notebooks/mmdetection/mmdet/init.py", line 1, in
import mmcv
ModuleNotFoundError: No module named 'mmcv'

Please check your mmdet version. We support the version of 1.0rc.
If you want to use another version of it, please be sure that you know how to modify the code. :)
Thank you.

Please check your mmdet version. We support the version of 1.0rc.
If you want to use another version of it, please be sure that you know how to modify the code. :)
Thank you.

Thank you for your reply.
I followed your guidence to install the mmdet, but after that the version of mmdet is 2.4.0.
How to install the version of 1.0rc?
Thank you~

And what is the version of mmcv?
Thank you.

They have the release here:
https://github.com/open-mmlab/mmdetection/releases/tag/v1.0rc1
It will automatically install mmcv for you. 👍
If you have more questions about dependencies, please resort to the requirements.txt that I have just uploaded.
Thank you.

If you do not have further questions, I will close this issue.
Thank you.


Issue with the Shipped Libraries of latest release v0.21. MIssing DNNL libraries.

In the latest release v0.21,
We haven't seen any DNNL libraries shipping for 0.21 release.
We are seeing mkl libraries instead of DNNL libraries.
Is DNNL libraries now part of MKL ?
Is any dependency with MKL introduced ?
In the previous query , You mentioned that dependency of MKL was removed with MKLDNN. Does this hold true now ?
Please elaborate on the queries ?

We do not ship prebuilt MKL-DNN/DNNL libraries
Dependency on MKL/MKLML was removed from the 1.x branch, but not the 0.x branch which which was used to build 0.21. Hence, the 0.21 release also contains a new set of MKLML binary libraries.

Does MKL dependency added/removed intermittently based on requirement.
Why MKL is required for 0.x branch ?
Are you planning to add MKL dependency even in 1.x branch ?
For which releases the MKLDNN/DNNL libraries are expected to ship ?

Does MKL dependency added/removed intermittently based on requirement. Why MKL is required for 0.x branch ?

Because of GEMM.

Are you planning to add MKL dependency even in 1.x branch ?

No. We improved GEMM performance in 1.x and therefore decided to remove dependency on MKL.

For which releases the MKLDNN/DNNL libraries are expected to ship ?

We are not shipping binary MKLDNN/DNNL libraries for any releases. We are only making source releases on github. Binary packages are available from various distributions and other channels like conda. However, they lag the development significantly, so if you need any recent features it is best to build the library yourself.

What @rsdubtso said is correct only for v0.x releases (mnt-v0 branch). We do ship pre-built binaries for master starting from v1.0. You can find these in the release section:

v1.0
v1.0.1
v1.0.2

The next planned release from this branch is v1.1.

Closing the issue due to lack of activity. Feel free to reopen if you have any further questions.


install cmake in julia-nightlies.spec

cc @nalimilan
If new enough versions of libgit2 are available in all the distros this builds for, probably want to turn on USE_SYSTEM_LIBGIT2.

(Believe it or not, I had this comment open in a tab for months:)
I haven't investigated too much, but I've found posts stating that the symbol I needed wasn't present in that libssh2 version (the error is 'LIBSSH2_AGENT' undeclared, apparently we need version 1.2.2). I guess Red Hat only backports security fixes, not API changes. And no, I haven't found an alternative version anywhere.

Maybe we can ask the libgit2 devs if they have any recommendations. At this point it's looking highly likely that 0.4 will ship without a libgit2-based package manager (unless someone starts working on it full time within the next few weeks/months...), so we will probably just disable the build of libgit2 and the test for it after we branch. That's my guess for now, we'll ask Stefan for his opinion when things get closer to ready.


AWS ECR push doesn't work when .docker/config.json uses "credsStore": "wincred"

BUG REPORT INFORMATION
Output of docker version:
Client:
 Version:      1.12.0-rc4
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   e4a0dbc
 Built:        Wed Jul 13 03:28:51 2016
 OS/Arch:      windows/amd64
 Experimental: true

Server:
 Version:      1.12.0-rc4
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   e4a0dbc
 Built:        Wed Jul 13 03:28:51 2016
 OS/Arch:      linux/amd64
 Experimental: true

Output of docker info:
Containers: 1
 Running: 0
 Paused: 0
 Stopped: 1
Images: 14
Server Version: 1.12.0-rc4
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 16
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: null host bridge overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.4.15-moby
Operating System: Alpine Linux v3.4
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.953 GiB
Name: moby
ID: T3DF:YLQQ:QL62:XZ6K:4NHU:LVRZ:REAO:XTM7:QWWI:UQWQ:PKLT:PQX7
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
 <IP_ADDRESS>/8

Additional environment details (AWS, VirtualBox, physical, etc.):
Steps to reproduce the issue:

Make sure .docker/config.json doesn't exist to provide default behavior on login
Set Docker login to AWS ECR with aws ecr get-login
Try to to docker push to AWS ECR
Push fails with no basic auth credentials
Remove "credsStore": "wincred" from .docker/config.json
Set Docker login to AWS ECR with aws ecr get-login again
7 Try to to docker push to AWS ECR
Push succeeds

Describe the results you received:
Failure with no basic auth credentials error
Describe the results you expected:
Push to succeed
Additional information you deem important (e.g. issue happens only occasionally):

/cc @runcom @samuelkarp

Thanks @thaJeztah!  This looks like the same issue as https://github.com/docker/docker/issues/22910.
@mikkotikkanen If you're only using ECR (and not other private registries) you can try the Amazon ECR credential helper we wrote.

Not sure if this is the proper place to put this, but I'm getting a similar thing in the Google Cloud cli which I think just uses the native docker.
as @mikkotikkanen mentioned, the steps to reproduce are the same, just using the

gcloud docker -- push syntax instead.

@damienwebdev probably best to report at Google cloud first.
I'll go ahead and close this issue, as I think it's answered, but @mikkotikkanen let us know if it's resolved with @samuelkarp 's suggestion


HorizontalScrolling Like Viewpager

Is it possible to configure the library to an horizontal scroll like a view pager (2 pages per 2 pages or 1 by one) ?
I've made it with a viewpager loading in pdfview everytime but I don't think it would be a good practice.

in theory if you add some width code to the source you could do this, i was thinking of doing mini pages across the bottom with a click to take you to the page.

Could explain me a little bit more how could i make this ?

Its not too hard, its not finished but you get the ideal..

Sorry i never explained how to create the mini maps as it was late,
Basically create two pdfview methods but one of them you resize in height and then set the zoom otherwise you will get one page filling the width.
From their you add the click listener and set the page number selected onto the larger image.
As you can see for speed i have the Fab button which will hide or display the minimap, just got to create the animations for slide in and out.
Its not a lot of work as i said but on this image does look quite impressive, i dont use the activity background color as a border so it doesnt clip in anyway it works very fluid to the end user.
If you get something working post a pic it would be nice to get some more ideals of how to improve upon this.


memory leak in rotation/recreation due to back pressed handlers

Purpose

onBackHandlers aren't removed when fragments were destroyed, leading to leak canary beeping a lot.

Does this introduce a breaking change?

[ ] Yes
[ ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

Pull Request Checklist

[ ] Public API changes
[ ] Verified for cross-platform
[ ] Synced with iOS, Web team
[ ] Internal review completed
[ ] UI Changes

[ ] Screen captures included
[ ] Tested for Light/Dark mode
[ ] Tested for screen rotation
[ ] Tested on Tablet and small screen device (5")
[ ] Include localization changes

[ ] Tests

[ ] Memory leak analysis performed
[ ] Tested on API 21, 26 and latest
[ ] Tested for background mode
[ ] Unit Tests Included
[ ] UI Automated Tests Included

How to Test

Open...
Click on...

What to Check
Verify that the following are valid

...

Other Information

closing this one, it's heavier handed than it needs to be, another took it's place


[Chore] Add realm:unknown and on-issue create check that updates the label

What needs to be done
the realm:unknown can be applied to any issue, as it will help isolate specific tasks to specific parts of different projects later.

Not going to do this.


Fix: this.props overwrite config in TextAreaControl

SUMMARY
this.props overwrite config in TextAreaControl, in that case inModal state has the same style as not modal
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

@jasgok Could describe the problem you're facing in more detail? Maybe add before/after screenshots?

@jasgok Could describe the problem you're facing in more detail? Maybe add before/after screenshots?

thank you for following up.
from chart "deck.gl", in avdvanced tab, where using "Edit javascript in modal"，
modal show only 10 lines but should show more as  maxLines={inModal ? 1000 : this.props.maxLines}  configured in TextAreaEditor.
As further inspection, this.props.maxLines=10 was found overwriting this config as {...this.props}  after it.
please refer to attached screenshots.


Migrate to use govvv for builds

Fixes #136

@jrasell this seems to be a flakey import of package gopkg.in/yaml.v2: unrecognized import path


Add variables to watches feature request

Hello Spyder Team,
(Relatively new user of Spyder IDE here). Would it be possible to have a similar feature to the one of pycharm 'add to watches'? However, I'm guessing that having a sub-window within the variable explorer might make things somewhat more difficult. I was thinking about the following alternative options: in the right-click menu, to pin/stick the variable(s) at the top of the list in the variable explorer or maybe somehow enabling multiple variables/types search separated by semicolon.
A short unrelated question. In the 'Outline' pane, there is an option 'Show special comments', but I could not find what is considered a special comment.
Thank you!

Hi @adriannick, thanks for opening this feature request, could you please elaborate more about this feature would work since we're not familiar with PyCharm?

A short unrelated question. In the 'Outline' pane, there is an option 'Show special comments', but I could not find what is considered a special comment.

Is it possible to know which version of Spyder are you using? Special comments are defined by # ----

Hi @adriannick, thanks for opening this feature request, could you please elaborate more about this feature would work since we're not familiar with PyCharm?

A short unrelated question. In the 'Outline' pane, there is an option 'Show special comments', but I could not find what is considered a special comment.

Is it possible to know which version of Spyder are you using? Special comments are defined by # ----

Sure. Basically they have a separate window in their version of variable explorer where you can add certain variables. The variables stay in this window until you remove them from there. It allows you the access them just as you would from the main variable explorer window.
I think is a useful feature to have if you debug a larger program that has many variables and you are interested in checking a specific few each time you rerun/debug it. Instead of searching for each one or individually printing them in the console, have them pinned at the top would make the checking process quicker.

Is it possible to know which version of Spyder are you using? Special comments are defined by # ----
I am using Spyder 4.2.0. Thanks, it works!

Sure. Basically they have a separate window in their version of variable explorer where you can add certain variables. The variables stay in this window until you remove them from there. It allows you the access them just as you would from the main variable explorer window.
I think is a useful feature to have if you debug a larger program that has many variables and you are interested in checking a specific few each time you rerun/debug it. Instead of searching for each one or individually printing them in the console, have them pinned at the top would make the checking process quicker.

Is it possible to know which version of Spyder are you using? Special comments are defined by # ----
I am using Spyder 4.2.0. Thanks, it works!

@ccordoba12 what do you think about this one?

@ccordoba12 what do you think about this one?

It's an interesting suggestion, but instead of having a separate window, we could allow users to "pin" certain variables and exclude the others.
However, unless someone is willing to implement it (or fund us to do it), it's not going to happen anytime soon, sorry.

It's an interesting suggestion, but instead of having a separate window, we could allow users to "pin" certain variables and exclude the others.
However, unless someone is willing to implement it (or fund us to do it), it's not going to happen anytime soon, sorry.

Yes, I think pinning the variables at the top of the list would work just as well.
Totally understandable and nothing to be sorry about. It was just a suggestion for future implementations. Thanks for considering it!

Yes, I think pinning the variables at the top of the list would work just as well.
Totally understandable and nothing to be sorry about. It was just a suggestion for future implementations. Thanks for considering it!

This is already covered by the Spyder-watchlist plugin, which is described here:
https://www.spyder-ide.org/blog/introducing-watchlist-plugin/


Unit tests fail on separation of html from vue file

Setup

Module
Version

Node.js
6.9.2

npm
4.3

vue-cli
2.8.1

vue
2.1.10

webpack
2.2.1

babel
6.22

Issue details
Took a fresh copy of the webpack template and moved the html in vue file to different file:

<template src="./hello.html">

</template>

{{ msg }}

Essential Links

Core Docs

Forum

Gitter Chat

Twitter

Docs for This Template

Ecosystem

vue-router

vuex

vue-loader

awesome-vue

While running webpack, we get the warning:
WARNING in ./src/components/hello.html
Module parse failed: /home/suhas/Projects/mycode/vue-test/src/components/hello.html Unexpected token (1:0)
You may need an appropriate loader to handle this file type.
|

|
{{ msg }}

|
Essential Links

 @ ./src ^\.\/(?!main(\.js)?$)
 @ ./test/unit/index.js

We also get a warning WARN [reporter]: SourceMap position not found for trace: undefined

Complete `npm run unit` output
><EMAIL_ADDRESS>unit /home/suhas/Projects/mycode/vue-test
> cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run

Hash: b9f5465a9c850274ab28
Version: webpack 2.2.1
Time: 1844ms
   Asset    Size  Chunks                    Chunk Names
index.js  680 kB       0  [emitted]  [big]  index.js
chunk    {0} index.js (index.js) 253 kB [entry] [rendered]
    [0] ./src/components/Hello.vue 1.45 kB {0} [built]
    [1] ./src/router/index.js 1.12 kB {0} [optional] [built]
    [3] ./src/assets/logo.png 9.17 kB {0} [built]
    [4] ./src/App.vue 1.46 kB {0} [optional] [built]
    [7] ./~/vue/dist/vue.runtime.common.js 162 kB {0} [built]
    [8] ./~/function-bind/index.js 111 bytes {0} [built]
    [9] ./src ^\.\/(?!main(\.js)?$) 325 bytes {0} [built]
   [10] ./test/unit/specs \.spec$ 177 bytes {0} [built]
   [11] ./test/unit/specs/Hello.spec.js 344 bytes {0} [optional] [built]
   [16] ./~/function-bind/implementation.js 1.42 kB {0} [built]
   [18] ./~/vue-loader/lib/template-compiler.js?id=data-v-4c74d97c!./src/components/hello.html 2.13 kB {0} [built]
   [20] ./~/vue-style-loader!./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-0da8b164!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/App.vue 1.34 kB {0} [built]
   [21] ./~/vue-style-loader!./~/css-loader!./~/vue-loader/lib/style-rewriter.js?id=data-v-4c74d97c&scoped=true!./~/vue-loader/lib/selector.js?type=styles&index=0!./src/components/Hello.vue 1.42 kB {0} [built]
   [24] ./src/components/hello.html 271 bytes {0} [optional] [built] [failed] [1 error]
   [25] ./test/unit/index.js 272 bytes {0} [built]
     + 11 hidden modules

WARNING in ./src/components/hello.html
Module parse failed: /home/suhas/Projects/mycode/vue-test/src/components/hello.html Unexpected token (1:0)
You may need an appropriate loader to handle this file type.
|

|
{{ msg }}

|
Essential Links

 @ ./src ^\.\/(?!main(\.js)?$)
 @ ./test/unit/index.js
18 02 2017 12:52:26.501:INFO [karma]: Karma v1.4.1 server started at http://<IP_ADDRESS>:9876/
18 02 2017 12:52:26.503:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency
18 02 2017 12:52:26.510:INFO [launcher]: Starting browser PhantomJS
18 02 2017 12:52:26.803:INFO [PhantomJS 2.1.1 (Linux 0.0.0)]: Connected on socket xeNY1WDvg0BIH7BZAAAA with id 58691659
PhantomJS 2.1.1 (Linux 0.0.0) INFO LOG: 'You are running Vue in development mode.
Make sure to turn on production mode when deploying for production.
See more tips at https://vuejs.org/guide/deployment.html'
18 02 2017 12:52:26.947:WARN [reporter]: SourceMap position not found for trace: undefined
PhantomJS 2.1.1 (Linux 0.0.0) ERROR
  Error: Module parse failed: /home/suhas/Projects/mycode/vue-test/src/components/hello.html Unexpected token (1:0)
  You may need an appropriate loader to handle this file type.
  |

  |
{{ msg }}

  |
Essential Links

  at index.js:9538

PhantomJS 2.1.1 (Linux 0.0.0): Executed 0 of 0 ERROR (0.148 secs / 0 secs)

Expected output
><EMAIL_ADDRESS>unit /home/suhas/Projects/mycode/vue-test
> cross-env BABEL_ENV=test karma start test/unit/karma.conf.js --single-run

18 02 2017 13:08:00.221:INFO [karma]: Karma v1.4.1 server started at http://<IP_ADDRESS>:9876/
18 02 2017 13:08:00.224:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency
18 02 2017 13:08:00.230:INFO [launcher]: Starting browser PhantomJS
18 02 2017 13:08:00.487:INFO [PhantomJS 2.1.1 (Linux 0.0.0)]: Connected on socket bu5qnN7DoGOrxJ62AAAA with id 59329966
PhantomJS 2.1.1 (Linux 0.0.0) INFO LOG: 'You are running Vue in development mode.
Make sure to turn on production mode when deploying for production.
See more tips at https://vuejs.org/guide/deployment.html'

  Hello.vue
    ✓ should render correct contents

PhantomJS 2.1.1 (Linux 0.0.0): Executed 1 of 1 SUCCESS (0.001 secs / 0.006 secs)
TOTAL: 1 SUCCESS

=============================== Coverage summary ===============================
Statements   : 100% ( 2/2 )
Branches     : 100% ( 0/0 )
Functions    : 100% ( 0/0 )
Lines        : 100% ( 2/2 )
================================================================================

Hm, that seems odd.

The guide  only mentions separating js and css. It probably makes less sense to keep the html in another separate file if js and css already are. So am I trying to do something that I shouldn't?

No, that should work fine.

@sudo-suhas  If you separate the javascript in a js file and keep the html in the .vue file, the tests ALSO Fail.
This is a showstopper for me :(

@paulvanbladel I tried reproducing the error for js section as a separate file and I think I know what the issue(and the workaround) is.
When I placed a js file in the same folder as my Vue component with the same name(hello.js), I saw the following warning:
WARNING in ./src/components/Hello.js
There are multiple modules with names that only differ in casing.
This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.
Use equal casing. Compare these module identifiers:
* E:\Projects\repos\vue-test\node_modules\babel-loader\lib\index.js!E:\Projects\repos\vue-test\src\components\Hello.js
    Used by 3 module(s), i. e.
    E:\Projects\repos\vue-test\node_modules\babel-loader\lib\index.js!E:\Projects\repos\vue-test\test\unit\specs\Hello.spec.js
* E:\Projects\repos\vue-test\node_modules\babel-loader\lib\index.js!E:\Projects\repos\vue-test\src\components\hello.js
    Used by 3 module(s), i. e.
    E:\Projects\repos\vue-test\src /^\.\/(?!main(\.js)?$)/

And the tests failed with the following output:
13 03 2017 09:55:37.445:INFO [PhantomJS 2.1.1 (Windows 8 0.0.0)]: Connected on socket Eo_tCb-w3-ZkzEQyAAAA with id 29354609
ERROR LOG: '[Vue warn]: Failed to mount component: template or render function not defined.
(found in <Root>)'

  Hello.vue
    ×should render correct contents
        undefined is not a constructor (evaluating 'vm.$el.querySelector('.hello h1')')
        webpack:///test/unit/specs/Hello.spec.js:8:32 <- index.js:7518:32

However, when I placed the js file in a subfolder(sections), the tests passed. File structure:
├───components
│   │   Hello.vue
│   │
│   └───sections
│           hello.js

However, this still does not fix the errors with HTML seperation.

@sudo-suhas
Thanks for checking that. I tried also several things but due tomy lack of in-depth knowledge about webpack....
@LinusBorg : when saying "that should work", do you mean it works at your side, or do you mean that you would like if it would work :) ? If it works on your side, thanks for providing some pointers.

@sudo-suhas  yeah, I confirm that for the .js files it works, when both files have a different name. I can very much live with that.
I love vue and this brilliant webpack template for the cli.

Ran into the same html loader issue today. My setup is a little bit different from yours:

Module
Version

Node.js
6.9.1

npm
3.10.8

vue-cli
2.8.1

vue
2.1.10

webpack
1.13.2

babel
6.0.0

My project was created using vue-cli, so I think the webpack and karma setups would be pretty much the same as yours.
In my project, I separate html, css, and js files then source them in a .vue file. Then I got this html loader issue when running unit tests. This is a little bit wired to me, because the dev config is almost the same as the karma config, except for the source map settings. How come?
Simply adding a html-loader didn't help. So I went for a tricky work around:
Rename all html files to vue files, that is: Hello.html  -> Hello.tpl.vue
Also, remember to change the source file name of <template>  in the actual .vue file.
Both dev and test are happy now.
Doing this will result in having two .vue files under one component or view folder.  There seem to be no other side effects, so I am going to stick with this work around for now.
Hope this helps.

If you're using vue-cli's generated project you can change line 11 in webpack.test.conf.js to include an html-loader.
rules: [...utils.styleLoaders(), {test: /\.html/, loader: 'html-loader'}]

If you're using vue-cli's generated project you can change line 11 in webpack.test.conf.js to include an html-loader. The tests will run, however there's some strange output which may or may not have to do with the new rule.
//line 11 webpack.test.conf.js
rules: [...utils.styleLoaders(), {test: /\.html/, loader: 'html-loader'}]

Hello,
I had same probleme with a multiple files component.
Here is maybe a solution.
Setup

Module
Version

Node
6.11.0

npm
3.10.10

vue
2.8.2

webpack
2.6.1

babel
6.22.1

Component structure
├───components
│   └───Navigation
│       └───index.vue
│       └───script.js
│       └───template.html
│       └───style.scss

Here is the index.vue
<template src="./template.html"></template>

Webpack test configuration
Both HTML and SCSS failed in test mode until I write in the webpack.test.conf.js :
// Note: test conf is merged with base conf, all base rules are present, plus:

// Line 10
module: {
    rules: [
        {
            // Use vue-loader on html template files in components directory only
            test: /components\/.*\.html$/,
            loader: 'vue-loader'
        }
    ]
}

Does it work for you?
What do you guys think?
PS: I started Webpack & VueJs very recently, be nice with me ;)

read the code in  test/index.js. it is the karma 'entry' file.  it tells krama to load all files in the src directory execpt the main.js
const srcContext = require.context('../src', true, /^\.\/(?!(main(\.js)/);

so you can eclude all the html file by the regx or add html loader in webpack config. require.context can be found in webpack's doc, you can find more detail

Thanks for the hint, @Hanruis - the following adjustment in /test/unit/index.js (line 12) resolved the HTML import problems for me:
const srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)(?!.+\.html$)/);

Simply added the negative lookahead (?!.+\.html$) at the end of the regex pattern.


when clicking on a category other categories unfold

so say i fold every category:

and then i decide i want to click on a category:

the two categories i folded previously: automatically unfold, this needs to be fixed ASAP

wrong repo... you were in the right one before.


loadProducts method never triggers callback when there's no network connection

Hi!
Awesome job, I really like your plugin. This is just a minor annoying thing and of course I can check network before invoking loadProducts. But other methods seem to return at least some error in the absence of network.
Thanks,
Ashot

Oh yeah, I have the same issue.

PR sent

fix in #99 (and merged).
@chirag04 any idea when it will published to npm ?

published.


fix extra space around sql

What's the actual fix here @fearless0307?
It looks like the markup is the same, just with added line breaks 😂

@marksweb
if we use  tag, it ignore surrounded space, but if we use  tag, it also consider the surrounded space.
Same issue was here,  tag was taking surrounded space as value in codemirror editor.

@fearless0307 ah yes I thought that might be why the formatting alone fixed it 👍
Great work. As always I assumed it more complicated & thought it was a problem in the JS!

Released in 2.4.1
https://pypi.org/project/django-sql-explorer/


Update zh-HANS.coffee

Some long English sentences that broken into several lines (e.g. line 51 - 54) are not likely to be translated to Chinese separately, as the orders of words are different in these two languages.

Thank you, @MaChengxin!
You can change the order of the words and put then in different strings, as long as the whole sentence makes sense.


slow interface / "you are using a pure-JavaScript implementation of bcrypt"

Hello again,
When firing up the Docker container, this message is shown in the logs:

Note: you are using a pure-JavaScript implementation of bcrypt.
While this implementation will work correctly, it is known to be
approximately three times slower than the native implementation.
In order to use the native implementation instead, run
meteor npm install --save bcrypt
in the root directory of your application.

Actually, the interface is very slow. Is it related to this message?
However, I do not know how to run that meteor npm install command in the container: not sure if that's even possible.
Any help is appreciated :)

Anyone?
The online demo server is perfectly fine and fast, is anyone currently running 4minitz in Docker without my issues?

Hi.
This is probably not bcrypt. Bcrypt is only for login Passwort handling.
Do you use LDAP? If yes. How many users are imported. There is a known performance issue.
What browser do u use? How many meetings and minutes are in DB?

You May also try to use the most recent unstable version from docker.  But please as separate staging testing version. In a separate directory.

I performed some more testing this morning:

separated mongodb in another container -> no change
switched from 4minitz:latest to 4minitz:develop container -> no change

However I just noticed that there is no issue when creating a new, empty meeting series.
So it might have something to do with how many topics and items there is in one meeting series.
So far I have 30 topics and a total of 73 action of info items.

any news?

What exactly is slow? What exactly are you doing that is slow (e.g. creating a new topic or scrolling the minutes page etc.)? What browser are you using?
I just checked one of my production meetings and there are 42 topics and a total of over 100 action/info items. So that should not be an issue.

Everything related to edition is slow: creating a topic, adding a detail, etc.
Navigation/scrolling is normal. Using Firefox 60 ESR and latest IE version.
I'll post a video/gif in a few days if that can be helpful.

Can not reproduce it. Multiple browsers, mutiple OSes.
Will close issue. Please reopen if way to reproduce occurs.


Add ruby example into README

This PR adds ruby example into README

@judy-lin @knhage adding a Ruby example for it! I'd appreciate your review :raised_hands:


Potential bugs relate to the end-to-end story generated from Rasa X

Rasa version: 1.10.7
Rasa X version (if used & relevant): 0.31.0
Issue:
I am doing some localization experiments on "Knowledge Base Actions", I find some (potential) bugs.
First issue (Maybe this is a bug or feature on purpose)
The end-to-end story generated from Rasa X using synonym instead of the original value.
What I input to the bot: "列出一些歌曲", in English it means: "list some songs for me", I have set up the synonym mapping from "歌曲" to "song" via:
## synonym:song
- 歌曲

but the end-to-end story is:
列出一些[song](object_type)

Maybe it's not obvious to English developer, but for someone who using other languages, the sentence becomes a little wired, the story is not very end-to-end. But after thinking it over, I think this maybe is a feature designed on purpose, since it simplified the NLU processing for testing. So, I just report it here.
Second issue (it's a bug)
What I input to the bot: "第二个属于什么专辑", in English it means: "what's the album for the second song". "第二个" means "the second one", "专辑" means "album" in English. I have set up the synonym mapping from "第二个" to 2, from "专辑” to "album".
But the end-to-end story I got is:
[2](mention)属于什么专辑[album](attribute)

the correct version should be:
[2](mention)属于什么[album](attribute)

Thanks for the issue, @chkoss will get back to you about it soon!
You may find help in the docs and the forum, too 🤗

@Saladdin can you please have a look?

The issue should not happen anymore in Rasa X 0.33


parseFetchedAccount fails to fetch account details in case if SC was deployed

Checked with Mina and SnarkyJS

Account fetching fails on this one: https://github.com/o1-labs/snarkyjs/blob/52bd53245cbbf20cd553e1aba10fcfad14baa78b/src/lib/fetch.ts#L251
Fetching account details...
Something went wrong. Error: Type "undefined" cannot be converted to a field element
    at raise_error (/nix/store/bgdmsbs4z200hmhhspk4c8igmzfpg26n-js_of_ocaml-compiler-4.0.0/lib/ocaml/4.14.0/site-lib/js_of_ocaml-compiler/runtime/jsoo_runtime.ml:110:3)
    at t14 (/workspace_root/src/lib/snarky_js_bindings/lib/snarky_js_bindings_lib.ml:130:11)
    at caml_call_gen (/builtin/+stdlib.js:32:12)
    at /builtin/+jslib.js:252:14
    at new eval (eval at caml_js_eval_string (/builtin/+jslib.js:328:42), <anonymous>:4:26)
    at Class (file:///Users/shymkiv/projects/o1/mina/src/lib/snarky_js_bindings/snarkyjs/src/snarky/proxy.js:11:14)
    at parseFetchedAccount (file:///Users/shymkiv/projects/o1/mina/src/lib/snarky_js_bindings/snarkyjs/src/lib/fetch.ts:251:13)
    at fetchAccount (file:///Users/shymkiv/projects/o1/mina/src/lib/snarky_js_bindings/snarkyjs/src/lib/fetch.ts:73:18)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async fetchAccountDetails (file:///Users/shymkiv/projects/o1/zkApps/e2e-zkapp/e2e-zkapp-ui/utils/ZkAppUtils.ts:325:22)
    at async file:///Users/shymkiv/projects/o1/zkApps/e2e-zkapp/e2e-zkapp-ui/routes/api.ts:157:20
Error: Type "undefined" cannot be converted to a field element
    at fetchAccountDetails (file:///Users/shymkiv/projects/o1/zkApps/e2e-zkapp/e2e-zkapp-ui/utils/ZkAppUtils.ts:332:11)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async file:///Users/shymkiv/projects/o1/zkApps/e2e-zkapp/e2e-zkapp-ui/routes/api.ts:157:20

This includes adding a deriver for the account type, so it stays in sync

Indirectly Irresponsible Individual: @Trivo25


Watchdog kill when opening Realm database on startup (realm::util::File::lock)

Expected Results
Database can be opened without issue.
Actual Results
Database was not opened successfully a few times in a row, but eventually does work.
Steps for others to Reproduce
Unsure, it is happening in the wild. One person reproducing it reported it happened after upgrading versions; is it possible the system killed an extension which was holding a lock for the upgrade, or something?
No Realm migration was occurring -- I have not added a new version recently, and I believe the person upgrading was already using the current library version, so I don't expect the Realm DB needed its own internal migration either.
Code Sample
Open source app. You can view the entire thing, specifically Realm initialization, here.
Version of Realm and Tooling
Realm framework version: RealmSwift (10.5.1) [using your xcframework framework]
Realm Object Server version: n/a
Xcode version: 12.4
iOS/OSX version: 14.x at least
Dependency manager + version: Cocoapods, 1.10.1 [note: integrating the xcframework with a manual podspec]
Logs
I have a bunch of these I can provide (let me know if you want the full with symbols and such), but they all look roughly something like:
0   libsystem_kernel.dylib        	0x00000001cea2493c 0x1ce9fa000 + 174396
1   Realm                         	0x0000000105c2c9d8 realm::util::File::lock+ 3066328 (bool, bool) + 104
2   Realm                         	0x0000000105aa4154 _hidden#9222_ + 68
3   Realm                         	0x0000000105aa1f54 realm::DB::do_open+ 1449812 (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool, realm::DBOptions) + 2044
4   Realm                         	0x0000000105aa4d14 realm::DB::open+ 1461524 (realm::Replication&, realm::DBOptions) + 244
5   Realm                         	0x0000000105aa9778 realm::DB::create+ 1480568 (realm::Replication&, realm::DBOptions) + 392
6   Realm                         	0x0000000105d7304c realm::_impl::RealmCoordinator::open_db+ 4403276 () + 1332
7   Realm                         	0x0000000105d71e40 realm::_impl::RealmCoordinator::do_get_realm+ 4398656 (realm::Realm::Config, std::__1::shared_ptr<realm::Realm>&, realm::util::Optional<realm::VersionID>, realm::util::CheckedUniqueLock&) + 68
8   Realm                         	0x0000000105d71c68 realm::_impl::RealmCoordinator::get_realm+ 4398184 (realm::Realm::Config, realm::util::Optional<realm::VersionID>) + 400
9   Realm                         	0x0000000105dc6b14 realm::Realm::get_shared_realm+ 4746004 (realm::Realm::Config) + 120
10  Realm                         	0x00000001059dcb1c _hidden#7032_ + 641820 (__hidden#7221_:440)
11  RealmSwift                    	0x000000010608c098 Realm.init(configuration:queue:) + 245912 (__hidden#4565_:92)

and get killed by the watchdog like:

Termination Description: SPRINGBOARD, <RBSTerminateContext| domain:10 code:0x8BADF00D explanation:scene-create watchdog transgression: application<io.robbie.HomeAssistant>:1205 exhausted real (wall clock) time allowance of 59.82 seconds | ProcessVisibility: Background | ProcessState: Running | WatchdogEvent: scene-create | WatchdogVisibility: Background | WatchdogCPUStatistics: ( | "Elapsed total CPU time (seconds): 32.480 (user 21.140, system 11.340), 9% CPU", | "Elapsed application CPU time (seconds): 0.073, 0% CPU" | ) reportType:CrashLog maxTerminationResistance:Interactive>

Worth noting, maybe relevant: the Realm database is in a group container. The file lock makes me think this may be relevant.

@zacwest a Realm file can share read access but a write transaction will block the other process from writing.

Yes. There are a few things performed (mostly deleting old data based on a date), but after a delay. Also nothing else shows up in the other threads that appears to be doing any writes.

@zacwest does your extension do any write operations? What is most likely happening is that the extension is an a suspended state and has the lock on the Realm file. If the extension were to terminate the lock would be released and your app would be able to access the Realm file.

Very rarely (mostly just a 1-item insertion), and always with the outer operation wrapped in a ProcessInfo performExpiringActivity call (possibly on a different thread, but existing). I'll see if I can mark it as read only and whether this will still occur.

Did the read-only change help?

We will keep this issue open as we investigate any potential file lock issues with iOS 15 upcoming.


[Draft] Create the ability to sample from a background model

Creates the concept of a background to a PhysicalModel which is just another PhysicalModel that adds flux. Illustrate this was a spherical galaxy whose brightness is a Gaussian function of distance from the center. The source is sampled based on the galaxy's parameters and the contributed flux depends on the relative position of the source and galaxy center.

Another comment: do we want to allow multiple backgrounds? or is it better to have all background calculated in one class?


add openh264 support

Taken from https://github.com/Nexarian/xrdp/tree/mainline_merge_avc444 and modified.

Thanks, I will work on configurable parameters based on this.

Merging this. I'll add further improvements for configurations later.


remove references to unimplemented 'targets' handling

This wasn't implemented, and it's not entirely clear how it would behave, so we're removing references to it to avoid confusion.
Fixes #249

rad thx


fix(cicd): yaml misconfiguration in github action

Tested locally with act --container-architecture linux/amd64 --artifact-server-path /tmp/artifacts and no longer receive a yaml config error. I must've forgot to test my final commit on https://github.com/substrait-io/substrait-python/pull/5/files.


Info endpoint not showing version of downloaded Conduit

Bug description
When running the Conduit binary found in one of the GitHub releases, and then inspecting the info endpoint http://localhost:8080/info shows the version as an empty string. The Docker image correctly shows the version in this endpoint.
Steps to reproduce

Download any release from the GH releases
Unzip, run Conduit
Open http://localhost:8080/info in browser.

Expected
{
  "version": "v0.1.1",
  "os": "linux",
  "arch": "amd64"
}

Actual
{
  "version": "",
  "os": "linux",
  "arch": "amd64"
}

Version
v0.1.1 any OS/arch

Note to self (or the person implementing) - need to add this option to .goreleaser.yml:
    ldflags:
      - "-s -w -X github.com/conduitio/conduit/pkg/conduit.version={{ .Tag }}"

Sidenote: we should also add a date field and bind {{ .Date }} to it, this way we can display when the binary was built, it would give the user a quick idea of how old the version they are using is.
Useful resources:

Name Templates in goreleaser
builds section (see ldflags option)


parser

Summary
Details and comments

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 3 committers have signed the CLA.:x: Thomas [Temporary]:x: amarchenkova:x: SaraM92Thomas [Temporary] seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


philo

Hi,  I had to add this to my whitelist to get it to work
api.segment.io
Thanks

This seems to be a telemetry domain, so has the anudeepND whitelist script, or Pi-hole doesn't rely on it to be whitelisted to be working, this surely won't be added. However, if you've forgot which website of service you weren't able to use due to this list being blocked (Even if it's this telemetry service in particular actually), i encourage you to respond it here.

As @PoorPocketsMcNewHold said, this is a telemetry domain and will not be added to the list.


[Rocketmq_proxy] fix assert failure on invalid buffer

Additional Description:
Replace the assert by an if-block to check the validity of the input to make the filter more robust against invalid data(instead of a crash).
Risk Level: low
Testing: Added regression test case. Passed existing test cases.
[Optional Fixes #Issue]
Detailed information about this issue is here:
https://github.com/envoyproxy/envoy/issues/12220
/cc @asraa
/cc @samkerner

@aaron-ai @lizhanhui PTAL

ping on release note?

sorry code LGTM but I think it's worth a bug fix line in the release notes.

Added bug fixes in current.rst.
Thanks!

ping on release note?

Sorry for the delay! I have added that!


Add #time.timestamp to attributeOrdering, fixing problems where [#time timestamp] searches don't get updated

Thanks!


[SPARK-26496][SS][TEST] Avoid to use Random.nextString in StreamingInnerJoinSuite

What changes were proposed in this pull request?
Similar with https://github.com/apache/spark/pull/21446. Looks random string is not quite safe as a directory name.
scala> val prefix = Random.nextString(10); val dir = new File("/tmp", "del_" + prefix + "-" + UUID.randomUUID.toString); dir.mkdirs()
prefix: String = 窽텘⒘駖ⵚ駢⡞Ρ닋੎
dir: java.io.File = /tmp/del_窽텘⒘駖ⵚ駢⡞Ρ닋੎-a3f99855-c429-47a0-a108-47bca6905745
res40: Boolean = false  // nope, didn't like this one

How was this patch tested?
Unit test was added, and manually.

Test build #100532 has started for PR 23405 at commit 9ea4fb3.

cc @dongjoon-hyun and @bersprockets

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/6468/
Test PASSed.

Test build #100532 has finished for PR 23405 at commit 9ea4fb3.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/100532/
Test PASSed.

@HyukjinKwon @dongjoon-hyun Works for me. Thanks guys!

Thank you for confirmation, @bersprockets . :)


support multiple td-agent instances with their own sets of configs?

People occasionally ask if it's possible to run multiple instances of td-agent with separate configs, and the answer tends to be something like...
td-agent -c /some/path/td-agent1.conf
td-agent -c /some/other/path/td-agent2.conf
It might be nice if this puppet module supported this type of configuration, to be able to manage multiple instances of td-agent, with unique values for config_file, service_name, and other related config for each instance.
A practical use case would be alternate logging pipelines, e.g. where there's a need/want to keep logging pipelines separate for dev/testing/production, and running multiple td-agent instances is generally possible, but not currently supported by this puppet module.

@slvr32 I don't have an issue with this. I believe the trick would be to create a new systemd service file for additional configurations. Currently we just use the builtin systemd service packaged with the RPM. If you're interested in making these changes, i would happily review and work with you on a PR.
Thanks,
Nick


recipe: pre-compile web sources

this will package up the JS sources in the Go binary, rather than depending on the hosted JS
Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@conda-forge-admin, please rerender


feature request: add opt-in support for special handling the metric label in time-series queries

the core sql datasources (postgres/mysql/mssql) handle the field-naming in a certain scenario in a special way. the situation is:

time series mode
exactly 3 columns of data
one of the columns is named metric

for example, this sql query:
SELECT CURRENT_TIMESTAMP as time, 'sku' AS metric, 1 AS cost

produces the following name in the legend of a timeseries-graph, in postgres, in timeseries-mode: sku.
the same scenario in the bigquery datasource produces cost sku.
the reason is that posgres/mysql/mssql has this special code: https://github.com/grafana/grafana/blob/cdd3e1c77601a3b87d07678cc1e1aec27e9fbc04/pkg/tsdb/sqleng/sql_engine.go#L340-L354
it could be useful to add opt-in support for this naming behavior in some form.
open questions:

how exactly would the user opt in (checkbox next to the field in the query editor? how to handle it in the raw query editor?)
special case only the field named metric, or should it be possible to set it on any field?
what about cases that are not covered by the core-sql behaviour, for example multiple label-fields in the sql result

NOTE: we do not want to make this the default behavior, it would be surprising for new users.
originally reported in https://github.com/grafana/google-bigquery-datasource/issues/205
see also discussion in https://github.com/grafana/sqlds/issues/109

i added the info to the original issue instead, closing this one.