계속 [패치] v0.1 TODO 항목에 대한 패치 : 젠 토토 별 SQL 언어 참조 매개 변수.

목록 : pgsql-hackerspgsql-patches
출처 : "Gevik Babakhani"
to :
제목 : V0.1 TODO 항목에 대한 패치 : 젠 토토 별 SQL-Language Reference 매개 변수.
날짜 : 2007-11-02 14:58:58
메시지 -ID : postgresql : v0.1 Todo 항목에 대한 무지개 토토 : 이름
보기 : 원시 메시지 | postgresql : v0.1 Todo 항목에 대한 패치 : 윈 토토 별 SQL-Language Reference 매개 변수. | mbox 다운로드 | 이메일 재판용
목록 : Postg토토 커뮤니티SQL Postg스포츠 토토SQL

안녕하세요,

다음과 관련하여 알파 버전.

TODO 항목 : 젠 토토 별 SQL 언어 참조 매개 변수.

내가 올바른 길에 있는지 확인하기 위해이 패치를 보내고 있습니다.

가능하면 이것을 살펴보십시오.

이 패치는 무엇을합니까?

스레드에서 논의 된대로 :
pgsql-hackers,

이 패치는 추가 매개 변수 (char ** argnames)를 추가합니다
PG_PARSE_AND_REWRITE 및

pg_analyze_and_rewrite 및 parsestate.

TransformColumnRef가 존재하지 않는 것에 대한 오류를보고하려고 할 때
열, 최종 경기는입니다.

기존 열이 아닌 열이 매개 변수 젠 토토인지 확인하기 위해 수행합니다. (Argnames)

true 인 경우, 새로운 노드는 TransformParamref에 의해 생성됩니다.

참고 :

-이 패치는 msvc ++를 사용하여 생성됩니다!

- 다형성 논증을 위해 아직 아무것도 수행되지 않았습니다.

내 테스트 위치 :

테이블 생성 TBL1 (ID Serial, Field1 Integer, Field2 Varchar);

tbl1 (Field1, Field2) 값 (11, 'Zzzz')에 삽입;

tbl1 (Field1, Field2) 값 (22, 'yyyy')에 삽입;

함수 func1 생성 또는 교체
setof record as를 반환합니다.

$$

select

par1 :: 텍스트,

par2,

par1+par2,

par2+par1,

par1+field1,

(Field1+par2) :: varchar,

par3,

Field2 || ''||

From

TBL1;

$$ 언어 SQL;

func1 (2,4, 'aaaa')을 선택하십시오.

select * from func1 (5,16, 'bbbb')에서 (텍스트, b int, c int, e int, f int, g
Varchar, h varchar, i text);

결과 :

"(2,4,6,6,13,15, AAAA,"ZZZZ AAAA ")"

"(2,4,6,6,24,26, aaaa,"yyyy aaaa ")"

"5"; 16; 21; 21; 21; 16; "27"; "BBBB"; "ZZZZ BBBB"

"5"; 16; 21; 21; 21; 27; "38"; "BBBB"; "yyyy bbbb"

GODS,

Gevik

첨부 파일 Content-Type size
func-name-args-v0.1.patch Application/Octet-stream 15.8 kb

출처 : Andrew Dunstan
to : Gevik Babakhani
CC : pgsql-patches (at) postgresql (dot) org
제목 : Re : V0.1 TODO 항목에 대한 패치 : 젠 토토 별 SQL-Language Reference 매개 변수.
날짜 : 2007-11-02 15:19:19
메시지 -ID : 472b3ff7.7070809@dunslane.net
보기 : 원시 메시지 | 전체 스레드 | mbox 다운로드 | 이메일 재판용
목록 : Postg스포츠 토토 사이트SQL Postg롤 토토SQL :

Gevik Babakhani는 다음과 같이 썼습니다.

> 안녕하세요,



> 다음과 관련된 알파 버전.

> todo 항목 : 젠 토토 별 SQL-Language Reference 매개 변수.



