Index: trunk/psLib/src/db/psDB.c
===================================================================
--- trunk/psLib/src/db/psDB.c	(revision 41896)
+++ trunk/psLib/src/db/psDB.c	(revision 42378)
@@ -56,4 +56,10 @@
 
 
+# if (MYSQL_VERSION_ID >= 80000)
+    # define MYSQL_BOOL bool
+# else
+    # define MYSQL_BOOL my_bool
+# endif
+
 // set the pointer to NULL if we are actually freeing the memory
 #define PSDB_NULL_FREE(ptr) \
@@ -138,6 +144,6 @@
 
 // pType utility functions
-static psPtr    psDBGetPTypeNaN(psElemType pType);
-static bool     psDBIsPTypeNaN(psElemType pType, psPtr data);
+static psPtr      psDBGetPTypeNaN(psElemType pType);
+static MYSQL_BOOL psDBIsPTypeNaN(psElemType pType, psPtr data);
 
 // public functions
@@ -753,4 +759,7 @@
     // the return value also needs to be inverted for the same reason.
     // is it safe to assume my_bool always safely casts to bool?
+    // XXX EAM 2022.03.15 : at least in mysql 8.0.28, my_bool is gone and just bool is used
+    // in 5.0 and 5.6, my_bool is char
+    // 
     return !(bool)mysql_autocommit(dbh->mysql, !mode);
 }
@@ -1447,5 +1456,8 @@
 
     mysqlType       *mType;             // type tmp variable
-    static my_bool isNull = true;       // used in a MYSQL_BIND to indicate NULL
+
+    // XXX EAM 2022.03.15 : at least in mysql 8.0.28, my_bool is gone and just bool is used
+    // in 5.0 and 5.6, my_bool is char
+    static MYSQL_BOOL isNull = true;       // used in a MYSQL_BIND to indicate NULL
 
     MYSQL_BIND *bind = mysqlRow->bind;
@@ -1602,5 +1614,7 @@
                     // assume for the time being that we don't have negative
                     // time as ISO8601 doesn't support dates prior to 0
-                    myTime->neg     = (my_bool)false;
+		    // XXX EAM 2022.03.15 : at least in mysql 8.0.28, my_bool is gone and just bool is used
+		    // in 5.0 and 5.6, my_bool is char
+                    myTime->neg     = (bool)false;
                     // currently unused by mysql
                     myTime->second_part  = (unsigned long)time->nsec;
@@ -2869,6 +2883,6 @@
 #define PS_IS_NAN(type, data, nan) *(type *)data == nan
 
-static bool psDBIsPTypeNaN(psElemType pType,
-                           psPtr data)
+static MYSQL_BOOL psDBIsPTypeNaN(psElemType pType, psPtr data)
+
 {
     bool    isNaN = NULL;
