mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-29 08:01:23 +03:00
Allow min() and max() to be used as window functions.
FossilOrigin-Name: c16125a884a9131b707ac20033968c4c3177ea79625a15efb64d754568c6c7a0
This commit is contained in:
@ -10,103 +10,7 @@
|
||||
#***********************************************************************
|
||||
#
|
||||
|
||||
package require sqlite3
|
||||
package require Pgtcl
|
||||
|
||||
set db [pg_connect -conninfo "dbname=postgres user=postgres password=postgres"]
|
||||
sqlite3 sqlite ""
|
||||
|
||||
proc execsql {sql} {
|
||||
|
||||
set lSql [list]
|
||||
set frag ""
|
||||
while {[string length $sql]>0} {
|
||||
set i [string first ";" $sql]
|
||||
if {$i>=0} {
|
||||
append frag [string range $sql 0 $i]
|
||||
set sql [string range $sql $i+1 end]
|
||||
if {[sqlite complete $frag]} {
|
||||
lappend lSql $frag
|
||||
set frag ""
|
||||
}
|
||||
} else {
|
||||
set frag $sql
|
||||
set sql ""
|
||||
}
|
||||
}
|
||||
if {$frag != ""} {
|
||||
lappend lSql $frag
|
||||
}
|
||||
#puts $lSql
|
||||
|
||||
set ret ""
|
||||
foreach stmt $lSql {
|
||||
set res [pg_exec $::db $stmt]
|
||||
set err [pg_result $res -error]
|
||||
if {$err!=""} { error $err }
|
||||
for {set i 0} {$i < [pg_result $res -numTuples]} {incr i} {
|
||||
if {$i==0} {
|
||||
set ret [pg_result $res -getTuple 0]
|
||||
} else {
|
||||
append ret " [pg_result $res -getTuple $i]"
|
||||
}
|
||||
# lappend ret {*}[pg_result $res -getTuple $i]
|
||||
}
|
||||
pg_result $res -clear
|
||||
}
|
||||
|
||||
set ret
|
||||
}
|
||||
|
||||
proc execsql_test {tn sql} {
|
||||
set res [execsql $sql]
|
||||
puts $::fd "do_execsql_test $tn {"
|
||||
puts $::fd " [string trim $sql]"
|
||||
puts $::fd "} {$res}"
|
||||
puts $::fd ""
|
||||
}
|
||||
|
||||
proc start_test {name date} {
|
||||
set dir [file dirname $::argv0]
|
||||
set output [file join $dir $name.test]
|
||||
set ::fd [open $output w]
|
||||
puts $::fd [string trimleft "
|
||||
# $date
|
||||
#
|
||||
# The author disclaims copyright to this source code. In place of
|
||||
# a legal notice, here is a blessing:
|
||||
#
|
||||
# May you do good and not evil.
|
||||
# May you find forgiveness for yourself and forgive others.
|
||||
# May you share freely, never taking more than you give.
|
||||
#
|
||||
#***********************************************************************
|
||||
# This file implements regression tests for SQLite library.
|
||||
#
|
||||
|
||||
####################################################
|
||||
# DO NOT EDIT! THIS FILE IS AUTOMATICALLY GENERATED!
|
||||
####################################################
|
||||
"]
|
||||
puts $::fd {set testdir [file dirname $argv0]}
|
||||
puts $::fd {source $testdir/tester.tcl}
|
||||
puts $::fd "set testprefix $name"
|
||||
puts $::fd ""
|
||||
}
|
||||
|
||||
proc -- {args} {
|
||||
puts $::fd "# $args"
|
||||
}
|
||||
|
||||
proc ========== {args} {
|
||||
puts $::fd "#[string repeat = 74]"
|
||||
puts $::fd ""
|
||||
}
|
||||
|
||||
proc finish_test {} {
|
||||
puts $::fd finish_test
|
||||
close $::fd
|
||||
}
|
||||
source [file join [file dirname $argv0] pg_common.tcl]
|
||||
|
||||
#=========================================================================
|
||||
|
||||
|
Reference in New Issue
Block a user