sqllogictest
Check-in [1694a55bf7]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Enhance support for recent versions of PostgreSQL.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:1694a55bf75784b33fed7415f9aba1cc826f0ecc
User & Date: mistachkin 2014-02-11 07:21:36
Context
2014-02-11
07:40
Use standard engine naming for PostgreSQL as the tests already rely on it. check-in: b5e970313f user: mistachkin tags: trunk
07:21
Enhance support for recent versions of PostgreSQL. check-in: 1694a55bf7 user: mistachkin tags: trunk
2014-01-28
18:11
Update the built-in SQLite to the latest 3.8.3 beta. Fix a compiler warning in the md5.c module. check-in: 13832ba988 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/slt_odbc3.c.

300
301
302
303
304
305
306















307
308
309
310
311
312
313
...
723
724
725
726
727
728
729
730

731
732


733
734
735
736
737
738
739
740
            && (strlen(res.azValue[i+2])>0)
            && (0 == strcmp(res.azValue[i+3], "TABLE"))
            && (0 == strcmp(res.azValue[i+4], "NULL"))
        ){
          sprintf(zSql, "DROP TABLE %s", res.azValue[i+2]);
          rc = ODBC3Statement(pODBC3conn, zSql, 0);
        }















      }
    }else{
      for( i=0; !rc && (i+4<res.nUsed); i+=5 ){
        if(    (0 == strcmp(res.azValue[i], zDbName)
                 || 0 == strcmp(res.azValue[i], "NULL"))
            && (0 == strcmp(res.azValue[i+1], "(empty)")
                 || 0 == strcmp(res.azValue[i+1], "NULL"))
................................................................................

  ret = SQLGetInfo(pODBC3conn->dbc,
                   SQL_DBMS_NAME,
                   zDmbsName,
                   sizeof(zDmbsName),
                   &outLen);
  if( SQL_SUCCEEDED(ret) || (ret == SQL_SUCCESS_WITH_INFO) ){
    // map Microsoft SQL Server -> mssql

    if( stricmp("Microsoft SQL Server", zDmbsName)==0 ){
      *zName = "mssql";


    } else {
      *zName = zDmbsName;
    }
    return 0;
  }
  return 1;
}








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







 







|
>


>
>
|







300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
...
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
            && (strlen(res.azValue[i+2])>0)
            && (0 == strcmp(res.azValue[i+3], "TABLE"))
            && (0 == strcmp(res.azValue[i+4], "NULL"))
        ){
          sprintf(zSql, "DROP TABLE %s", res.azValue[i+2]);
          rc = ODBC3Statement(pODBC3conn, zSql, 0);
        }
      }
    }else if( 0 == stricmp(zDmbsName, "pgsql") ){
      for( i=0; !rc && (i+4<res.nUsed); i+=5 ){
        if(    (0 == stricmp(res.azValue[i], zDbName))
            && (0 == strcmp(res.azValue[i+1], "(empty)")
                 || 0 == strcmp(res.azValue[i+1], "NULL")
                 || 0 == stricmp(res.azValue[i+1], "public"))
            && (strlen(res.azValue[i+2])>0)
            && (0 == strcmp(res.azValue[i+3], "TABLE"))
            && (0 == strcmp(res.azValue[i+4], "(empty)")
                 || 0 == strcmp(res.azValue[i+4], "NULL"))
        ){
          sprintf(zSql, "DROP TABLE %s", res.azValue[i+2]);
          rc = ODBC3Statement(pODBC3conn, zSql, 0);
        }
      }
    }else{
      for( i=0; !rc && (i+4<res.nUsed); i+=5 ){
        if(    (0 == strcmp(res.azValue[i], zDbName)
                 || 0 == strcmp(res.azValue[i], "NULL"))
            && (0 == strcmp(res.azValue[i+1], "(empty)")
                 || 0 == strcmp(res.azValue[i+1], "NULL"))
................................................................................

  ret = SQLGetInfo(pODBC3conn->dbc,
                   SQL_DBMS_NAME,
                   zDmbsName,
                   sizeof(zDmbsName),
                   &outLen);
  if( SQL_SUCCEEDED(ret) || (ret == SQL_SUCCESS_WITH_INFO) ){
    /* map Microsoft SQL Server -> mssql */
    /* map PostgreSQL -> pgsql */
    if( stricmp("Microsoft SQL Server", zDmbsName)==0 ){
      *zName = "mssql";
    }else if( stricmp("PostgreSQL", zDmbsName)==0 ){
      *zName = "pgsql";
    }else{
      *zName = zDmbsName;
    }
    return 0;
  }
  return 1;
}