> 제가 올바른 트랙에 있는지 확인하기 위해이 패치를 보내고 있습니다.

> 따라서 가능하면 이것을 살펴보십시오.

1 단계 : C ++ 스타일의 주석을 사용하지 마십시오 :

+ // todo : 여기 확인

C89는 기본적으로 우리의 표준입니다. gcc -std = c89는 그것이 준수 여부를 확인합니다.

치어

Andrew


출처 : "Pavel Stehule"
to : "Gevik Babakhani"
CC : pgsql-patches (at) postgresql (dot) org
제목 : Re : V0.1 TODO 항목에 대한 패치 : 젠 토토 별 SQL-Language Reference 매개 변수.
날짜 : 2007-11-02 15:20:27
메시지 -ID : 162867790711020X221FB2B5G70E12D4806369805@mail.gmail.com
보기 : 원시 메시지 | 전체 스레드 | mbox 다운로드 | 이메일 재판용
목록 : Postg스포츠 토토 베트맨SQL pgsql-patches

> 안녕하세요,



> 다음과 관련된 알파 버전.

> todo 항목 : 젠 토토 별 SQL-Language Reference 매개 변수.

젠 토토의 충돌은 어떻습니까? 아마도 $와 같은 접두사를 더 잘 사용하는 것이 좋습니다.
또는 :. 그것 없이는 우리는 하나의 문제 만 plpgsql에서 다른 문제로 전파합니다
언어.

더 넓게 사용될 수 있습니다 :
* 준비된 진술의 젠 토토 지명
* SPI의 PARMAL 젠 토토
* ..

GODS
Pavel Stehule


출처 : "Gevik Babakhani"
to : " 'Andrew Dunstan'"
CC :
제목 : Re : V0.1 TODO 항목에 대한 패치 : 젠 토토 별 SQL-Language Reference 매개 변수.
날짜 : 2007-11-02 15:47:54
메시지 -ID : 003C01C81D67 $ BEE00AD0 $ 0A01A8C0@gevmus
보기 : 원시 메시지 | PostgreSQL : Re : V0.1 TODO 항목에 대한 패치 : 스포츠 토토 베트맨 별 SQL 언어 참조 매개 변수. | mbox 다운로드 | 이메일 재판용
목록 : pgsql-hackers Postg메이저 토토 사이트SQL

언급. 감사합니다.

----- 원본 메시지 -----
출처 : PGSQL-PATCHES-OWNER (AT) PostGRESQL (DOT) org
[Mailto : PGSQL-Patches-Owner (AT) PostgreSQL (DOT) org] Andrew Dunstan을 대신하여
보낸 : 2007 년 11 월 2 일 금요일 4:19 pm
to : Gevik Babakhani
CC : PGSQL-PATCHES (AT) PostGRESQL (DOT) org
제목 : Re : [패치] v0.1 할 일 항목에 대한 패치 : SQL-Language Reference
젠 토토 별 매개 변수.

Gevik Babakhani는 다음과 같이 썼습니다.

> 안녕하세요,



> 다음과 관련된 알파 버전.

> todo 항목 : 젠 토토 별 SQL-Language Reference 매개 변수.



> 제가 올바른 트랙에 있는지 확인하기 위해이 패치를 보내고 있습니다.

> 따라서 가능하면 이것을 살펴보십시오.

1 단계 : C ++ 스타일의 주석을 사용하지 마십시오 :

+ // todo : 여기 확인

C89는 기본적으로 우리의 표준입니다. gcc -std = c89는 그것이 준수 여부를 확인합니다.

치어

Andrew

----------------------------- (방송 끝) --------------------------------------
팁 6 : Analyze는 당신의 친구입니다


출처 : "Gevik Babakhani"
to : " 'Pavel Stehule'"
CC :
제목 : Re : V0.1 TODO 항목에 대한 패치 : 젠 토토 별 SQL-Language Reference 매개 변수.
날짜 : 2007-11-02 15:56:27
메시지 -ID : PostgreSQL : Re : V0.1 TODO 항목에 대한 패치 : 배트맨
보기 : 원시 메시지 | 전체 스레드 | mbox 다운로드 | 이메일 재판용
목록 : pgsql-hackers pgsql-patches


