Changeset 03ff056 in tol


Ignore:
Timestamp:
Sep 23, 2016, 12:04:03 PM (10 years ago)
Author:
Pedro Gea <pgea@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
6cd7a48
Parents:
4644707
Message:

Refs #1077, #708
Se incorpora el tipo date al driver nativo de postgres.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tol/dbdrivers/libtolpgsql.c

    r4644707 r03ff056  
    381381   
    382382    switch(oid)
     383    {
     384      case 1114: // timestamp 
     385      //no: case 1184: // timestamptz
     386          {
     387            tmp=(char*)malloc(5*sizeof(char));
     388            auxTmp=PQgetvalue(dbd->result, dbd->current_tuple, nfield);
     389            tmp=strncpy(tmp, auxTmp,4);
     390            tmp[4]='\0';
     391            (*dateval)->year = (unsigned short)atoi(tmp);
     392            auxTmp = auxTmp+(5*sizeof(char));
     393            tmp=(char *)strncpy(tmp, auxTmp,2);
     394            tmp[2]='\0';
     395            (*dateval)->month = (unsigned short)atoi(tmp);
     396            auxTmp=auxTmp+(3*sizeof(char));
     397            tmp=(char *)strncpy(tmp, auxTmp, 2);
     398            (*dateval)->day = (unsigned short)atoi(tmp);
     399            auxTmp=auxTmp+(3*sizeof(char));
     400            tmp=(char *)strncpy(tmp, auxTmp, 2);
     401            (*dateval)->hour = (unsigned short)atoi(tmp);
     402            auxTmp=auxTmp+(3*sizeof(char));
     403            tmp=(char *)strncpy(tmp, auxTmp, 2);
     404            (*dateval)->minute = (unsigned short)atoi(tmp);
     405            auxTmp=auxTmp+(3*sizeof(char));
     406            tmp=(char *)strncpy(tmp, auxTmp, 2);
     407            (*dateval)->second = (unsigned short)atoi(tmp);
     408            (*dateval)->msecond = 0;
     409            free(tmp);
     410            return 1;     
     411          }
     412      case 1082: // date
    383413      {
    384       case 1114: // timestamp, timestamptz
    385         {
    386           tmp=(char*)malloc(5*sizeof(char));
    387           auxTmp=PQgetvalue(dbd->result, dbd->current_tuple, nfield);
    388           tmp=strncpy(tmp, auxTmp,4);
    389           tmp[4]='\0';
    390           (*dateval)->year = (unsigned short)atoi(tmp);
    391           auxTmp = auxTmp+(5*sizeof(char));
    392           tmp=(char *)strncpy(tmp, auxTmp,2);
    393           tmp[2]='\0';
    394           (*dateval)->month = (unsigned short)atoi(tmp);
    395           auxTmp=auxTmp+(3*sizeof(char));
    396           tmp=(char *)strncpy(tmp, auxTmp, 2);
    397           (*dateval)->day = (unsigned short)atoi(tmp);
    398           auxTmp=auxTmp+(3*sizeof(char));
    399           tmp=(char *)strncpy(tmp, auxTmp, 2);
    400           (*dateval)->hour = (unsigned short)atoi(tmp);
    401           auxTmp=auxTmp+(3*sizeof(char));
    402           tmp=(char *)strncpy(tmp, auxTmp, 2);
    403           (*dateval)->minute = (unsigned short)atoi(tmp);
    404           auxTmp=auxTmp+(3*sizeof(char));
    405           tmp=(char *)strncpy(tmp, auxTmp, 2);
    406           (*dateval)->second = (unsigned short)atoi(tmp);
    407           (*dateval)->msecond = 0;
    408           free(tmp);
    409           return 1;       
    410         }
    411       }
     414            tmp=(char*)malloc(5*sizeof(char));
     415            auxTmp=PQgetvalue(dbd->result, dbd->current_tuple, nfield);
     416            tmp=strncpy(tmp, auxTmp,4);
     417            tmp[4]='\0';
     418            (*dateval)->year = (unsigned short)atoi(tmp);
     419            auxTmp = auxTmp+(5*sizeof(char));
     420            tmp=(char *)strncpy(tmp, auxTmp,2);
     421            tmp[2]='\0';
     422            (*dateval)->month = (unsigned short)atoi(tmp);
     423            auxTmp=auxTmp+(3*sizeof(char));
     424            tmp=(char *)strncpy(tmp, auxTmp, 2);
     425            (*dateval)->day = (unsigned short)atoi(tmp);
     426            (*dateval)->hour = 0;
     427            (*dateval)->minute = 0;
     428            (*dateval)->second = 0;
     429            (*dateval)->msecond = 0;
     430            free(tmp);
     431            return 1;     
     432          }
     433    }
    412434  }
    413435
Note: See TracChangeset for help on using the changeset viewer.