а ещё а ещё... не про виндовс, но пофиг
напедалили мы тут себе немного всякого на питоне вшитом в сиквел
хер с ним, что немного удивились, когда конструкция
if __name__ == "__main__":
не работала.
чуваки из майкрософта на кой-то переопределили __name__ как "sqlindb" - поудивлялись диву такому, поправили и забыли.
случилось мне переносить сервер на виртуалку, обновил питон до околопоследней версии (тоже не самая очевидная задачка без доки и интернета), а код то и не работает.
теперь внезапно __name__ переопределяется как "sqlindb_0"
то есть код
EXEC sp_execute_external_script
@language = N'Python',
@script = N'
def nsum(x):
print(5+x)
if __name__ == "__main__":
nsum(5)
'
вернёт
Commands completed successfully.
но не выполнит код
EXEC sp_execute_external_script
@language = N'Python',
@script = N'
def nsum(x):
print(5+x)
if __name__ == "sqlindb_0":
nsum(5)
'
вернёт
STDOUT message(s) from external script:
10
это пиздец какой-то, правда?