bug fices
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
|
||||
set( YAPMYSQL_SOURCES
|
||||
myddas_mysql.c
|
||||
)
|
||||
myddas_util.c
|
||||
myddas_util.c
|
||||
myddas_wkb2prolog.c
|
||||
)
|
||||
|
||||
set(SO_MAJOR 1)
|
||||
set(SO_MINOR 0)
|
||||
@@ -19,12 +22,8 @@ macro_log_feature (MYSQL_FOUND "MySQL"
|
||||
# MYSQL_FOUND - True if MySQL found.
|
||||
add_definitions (-DMYDDAS_MYSQL=1)
|
||||
add_library (Yapmysql SHARED ${YAPMYSQL_SOURCES})
|
||||
target_link_libraries(Yapmysql myddas libYap)
|
||||
target_link_libraries(Yapmysql ${MYSQL_LIBRARIES} libYap)
|
||||
include_directories (${MYSQL_INCLUDE_DIR} ..)
|
||||
else()
|
||||
add_definitions (-DMYDDAS_MYSQL=0)
|
||||
endif (MYSQL_FOUND)
|
||||
|
||||
set_target_properties (Yapmysql PROPERTIES
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
VERSION "${SO_MAJOR}.${SO_MINOR}.${SO_PATCH}"
|
||||
@@ -36,6 +35,10 @@ set_target_properties (Yapmysql PROPERTIES
|
||||
LIBRARY DESTINATION ${libdir}
|
||||
)
|
||||
|
||||
else()
|
||||
add_definitions (-DMYDDAS_MYSQL=0)
|
||||
endif (MYSQL_FOUND)
|
||||
|
||||
cmake_dependent_option (USE_MYDDAS_top_level
|
||||
"enable the MYDDAS top-level (REPL) support for MySQL" OFF
|
||||
'USE_MYDDAS AND MYSQL_FOUND' OFF)
|
||||
|
@@ -25,6 +25,7 @@
|
||||
#include "Yatom.h"
|
||||
#include "cut_c.h"
|
||||
#include "myddas_structs.h"
|
||||
#include "myddas_util.h"
|
||||
#ifdef MYDDAS_STATS
|
||||
#include "myddas_statistics.h"
|
||||
#endif
|
||||
|
@@ -15,87 +15,75 @@
|
||||
* *
|
||||
*************************************************************************/
|
||||
|
||||
#include "Yap.h"
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <mysql/mysql.h>
|
||||
#include <myddas_util.h>
|
||||
|
||||
#ifdef MYDDAS_MYSQL
|
||||
/* Auxilary function to table_write*/
|
||||
static void n_print(Int, char);
|
||||
#endif
|
||||
|
||||
/* Auxilary function to table_write*/
|
||||
static void
|
||||
n_print(Int , char );
|
||||
|
||||
/* Auxilary function to table_write*/
|
||||
static void
|
||||
n_print(Int n, char c)
|
||||
{
|
||||
for(;n>0;n--) printf("%c",c);
|
||||
static void n_print(Int n, char c) {
|
||||
for (; n > 0; n--)
|
||||
printf("%c", c);
|
||||
}
|
||||
|
||||
void
|
||||
myddas_util_table_write(MYSQL_RES *res_set){
|
||||
|
||||
void myddas_util_table_write(MYSQL_RES *res_set) {
|
||||
|
||||
MYSQL_ROW row;
|
||||
MYSQL_FIELD *fields;
|
||||
Int i,f;
|
||||
Int i, f;
|
||||
|
||||
if (mysql_num_rows(res_set) == 0)
|
||||
{
|
||||
printf ("Empty Set\n");
|
||||
return;
|
||||
}
|
||||
if (mysql_num_rows(res_set) == 0) {
|
||||
printf("Empty Set\n");
|
||||
return;
|
||||
}
|
||||
|
||||
f = mysql_num_fields(res_set);
|
||||
|
||||
fields = mysql_fetch_field(res_set);
|
||||
for(i=0;i<f;i++)
|
||||
{
|
||||
for (i = 0; i < f; i++) {
|
||||
printf("+");
|
||||
if (strlen(fields[i].name)>fields[i].max_length) fields[i].max_length=strlen(fields[i].name);
|
||||
n_print(fields[i].max_length+2,'-');
|
||||
if (strlen(fields[i].name) > fields[i].max_length)
|
||||
fields[i].max_length = strlen(fields[i].name);
|
||||
n_print(fields[i].max_length + 2, '-');
|
||||
}
|
||||
printf("+\n");
|
||||
|
||||
for(i=0;i<f;i++)
|
||||
{
|
||||
|
||||
for (i = 0; i < f; i++) {
|
||||
printf("|");
|
||||
printf(" %s ",fields[i].name);
|
||||
n_print(fields[i].max_length - strlen(fields[i].name),' ');
|
||||
}
|
||||
printf(" %s ", fields[i].name);
|
||||
n_print(fields[i].max_length - strlen(fields[i].name), ' ');
|
||||
}
|
||||
printf("|\n");
|
||||
|
||||
for(i=0;i<f;i++)
|
||||
{
|
||||
|
||||
for (i = 0; i < f; i++) {
|
||||
printf("+");
|
||||
n_print(fields[i].max_length+2,'-');
|
||||
n_print(fields[i].max_length + 2, '-');
|
||||
}
|
||||
printf("+\n");
|
||||
|
||||
while ((row = mysql_fetch_row(res_set)) != NULL)
|
||||
{
|
||||
for(i=0;i<f;i++)
|
||||
{
|
||||
printf("|");
|
||||
if (row[i] != NULL)
|
||||
{
|
||||
printf(" %s ",row[i]);
|
||||
n_print(fields[i].max_length - strlen(row[i]),' ');
|
||||
}
|
||||
else
|
||||
{
|
||||
printf(" NULL ");
|
||||
n_print(fields[i].max_length - 4,' ');
|
||||
}
|
||||
}
|
||||
printf("|\n");
|
||||
}
|
||||
|
||||
for(i=0;i<f;i++)
|
||||
{
|
||||
printf("+");
|
||||
n_print(fields[i].max_length+2,'-');
|
||||
|
||||
while ((row = mysql_fetch_row(res_set)) != NULL) {
|
||||
for (i = 0; i < f; i++) {
|
||||
printf("|");
|
||||
if (row[i] != NULL) {
|
||||
printf(" %s ", row[i]);
|
||||
n_print(fields[i].max_length - strlen(row[i]), ' ');
|
||||
} else {
|
||||
printf(" NULL ");
|
||||
n_print(fields[i].max_length - 4, ' ');
|
||||
}
|
||||
}
|
||||
printf("|\n");
|
||||
}
|
||||
|
||||
for (i = 0; i < f; i++) {
|
||||
printf("+");
|
||||
n_print(fields[i].max_length + 2, '-');
|
||||
}
|
||||
printf("+\n");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user