sqllogictest

Check-in [1694a55bf7]
Login

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.183
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
Unified Diff Ignore Whitespace Patch
Changes to src/slt_odbc3.c.
300
301
302
303
304
305
306















307
308
309
310
311
312
313
            && (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"))







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







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
            && (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"))
723
724
725
726
727
728
729
730

731
732


733
734
735
736
737
738
739
740

  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;
}








|
>


>
>
|







738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758

  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;
}