create table base (name character varying(255));
create view v1 as select *, now() from base;
create view v2 as select * from v1 where name = 'joe';
alter table base alter column name type text;
Run Code Online (Sandbox Code Playgroud)
给出了这个错误:
cannot alter type of a column used by a view or rule
DETAIL: rule _RETURN on view v1 depends on column "name"
Run Code Online (Sandbox Code Playgroud)
这有点烦人,因为现在我必须重新创建引用该base.name列的所有视图.当我有引用其他视图的视图时,这尤其令人讨厌.
我希望能够做的是:
select recreate_views('v1', 'v2', 'alter table base alter column name type text');
Run Code Online (Sandbox Code Playgroud)
并让函数获取v1和v2的视图定义,删除它们,运行指定的代码,然后重新创建v1和v2.如果我可以使用Ruby,我可能会使用函数/ block/lambda,就像
recreate_views 'v1', 'v2' do
alter …Run Code Online (Sandbox Code Playgroud) 它不应该检查你是否处于生产模式?我们看到在开发模式下重定向到https,这似乎很奇怪.或者这是插件的正常行为?我认为它过去的表现不同.
Zebra ZPL 标签打印机将打印命令从一个打印作业传递到另一个打印作业。因此,如果您发送^FWR旋转标签的命令,则以后的所有作业都将旋转,因此^FWN如果您希望以纵向模式打印下一个标签,则必须将方向重置为。
有没有办法在每个打印作业上自动重置 Zebra 上的“标准”设置?那么上一个作业的设置不会延续到下一个作业吗?我希望发送到打印机的每个 zpl 文件都能以完全相同的方式打印,无论之前打印了什么。
或者我可以发送一组默认命令来重置方向、字体、位置、dpi、测量值等?
有一个命令可以执行开机/恢复出厂设置,但我不想在每个标签打印上都执行此操作。
我开始通过解决99个Haskell问题来学习Haskell. http://www.haskell.org/haskellwiki/H-99:_Ninety-Nine_Haskell_Problems 我想使用quickcheck为每个程序/函数编写测试.
我有以下代码:
import Test.QuickCheck
import Text.Printf
main = mapM_ (\(s,a) -> printf "%-25s: " s >> a) tests
-- 1
myLast lst = last lst
prop_1a xs x = myLast (xs ++ [x]) == (x::String)
myLast' = head . reverse
prop_1b xs x = myLast' (xs ++ [x]) == (x::String)
tests = [("1a", quickCheck prop_1a)
,("1b", quickCheck prop_1b)
]
我可能会写myLast'',myLast'''等等.有没有办法可以测试所有这些方法,而无需重复代码和快速检查属性?
相关问题:现在,我正在快速检查使用字符串.有没有办法随机使用不同类型进行测试?