| | |
| | | package com.smtaiserver.smtaiserver.database;
|
| | |
|
| | | import com.smtaiserver.smtaiserver.core.SMTAIServerApp;
|
| | | import com.smtservlet.util.SMTStatic;
|
| | | import java.sql.Connection;
|
| | | import java.sql.PreparedStatement;
|
| | | import java.sql.ResultSet;
|
| | |
| | | import java.util.Map;
|
| | | import java.util.Map.Entry;
|
| | | import java.util.Set;
|
| | |
|
| | | import org.apache.logging.log4j.LogManager;
|
| | | import org.apache.logging.log4j.Logger;
|
| | | import com.smtaiserver.smtaiserver.core.SMTAIServerApp;
|
| | | import com.smtservlet.util.SMTStatic;
|
| | |
|
| | | public class SMTDatabase implements AutoCloseable
|
| | | {
|
| | |
| | | ResultSetMetaData meta = rs.getMetaData();
|
| | | int colCount = meta.getColumnCount();
|
| | | String[] sColTypes = new String[colCount];
|
| | | |
| | | for(int i = 0; i < colCount; i ++)
|
| | | {
|
| | | switch(meta.getColumnType(i + 1))
|
| | | {
|
| | |
|
| | | for (int i = 0; i < colCount; i++) {
|
| | | switch (meta.getColumnType(i + 1)) {
|
| | | case java.sql.Types.BIGINT:
|
| | | sColTypes[i] = "bigint";
|
| | | break;
|
| | | sColTypes[i] = "bigint";
|
| | | break;
|
| | |
|
| | | case java.sql.Types.FLOAT:
|
| | | sColTypes[i] = "float4";
|
| | | break;
|
| | | |
| | | sColTypes[i] = "float4";
|
| | | break;
|
| | |
|
| | | case java.sql.Types.DOUBLE:
|
| | | sColTypes[i] = "float8";
|
| | | break;
|
| | | |
| | | case java.sql.Types.NUMERIC:
|
| | | case java.sql.Types.DECIMAL:
|
| | | sColTypes[i] = "float8";
|
| | | break;
|
| | | case java.sql.Types.INTEGER:
|
| | | sColTypes[i] = "integer";
|
| | | break; |
| | | |
| | | sColTypes[i] = "integer";
|
| | | break;
|
| | | case java.sql.Types.TIMESTAMP:
|
| | | sColTypes[i] = "timestamp";
|
| | | break; |
| | | |
| | | sColTypes[i] = "timestamp";
|
| | | break;
|
| | | case java.sql.Types.CHAR:
|
| | | case java.sql.Types.VARCHAR:
|
| | | sColTypes[i] = "varchar(" + meta.getColumnDisplaySize(i + 1) + ")";
|
| | | break;
|
| | | |
| | | sColTypes[i] = "varchar(" + meta.getColumnDisplaySize(i + 1) + ")";
|
| | | break;
|
| | |
|
| | | default:
|
| | | throw new Exception("unknow column type : " + meta.getColumnType(i+1));
|
| | | }
|
| | | throw new Exception("unknow column type : " + meta.getColumnType(i + 1));
|
| | | }
|
| | | }
|
| | | |
| | |
|
| | | if(!((DBQueryNotifyMeta)notify).onMetaInfo(recs, sColTypes))
|
| | | return;
|
| | | }
|