#pragma once

#include "QxOrm.h"

class SqlGenerator_Oracle : public qx::dao::detail::QxSqlGenerator_Oracle
{

public:
	SqlGenerator_Oracle();
	~SqlGenerator_Oracle();

	virtual void onBeforeInsert(qx::dao::detail::IxDao_Helper * pDaoHelper, void * pOwner) const;
	//virtual void onAfterInsert(qx::dao::detail::IxDao_Helper * pDaoHelper, void * pOwner) const;
	virtual void onBeforeUpdate(qx::dao::detail::IxDao_Helper * pDaoHelper, void * pOwner) const;
	//virtual void onAfterUpdate(qx::dao::detail::IxDao_Helper * pDaoHelper, void * pOwner) const;
	//virtual void onBeforeDelete(qx::dao::detail::IxDao_Helper * pDaoHelper, void * pOwner) const;
	//virtual void onAfterDelete(qx::dao::detail::IxDao_Helper * pDaoHelper, void * pOwner) const;
	//virtual void checkSqlInsert(qx::dao::detail::IxDao_Helper * pDaoHelper, QString & sql) const;
	virtual void onBeforeSqlPrepare(qx::dao::detail::IxDao_Helper * pDaoHelper, QString & sql) const;
private:
	void autoAssignUpdateTime(qx::dao::detail::IxDao_Helper * pDaoHelper, void * pOwner)const;
};