HI,

> 젠 토토의 충돌은 어떻습니까? 어쩌면 접두사를 더 잘 사용하는 것이 좋습니다.
> 같은 $ 또는 :. 그것 없이는 우리는에서 하나의 문제 만 전파합니다.
> 다른 언어에 대한 plpgsql.

설명 해주세요.

아마도 나는 틀렸지만 plpgsql은 arsgument 젠 토토을 처리하기 전에
실행할 쿼리를 전달합니다. 참조 :

plpgsql/pl_comp.c/do_compile (...)/line : 393

GODS,
Gevik.


출처 : Tom Lane
to : "Gevik Babakhani"
CC : pgsql-patches (at) postgresql (dot) org
제목 : Re : V0.1 TODO 항목에 대한 패치 : 젠 토토 별 SQL-Language Reference 매개 변수.
날짜 : 2007-11-02 16:06:11
메시지 -ID : 6790.1194019571@sss.pgh.pa.us
보기 : 원시 메시지 | 전체 스레드 | mbox 다운로드 | 이메일 재판용
목록 : Postg토토SQL : Postg토토SQL Postg윈 토토SQL :

"Gevik Babakhani"은 다음과 같이 씁니다 :
> 제가 올바른 트랙에 있는지 확인하기 위해이 패치를 보내고 있습니다.
> 따라서 가능하면 이것을 살펴보십시오.

당신은 콜백을 사용하겠다는 권장 사항을 이해하지 못한 것 같습니다
함수. 이 패치는 SQL 기능에 잘 작동하지만
PLPGSQL 또는 아마도 다른 데 사용하는 좋은 방법이 아닙니다
pl 기능 언어. 우리가 Parser API를 변경하려면
그러면 더 일반적인 해결책을 갖고 싶습니다.

GODS, TOM LANE


출처 : Tom Lane
to : "Gevik Babakhani"
CC : " 'Pavel Stehule'", pgsql-patches (at) postgresql (dot) org
제목 : Re : V0.1 TODO 항목에 대한 패치 : 젠 토토 별 SQL-Language Reference 매개 변수.
날짜 : 2007-11-02 16:17:04
메시지 -ID : 6960.1194020224@sss.pgh.pa.us
보기 : 원시 메시지 | 전체 스레드 | mbox 다운로드 | 이메일 재판용
목록 : Postg토토 사이트SQL Postg무지개 토토SQL

"Gevik Babakhani"은 다음과 같이 씁니다 :
>> 젠 토토의 충돌은 어떻습니까? 어쩌면 접두사를 더 잘 사용하는 것이 좋습니다.
>> $ 또는 :. 그것 없이는 우리는에서 하나의 문제 만 전파합니다.
>> 다른 언어에 대한 plpgsql.

> 설명 해주세요.
> 아마도 나는 틀렸지만 plpgsql은 arsgument 젠 토토을 처리하기 전에
> 실행할 쿼리를 전달합니다.

실제로해야 할 일 : 실제로 매개 변수가 있어야합니다
쿼리의 젠 토토을 벗어난 젠 토토 범위에있는 것으로 보입니다 (따라서
모호한 젠 토토을 먼저 쿼리의 열 젠 토토으로 해결해야합니다).
제안 된 패치는 올바른 순서로이를 수행하므로
Pavel의 관심사는 기초가 없습니다.

여기서 한 가지 요점은 자격을 갖추는 것이 좋다는 것입니다
함수 젠 토토을 가진 인수 젠 토토

함수 생성 myfunc (x int) ...
선택 ... T.x = myfunc.x에서 선택하십시오.

t가 x라는 열이 있다면 이것이 유일한 방법이 될 것입니다
함수 매개 변수 X는 해당 쿼리 내에서 참조 할 수 있습니다. 우리는
PLPGSQL과 함께 해당 지점의 파트 웨이이지만 총알을 물지 않았습니다
조회 순서 변경.

