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]
