r-dbi / odbc

Connect to ODBC databases (using the DBI interface)
https://odbc.r-dbi.org/
Other
387 stars 107 forks source link

CRAN WARNINGs on M1 Macs re: `-Wdeprecated-declarations` #808

Closed simonpcouch closed 3 months ago

simonpcouch commented 3 months ago

CRAN's M1 Mac checks surface a number of new warnings related to deprecated SQL/ODBC deprecations in nanodbc.

WARNING plain text ``` * checking whether package ‘odbc’ can be installed ... [21s/22s] WARNING Found the following significant warnings: connection.cpp:299:3: warning: 'SQLSetConnectAttr' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:370:26: warning: 'SQLGetDiagRec' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:388:26: warning: 'SQLGetDiagRec' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:734:21: warning: 'SQLFreeHandle' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:746:21: warning: 'SQLAllocHandle' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:753:13: warning: 'SQLSetEnvAttr' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:778:25: warning: 'SQLAllocHandle' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:944:25: warning: 'SQLSetConnectAttr' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1055:26: warning: 'SQLConnect' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1127:26: warning: 'SQLDriverConnect' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1152:29: warning: 'SQLDisconnect' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1184:26: warning: 'SQLGetConnectAttr' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1238:22: warning: 'SQLGetInfo' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1308:17: warning: 'SQLSetConnectAttr' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1332:30: warning: 'SQLEndTran' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1337:17: warning: 'SQLSetConnectAttr' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1353:29: warning: 'SQLEndTran' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1450:26: warning: 'SQLCancel' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1460:25: warning: 'SQLAllocHandle' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1482:29: warning: 'SQLCancel' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1497:25: warning: 'SQLCancel' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1522:26: warning: 'SQLPrepare' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1539:13: warning: 'SQLSetStmtAttr' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1696:13: warning: 'SQLSetStmtAttr' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1708:26: warning: 'SQLExecDirect' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1745:29: warning: 'SQLFreeStmt' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1758:13: warning: 'SQLSetStmtAttr' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1769:25: warning: 'SQLExecute' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1792:26: warning: 'SQLProcedureColumns' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1814:25: warning: 'SQLRowCount' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1830:25: warning: 'SQLNumResultCols' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1839:22: warning: 'SQLFreeStmt' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1851:25: warning: 'SQLNumParams' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1869:13: warning: 'SQLDescribeParam' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1924:17: warning: 'SQLDescribeParam' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:2077:13: warning: 'SQLBindParameter' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:2148:9: warning: 'SQLBindParameter' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:2350:13: warning: 'SQLSetStmtAttr' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:2360:13: warning: 'SQLSetStmtAttr' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:2463:13: warning: 'SQLGetStmtAttr' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:2494:13: warning: 'SQLGetStmtAttr' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:2617:25: warning: 'SQLMoreResults' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:2646:17: warning: 'SQLBindCol' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:2800:25: warning: 'SQLFetchScroll' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:2840:30: warning: 'SQLDescribeCol' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:2953:21: warning: 'SQLBindCol' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:2968:21: warning: 'SQLBindCol' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:3088:21: warning: 'SQLGetData' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:3146:21: warning: 'SQLGetData' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:3358:21: warning: 'SQLGetData' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:3508:26: warning: 'SQLDrivers' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:3575:26: warning: 'SQLDataSources' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:4605:22: warning: 'SQLTables' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:4638:22: warning: 'SQLTablePrivileges' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:4663:22: warning: 'SQLColumns' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:4689:22: warning: 'SQLPrimaryKeys' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:4714:22: warning: 'SQLTables' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:4748:22: warning: 'SQLTables' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:4777:22: warning: 'SQLTables' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1225:34: warning: 'SQLGetInfo' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:1974:13: warning: 'SQLBindParameter' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] nanodbc/nanodbc.cpp:3413:9: warning: 'SQLGetData' is deprecated: first deprecated in macOS 10.8 [-Wdeprecated-declarations] See ‘/Users/ripley/R/packages/tests-devel/odbc.Rcheck/00install.out’ for details. ```

There's also a test failure for a test that has since been removed in the dev version of the package, so no need to worry about that one.

simonpcouch commented 3 months ago

Related to #806 and #807—each will need to be resolved before the upcoming CRAN release.

detule commented 3 months ago

Hey @simonpcouch - how do the CRAN check results https://cran.r-project.org/web/checks/check_results_odbc.html compare against that log from BDRs runners? Which one is "official"?

simonpcouch commented 3 months ago

Definitely good odds that I've made a mistake at some point in the following, but my sense is:

Those in the table, i.e. not those that give rise to "Additional issues", are more official than "Additional issues". :)

detule commented 3 months ago

Hey thanks for those bullets - that was very useful.

Shooting from the hip here, but my guess is that s-u's and BDRs M1 boxes are not configured identically. Whatever fix s-u put in place when we brought up this issue last time seemed like it was outside the committed code in the recipes repo, so maybe not super portable to other machines performing a similar function.

Just guessing at this point - but copy on mentioning in cran-comments. Maybe if we get dinged on this we go back to Simon and discuss a potentially more durable solution?