Changeset e4e21ee in tol


Ignore:
Timestamp:
Jun 3, 2013, 6:24:27 PM (13 years ago)
Author:
Jorge Pérez <josp.jorge@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
2c813bc
Parents:
f737237
Message:

refs #1692, implementing function handler for mysql, postgres & odbc.

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@5900 be4846ae-f051-483a-831f-b64e7d08527f

Location:
tol/dbdrivers
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • tol/dbdrivers/libtolmysql.c

    rf737237 re4e21ee  
    133133}
    134134
     135DLLEXPORT(int) mysql_GetDBMSName(mysqld *dbd, char *dbmsName, size_t size)
     136{
     137  const char* mysqlName = "mysql";
     138  strncpy(dbmsName, mysqlName, size);
     139  return 1;
     140}
     141
     142DLLEXPORT(int) mysql_GetDBMSVersion(mysqld *dbd, char *dbmsVersion, size_t size)
     143{
     144  strncpy(dbmsVersion, dbd->desc->server_version, size);
     145  return 1;
     146}
     147
     148DLLEXPORT(int) mysql_GetDataBaseName(mysqld *dbd, char *database, size_t size)
     149{
     150  const char* unknownName = "unknown";
     151  strncpy(database, unknownName, size);
     152  return 1;
     153}
     154
    135155//--------------------------------------------------------------------
    136156/*! Opens a query (executing it).
  • tol/dbdrivers/libtolodbc.c

    rf737237 re4e21ee  
    325325}
    326326
     327DLLEXPORT(int) odbc_GetDBMSName(odbcd *dbd, char *dbmsName, size_t size)
     328{
     329  SQLSMALLINT BufferLength = (SQLSMALLINT)size;
     330  SQLSMALLINT ActualLength;
     331 
     332  SQLRETURN status = SQLGetInfo(dbd->hdbc, SQL_DBMS_NAME,
     333                                dbmsName, BufferLength, &ActualLength);
     334  return checkSQLRet(status, dbd->hdbc, __LINE__, GET_DIAG_DBC);
     335}
     336
     337DLLEXPORT(int) odbc_GetDBMSVersion(odbcd *dbd, char *dbmsVersion, size_t size)
     338{
     339  SQLSMALLINT BufferLength = (SQLSMALLINT)size;
     340  SQLSMALLINT ActualLength;
     341 
     342  SQLRETURN status = SQLGetInfo(dbd->hdbc, SQL_DBMS_VER,
     343                                dbmsVersion, BufferLength, &ActualLength);
     344  return checkSQLRet(status, dbd->hdbc, __LINE__, GET_DIAG_DBC);
     345}
     346
     347DLLEXPORT(int) odbc_GetDataBaseName(odbcd *dbd, char *database, size_t size)
     348{
     349  SQLSMALLINT BufferLength = (SQLSMALLINT)size;
     350  SQLSMALLINT ActualLength;
     351 
     352  SQLRETURN status = SQLGetInfo(dbd->hdbc, SQL_DATABASE_NAME,
     353                                database, BufferLength, &ActualLength);
     354  return checkSQLRet(status, dbd->hdbc, __LINE__, GET_DIAG_DBC);
     355}
     356
    327357//-------------------------------------------------------------------
    328358/*! \return Returns 1 if the connection has been successfully
  • tol/dbdrivers/libtolpgsql.c

    rf737237 re4e21ee  
    135135  PQfinish(dbd->conn);
    136136  dbd->conn = NULL;
     137  return 1;
     138}
     139
     140DLLEXPORT(int) postgres_GetDBMSName(pgsqld *dbd, char *dbmsName, size_t size)
     141{
     142  const char* pgsqlName = "postgres";
     143  strncpy(dbmsName, pgsqlName, sizeof(pgsqlName)-1);
     144  return 1;
     145}
     146
     147DLLEXPORT(int) postgres_GetDBMSVersion(pgsqld *dbd, char *dbmsVersion, size_t size)
     148{
     149  int version = PQserverVersion(dbd->conn);
     150  int major = version / 10000;
     151  int min_rev = version - major*10000;
     152  int minor = (min_rev) / 100;
     153  int revision = (min_rev - minor*100);
     154  snprintf(dbmsVersion, size, "%d.%d.%d", major, minor, revision);
     155  return 1;
     156}
     157
     158DLLEXPORT(int) postgres_GetDataBaseName(pgsqld *dbd, char *database, size_t size)
     159{
     160  strncpy(database, PQdb(dbd->conn), size);
    137161  return 1;
    138162}
Note: See TracChangeset for help on using the changeset viewer.