This is an automated email from the ASF dual-hosted git repository.

mxmanghi pushed a commit to branch 3.2
in repository https://gitbox.apache.org/repos/asf/tcl-rivet.git

commit 60c5c8d6dba65e4e198a8c13aba9e33bedf12199
Author: Massimo Manghi <[email protected]>
AuthorDate: Mon Oct 6 11:10:21 2025 +0200

    fix wrong class names in comment
---
 rivet/packages/aida/aida.tcl       | 10 +++----
 rivet/packages/aida/formatters.tcl | 54 ++++++++++++++++++++++++++++++++++++++
 rivet/packages/dio/formatters.tcl  |  4 +--
 3 files changed, 60 insertions(+), 8 deletions(-)

diff --git a/rivet/packages/aida/aida.tcl b/rivet/packages/aida/aida.tcl
index 4e0864b..8a80576 100644
--- a/rivet/packages/aida/aida.tcl
+++ b/rivet/packages/aida/aida.tcl
@@ -1,7 +1,7 @@
-# aida.tcl -- agnostic interface to TDBC
-
-# Copyright 2002-2004 The Apache Software Foundation
-
+# aida.tcl -- agnostic interface to database access
+#
+# Copyright 2024 The Apache Tcl Team
+#
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
@@ -15,8 +15,6 @@
 # limitations under the License.
 
 package require Tcl  8.6
-package require Itcl
-
 source [file join [file dirname [info script]] sql.tcl]
 
 namespace eval ::aida {
diff --git a/rivet/packages/aida/formatters.tcl 
b/rivet/packages/aida/formatters.tcl
new file mode 100644
index 0000000..60a5000
--- /dev/null
+++ b/rivet/packages/aida/formatters.tcl
@@ -0,0 +1,54 @@
+# formatters.tcl -- agnostic interface to database access special
+#                   fields formatters
+#
+# Copyright 2025 The Apache Tcl Team
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+package require TclOO
+
+namespace eval ::aida::formatters {
+
+    ::oo::class create RootFormatter {
+
+        variable SpecialFields [dict create]
+
+        classmethod quote {a_string} {
+            regsub -all {'} $a_string {\'} a_string
+            return $a_string
+        }
+
+        method register {table_name field_name ftype} {
+            dict set special_fields $table_name $field_name $ftype
+        }
+
+        method build {table_name field_name val convert_to} {
+            if {[dict exists $special_fields $table_name $field_name]} {
+                set field_type [dict get $special_fields $table_name 
$field_name]
+
+                if {[catch {
+                    set field_value [$this $field_type $field_name $val 
$convert_to]
+                } e einfo]} {
+                    set field_value "'[quote $val]'"
+                }
+
+                return $field_value
+            } else {
+                return "'[quote $val]'"
+            }
+        }
+
+    } ; ## ::oo::class RootFormatter
+
+}
diff --git a/rivet/packages/dio/formatters.tcl 
b/rivet/packages/dio/formatters.tcl
index c2b17b5..2e6f605 100644
--- a/rivet/packages/dio/formatters.tcl
+++ b/rivet/packages/dio/formatters.tcl
@@ -21,7 +21,7 @@
 
 namespace eval ::DIO::formatters {
 
-    # ::itcl::class FieldFormatter
+    # ::itcl::class RootFormatter
     #
     # we devolve the role of special field formatter to this
     # class. By design this is more sensible with respect to
@@ -60,7 +60,7 @@ namespace eval ::DIO::formatters {
             }
         }
 
-    } ; ## ::itcl::class FieldFormatter
+    } ; ## ::itcl::class RootFormatter
 
     ::itcl::class Mysql {
         inherit RootFormatter


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to