1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
"=====================================================================
|
| PosgreSQL DBI driver - FieldConverter class
|
|
======================================================================"
"======================================================================
|
| Copyright 2008, 2009 Free Software Foundation, Inc.
| Written by Paolo Bonzini
|
| This file is part of the GNU Smalltalk class library.
|
| The GNU Smalltalk class library is free software; you can redistribute it
| and/or modify it under the terms of the GNU Lesser General Public License
| as published by the Free Software Foundation; either version 2.1, or (at
| your option) any later version.
|
| The GNU Smalltalk class library is distributed in the hope that it will be
| useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
| General Public License for more details.
|
| You should have received a copy of the GNU Lesser General Public License
| along with the GNU Smalltalk class library; see the file COPYING.LIB.
| If not, write to the Free Software Foundation, 59 Temple Place - Suite
| 330, Boston, MA 02110-1301, USA.
|
======================================================================
"
FieldConverter subclass: PGFieldConverter [
<category: 'DBD-PostgreSQL'>
<comment: nil>
writeBoolean: aBoolean on: aStream [
<category: 'converting-smalltalk'>
aStream nextPut: $'.
aStream nextPut: (aBoolean ifTrue: [ $t ] ifFalse: [ $f ])
aStream nextPut: $'.
]
writeDateTime: aDateTime on: aStream [
<category: 'converting-smalltalk'>
aStream nextPutAll: 'timestamp '.
aDateTime offset = 0
ifFalse: [ aStream nextPutAll: 'with time zone ' ].
aStream nextPut: $'.
aDateTime printOn: aStream.
aStream nextPut: $'.
]
writeQuotedTime: aTime on: aStream [
<category: 'converting-smalltalk'>
"HACK. Time should support timezones too."
(aTime respondsTo: #offset)
ifTrue: [ self writeDateTime: aTime on: aStream ]
ifFalse: [ super writeTime: aTime on: aStream ]
]
]
|