[CVS] RPM: rpm-5_4: rpm/rpmio/ rpmodbc.c

2016-04-19 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  j...@rpm5.org
  Module: rpm  Date:   19-Apr-2016 15:03:34
  Branch: rpm-5_4  Handle: 2016041913033400

  Modified files:   (Branch: rpm-5_4)
rpm/rpmio   rpmodbc.c

  Log:
- add RPM_GNUC_PURE where suggested.

  Summary:
RevisionChanges Path
1.1.2.20+4  -0  rpm/rpmio/rpmodbc.c
  

  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmodbc.c
  
  $ cvs diff -u -r1.1.2.19 -r1.1.2.20 rpmodbc.c
  --- rpm/rpmio/rpmodbc.c   3 Apr 2016 20:37:38 -   1.1.2.19
  +++ rpm/rpmio/rpmodbc.c   19 Apr 2016 13:03:34 -  1.1.2.20
  @@ -206,6 +206,7 @@
   #undef   _ENTRY
   static size_t nSQL_ATTRS = sizeof(SQL_ATTRS) / sizeof(SQL_ATTRS[0]);
   
  +RPM_GNUC_PURE
   static int odbcDumpStmt(ODBC_t odbc, void * _fp)
   {
   FILE * fp = (_fp ? _fp : stderr);
  @@ -461,6 +462,7 @@
   #undef   _ENTRY
   static size_t nSQL_INFOS = sizeof(SQL_INFOS) / sizeof(SQL_INFOS[0]);
   
  +RPM_GNUC_PURE
   static int odbcDumpInfo(ODBC_t odbc, void * _fp)
   {
   FILE * fp = (_fp ? _fp : stderr);
  @@ -739,7 +741,9 @@
   int odbcEndTran(ODBC_t odbc, int _rollback)
   {
   SQLHANDLE * dbc = odbc->dbc->hp; /* XXX env? */
  +#if defined(WITH_UNIXODBC)
   short _completion = (_rollback ? SQL_ROLLBACK : SQL_COMMIT);
  +#endif
   int rc = 0;
   (void)dbc;
   
  @@ .
__
RPM Package Managerhttp://rpm5.org
CVS Sources Repositoryrpm-cvs@rpm5.org


[CVS] RPM: rpm-5_4: rpm/rpmio/ rpmodbc.c

2016-04-03 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  j...@rpm5.org
  Module: rpm  Date:   03-Apr-2016 22:37:38
  Branch: rpm-5_4  Handle: 2016040320373800

  Modified files:   (Branch: rpm-5_4)
rpm/rpmio   rpmodbc.c

  Log:
- typo.

  Summary:
RevisionChanges Path
1.1.2.19+1  -1  rpm/rpmio/rpmodbc.c
  

  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmodbc.c
  
  $ cvs diff -u -r1.1.2.18 -r1.1.2.19 rpmodbc.c
  --- rpm/rpmio/rpmodbc.c   11 May 2015 21:10:19 -  1.1.2.18
  +++ rpm/rpmio/rpmodbc.c   3 Apr 2016 20:37:38 -   1.1.2.19
  @@ -1263,7 +1263,7 @@
urlinfo u = NULL;
   
xx = urlSplit(fn, );
  -assert(ut == URL_IS_MYSQL || ut == URL_IS_POSTGRES || URL_IS_SQLSERVER);
  +assert(ut == URL_IS_MYSQL || ut == URL_IS_POSTGRES || ut == 
URL_IS_SQLSERVER);
odbc->db = rpmExpand(u->scheme, "_", basename((char *)dbpath), NULL);
odbc->u = urlLink(u, __FUNCTION__);
   }
  @@ .
__
RPM Package Managerhttp://rpm5.org
CVS Sources Repositoryrpm-cvs@rpm5.org


[CVS] RPM: rpm-5_4: rpm/rpmio/ rpmodbc.c

2012-03-25 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  j...@rpm5.org
  Module: rpm  Date:   25-Mar-2012 18:34:37
  Branch: rpm-5_4  Handle: 2012032516343700

  Modified files:   (Branch: rpm-5_4)
rpm/rpmio   rpmodbc.c

  Log:
- odbc: fix: always print odbc failures.

  Summary:
RevisionChanges Path
1.1.2.15+1  -1  rpm/rpmio/rpmodbc.c
  

  patch -p0 '@@ .'
  Index: rpm/rpmio/rpmodbc.c
  
  $ cvs diff -u -r1.1.2.14 -r1.1.2.15 rpmodbc.c
  --- rpm/rpmio/rpmodbc.c   25 Mar 2012 00:36:53 -  1.1.2.14
  +++ rpm/rpmio/rpmodbc.c   25 Mar 2012 16:34:37 -  1.1.2.15
  @@ -105,7 +105,7 @@
   
   /* XXF FIXME: add logic to set printit */
   #define CHECK(_o, _t, _m, _rc)  \
  -Xchkodbc(_o, _t, _m, _rc, _odbc_debug, __FUNCTION__, __FILE__, __LINE__)
  +Xchkodbc(_o, _t, _m, _rc, 1, __FUNCTION__, __FILE__, __LINE__)
   #else
   #define CHECK(_o, _t, _m, _rc)  (-1)
   #endif   /* WITH_UNIXODBC */
  @@ .
__
RPM Package Managerhttp://rpm5.org
CVS Sources Repositoryrpm-cvs@rpm5.org


[CVS] RPM: rpm-5_4: rpm/rpmio/ rpmodbc.c rpmodbc.h

2012-03-21 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  j...@rpm5.org
  Module: rpm  Date:   21-Mar-2012 19:09:49
  Branch: rpm-5_4  Handle: 2012032118094900

  Modified files:   (Branch: rpm-5_4)
rpm/rpmio   rpmodbc.c rpmodbc.h

  Log:
- odbc: haul out a load of trashy #ifdef's and peculier data types.

  Summary:
RevisionChanges Path
1.1.2.8 +187 -202   rpm/rpmio/rpmodbc.c
1.1.2.7 +26 -14 rpm/rpmio/rpmodbc.h
  

  patch -p0 '@@ .'
  Index: rpm/rpmio/rpmodbc.c
  
  $ cvs diff -u -r1.1.2.7 -r1.1.2.8 rpmodbc.c
  --- rpm/rpmio/rpmodbc.c   20 Mar 2012 16:12:42 -  1.1.2.7
  +++ rpm/rpmio/rpmodbc.c   21 Mar 2012 18:09:49 -  1.1.2.8
  @@ -31,9 +31,20 @@
(_rc)); \
 }
   
  +#if !defined(WITH_UNIXODBC)  /* XXX retrofit */
  +#define SQL_SUCCEEDED(rc) (((rc)(~1))==0)
  +#define  SQL_NO_DATA 100
  +#define SQL_FETCH_NEXT   1
  +#define SQL_FETCH_FIRST  2
  +#define SQL_FETCH_LAST   3
  +#define SQL_FETCH_PRIOR  4
  +#define SQL_FETCH_ABSOLUTE   5
  +#define SQL_FETCH_RELATIVE   6
  +#endif
  +
   /*==*/
   #if defined(WITH_UNIXODBC)
  -static int Xchkodbc(/*@unused@*/ ODBC_t odbc, int type, const char * msg,
  +static int Xchkodbc(/*@unused@*/ ODBC_t odbc, int ht, const char * msg,
   int error, int printit,
   const char * func, const char * fn, unsigned ln)
   {
  @@ -41,27 +52,29 @@
   
   /* XXX filter SQL_NO_DATA(100) return. */
   if (printit  !SQL_SUCCEEDED(rc)  rc != SQL_NO_DATA) {
  - SQLINTEGER i = 0;
  - SQLRETURN ret;
  - void * hndl;
  + HNDL_t H;
  + short ret;
  + int i;
   
   fprintf(stderr, error: %s:%s:%u: %s(%d):\n,
   func, fn, ln, msg, rc);
   
  - switch (type) {
  - case SQL_HANDLE_ENV:hndl = odbc-env;   break;
  - case SQL_HANDLE_DBC:hndl = odbc-dbc;   break;
  - case SQL_HANDLE_STMT:   hndl = odbc-stmt;  break;
  - case SQL_HANDLE_DESC:   hndl = odbc-desc;  break;
  - default:hndl = NULL;break;
  + switch (ht) {
  + case SQL_HANDLE_ENV:H = odbc-env;  break;
  + case SQL_HANDLE_DBC:H = odbc-dbc;  break;
  + case SQL_HANDLE_STMT:   H = odbc-stmt; break;
  + case SQL_HANDLE_DESC:   H = odbc-desc; break;
  + default:H = NULL;   break;
}
   
  +assert(H);
  + i = 0;
do {
  - SQLINTEGER  native;
  - SQLCHAR state[7];
  - SQLCHAR text[256];
  - SQLSMALLINT len;
  - ret = SQLGetDiagRec(type, hndl, ++i, state, native, text,
  + int  native;
  + unsigned char state[7];
  + unsigned char text[256];
  + short len;
  + ret = SQLGetDiagRec(H-ht, H-hp, ++i, state, native, text,
   sizeof(text), len);
if (SQL_SUCCEEDED(ret))
fprintf(stderr, \t%s:%ld:%ld:%s\n,
  @@ -75,17 +88,59 @@
   /* XXF FIXME: add logic to set printit */
   #define CHECK(_o, _t, _m, _rc)  \
   Xchkodbc(_o, _t, _m, _rc, _odbc_debug, __FUNCTION__, __FILE__, __LINE__)
  -
  +#else
  +#define CHECK(_o, _t, _m, _rc)  (-1)
   #endif   /* WITH_UNIXODBC */
   
  +static void * hFree(ODBC_t odbc, HNDL_t H)
  +{
  +int xx;
  +
  +if (H) {
  + if (H-hp)
  + xx = CHECK(odbc, H-ht, SQLFreeHandle,
  + SQLFreeHandle(H-ht, H-hp));
  + H-ht = 0;
  + H-hp = NULL;
  + H = _free(H);
  +}
  +return NULL;
  +};
  +
  +static void * hAlloc(ODBC_t odbc, int ht)
  +{
  +HNDL_t PH;
  +HNDL_t H = xmalloc(sizeof(*H));
  +SQLHANDLE * parent;
  +int xx;
  +
  +H-ht = ht;
  +H-hp = NULL;
  +
  +switch (ht) {
  +case SQL_HANDLE_ENV: PH = NULL;  break;
  +case SQL_HANDLE_DBC: PH = odbc-env; break;
  +case SQL_HANDLE_STMT:PH = odbc-dbc; break;
  +case SQL_HANDLE_DESC:PH = odbc-dbc; break;
  +default: PH = NULL;  break;
  +}
  +parent = (PH ? PH-hp : NULL);
  +
  +xx = CHECK(odbc, H-ht, SQLAllocHandle,
  + SQLAllocHandle(H-ht, parent, H-hp));
  +assert(H-hp);
  +
  +return H;
  +};
  +
   /*==*/
   
   int odbcConnect(ODBC_t odbc, const char * uri)
   {
   const char * db = NULL;
  +SQLHANDLE * 

[CVS] RPM: rpm-5_4: rpm/rpmio/ rpmodbc.c rpmodbc.h todbc.c

2012-03-18 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  j...@rpm5.org
  Module: rpm  Date:   18-Mar-2012 16:47:06
  Branch: rpm-5_4  Handle: 2012031815470600

  Modified files:   (Branch: rpm-5_4)
rpm/rpmio   rpmodbc.c rpmodbc.h todbc.c

  Log:
- odbc: use a uri to carry around connect info.

  Summary:
RevisionChanges Path
1.1.2.4 +41 -13 rpm/rpmio/rpmodbc.c
1.1.2.4 +2  -4  rpm/rpmio/rpmodbc.h
1.1.2.3 +15 -9  rpm/rpmio/todbc.c
  

  patch -p0 '@@ .'
  Index: rpm/rpmio/rpmodbc.c
  
  $ cvs diff -u -r1.1.2.3 -r1.1.2.4 rpmodbc.c
  --- rpm/rpmio/rpmodbc.c   18 Mar 2012 14:02:14 -  1.1.2.3
  +++ rpm/rpmio/rpmodbc.c   18 Mar 2012 15:47:06 -  1.1.2.4
  @@ -11,6 +11,7 @@
   #include rpmiotypes.h
   #include rpmio.h   /* for *Pool methods */
   #include rpmlog.h
  +#include rpmmacro.h
   #include rpmurl.h
   
   #define  _RPMODBC_INTERNAL
  @@ -29,15 +30,30 @@
   
   /*==*/
   
  -int odbcConnect(ODBC_t odbc,
  - const char * db, const char * u, const char * pw)
  +int odbcConnect(ODBC_t odbc, const char * uri)
   {
  +const char * db = NULL;
  +urlinfo u = NULL;
   int rc = -1;
   
  -fprintf(stderr, -- %s(%p,%s,%s,%s)\n, __FUNCTION__, odbc, db, u, pw);
  -odbc-db = xstrdup(db);
  -odbc-u = xstrdup(u);
  -odbc-pw = xstrdup(pw);
  +fprintf(stderr, -- %s(%p,%s)\n, __FUNCTION__, odbc, uri);
  +
  +if (uri) {
  + const char * dbpath = NULL;
  + int ut = urlPath(uri, dbpath);
  +assert(ut == URL_IS_MYSQL || ut == URL_IS_POSTGRES);
  + rc = urlSplit(uri, u);
  + db = rpmExpand(u-scheme, _, basename((char *)dbpath), NULL);
  +} else {
  + u = odbc-u;
  + db = xstrdup(odbc-db);
  +}
  +assert(u);
  +assert(db);
  +
  +fprintf(stderr, \tdb: %s\n, db);
  +fprintf(stderr, \t u: %s\n, u-user);
  +fprintf(stderr, \tpw: %s\n, u-password);
   
   #if defined(WITH_UNIXODBC)
   assert(odbc-env);
  @@ -46,13 +62,15 @@
   assert(odbc-dbc);
   }
   
  +/* XXX FIXME: odbc-u-user and odbc-u-password */
   rc = SQLConnect(odbc-dbc,
(SQLCHAR *) db, SQL_NTS,
  - (SQLCHAR *) u, SQL_NTS,
  - (SQLCHAR *) pw, SQL_NTS);
  + (SQLCHAR *) u-user, SQL_NTS,
  + (SQLCHAR *) u-password, SQL_NTS);
   #endif
   
   SPEW(0, rc, odbc);
  +db = _free(db);
   return rc;
   }
   
  @@ -293,10 +311,8 @@
   }
   #endif
   
  -odbc-pw = _free(odbc-pw);
  -odbc-u = _free(odbc-u);
   odbc-db = _free(odbc-db);
  -
  +odbc-u = urlFree(odbc-u, __FUNCTION__);
   odbc-fn = _free(odbc-fn);
   }
   
  @@ -319,14 +335,26 @@
   return odbc;
   }
   
  +static char * _odbc_uri = mysql://luser:jasnl@localhost/test;
  +
   ODBC_t odbcNew(const char * fn, int flags)
   {
   ODBC_t odbc = odbcGetPool(_odbcPool);
   
  -if (fn)
  - odbc-fn = xstrdup(fn);
  +if (fn == NULL)
  + fn = _odbc_uri;
  +odbc-fn = xstrdup(fn);
   odbc-flags = flags;
   
  +{const char * dbpath = NULL;
  + int ut = urlPath(fn, dbpath);
  + urlinfo u = NULL;
  + int xx = urlSplit(fn, u);
  +assert(ut == URL_IS_MYSQL || ut == URL_IS_POSTGRES);
  + odbc-db = rpmExpand(u-scheme, _, basename((char *)dbpath), NULL);
  + odbc-u = urlLink(u, __FUNCTION__);
  +}
  +
   #if defined(WITH_UNIXODBC)
   SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, odbc-env);
   assert(odbc-env);
  @@ .
  patch -p0 '@@ .'
  Index: rpm/rpmio/rpmodbc.h
  
  $ cvs diff -u -r1.1.2.3 -r1.1.2.4 rpmodbc.h
  --- rpm/rpmio/rpmodbc.h   18 Mar 2012 14:02:14 -  1.1.2.3
  +++ rpm/rpmio/rpmodbc.h   18 Mar 2012 15:47:06 -  1.1.2.4
  @@ -22,9 +22,8 @@
   const char * fn;
   int flags;
   
  +void * u;
   const char * db;
  -const char * u;
  -const char * pw;
   
   void * env;
   void * dbc;
  @@ -92,8 +91,7 @@
/*@globals fileSystem, internalState @*/
/*@modifies fileSystem, internalState @*/;
   
  -int odbcConnect(ODBC_t odbc,
  - const char * db, const char * u, const char * pw)
  +int odbcConnect(ODBC_t odbc, /*@null@*/ const char * uri)
/*@*/;
   
   int odbcDisconnect(ODBC_t odbc)
  @@ .
  patch -p0 '@@ .'
  Index: rpm/rpmio/todbc.c
  
  $ cvs diff -u -r1.1.2.2 -r1.1.2.3 todbc.c
  --- 

[CVS] RPM: rpm-5_4: rpm/rpmio/ rpmodbc.c

2012-03-18 Thread Jeff Johnson
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  

  Server: rpm5.org Name:   Jeff Johnson
  Root:   /v/rpm/cvs   Email:  j...@rpm5.org
  Module: rpm  Date:   19-Mar-2012 05:50:00
  Branch: rpm-5_4  Handle: 201203190450

  Modified files:   (Branch: rpm-5_4)
rpm/rpmio   rpmodbc.c

  Log:
- odbc: rescuscitate builds that do not have --with-unixodbc.

  Summary:
RevisionChanges Path
1.1.2.6 +2  -0  rpm/rpmio/rpmodbc.c
  

  patch -p0 '@@ .'
  Index: rpm/rpmio/rpmodbc.c
  
  $ cvs diff -u -r1.1.2.5 -r1.1.2.6 rpmodbc.c
  --- rpm/rpmio/rpmodbc.c   18 Mar 2012 19:26:14 -  1.1.2.5
  +++ rpm/rpmio/rpmodbc.c   19 Mar 2012 04:50:00 -  1.1.2.6
  @@ -32,6 +32,7 @@
 }
   
   /*==*/
  +#if defined(WITH_UNIXODBC)
   static int Xchkodbc(/*@unused@*/ ODBC_t odbc, const char * msg,
   int error, int printit,
   const char * func, const char * fn, unsigned ln)
  @@ -49,6 +50,7 @@
   }
   #define CHECK(_odbc, _msg, _error)  \
   Xchkodbc(_odbc, _msg, _error, _odbc_debug, __FUNCTION__, __FILE__, 
__LINE__)
  +#endif   /* WITH_UNIXODBC */
   
   /*==*/
   
  @@ .
__
RPM Package Managerhttp://rpm5.org
CVS Sources Repositoryrpm-cvs@rpm5.org