All pastes #569067 Raw Edit

haxeQL example

public javascript v1 · immutable
·published 2007-06-16 00:03 UTC
rendered paste body
Test.hx-------class Client implements data.model.DBObject{	var id : Primary<Int>;	var address : Varchar<200>;	var name : String;		public static var sql : MyManager;	public var sql : MyManager;}class Order implements data.model.DBObject{	var id : Primary<Int>;	var client : Primary<Client>;	var referrer : Client;	var date : Date;	public static var sql : MyManager;	public var sql : MyManager;}class Orderline implements data.model.DBObject{	var id : Primary<Int>;	var order : Primary<Order>;	var number : Int;	var product : String;	public static var sql : MyManager;	public var sql : MyManager;}-----------Turns into:-----------<haxeQL>	<exec methodName="insert"><![CDATA[		INSERT `client`		VALUES (::id::,::address::,::name::)	]]></exec>	<exec methodName="delete"><![CDATA[		DELETE `client`		 WHERE id=::id::	]]></exec>	<exec methodName="update"><![CDATA[		UPDATE `client`		   SET id=::id::, address=::address::, name=::name::		 WHERE id=::id::	]]></exec>	<exec methodName="save"><![CDATA[		UPDATE `client`		   SET address=::address::, name=::name::		 WHERE id=::id::	]]></exec>	<set methodName="select"><![CDATA[		SELECT c.id, c.address, c.name		  FROM `client` AS c		 WHERE ::dynamicWHERE::	]]></set>	<set methodName="search"><![CDATA[		SELECT c.id, c.address, c.name		  FROM `client` AS c		 WHERE ::dynamicLIKE::	]]></set>	<row methodName="get"><![CDATA[		SELECT c.id, c.address, c.name		  FROM `client` AS c		 WHERE c.id=::id::	]]></row>	<row methodName="row"><![CDATA[		SELECT *		  FROM `client`		 WHERE id=::id::	]]></row></haxeQL>SQLGenerator.hx:55:<?xml version="1.0" encoding="UTF-8"?><haxeQL>	<exec methodName="insert"><![CDATA[		INSERT `order`		VALUES (::id::,::client.id::,::date::,::referrer.id::)	]]></exec>	<exec methodName="delete"><![CDATA[		DELETE `order`		 WHERE id=::id:: AND clientid=::client.id::	]]></exec>	<exec methodName="update"><![CDATA[		UPDATE `order`		   SET id=::id::, clientid=::client.id::, date=::date::, referrer_clientid=::referrer.id::		 WHERE id=::id:: AND clientid=::client.id::	]]></exec>	<exec methodName="save"><![CDATA[		UPDATE `order`		   SET date=::date::, referrer_clientid=::referrer.id::		 WHERE id=::id:: AND clientid=::client.id::	]]></exec>	<set methodName="select"><![CDATA[		SELECT o.id, o.clientid AS _c_id, o.date, o.referrer_clientid AS _c0_id, c.address AS _c_address, c.name AS _c_name, c0.address AS _c0_address, c0.name AS _c0_name		  FROM `order` AS o		  LEFT JOIN `client` AS c	ON o.clientid=c.id		  LEFT JOIN `client` AS c0	ON o.referrer_clientid=c0.id		 WHERE ::dynamicWHERE::	]]></set>	<set methodName="search"><![CDATA[		SELECT o.id, o.clientid AS _c_id, o.date, o.referrer_clientid AS _c0_id, c.address AS _c_address, c.name AS _c_name, c0.address AS _c0_address, c0.name AS _c0_name		  FROM `order` AS o		  LEFT JOIN `client` AS c	ON o.clientid=c.id		  LEFT JOIN `client` AS c0	ON o.referrer_clientid=c0.id		 WHERE ::dynamicLIKE::	]]></set>	<row methodName="get"><![CDATA[		SELECT o.id, o.clientid AS _c_id, o.date, o.referrer_clientid AS _c0_id, c.address AS _c_address, c.name AS _c_name, c0.address AS _c0_address, c0.name AS _c0_name		  FROM `order` AS o		  LEFT JOIN `client` AS c	ON o.clientid=c.id		  LEFT JOIN `client` AS c0	ON o.referrer_clientid=c0.id		 WHERE o.id=::id:: AND c.clientid=::client.id::	]]></row>	<row methodName="row"><![CDATA[		SELECT *		  FROM `order`		 WHERE id=::id:: AND clientid=::client.id::	]]></row></haxeQL>SQLGenerator.hx:55:<?xml version="1.0" encoding="UTF-8"?><haxeQL>	<exec methodName="insert"><![CDATA[		INSERT `orderline`		VALUES (::id::,::order.id::,::order.client.id::,::number::,::product::)	]]></exec>	<exec methodName="delete"><![CDATA[		DELETE `orderline`		 WHERE id=::id:: AND orderid=::order.id:: AND clientid=::order.client.id::	]]></exec>	<exec methodName="update"><![CDATA[		UPDATE `orderline`		   SET id=::id::, orderid=::order.id::, clientid=::order.client.id::, number=::number::, product=::product::		 WHERE id=::id:: AND orderid=::order.id:: AND clientid=::order.client.id::	]]></exec>	<exec methodName="save"><![CDATA[		UPDATE `orderline`		   SET number=::number::, product=::product::		 WHERE id=::id:: AND orderid=::order.id:: AND clientid=::order.client.id::	]]></exec>	<set methodName="select"><![CDATA[		SELECT or.id, or.orderid AS _o_id, or.clientid AS _o_id, or.number, or.product, o.date AS _o_date, o.id AS _o_id		  FROM `orderline` AS or		  LEFT JOIN `order` AS o	ON or.orderid=o.id AND or.clientid=o.id		 WHERE ::dynamicWHERE::	]]></set>	<set methodName="search"><![CDATA[		SELECT or.id, or.orderid AS _o_id, or.clientid AS _o_id, or.number, or.product, o.date AS _o_date, o.id AS _o_id		  FROM `orderline` AS or		  LEFT JOIN `order` AS o	ON or.orderid=o.id AND or.clientid=o.id		 WHERE ::dynamicLIKE::	]]></set>	<row methodName="get"><![CDATA[		SELECT or.id, or.orderid AS _o_id, or.clientid AS _o_id, or.number, or.product, o.date AS _o_date, o.id AS _o_id		  FROM `orderline` AS or		  LEFT JOIN `order` AS o	ON or.orderid=o.id AND or.clientid=o.id		 WHERE or.id=::id:: AND o.orderid=::order.id:: AND c.clientid=::order.client.id::	]]></row>	<row methodName="row"><![CDATA[		SELECT *		  FROM `orderline`		 WHERE id=::id:: AND orderid=::order.id:: AND clientid=::order.client.id::	]]></row></haxeQL>