이 고려 사항은 콜백을하는 또 다른 이유입니다
해결되지 않은 젠 토토을 해결하는 데 도움이되는 기능.
나는 확실히 "function name"wired라는 개념을 갖고 싶지 않습니다
Parser API로, 그리고 우리가 그렇게했다면 여전히 그렇지 않을 것입니다.
여러 블록 라벨 네임 스페이스를 가질 수있는 PLPGSQL에 충분합니다
한 번에 액세스 가능.

GODS, TOM LANE


출처 : "Pavel Stehule"
to : "Gevik Babakhani"
CC : pgsql-patches (at) postgresql (dot) org
제목 : Re : V0.1 TODO 항목에 대한 패치 : 젠 토토 별 SQL-Language Reference 매개 변수.
날짜 : 2007-11-02 17:24:53
메시지 -ID : 162867790711021024M2479BC25LE6096A8BC2E182de@mail.gmail.com
보기 : 원시 메시지 | 전체 스레드 | mbox 다운로드 | 이메일 재판용
목록 : Postg메이저 토토 사이트SQL Postg사설 토토SQL

on 02/11/2007, Gevik Babakhani writ :

> 안녕,

>> 젠 토토의 충돌은 어떻습니까? 어쩌면 접두사를 더 잘 사용하는 것이 좋습니다.
>> 같은 $ 또는 :. 그것 없이는 우리는에서 하나의 문제 만 전파합니다.
>> 다른 언어에 대한 plpgsql.
>>
> 설명 해주세요.

> 아마도 나는 틀렸지만 plpgsql은 arsgument 젠 토토을 처리하기 전에
> 실행할 쿼리를 전달합니다. 참조 :

> plpgsql/pl_comp.c/do_compile (...)/line : 393

> GODS,
> Gevik.

그것은 신비한 버그에서 나온 것입니다 :

테이블 T (A Integer, B Integer) 만들기;
t 값 (10,20)에 삽입;

함수 만들기 foo (a integer)
정수를 반환
AS $$
A에서 A를 선택하십시오
여기서 a <> b 및 a = 10;
$$ languge sql;

foo (20); 선택
출력? 예상 10이지만 Null이 될 것입니다!

GODS
Pavel Stehule

그래서 일부 접두사가 도움이 될 수 있습니다

함수 만들기 foo (a integer)
정수를 반환
AS $$
A에서 A를 선택하십시오
여기서 : a <> b 및 a = 10;
$$ languge sql;

Oracle 사용 기호 ':'

다른 데이터베이스가 무엇인지 모르겠습니다.

GODS
Pavel Stehule


출처 : "Gevik Babakhani"
to : " 'Tom Lane'"
CC :
제목 : 계속 [패치] v0.1 TODO 항목에 대한 패치 : 젠 토토 별 SQL 언어 참조 매개 변수.
날짜 : 2007-11-02 20:43:04
메시지 -ID : 000001C81D90 $ FB5EA880 $ 0A01A8C0@gevmus
보기 : 원시 메시지 | PostgreSQL : 계속 [패치] v0.1 TODO 항목에 대한 패치 : 젠 토토 별 SQL-LANGURAGE 참조 매개 변수. | mbox 다운로드 | 이메일 재판용
목록 : pgsql-hackers pgsql-patches

안녕하세요,

> 당신은 a를 사용하겠다는 권장 사항을 이해하지 못한 것 같습니다.
> 콜백 함수. 이 패치는 SQL에 잘 작동 할 수 있습니다
> 기능이지만 사용하는 좋은 방법은 없습니다
> plpgsql 또는 아마도 다른 PL 기능 언어. 만약에
> 우리는 Parser API를 변경할 것입니다.
> 더 일반적인 해결책.

아마도 나는 충분히 잘 보이지 않았지만 콜백 메커니즘이 있습니까?
the
ERRER_CONTEXT_STACK ETC ... PARSER에서?

(그렇지 않으면 하나가 만들어야한다고 생각합니다 :))

감사합니다.
Gevik.