PostgreSQL 8.0.0 �����ĵ���PostgreSQL �й� ������ | ||||
---|---|---|---|---|
Prev | Fast Backward | Chapter 40. PostgreSQL �ڲ���ò | Fast Forward | Next |
�����������������֣�
�� gram.y �� scan.l �ﶨ�����������ʹ�� Unix ���� yacc �� lex�����ġ�
ת�������Է��������ص����ݽṹ�����ĺ�������
�����������飨�Դ� ASCII �ı���ʽ�����ģ���ѯ�ִ������ ������ȷ����һ������������֮���أ� ������һ������ʵ�ַ������ʹʷ�������ʹ���������� Unix ���� lex �� yacc��
�ʷ������ļ� scan.l�ﶨ�壬����ʶ����ʶ����SQL �ؼ����ȡ� ���ڷ��ֵ�ÿ���ؼ��ֻ��߱�ʶ����������һ���Ǻ����Ҵ��ݸ���������
���������ļ� gram.y �ﶨ�岢�Ұ���һ��������ʹ�������ʱִ�е������� �������루ʵ������ C ���룩���ڽ�����������
�ļ� scan.l �� lex ת���� C Դ�ļ� scan.c �� gram.y �� yacc ת���� gram.c�� �������Щת����һ��ͨ�õ� C �������Ϳ������ڴ����������� ǧ��Ҫ�����ɵ� C Դ�ļ����ģ���Ϊ��һ�ε��� lex �� yacc ʱ������Ǹ��ǡ�
ע��: �����ᵽ��ת���ͱ�����ʹ�ø��� PostgreSQL ������ makefiles �Զ���ɵġ�
�� yacc ���� gram.y �����������ϸ�����������ĵķ�Χ�� �кܶ���� lex �� yacc���鼮���ĵ������ڿ�ʼ�о� gram.y ��������֮ǰ����Ӧ�ö� yacc ����Ϥ���������ǿ���������������ݣ���ⲻ�˷�����ʲô����ġ�
�������ض�ֻʹ�ú� SQL ��ṹ��صĹ̶�����һ���������� ����������κ�ϵͳ����˾Ͳ�������������ѯ�������ϸ�����⡣ �ڷ���������֮��ת���������ܷ������������ķ�����Ȼ������һ������ ������Щ����ѯ���������ĸ����ĸ������Լ��ĸ������������⡣�����ɵı�ʾ�����Ϣ�����ݽṹ������ѯ����
�����������������ֳ��������̵�ԭ����ϵͳ�����ֻ����һ�������н��У� �����Dz�����һ���յ���ѯ�ִ��ͷ���һ������ ��������Ѿ��㹻���Ա�ʶ����������BEGIN��ROLLBACK���ȣ��� ������Щ���������κν�һ���ķ����Ϳ���ִ�С�һ������֪���������ڴ���һ������ �IJ�ѯ������SELECT ���� UPDATE���� ���ǾͿ��Է���һ�������ˣ�������ǻ�û��ʼ��ôһ������ֻ�����ʱ����Ե���ת������
ת���������ɵIJ�ѯ���ṹ���ںܴ�̶������������������������ϸ�����кܶ����� ���磬�ڷ�������� FuncCall �ڵ������Щ����ȥ�������õĶ����� �������õ�������һ����ͨ��������һ���ۼ������� ������ܱ�ת����һ�� FuncExpr ����һ�� Aggref �ڵ㡣 ͬ�����й��ֶκͱ��ʽ����ľ�����������Ҳ��ӵ���ѯ���С