Hello Reinhard,
Is it possible to insert new row to master and some rows to detailt in
same time?
Database is test.sql
spr_user_group.gfd:
When i am only inserting new spr_user row it is ok.
When i am only inserting new spr_usergroup row it is ok.
When i am trying to insert a user with newly entered group list i have
exception:
--------------------------
An unexpected error has occured:
null value in column "usergroup_user_id" violates not-null constraint
.
Please contact your system administrator.
INSERT INTO spr_usergroup (usergroup_group_id) VALUES
(%(new_usergroup_group_id)s)
new_usergroup_group_id: 1
--------------------------
I have added 'primarykey' attribute to ds_spr_user datasource
spr_user.gdf:
When trying to insert new row have error:
INSERT INTO spr_user (user_login, user_id, user_sign, user_name) VALUES
(%(new_user_login)s, %(new_user_id)s, %(new_user_sign)s, %(new_user_name)s)
new_user_login: u'1'
new_user_sign: u'1'
new_user_id: None
new_user_name: u'1'
What is 'rowid' datasource attribute?
How datasource behaviour depends on primarykey, primarykeyseq and
rowid attributes defined or not?
--
Best regards,
Oleg mailto:[EMAIL PROTECTED]
--
-- PostgreSQL database dump
--
SET client_encoding = 'UTF8';
SET standard_conforming_strings = off;
SET check_function_bodies = false;
SET client_min_messages = warning;
SET escape_string_warning = off;
--
-- Name: SCHEMA public; Type: COMMENT; Schema: -; Owner: postgres
--
COMMENT ON SCHEMA public IS 'Standard public schema';
--
-- Name: plpgsql; Type: PROCEDURAL LANGUAGE; Schema: -; Owner: postgres
--
CREATE PROCEDURAL LANGUAGE plpgsql;
SET search_path = public, pg_catalog;
SET default_tablespace = '';
SET default_with_oids = false;
--
-- Name: spr_group; Type: TABLE; Schema: public; Owner: postgres; Tablespace:
--
CREATE TABLE spr_group (
group_id integer NOT NULL,
group_name character varying(255) NOT NULL,
group_sysname character varying(50) NOT NULL
);
ALTER TABLE public.spr_group OWNER TO postgres;
--
-- Name: spr_group_group_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
CREATE SEQUENCE spr_group_group_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE public.spr_group_group_id_seq OWNER TO postgres;
--
-- Name: spr_group_group_id_seq; Type: SEQUENCE OWNED BY; Schema: public;
Owner: postgres
--
ALTER SEQUENCE spr_group_group_id_seq OWNED BY spr_group.group_id;
--
-- Name: spr_group_group_id_seq; Type: SEQUENCE SET; Schema: public; Owner:
postgres
--
SELECT pg_catalog.setval('spr_group_group_id_seq', 6, true);
--
-- Name: spr_user; Type: TABLE; Schema: public; Owner: postgres; Tablespace:
--
CREATE TABLE spr_user (
user_id integer NOT NULL,
user_login character varying(25) NOT NULL,
user_password character varying(250),
user_name character varying(250) NOT NULL,
user_sign character varying(250) NOT NULL
);
ALTER TABLE public.spr_user OWNER TO postgres;
--
-- Name: spr_usergroup; Type: TABLE; Schema: public; Owner: postgres;
Tablespace:
--
CREATE TABLE spr_usergroup (
usergroup_id integer NOT NULL,
usergroup_user_id integer NOT NULL,
usergroup_group_id integer NOT NULL
);
ALTER TABLE public.spr_usergroup OWNER TO postgres;
--
-- Name: spr_user_group_user_group_id_seq; Type: SEQUENCE; Schema: public;
Owner: postgres
--
CREATE SEQUENCE spr_user_group_user_group_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE public.spr_user_group_user_group_id_seq OWNER TO postgres;
--
-- Name: spr_user_group_user_group_id_seq; Type: SEQUENCE OWNED BY; Schema:
public; Owner: postgres
--
ALTER SEQUENCE spr_user_group_user_group_id_seq OWNED BY
spr_usergroup.usergroup_id;
--
-- Name: spr_user_group_user_group_id_seq; Type: SEQUENCE SET; Schema: public;
Owner: postgres
--
SELECT pg_catalog.setval('spr_user_group_user_group_id_seq', 48, true);
--
-- Name: spr_user_user_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
CREATE SEQUENCE spr_user_user_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE public.spr_user_user_id_seq OWNER TO postgres;
--
-- Name: spr_user_user_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner:
postgres
--
ALTER SEQUENCE spr_user_user_id_seq OWNED BY spr_user.user_id;
--
-- Name: spr_user_user_id_seq; Type: SEQUENCE SET; Schema: public; Owner:
postgres
--
SELECT pg_catalog.setval('spr_user_user_id_seq', 37, true);
--
-- Name: group_id; Type: DEFAULT; Schema: public; Owner: postgres
--
ALTER TABLE spr_group ALTER COLUMN group_id SET DEFAULT
nextval('spr_group_group_id_seq'::regclass);
--
-- Name: user_id; Type: DEFAULT; Schema: public; Owner: postgres
--
ALTER TABLE spr_user ALTER COLUMN user_id SET DEFAULT
nextval('spr_user_user_id_seq'::regclass);
--
-- Name: usergroup_id; Type: DEFAULT; Schema: public; Owner: postgres
--
ALTER TABLE spr_usergroup ALTER COLUMN usergroup_id SET DEFAULT
nextval('spr_user_group_user_group_id_seq'::regclass);
--
-- Data for Name: spr_group; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY spr_group (group_id, group_name, group_sysname) FROM stdin;
1 Administrator ADMINISTRATOR
2 Manager MANAGER
3 Storeman STOREMAN
4 Analyst ANALYST
5 Guest GUEST
\.
--
-- Data for Name: spr_user; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY spr_user (user_id, user_login, user_password, user_name, user_sign) FROM
stdin;
2 manager d41d8cd98f00b204e9800998ecf8427e Manager -
1 admin d41d8cd98f00b204e9800998ecf8427e Admin -
3 storeman d41d8cd98f00b204e9800998ecf8427e Storeman
-
4 analyst d41d8cd98f00b204e9800998ecf8427e\n Analyst -
5 boss d41d8cd98f00b204e9800998ecf8427e Boss -
\.
--
-- Data for Name: spr_usergroup; Type: TABLE DATA; Schema: public; Owner:
postgres
--
COPY spr_usergroup (usergroup_id, usergroup_user_id, usergroup_group_id) FROM
stdin;
14 1 1
18 3 3
20 4 4
22 5 2
24 5 3
28 5 4
\.
--
-- Name: spr_group_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres;
Tablespace:
--
ALTER TABLE ONLY spr_group
ADD CONSTRAINT spr_group_pkey PRIMARY KEY (group_id);
--
-- Name: spr_user_group_pkey; Type: CONSTRAINT; Schema: public; Owner:
postgres; Tablespace:
--
ALTER TABLE ONLY spr_usergroup
ADD CONSTRAINT spr_user_group_pkey PRIMARY KEY (usergroup_id);
--
-- Name: spr_user_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres;
Tablespace:
--
ALTER TABLE ONLY spr_user
ADD CONSTRAINT spr_user_pkey PRIMARY KEY (user_id);
--
-- Name: idx_group_id; Type: INDEX; Schema: public; Owner: postgres;
Tablespace:
--
CREATE INDEX idx_group_id ON spr_usergroup USING btree (usergroup_group_id);
--
-- Name: idx_user_id; Type: INDEX; Schema: public; Owner: postgres; Tablespace:
--
CREATE INDEX idx_user_id ON spr_usergroup USING btree (usergroup_user_id);
--
-- Name: public; Type: ACL; Schema: -; Owner: postgres
--
REVOKE ALL ON SCHEMA public FROM PUBLIC;
REVOKE ALL ON SCHEMA public FROM postgres;
GRANT ALL ON SCHEMA public TO PUBLIC;
--
-- PostgreSQL database dump complete
--
<?xml version="1.0"?>
<!-- GFD generator -->
<form name='spr_user' title="Users and groups">
<datasource name='ds_spr_user' connection='sales' prequery='Y'
table = 'spr_user'
/>
<datasource name='ds_spr_usergroup' connection='sales' prequery='Y'
table = 'spr_usergroup'
master="ds_spr_user"
masterlink="user_id"
detaillink="usergroup_user_id"
/>
<datasource name='ds_spr_group' connection='sales' prequery='Y'
table = 'spr_group'
/>
<logic>
<block name='b_spr_user' datasource='ds_spr_user' rows = '5'>
<field name = 'id' field = 'user_id' />
<field name = 'login' field = 'user_login' />
<field name = 'password' field = 'user_password' />
<field name = 'name' field = 'user_name' />
<field name = 'sign' field = 'user_sign' />
</block>
<block name='b_spr_usergroup' datasource='ds_spr_usergroup' rows = '5'>
<field name = 'id' field = 'usergroup_id' />
<field name = 'user_id' field = 'usergroup_user_id' />
<field name = 'group_id' field = 'usergroup_group_id' fk_source='ds_spr_group' fk_description="group_name" fk_key="group_id" />
</block>
</logic>
<layout>
<page name="page">
<vbox>
<hbox block='b_spr_user' label='User'>
<vbox><label text='Name'/> <entry field = 'name' /></vbox>
<vbox><label text='Login'/><entry field = 'login'/></vbox>
<vbox><label text='Sign'/> <entry field = 'sign' /></vbox>
<!--entry field = 'id' label = 'id' style='label' /-->
</hbox>
<vbox block='b_spr_usergroup' label='Groups'>
<label text='Group list'/><entry field = 'group_id'/>
<!--entry field = 'user_id' label = 'user_id'/-->
</vbox>
</vbox>
</page>
</layout>
</form>
<?xml version="1.0"?>
<!-- GFD generator -->
<form name='spr_user' title="Users only">
<datasource name='ds_spr_user' connection='sales' prequery='Y'
table = 'spr_user'
primarykey = 'user_id'
/>
<logic>
<block name='b_spr_user' datasource='ds_spr_user' rows = '5'>
<field name = 'id' field = 'user_id' />
<field name = 'login' field = 'user_login' />
<field name = 'password' field = 'user_password' />
<field name = 'name' field = 'user_name' />
<field name = 'sign' field = 'user_sign' />
</block>
</logic>
<layout>
<page name="page">
<vbox>
<hbox block='b_spr_user' label='User'>
<vbox><label text='Name'/> <entry field = 'name' /></vbox>
<vbox><label text='Login'/><entry field = 'login'/></vbox>
<vbox><label text='Sign'/> <entry field = 'sign' /></vbox>
<!--entry field = 'id' label = 'id' style='label' /-->
</hbox>
</vbox>
</page>
</layout>
</form>
_______________________________________________
Gnue mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnue