039 MemoryDbHepler 0.03 precision fix

This commit is contained in:
2026-09-22 16:32:29 +03:00
parent a8c2a65227
commit 86c0787ee0
+5 -2
View File
@@ -1,4 +1,5 @@
component { component {
/*0.03 precision fix*/
/*0.02 timestamp support*/ /*0.02 timestamp support*/
/** /**
* HSQL 1.8 * HSQL 1.8
@@ -33,6 +34,7 @@ component {
CREATE TEMPORARY TABLE #arguments.name#(#arrayToList(colDefs, ', ')#) ON COMMIT PRESERVE ROWS"; CREATE TEMPORARY TABLE #arguments.name#(#arrayToList(colDefs, ', ')#) ON COMMIT PRESERVE ROWS";
queryExecute(createSql, {}, { datasource: arguments.dsn }); queryExecute(createSql, {}, { datasource: arguments.dsn });
//} //}
//writedump(meta); writedump(createSql);abort;
// 2. Цикл вставки // 2. Цикл вставки
var insertSql = "INSERT INTO #arguments.name# (#cols#) VALUES (#repeatString("?,", listLen(cols)-1)#?)"; var insertSql = "INSERT INTO #arguments.name# (#cols#) VALUES (#repeatString("?,", listLen(cols)-1)#?)";
@@ -65,10 +67,11 @@ component {
private string function mapType(required string luceeType) { private string function mapType(required string luceeType) {
switch (arguments.luceeType) { switch (arguments.luceeType) {
case "VARCHAR": case "CHAR": case "LONGVARCHAR": return "LONGVARCHAR"; case "VARCHAR": case "CHAR": case "LONGVARCHAR": return "LONGVARCHAR";
case "INTEGER": case "BIGINT": case "SMALLINT": case "TINYINT": return "INT"; case "INTEGER": case "SMALLINT": case "TINYINT": return "INT";
case "BIGINT": return "BIGINT";
case "DOUBLE": case "FLOAT": case "REAL": return "DOUBLE"; case "DOUBLE": case "FLOAT": case "REAL": return "DOUBLE";
case "BOOLEAN": case "BIT": return "BIT"; case "BOOLEAN": case "BIT": return "BIT";
case "DECIMAL": case "NUMERIC": return "DECIMAL(20,6)"; case "DECIMAL": case "NUMERIC": return "DECIMAL";
case "TIMESTAMP": case "DATE": case "TIME": return "TIMESTAMP"; case "TIMESTAMP": case "DATE": case "TIME": return "TIMESTAMP";
default: return "LONGVARCHAR"; // И тут тоже default: return "LONGVARCHAR"; // И тут тоже
} }